From e033e8f75b8b9855a309efd9e3561b11ff039e84 Mon Sep 17 00:00:00 2001 From: liangping <18786721@qq.com> Date: Thu, 5 May 2022 12:01:00 +0800 Subject: [PATCH] remove unused files --- .../app-navbar/AppNavbarHorizontalLayout.vue | 72 - .../AppNavbarHorizontalLayoutBrand.vue | 46 - .../app-navbar/AppNavbarVerticalLayout.vue | 4 - .../app-navbar/components/Bookmarks.vue | 196 - .../app-navbar/components/CartDropdown.vue | 177 - .../components/NotificationDropdown.vue | 189 - .../app-navbar/components/UserDropdown.vue | 162 - .../app-navbar/search-and-bookmark-data.js | 295 - .../layout-horizontal/LayoutHorizontal.vue | 216 - .../horizontal-nav-menu/HorizontalNavMenu.vue | 25 - .../HorizontalNavMenuGroup.vue | 96 - .../mixinHorizontalNavMenuGroup.js | 10 - .../useHorizontalNavMenuGroup.js | 61 - .../HorizontalNavMenuHeaderGroup.vue | 80 - .../mixinHorizontalNavMenuHeaderGroup.js | 10 - .../useHorizontalNavMenuHeaderGroup.js | 30 - .../HorizontalNavMenuHeaderLink.vue | 56 - .../mixinHorizontalNavMenuHeaderLink.js | 10 - .../useHorizontalNavMenuHeaderLink.js | 18 - .../HorizontalNavMenuItems.vue | 41 - .../HorizontalNavMenuLink.vue | 60 - .../mixinHorizontalNavMenuLink.js | 10 - .../useHorizontalNavMenuLink.js | 18 - .../mixinLayoutHorizontal.js | 11 - .../layout-horizontal/useLayoutHorizontal.js | 57 - src/App.vue | 4 +- src/assets/images/avatars/1-small.png | Bin 14609 -> 0 bytes src/assets/images/avatars/1.png | Bin 50553 -> 0 bytes src/assets/images/avatars/10-small.png | Bin 12723 -> 0 bytes src/assets/images/avatars/10.png | Bin 43253 -> 0 bytes src/assets/images/avatars/11-small.png | Bin 12583 -> 0 bytes src/assets/images/avatars/11.png | Bin 43799 -> 0 bytes src/assets/images/avatars/12-small.png | Bin 14371 -> 0 bytes src/assets/images/avatars/12.png | Bin 51662 -> 0 bytes src/assets/images/avatars/13-small.png | Bin 11338 -> 0 bytes src/assets/images/avatars/13.png | Bin 38438 -> 0 bytes src/assets/images/avatars/2-small.png | Bin 12401 -> 0 bytes src/assets/images/avatars/2.png | Bin 41942 -> 0 bytes src/assets/images/avatars/3-small.png | Bin 13566 -> 0 bytes src/assets/images/avatars/3.png | Bin 46561 -> 0 bytes src/assets/images/avatars/4-small.png | Bin 11774 -> 0 bytes src/assets/images/avatars/4.png | Bin 38221 -> 0 bytes src/assets/images/avatars/5-small.png | Bin 13449 -> 0 bytes src/assets/images/avatars/5.png | Bin 47665 -> 0 bytes src/assets/images/avatars/6-small.png | Bin 11782 -> 0 bytes src/assets/images/avatars/6.png | Bin 38327 -> 0 bytes src/assets/images/avatars/7-small.png | Bin 13119 -> 0 bytes src/assets/images/avatars/7.png | Bin 44959 -> 0 bytes src/assets/images/avatars/8-small.png | Bin 13888 -> 0 bytes src/assets/images/avatars/8.png | Bin 45988 -> 0 bytes src/assets/images/avatars/9-small.png | Bin 13607 -> 0 bytes src/assets/images/avatars/9.png | Bin 45681 -> 0 bytes src/assets/images/logo/favicon.ico | Bin 93062 -> 0 bytes src/assets/images/logo/logo.png | Bin 6563 -> 0 bytes src/assets/images/logo/logo.svg | 170 - src/assets/images/logo/vuexy-logo.png | Bin 3503 -> 0 bytes src/assets/images/pages/login/facebook.svg | 1 - src/assets/images/pages/login/github.svg | 1 - src/assets/images/pages/login/google.svg | 1 - src/assets/images/pages/login/twitter.svg | 1 - .../images/portrait/small/avatar-s-1.jpg | Bin 33569 -> 0 bytes .../images/portrait/small/avatar-s-10.jpg | Bin 35521 -> 0 bytes .../images/portrait/small/avatar-s-11.jpg | Bin 28219 -> 0 bytes .../images/portrait/small/avatar-s-12.jpg | Bin 34039 -> 0 bytes .../images/portrait/small/avatar-s-13.jpg | Bin 36065 -> 0 bytes .../images/portrait/small/avatar-s-14.jpg | Bin 34902 -> 0 bytes .../images/portrait/small/avatar-s-15.jpg | Bin 31856 -> 0 bytes .../images/portrait/small/avatar-s-16.jpg | Bin 35882 -> 0 bytes .../images/portrait/small/avatar-s-17.jpg | Bin 27242 -> 0 bytes .../images/portrait/small/avatar-s-18.jpg | Bin 40111 -> 0 bytes .../images/portrait/small/avatar-s-19.jpg | Bin 33685 -> 0 bytes .../images/portrait/small/avatar-s-2.jpg | Bin 37575 -> 0 bytes .../images/portrait/small/avatar-s-20.jpg | Bin 35932 -> 0 bytes .../images/portrait/small/avatar-s-21.jpg | Bin 33569 -> 0 bytes .../images/portrait/small/avatar-s-22.jpg | Bin 37575 -> 0 bytes .../images/portrait/small/avatar-s-23.jpg | Bin 34434 -> 0 bytes .../images/portrait/small/avatar-s-24.jpg | Bin 25802 -> 0 bytes .../images/portrait/small/avatar-s-25.jpg | Bin 26997 -> 0 bytes .../images/portrait/small/avatar-s-26.jpg | Bin 40107 -> 0 bytes .../images/portrait/small/avatar-s-3.jpg | Bin 34434 -> 0 bytes .../images/portrait/small/avatar-s-4.jpg | Bin 25802 -> 0 bytes .../images/portrait/small/avatar-s-5.jpg | Bin 26997 -> 0 bytes .../images/portrait/small/avatar-s-6.jpg | Bin 40107 -> 0 bytes .../images/portrait/small/avatar-s-7.jpg | Bin 30765 -> 0 bytes .../images/portrait/small/avatar-s-8.jpg | Bin 30562 -> 0 bytes .../images/portrait/small/avatar-s-9.jpg | Bin 42173 -> 0 bytes src/auth/jwt/useJwt.js | 5 - src/auth/utils.js | 27 - src/layouts/horizontal/LayoutHorizontal.vue | 38 - src/libs/acl/ability.js | 11 - src/libs/acl/config.js | 8 - src/libs/acl/index.js | 5 - src/libs/acl/routeProtection.js | 5 - src/libs/es6.js | 133168 --------------- themeConfig.js | 2 +- 95 files changed, 2 insertions(+), 135395 deletions(-) delete mode 100644 src/@core/layouts/components/app-navbar/AppNavbarHorizontalLayout.vue delete mode 100644 src/@core/layouts/components/app-navbar/AppNavbarHorizontalLayoutBrand.vue delete mode 100644 src/@core/layouts/components/app-navbar/components/Bookmarks.vue delete mode 100644 src/@core/layouts/components/app-navbar/components/CartDropdown.vue delete mode 100644 src/@core/layouts/components/app-navbar/components/NotificationDropdown.vue delete mode 100644 src/@core/layouts/components/app-navbar/components/UserDropdown.vue delete mode 100644 src/@core/layouts/components/app-navbar/search-and-bookmark-data.js delete mode 100644 src/@core/layouts/layout-horizontal/LayoutHorizontal.vue delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/HorizontalNavMenu.vue delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-group/HorizontalNavMenuGroup.vue delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-group/mixinHorizontalNavMenuGroup.js delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-group/useHorizontalNavMenuGroup.js delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-group/HorizontalNavMenuHeaderGroup.vue delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-group/mixinHorizontalNavMenuHeaderGroup.js delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-group/useHorizontalNavMenuHeaderGroup.js delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-link/HorizontalNavMenuHeaderLink.vue delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-link/mixinHorizontalNavMenuHeaderLink.js delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-link/useHorizontalNavMenuHeaderLink.js delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-items/HorizontalNavMenuItems.vue delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-link/HorizontalNavMenuLink.vue delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-link/mixinHorizontalNavMenuLink.js delete mode 100644 src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-link/useHorizontalNavMenuLink.js delete mode 100644 src/@core/layouts/layout-horizontal/mixinLayoutHorizontal.js delete mode 100644 src/@core/layouts/layout-horizontal/useLayoutHorizontal.js delete mode 100644 src/assets/images/avatars/1-small.png delete mode 100644 src/assets/images/avatars/1.png delete mode 100644 src/assets/images/avatars/10-small.png delete mode 100644 src/assets/images/avatars/10.png delete mode 100644 src/assets/images/avatars/11-small.png delete mode 100644 src/assets/images/avatars/11.png delete mode 100644 src/assets/images/avatars/12-small.png delete mode 100644 src/assets/images/avatars/12.png delete mode 100644 src/assets/images/avatars/13-small.png delete mode 100644 src/assets/images/avatars/13.png delete mode 100644 src/assets/images/avatars/2-small.png delete mode 100644 src/assets/images/avatars/2.png delete mode 100644 src/assets/images/avatars/3-small.png delete mode 100644 src/assets/images/avatars/3.png delete mode 100644 src/assets/images/avatars/4-small.png delete mode 100644 src/assets/images/avatars/4.png delete mode 100644 src/assets/images/avatars/5-small.png delete mode 100644 src/assets/images/avatars/5.png delete mode 100644 src/assets/images/avatars/6-small.png delete mode 100644 src/assets/images/avatars/6.png delete mode 100644 src/assets/images/avatars/7-small.png delete mode 100644 src/assets/images/avatars/7.png delete mode 100644 src/assets/images/avatars/8-small.png delete mode 100644 src/assets/images/avatars/8.png delete mode 100644 src/assets/images/avatars/9-small.png delete mode 100644 src/assets/images/avatars/9.png delete mode 100644 src/assets/images/logo/favicon.ico delete mode 100644 src/assets/images/logo/logo.png delete mode 100644 src/assets/images/logo/logo.svg delete mode 100644 src/assets/images/logo/vuexy-logo.png delete mode 100644 src/assets/images/pages/login/facebook.svg delete mode 100644 src/assets/images/pages/login/github.svg delete mode 100644 src/assets/images/pages/login/google.svg delete mode 100644 src/assets/images/pages/login/twitter.svg delete mode 100644 src/assets/images/portrait/small/avatar-s-1.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-10.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-11.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-12.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-13.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-14.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-15.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-16.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-17.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-18.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-19.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-2.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-20.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-21.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-22.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-23.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-24.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-25.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-26.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-3.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-4.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-5.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-6.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-7.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-8.jpg delete mode 100644 src/assets/images/portrait/small/avatar-s-9.jpg delete mode 100644 src/auth/jwt/useJwt.js delete mode 100644 src/auth/utils.js delete mode 100644 src/layouts/horizontal/LayoutHorizontal.vue delete mode 100644 src/libs/acl/ability.js delete mode 100644 src/libs/acl/config.js delete mode 100644 src/libs/acl/index.js delete mode 100644 src/libs/acl/routeProtection.js delete mode 100644 src/libs/es6.js diff --git a/src/@core/layouts/components/app-navbar/AppNavbarHorizontalLayout.vue b/src/@core/layouts/components/app-navbar/AppNavbarHorizontalLayout.vue deleted file mode 100644 index 86b5b478..00000000 --- a/src/@core/layouts/components/app-navbar/AppNavbarHorizontalLayout.vue +++ /dev/null @@ -1,72 +0,0 @@ - - - diff --git a/src/@core/layouts/components/app-navbar/AppNavbarHorizontalLayoutBrand.vue b/src/@core/layouts/components/app-navbar/AppNavbarHorizontalLayoutBrand.vue deleted file mode 100644 index e79ef234..00000000 --- a/src/@core/layouts/components/app-navbar/AppNavbarHorizontalLayoutBrand.vue +++ /dev/null @@ -1,46 +0,0 @@ - - - - - diff --git a/src/@core/layouts/components/app-navbar/AppNavbarVerticalLayout.vue b/src/@core/layouts/components/app-navbar/AppNavbarVerticalLayout.vue index 39027f56..63a86bff 100644 --- a/src/@core/layouts/components/app-navbar/AppNavbarVerticalLayout.vue +++ b/src/@core/layouts/components/app-navbar/AppNavbarVerticalLayout.vue @@ -35,10 +35,8 @@ import { BLink, BNavbarNav, } from 'bootstrap-vue' -import Bookmarks from './components/Bookmarks.vue' import SearchBar from './components/SearchBar.vue' import DarkToggler from './components/DarkToggler.vue' -import NotificationDropdown from './components/NotificationDropdown.vue' export default { components: { @@ -46,10 +44,8 @@ export default { // Navbar Components BNavbarNav, - Bookmarks, SearchBar, DarkToggler, - NotificationDropdown, }, props: { toggleVerticalMenuActive: { diff --git a/src/@core/layouts/components/app-navbar/components/Bookmarks.vue b/src/@core/layouts/components/app-navbar/components/Bookmarks.vue deleted file mode 100644 index 5b449e71..00000000 --- a/src/@core/layouts/components/app-navbar/components/Bookmarks.vue +++ /dev/null @@ -1,196 +0,0 @@ - - - - - diff --git a/src/@core/layouts/components/app-navbar/components/CartDropdown.vue b/src/@core/layouts/components/app-navbar/components/CartDropdown.vue deleted file mode 100644 index 64f14634..00000000 --- a/src/@core/layouts/components/app-navbar/components/CartDropdown.vue +++ /dev/null @@ -1,177 +0,0 @@ - - - - - diff --git a/src/@core/layouts/components/app-navbar/components/NotificationDropdown.vue b/src/@core/layouts/components/app-navbar/components/NotificationDropdown.vue deleted file mode 100644 index 0c02d3d9..00000000 --- a/src/@core/layouts/components/app-navbar/components/NotificationDropdown.vue +++ /dev/null @@ -1,189 +0,0 @@ - - - - - diff --git a/src/@core/layouts/components/app-navbar/components/UserDropdown.vue b/src/@core/layouts/components/app-navbar/components/UserDropdown.vue deleted file mode 100644 index 709715c6..00000000 --- a/src/@core/layouts/components/app-navbar/components/UserDropdown.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - diff --git a/src/@core/layouts/components/app-navbar/search-and-bookmark-data.js b/src/@core/layouts/components/app-navbar/search-and-bookmark-data.js deleted file mode 100644 index 1b4f8ee6..00000000 --- a/src/@core/layouts/components/app-navbar/search-and-bookmark-data.js +++ /dev/null @@ -1,295 +0,0 @@ -/* eslint-disable */ -// prettier-ignore -export default { - pages: { - key: 'title', - data: [ - { title: 'Access Control', route: { name: 'access-control' }, icon: 'ShieldIcon', isBookmarked: false }, - { title: 'Account Settings', route: { name: 'pages-account-setting' }, icon: 'SettingsIcon', isBookmarked: false }, - { title: 'Advance Card', route: { name: 'card-advance' }, icon: 'CreditCardIcon', isBookmarked: false }, - { title: 'Alerts', route: { name: 'components-alert' }, icon: 'AlertTriangleIcon', isBookmarked: false }, - { title: 'Analytics Cards', route: { name: 'card-analytic' }, icon: 'CreditCardIcon', isBookmarked: false }, - { title: 'Apex Chart', route: { name: 'charts-apex-chart' }, icon: 'PieChartIcon', isBookmarked: false }, - { title: 'Aspect', route: { name: 'components-aspect' }, icon: 'AirplayIcon', isBookmarked: false }, - { title: 'Auto Suggest', route: { name: 'extensions-auto-suggest' }, icon: 'AlignLeftIcon', isBookmarked: false }, - { title: 'Avatar', route: { name: 'components-avatar' }, icon: 'UserIcon', isBookmarked: false }, - { title: 'Badge', route: { name: 'components-badge' }, icon: 'TagIcon', isBookmarked: false }, - { title: 'Basic Card', route: { name: 'card-basic' }, icon: 'CreditCardIcon', isBookmarked: false }, - { title: 'Blog Detail', route: { name: 'pages-blog-detail', params: { id: 1 } }, icon: 'FileTextIcon', isBookmarked: false }, - { title: 'Blog Edit', route: { name: 'pages-blog-edit', params: { id: 1 } }, icon: 'FileTextIcon', isBookmarked: false }, - { title: 'Blog List', route: { name: 'pages-blog-list' }, icon: 'FileTextIcon', isBookmarked: false }, - { title: 'Breadcrumb', route: { name: 'components-breadcrumb' }, icon: 'HomeIcon', isBookmarked: false }, - { title: 'BS Table', route: { name: 'table-bs-table' }, icon: 'GridIcon', isBookmarked: false }, - { title: 'Button Group', route: { name: 'components-button-group' }, icon: 'BoldIcon', isBookmarked: false }, - { title: 'Button Toolbar', route: { name: 'components-button-toolbar' }, icon: 'BoldIcon', isBookmarked: false }, - { title: 'Button', route: { name: 'components-button' }, icon: 'BoldIcon', isBookmarked: false }, - { title: 'Calendar App', route: { name: 'apps-calendar' }, icon: 'CalendarIcon', isBookmarked: true }, - { title: 'Calendar Component', route: { name: 'components-calendar' }, icon: 'CalendarIcon', isBookmarked: false }, - { title: 'Card Actions', route: { name: 'card-action' }, icon: 'CreditCardIcon', isBookmarked: false }, - { title: 'Carousel', route: { name: 'components-carousel' }, icon: 'CopyIcon', isBookmarked: false }, - { title: 'Chartjs', route: { name: 'charts-chartjs' }, icon: 'PieChartIcon', isBookmarked: false }, - { title: 'Chat', route: { name: 'apps-chat' }, icon: 'MessageSquareIcon', isBookmarked: true }, - { title: 'Checkbox', route: { name: 'forms-element-checkbox' }, icon: 'CheckSquareIcon', isBookmarked: false }, - { title: 'Checkout', route: { name: 'apps-e-commerce-checkout' }, icon: 'DollarSignIcon', isBookmarked: false }, - { title: 'Clipboard', route: { name: 'extensions-clipboard' }, icon: 'ClipboardIcon', isBookmarked: false }, - { title: 'Collapse', route: { name: 'components-collapse' }, icon: 'PlusIcon', isBookmarked: false }, - { title: 'Colors', route: { name: 'ui-colors' }, icon: 'DropletIcon', isBookmarked: false }, - { title: 'Coming Soon', route: { name: 'misc-coming-soon' }, icon: 'ClockIcon', isBookmarked: false }, - { title: 'Context Menu', route: { name: 'extensions-context-menu' }, icon: 'MoreVerticalIcon', isBookmarked: false }, - { title: 'Dashboard Analytics', route: { name: 'dashboard-analytics' }, icon: 'ActivityIcon', isBookmarked: false }, - { title: 'Dashboard ECommerce', route: { name: 'dashboard-ecommerce' }, icon: 'ShoppingCartIcon', isBookmarked: false }, - { title: 'Date Time Picker', route: { name: 'extensions-date-time-picker' }, icon: 'ClockIcon', isBookmarked: false }, - { title: 'Drag & Drop', route: { name: 'extensions-drag-and-drop' }, icon: 'CopyIcon', isBookmarked: false }, - { title: 'Dropdown', route: { name: 'components-dropdown' }, icon: 'MoreHorizontalIcon', isBookmarked: false }, - { title: 'Echart', route: { name: 'charts-echart' }, icon: 'PieChartIcon', isBookmarked: false }, - { title: 'Email', route: { name: 'apps-email' }, icon: 'MailIcon', isBookmarked: true }, - { title: 'Embed', route: { name: 'components-embed' }, icon: 'TvIcon', isBookmarked: false }, - { title: 'Error 404', route: { name: 'error-404' }, icon: 'AlertTriangleIcon', isBookmarked: false }, - { title: 'Error', route: { name: 'misc-error' }, icon: 'AlertTriangleIcon', isBookmarked: false }, - { title: 'FAQ', route: { name: 'pages-faq' }, icon: 'HelpCircleIcon', isBookmarked: false }, - { title: 'Feather', route: { name: 'ui-feather' }, icon: 'FeatherIcon', isBookmarked: false }, - { title: 'File Input', route: { name: 'forms-element-file-input' }, icon: 'FileIcon', isBookmarked: false }, - { title: 'Forgot Password V1', route: { name: 'auth-forgot-password-v1' }, icon: 'KeyIcon', isBookmarked: false }, - { title: 'Forgot Password V2', route: { name: 'auth-forgot-password-v2' }, icon: 'KeyIcon', isBookmarked: false }, - { title: 'Form Datepicker', route: { name: 'forms-element-datepicker' }, icon: 'ClockIcon', isBookmarked: false }, - { title: 'Form Layout', route: { name: 'form-layout' }, icon: 'GridIcon', isBookmarked: false }, - { title: 'Form Rating', route: { name: 'forms-element-rating' }, icon: 'StarIcon', isBookmarked: false }, - { title: 'Form Repeater', route: { name: 'form-repeater' }, icon: 'StarIcon', isBookmarked: false }, - { title: 'Form Tag', route: { name: 'forms-element-tag' }, icon: 'TagIcon', isBookmarked: false }, - { title: 'Form Timepicker', route: { name: 'forms-element-timepicker' }, icon: 'ClockIcon', isBookmarked: false }, - { title: 'Form Validation', route: { name: 'form-validation' }, icon: 'CheckCircleIcon', isBookmarked: false }, - { title: 'Form Wizard', route: { name: 'form-wizard' }, icon: 'GitCommitIcon', isBookmarked: false }, - { title: 'Good Table', route: { name: 'table-good-table' }, icon: 'GridIcon', isBookmarked: false }, - { title: 'I18n', route: { name: 'extensions-i18n' }, icon: 'GlobeIcon', isBookmarked: false }, - { title: 'Image', route: { name: 'components-image' }, icon: 'ImageIcon', isBookmarked: false }, - { title: 'Input Group', route: { name: 'forms-element-input-group' }, icon: 'TypeIcon', isBookmarked: false }, - { title: 'Input Mask', route: { name: 'forms-element-input-mask' }, icon: 'TypeIcon', isBookmarked: false }, - { title: 'Input', route: { name: 'forms-element-input' }, icon: 'TypeIcon', isBookmarked: false }, - { title: 'Invoice Add', route: { name: 'apps-invoice-add' }, icon: 'FileTextIcon', isBookmarked: false }, - { title: 'Invoice Edit', route: { name: 'apps-invoice-edit', params: { id: 4987 } }, icon: 'FileTextIcon', isBookmarked: false }, - { title: 'Invoice List', route: { name: 'apps-invoice-list' }, icon: 'FileTextIcon', isBookmarked: false }, - { title: 'Invoice Preview', route: { name: 'apps-invoice-preview', params: { id: 4987 } }, icon: 'FileTextIcon', isBookmarked: false }, - { title: 'Knowledge Base Category', route: { name: 'pages-knowledge-base-category' }, icon: 'InfoIcon', isBookmarked: false, }, - { title: 'Knowledge Base Question', route: { name: 'pages-knowledge-base-question' }, icon: 'InfoIcon', isBookmarked: false, }, - { title: 'Knowledge Base', route: { name: 'pages-knowledge-base' }, icon: 'InfoIcon', isBookmarked: false }, - { title: 'Leaflet', route: { name: 'maps-leaflet' }, icon: 'MapPinIcon', isBookmarked: false }, - { title: 'List Group', route: { name: 'components-list-group' }, icon: 'ListIcon', isBookmarked: false }, - { title: 'Login V1', route: { name: 'auth-login-v1' }, icon: 'LogInIcon', isBookmarked: false }, - { title: 'Login V2', route: { name: 'auth-login-v2' }, icon: 'LogInIcon', isBookmarked: false }, - { title: 'Media Objects', route: { name: 'components-media' }, icon: 'ImageIcon', isBookmarked: false }, - { title: 'Modal', route: { name: 'components-modal' }, icon: 'CopyIcon', isBookmarked: false }, - { title: 'Nav', route: { name: 'components-nav' }, icon: 'CreditCardIcon', isBookmarked: false }, - { title: 'Not Authorized', route: { name: 'misc-not-authorized' }, icon: 'XOctagonIcon', isBookmarked: false }, - { title: 'Overlay', route: { name: 'components-overlay' }, icon: 'CopyIcon', isBookmarked: false }, - { title: 'Pagination Nav', route: { name: 'components-pagination-nav' }, icon: 'HashIcon', isBookmarked: false }, - { title: 'Pagination', route: { name: 'components-pagination' }, icon: 'HashIcon', isBookmarked: false }, - { title: 'Pill Badge', route: { name: 'components-pill-badge' }, icon: 'TagIcon', isBookmarked: false }, - { title: 'Pill', route: { name: 'components-pill' }, icon: 'TagIcon', isBookmarked: false }, - { title: 'Popover', route: { name: 'components-popover' }, icon: 'TagIcon', isBookmarked: false }, - { title: 'Pricing', route: { name: 'pages-pricing' }, icon: 'DollarSignIcon', isBookmarked: false }, - { title: 'Product Details', route: { name: 'apps-e-commerce-product-details', params: { slug: 'apple-watch-series-5-27' } }, icon: 'BoxIcon', isBookmarked: false, }, - { title: 'Profile', route: { name: 'pages-profile' }, icon: 'UserIcon', isBookmarked: false }, - { title: 'Progress', route: { name: 'components-progress' }, icon: 'ChevronsRightIcon', isBookmarked: false }, - { title: 'Quill Editor', route: { name: 'extensions-quill-editor' }, icon: 'TypeIcon', isBookmarked: false }, - { title: 'Radio', route: { name: 'forms-element-radio' }, icon: 'DiscIcon', isBookmarked: false }, - { title: 'Register V1', route: { name: 'auth-register-v1' }, icon: 'UserPlusIcon', isBookmarked: false }, - { title: 'Register V2', route: { name: 'auth-register-v2' }, icon: 'UserPlusIcon', isBookmarked: false }, - { title: 'Reset Password V1', route: { name: 'auth-reset-password-v1' }, icon: 'KeyIcon', isBookmarked: false }, - { title: 'Reset Password V2', route: { name: 'auth-reset-password-v2' }, icon: 'KeyIcon', isBookmarked: false }, - { title: 'Select', route: { name: 'forms-element-select' }, icon: 'AlignCenterIcon', isBookmarked: false }, - { title: 'Shop', route: { name: 'apps-e-commerce-shop' }, icon: 'ArchiveIcon', isBookmarked: false }, - { title: 'Sidebar', route: { name: 'components-sidebar' }, icon: 'SidebarIcon', isBookmarked: false }, - { title: 'Slider', route: { name: 'extensions-slider' }, icon: 'GitCommitIcon', isBookmarked: false }, - { title: 'Spinbutton', route: { name: 'forms-element-spinbutton' }, icon: 'TypeIcon', isBookmarked: false }, - { title: 'Spinner', route: { name: 'components-spinner' }, icon: 'LoaderIcon', isBookmarked: false }, - { title: 'Statistics Cards', route: { name: 'card-statistic' }, icon: 'CreditCardIcon', isBookmarked: false }, - { title: 'Sweet Alert', route: { name: 'extensions-sweet-alert' }, icon: 'BellIcon', isBookmarked: false }, - { title: 'Swiper', route: { name: 'extensions-swiper' }, icon: 'ImageIcon', isBookmarked: false }, - { title: 'Switch', route: { name: 'forms-element-switch' }, icon: 'ToggleRightIcon', isBookmarked: false }, - { title: 'Tab', route: { name: 'components-tab' }, icon: 'CreditCardIcon', isBookmarked: false }, - { title: 'Textarea', route: { name: 'forms-element-textarea' }, icon: 'TypeIcon', isBookmarked: false }, - { title: 'Time', route: { name: 'components-time' }, icon: 'ClockIcon', isBookmarked: false }, - { title: 'Timeline', route: { name: 'components-timeline' }, icon: 'GitCommitIcon', isBookmarked: false }, - { title: 'Toastification', route: { name: 'extensions-toastification' }, icon: 'BellIcon', isBookmarked: false }, - { title: 'Toasts', route: { name: 'components-toasts' }, icon: 'BellIcon', isBookmarked: false }, - { title: 'Todo', route: { name: 'apps-todo' }, icon: 'CheckSquareIcon', isBookmarked: true }, - { title: 'Tooltip', route: { name: 'components-tooltip' }, icon: 'CopyIcon', isBookmarked: false }, - { title: 'Tour', route: { name: 'extensions-tour' }, icon: 'GlobeIcon', isBookmarked: false }, - // { title: 'Tree', route: { name: 'extensions-tree' }, icon: 'GitCommitIcon', isBookmarked: false }, - { title: 'Typography', route: { name: 'ui-typography' }, icon: 'TypeIcon', isBookmarked: false }, - { title: 'Under Maintenance', route: { name: 'misc-under-maintenance' }, icon: 'MonitorIcon', isBookmarked: false }, - { title: 'Users Edit', route: { name: 'apps-users-edit', params: { id: 21 } }, icon: 'UserIcon', isBookmarked: false }, - { title: 'Users List', route: { name: 'apps-users-list' }, icon: 'UserIcon', isBookmarked: false }, - { title: 'Users View', route: { name: 'apps-users-view', params: { id: 21 } }, icon: 'UserIcon', isBookmarked: false }, - { title: 'Vue Select', route: { name: 'extensions-vue-select' }, icon: 'AlignCenterIcon', isBookmarked: false }, - { title: 'Wishlist', route: { name: 'apps-e-commerce-wishlist' }, icon: 'HeartIcon', isBookmarked: false }, - ], - }, - files: { - key: 'file_name', - data: [ - { - file_name: "Joe's CV", - from: 'Stacy Watson', - icon: require('@/assets/images/icons/doc.png'), - size: '1.7 mb', - }, - { - file_name: 'Passport Image', - from: 'Ben Sinitiere', - icon: require('@/assets/images/icons/jpg.png'), - size: ' 52 kb', - }, - { - file_name: 'Questions', - from: 'Charleen Patti', - icon: require('@/assets/images/icons/doc.png'), - size: '1.5 gb', - }, - { - file_name: 'Parenting Guide', - from: 'Doyle Blatteau', - icon: require('@/assets/images/icons/doc.png'), - size: '2.3 mb', - }, - { - file_name: 'Class Notes', - from: 'Gwen Greenlow', - icon: require('@/assets/images/icons/doc.png'), - size: ' 30 kb', - }, - { - file_name: 'Class Attendance', - from: 'Tom Alred', - icon: require('@/assets/images/icons/xls.png'), - size: '52 mb', - }, - { - file_name: 'Company Salary', - from: 'Nellie Dezan', - icon: require('@/assets/images/icons/xls.png'), - size: '29 mb', - }, - { - file_name: 'Company Logo', - from: 'Steve Sheldon', - icon: require('@/assets/images/icons/jpg.png'), - size: '1.3 mb', - }, - { - file_name: 'Crime Rates', - from: 'Sherlock Holmes', - icon: require('@/assets/images/icons/xls.png'), - size: '37 kb', - }, - { - file_name: 'Ulysses', - from: 'Theresia Wrenne', - icon: require('@/assets/images/icons/pdf.png'), - size: '7.2 mb', - }, - { - file_name: 'War and Peace', - from: 'Goldie Highnote', - icon: require('@/assets/images/icons/pdf.png'), - size: '10.5 mb', - }, - { - file_name: 'Vedas', - from: 'Ajay Patel', - icon: require('@/assets/images/icons/pdf.png'), - size: '8.3 mb', - }, - { - file_name: 'The Trial', - from: 'Sirena Linkert', - icon: require('@/assets/images/icons/pdf.png'), - size: '1.5 mb', - }, - ], - }, - contacts: { - key: 'name', - data: [ - { - img: require('@/assets/images/portrait/small/avatar-s-4.jpg'), - name: 'Rena Brant', - email: 'nephrod@preany.co.uk', - time: '21/05/2019', - }, - { - img: require('@/assets/images/portrait/small/avatar-s-2.jpg'), - name: 'Mariano Packard', - email: 'seek@sparaxis.org', - time: '14/01/2018', - }, - { - img: require('@/assets/images/portrait/small/avatar-s-24.jpg'), - name: 'Risa Montufar', - email: 'vagary@unblist.org', - time: '10/08/2019', - }, - { - img: require('@/assets/images/portrait/small/avatar-s-15.jpg'), - name: 'Maragaret Cimo', - email: 'designed@insanely.net', - time: '01/12/2019', - }, - { - img: require('@/assets/images/portrait/small/avatar-s-7.jpg'), - name: 'Jona Prattis', - email: 'unwieldable@unblist.org', - time: '21/05/2019', - }, - { - img: require('@/assets/images/portrait/small/avatar-s-5.jpg'), - name: 'Edmond Chicon', - email: 'museist@anaphyte.co.uk', - time: '15/11/2019', - }, - { - img: require('@/assets/images/portrait/small/avatar-s-25.jpg'), - name: 'Abbey Darden', - email: 'astema@defectively.co.uk', - time: '07/05/2019', - }, - { - img: require('@/assets/images/portrait/small/avatar-s-10.jpg'), - name: 'Seema Moallankamp', - email: 'fernando@storkish.co.uk', - time: '13/08/2017', - }, - { - img: require('@/assets/images/portrait/small/avatar-s-2.jpg'), - name: 'Charleen Warmington', - email: 'furphy@cannibal.net', - time: '11/08/1891', - }, - { - img: require('@/assets/images/portrait/small/avatar-s-25.jpg'), - name: 'Geri Linch', - email: 'insignia@markab.org', - time: '18/01/2015', - }, - { - img: require('@/assets/images/portrait/small/avatar-s-23.jpg'), - name: 'Shellie Muster', - email: 'maxillary@equalize.co.uk', - time: '26/07/2019', - }, - { - img: require('@/assets/images/portrait/small/avatar-s-20.jpg'), - name: 'Jesenia Vanbramer', - email: 'hypotony@phonetist.net', - time: '12/09/2017', - }, - { - img: require('@/assets/images/portrait/small/avatar-s-23.jpg'), - name: 'Mardell Channey', - email: 'peseta@myrica.com', - time: '11/11/2019', - }, - ], - }, -} -/* eslint-enable */ diff --git a/src/@core/layouts/layout-horizontal/LayoutHorizontal.vue b/src/@core/layouts/layout-horizontal/LayoutHorizontal.vue deleted file mode 100644 index 21b2d852..00000000 --- a/src/@core/layouts/layout-horizontal/LayoutHorizontal.vue +++ /dev/null @@ -1,216 +0,0 @@ - - - - - diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/HorizontalNavMenu.vue b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/HorizontalNavMenu.vue deleted file mode 100644 index 7b96c47d..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/HorizontalNavMenu.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - - - diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-group/HorizontalNavMenuGroup.vue b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-group/HorizontalNavMenuGroup.vue deleted file mode 100644 index d0aafb8b..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-group/HorizontalNavMenuGroup.vue +++ /dev/null @@ -1,96 +0,0 @@ - - - - - diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-group/mixinHorizontalNavMenuGroup.js b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-group/mixinHorizontalNavMenuGroup.js deleted file mode 100644 index 6f9a8206..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-group/mixinHorizontalNavMenuGroup.js +++ /dev/null @@ -1,10 +0,0 @@ -export default { - watch: { - $route: { - immediate: true, - handler() { - this.updateIsActive() - }, - }, - }, -} diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-group/useHorizontalNavMenuGroup.js b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-group/useHorizontalNavMenuGroup.js deleted file mode 100644 index 3b193bb4..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-group/useHorizontalNavMenuGroup.js +++ /dev/null @@ -1,61 +0,0 @@ -// eslint-disable-next-line object-curly-newline -import { ref, nextTick } from '@vue/composition-api' -// import store from '@/store' -import { isNavGroupActive } from '@core/layouts/utils' - -export default function useHorizontalNavMenuGroup(item) { - // ------------------------------------------------ - // childDropdown - // ------------------------------------------------ - const refChildDropdown = ref(null) - const openChildDropdownOnLeft = ref(false) - - // ------------------------------------------------ - // isActive - // ------------------------------------------------ - const isOpen = ref(false) - - const updateGroupOpen = val => { - isOpen.value = val - if (val) { - nextTick(() => { - const childDropdownWidth = refChildDropdown.value.offsetWidth - const windowContentWidth = window.innerWidth - 16 - const { left: childDropdownLeft } = refChildDropdown.value.getBoundingClientRect() - const shallDropLeft = childDropdownLeft + childDropdownWidth - windowContentWidth - openChildDropdownOnLeft.value = shallDropLeft > 0 - - // Add scroll to child dd if don't have much space - - const refChildDropdownTop = refChildDropdown.value.getBoundingClientRect().top - const refChildDropdownHeight = refChildDropdown.value.getBoundingClientRect().height - if (window.innerHeight - refChildDropdownTop - refChildDropdownHeight - 28 < 1) { - const maxHeight = window.innerHeight - refChildDropdownTop - 70 - refChildDropdown.value.style.maxHeight = `${maxHeight}px` - refChildDropdown.value.style.overflowY = 'auto' - refChildDropdown.value.style.overflowX = 'hidden' - } - }) - } else { - openChildDropdownOnLeft.value = false - } - } - - // ------------------------------------------------ - // isActive - // ------------------------------------------------ - const isActive = ref(false) - - const updateIsActive = () => { - isActive.value = isNavGroupActive(item.children) - } - - return { - isOpen, - isActive, - updateGroupOpen, - updateIsActive, - refChildDropdown, - openChildDropdownOnLeft, - } -} diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-group/HorizontalNavMenuHeaderGroup.vue b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-group/HorizontalNavMenuHeaderGroup.vue deleted file mode 100644 index 7f82f276..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-group/HorizontalNavMenuHeaderGroup.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-group/mixinHorizontalNavMenuHeaderGroup.js b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-group/mixinHorizontalNavMenuHeaderGroup.js deleted file mode 100644 index 6f9a8206..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-group/mixinHorizontalNavMenuHeaderGroup.js +++ /dev/null @@ -1,10 +0,0 @@ -export default { - watch: { - $route: { - immediate: true, - handler() { - this.updateIsActive() - }, - }, - }, -} diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-group/useHorizontalNavMenuHeaderGroup.js b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-group/useHorizontalNavMenuHeaderGroup.js deleted file mode 100644 index d00d7d6f..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-group/useHorizontalNavMenuHeaderGroup.js +++ /dev/null @@ -1,30 +0,0 @@ -import { ref } from '@vue/composition-api' -import { isNavGroupActive } from '@core/layouts/utils' - -export default function useHorizontalNavMenuHeaderGroup(item) { - // ------------------------------------------------ - // isOpen - // ------------------------------------------------ - const isOpen = ref(false) - - const updateGroupOpen = val => { - // eslint-disable-next-line no-use-before-define - isOpen.value = val - } - - // ------------------------------------------------ - // isActive - // ------------------------------------------------ - const isActive = ref(false) - - const updateIsActive = () => { - isActive.value = isNavGroupActive(item.children) - } - - return { - isOpen, - isActive, - updateGroupOpen, - updateIsActive, - } -} diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-link/HorizontalNavMenuHeaderLink.vue b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-link/HorizontalNavMenuHeaderLink.vue deleted file mode 100644 index 2e7ad731..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-link/HorizontalNavMenuHeaderLink.vue +++ /dev/null @@ -1,56 +0,0 @@ - - - diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-link/mixinHorizontalNavMenuHeaderLink.js b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-link/mixinHorizontalNavMenuHeaderLink.js deleted file mode 100644 index 6f9a8206..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-link/mixinHorizontalNavMenuHeaderLink.js +++ /dev/null @@ -1,10 +0,0 @@ -export default { - watch: { - $route: { - immediate: true, - handler() { - this.updateIsActive() - }, - }, - }, -} diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-link/useHorizontalNavMenuHeaderLink.js b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-link/useHorizontalNavMenuHeaderLink.js deleted file mode 100644 index d5ebfc2a..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-header-link/useHorizontalNavMenuHeaderLink.js +++ /dev/null @@ -1,18 +0,0 @@ -import { ref } from '@vue/composition-api' -import { isNavLinkActive } from '@core/layouts/utils' - -export default function useHorizontalNavMenuHeaderGroup(item) { - // ------------------------------------------------ - // isActive - // ------------------------------------------------ - const isActive = ref(false) - - const updateIsActive = () => { - isActive.value = isNavLinkActive(item) - } - - return { - isActive, - updateIsActive, - } -} diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-items/HorizontalNavMenuItems.vue b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-items/HorizontalNavMenuItems.vue deleted file mode 100644 index 08a10d21..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-items/HorizontalNavMenuItems.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-link/HorizontalNavMenuLink.vue b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-link/HorizontalNavMenuLink.vue deleted file mode 100644 index 0ce28be7..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-link/HorizontalNavMenuLink.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-link/mixinHorizontalNavMenuLink.js b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-link/mixinHorizontalNavMenuLink.js deleted file mode 100644 index 6f9a8206..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-link/mixinHorizontalNavMenuLink.js +++ /dev/null @@ -1,10 +0,0 @@ -export default { - watch: { - $route: { - immediate: true, - handler() { - this.updateIsActive() - }, - }, - }, -} diff --git a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-link/useHorizontalNavMenuLink.js b/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-link/useHorizontalNavMenuLink.js deleted file mode 100644 index e7b3489e..00000000 --- a/src/@core/layouts/layout-horizontal/components/horizontal-nav-menu/components/horizontal-nav-menu-link/useHorizontalNavMenuLink.js +++ /dev/null @@ -1,18 +0,0 @@ -import { ref } from '@vue/composition-api' -import { isNavLinkActive, navLinkProps } from '@core/layouts/utils' - -export default function useHorizontalNavMenuLink(item) { - const isActive = ref(false) - - const linkProps = navLinkProps(item) - - const updateIsActive = () => { - isActive.value = isNavLinkActive(item) - } - - return { - isActive, - linkProps, - updateIsActive, - } -} diff --git a/src/@core/layouts/layout-horizontal/mixinLayoutHorizontal.js b/src/@core/layouts/layout-horizontal/mixinLayoutHorizontal.js deleted file mode 100644 index 50265ed5..00000000 --- a/src/@core/layouts/layout-horizontal/mixinLayoutHorizontal.js +++ /dev/null @@ -1,11 +0,0 @@ -import { $themeBreakpoints } from '@themeConfig' - -export default { - watch: { - $route() { - if (this.$store.state.app.windowWidth < $themeBreakpoints.xl) { - this.isVerticalMenuActive = false - } - }, - }, -} diff --git a/src/@core/layouts/layout-horizontal/useLayoutHorizontal.js b/src/@core/layouts/layout-horizontal/useLayoutHorizontal.js deleted file mode 100644 index 4c4837f0..00000000 --- a/src/@core/layouts/layout-horizontal/useLayoutHorizontal.js +++ /dev/null @@ -1,57 +0,0 @@ -import { computed } from '@vue/composition-api' -import store from '@/store' - -export default function useLayoutHorizontal(navbarMenuType, footerType, isVerticalMenuActive) { - const currentBreakpoint = computed(() => store.getters['app/currentBreakPoint']) - - const layoutClasses = computed(() => { - const classes = [] - - if (currentBreakpoint.value === 'xl') { - classes.push('horizontal-menu') - } else { - classes.push('vertical-overlay-menu') - // classes.push('vertical-layout') - classes.push(isVerticalMenuActive.value ? 'menu-open' : 'menu-hide') - } - - // Navbar - classes.push(`navbar-${navbarMenuType.value}`) - - // Footer - if (footerType.value === 'sticky') classes.push('footer-fixed') - if (footerType.value === 'static') classes.push('footer-static') - if (footerType.value === 'hidden') classes.push('footer-hidden') - - return classes - }) - - // const resizeHandler = () => { - // isVerticalMenuActive.value = window.innerWidth >= 1200 - - // if (window.innerWidth >= 1200) currentBreakpoint.value = 'xl' - // else if (window.innerWidth >= 992) currentBreakpoint.value = 'lg' - // else if (window.innerWidth >= 768) currentBreakpoint.value = 'md' - // else if (window.innerWidth >= 576) currentBreakpoint.value = 'sm' - // else currentBreakpoint.value = 'xs' - // } - - const navbarMenuTypeClass = computed(() => { - if (navbarMenuType.value === 'sticky') return 'fixed-top' - if (navbarMenuType.value === 'static') return '' - if (navbarMenuType.value === 'hidden') return 'd-none' - return 'floating-nav' - }) - - const footerTypeClass = computed(() => { - if (footerType.value === 'static') return 'footer-static' - if (footerType.value === 'hidden') return 'd-none' - return '' - }) - - return { - layoutClasses, - navbarMenuTypeClass, - footerTypeClass, - } -} diff --git a/src/App.vue b/src/App.vue index 3b67e952..15e5a6fb 100644 --- a/src/App.vue +++ b/src/App.vue @@ -22,13 +22,11 @@ import { useWindowSize, useCssVar } from '@vueuse/core' import store from '@/store' const LayoutVertical = () => import('@/layouts/vertical/LayoutVertical.vue') -const LayoutHorizontal = () => import('@/layouts/horizontal/LayoutHorizontal.vue') const LayoutFull = () => import('@/layouts/full/LayoutFull.vue') export default { components: { // Layouts - LayoutHorizontal, LayoutVertical, LayoutFull, }, @@ -54,7 +52,7 @@ export default { } // Set Theme Breakpoints - const breakpoints = ['xs', 'sm', 'md', 'lg', 'xl'] + const breakpoints = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'] // eslint-disable-next-line no-plusplus for (let i = 0, len = breakpoints.length; i < len; i++) { diff --git a/src/assets/images/avatars/1-small.png b/src/assets/images/avatars/1-small.png deleted file mode 100644 index 406d0bab25b55146f6b099dc797b01407eee437b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14609 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 Hu0mjfeypoz diff --git a/src/assets/images/avatars/1.png b/src/assets/images/avatars/1.png deleted file mode 100644 index eeb2fbb0e48baf09919aa441a6eb82a549cbde55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50553 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%0AKl$0uK7aM<@xw>& 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

GulEcLZeMlsT^b9 z(~Qt|U5Xq+5Ff2I+S*4CAO7gW z9|Z;?yJ?&C;(F+PR-}qjDeC$mWyvvNN=Qm;Bve+T2r>c!ge1n8a=I6C-hXwk9GBa4 zQY(QdKnfCxGCF&gqvH@!G6q7HfMRH?Kn%c40106G9fMIs0}^5q76#IwL?yt`uBoi_ zWM(8QKq|^Os)A3>w`FAwn25}X5EB4dU4TKhg`i>fnu;ufDY1{mjuov#*LGc_j82%j zXEZta&|wPzBFGtxLNrSCEJ~H7&BE)Z8M?mYqzjXLT6jMikFC(H8wZp7cR&01;o0+3 z%qgU-6lye#5;G8NIT})!Qc6O&e!M*U;A}J+m9v6~DD)k)ecQIAObFoxxf~n=F-Atv z48kvFd$%rJA(Mc?t^BYs^XJuo2%;(e|Ca70sbMGvqG+on{|JQrZ;S;{%orJ*JjZ@g zGYIRrb?U}ZS(OBeK_TWP##uOo2ebRSw*B{~-Q2ibFPulwj0Jf; tJG&{-Q~y>?9#xrpetvwd-y2CO{{a6wlziLg@RR@m002ovPDHLkV1f@xps@e| diff --git a/src/assets/images/avatars/10.png b/src/assets/images/avatars/10.png deleted file mode 100644 index ff3d20ad5023c7d3db2944cc9b585fb57144d5af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43253 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�n!V?{&GU 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 FV1ioPkJkVI diff --git a/src/assets/images/avatars/11-small.png b/src/assets/images/avatars/11-small.png deleted file mode 100644 index cc1b38e7ccbdf01c2821d54a38ddfee3ae408f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12583 zcmYkjXE+?r7dE_v1QAwWE!ZGd5H)NfEOrwu>aH%z>b*pd5>Zx(=!8|HuHK_3Rxc}} z6Z}Mr-iiMBzaQS``EaJ5x#pUg>zcXGxz9vssJ(tb!9oE503IkQ!nJO5i~k83@ojn& zM11EqBXZYzEe|Lsu&v)#;FfwyR&U+__;1T(0HSbP0LlMUZiVGm0DwE$M1cQq(Er-9 ziU0pzi|jl9xBNfFr_J+n0Dy3u5?l`HJ+syFy24W5bFE?US BYKyS#lYvSNhuGLL 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 diff --git a/src/assets/images/avatars/11.png b/src/assets/images/avatars/11.png deleted file mode 100644 index 02fce4dad7dc945555b1e081b630c7550a9cf3e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43799 zcmYIvdpwix|NlLPVc1Y_N^CPli8&O?*$AN`<$MZ-hMdnvV^hi@F;PVUwiC+T!+`|`FcLDE9<<&840liVgLY0*jQs7 z_v)Vi6^Ovz6?Mws?Op|nbUb4Y)C?%h?>%4xTx=ghI zd<+5v_iE7pY>x&0|J$C&g8z5_zlJ65M)v`rI?V=ab}??`2jk0Kv`zl;!zI-ZiZx$N zJDxqaejV}WP?yjmaV1T2%OV|Nx;!>tQ{6{e4yRc<2Ta}!Sc7)V1ht%QI5myDgb=`( zXz=rt|CsD*?jCFXQnG#ZAj2qKFHvx)gaP9BkKxw>!+s0D{6E7F377vfd^uP*_WunH zdOnOj!%nC=YD|$C`tvtrr)(lzDhGfZ7Qm8ByS!8ByAzyqaFQGx8y5Ca&u2T8Oc%t* zI9-k;dNZVs*qEk0<~?{p7c^gDtVvFS$mDLrf_x|GEvdZ^XpjA89~?fh=ovkB04@th zLGdGhTL(jV3Ukq(h5zyHLE;_<1tQG_#k0HeBNd5SSq1s`(EF{>SpV6*KRQ|7Ao9{A z^;KelCSKqdX^6TOsz_bOpN~ZP%|Z~fZtfwJ6ZaSM2`V>TL!!Bt%&q$@RqMi5>pSiV z0{Lk9HeTci0g_1G z`Ux7xuPw~j!9lQ8jTGe$^U}zMbA-MS{!#$gG|7`wf!UX z%N<(qGj`%dOs)`~zTrXR#Pi&oBB9F|0kj=<0tn&GayVFZtP6j1(y`%@#rI0#% zKJ5FbJX%sOVqUe3yaBG#qK&zEiuzb9O!&O98K|N|L?Q=kg7*(F*V$JbJ|%{Ym>a=o z3rNp{+mAO?8-PJ*xOrh$vn=UDOIy<4d&GxICeyy30h{aJy9juAyU_KwVV^vokIW=& z{QC7du}rh*oXM_&sl{6h2ec!{;Owb_d~#}kW%W>h6;pi@0dIi=-JY;!@^{ zk5R5F6Rrk)DDa;;!0|A5<*cVzc3rT#fIhaKpd#-1+y9os{@eSG6i^Rd`4{?GZ5-M9>)j>#ENA{D1bWp+(UdX*_!$L z9dJ5olR)_%ddLk|&FkxzWx`%T&IXzTN6N&cQLA1ShTb(`&gLdt*M9qVe9A!g`nZ$B z#NwEZJ^){Do<3ODCVA0yX>}nW<*!O9kEJWAQf7OyoSJ9eM+=~q-6c*XF@D!{uNsM+ zow)e3B?u=WulCP6M4a6gdQiDgodko>0xV-~@-rHiH}pl1M20Ye*h3){>bjV37a9wh zn3x7Z0*yv3@8(fb_+Y?8%`#(e zucGc)rA#Ql^>rgI9pzZk*6PtXG(JPP@56mU<+i-l2WPJ3s~o4fdLq>$PcDa_xLtZr zIMY2()k465${7nTx=43Wk*dh9n7{}t&~Wavd~I(Uj%!E|6)nz4BMjd}efV6gl~WNi z9&DclNhyANZYkvqD~-t$WV-mjZ`lhSv{mOoMK69ra!Nux1KrnsqlMw+v55&h3%k$V`w|TOYlA|pzsEcOo)OGH?|x< zYvULZXhRGlzo~cV#yzC9jD|)&)a&R$spm)f+1hW86u6(=ix`K+au#Opi71S3le@DZ zES_EQ@Jh)`*o+>&Iy{zhzF{oNU6nlC$i3qsr6OUF$o-5QHKnPoKJV$N(*{4SbCSF1 z6z5V^hi$t4P=*%pU!7xS&5Pf@isL5mg7x~p*x4(i5RYX9gk@f3404XdmMOL!Bg&W&=*p;{G#6wFtK;t{ zuN=%EhFaIsIz)Z&rM{*LIj7D(Pr7iz z;H>02`WcSWyA}Qby;@IEw`1DqXW`v(Vr@M^h7y8lVSA4DA3w!zwW?BVrg|0Ybtuk@ zHg+;+faw!jK8(}h<|FKTOc#yY)qN|KDyKXFfh2iX<&-Oj;&;k+dQ-Pg9=gAjwGUrn z(Dc5jigT|0Wp$+%=04NMs*Bl5xlJv!Y;>c~$1W*J7LP&&)k_U3m|3ofyX;)D9i{P9 zp*q3WE%QgE#oP5Ni?I77yJ+r^dEBEn#SRQwUhjskzMTMmH`N9LEn;A(vL7oSy zP*~t!9_WG`$j_ZKQhf&7;l^JwZcR-+5X?o4D&(qa>EKJsDoe@wANsJ;I<&EFUmq;; z)SV1vM3S{*h&$(wsHBAklTf!-8JI79GjW_QHPT-kU+Mq~r}r~LY=h(?9C~{2q(#6C zRAm9`h<<^E`u5ge3qvst{xgP}gZ~7Qo{!gb-wGFjT;>f0r0lfzhd5*u+ecT47nOFh zUe@wsn)?^?BEM6{4^dm}lq~BNPhd|DrWG9Eockn7Ti$D6$LLWhdo(CzTJLS$Q zX26;DIZi3NagC%Rj{6H-kG?-V@bDuVrLi#Lt;HC;k}A}tUyx5UeI07=+@EVrcJ8;+ zLN!bmlvGCt$*qy^``bjP(a z$c_-b=gGOawqmys#u+;{0^5}oTk1ijE$#tBEb&H9A1tO+7$gFS3_q~_I`+WrACy&( zsI6ba81-D%l9aMo4aK6v#St!F#kAvIN_?SMm~oHPJUGH@g$5{C<)iaaKAyC(i{xB= zfMuk0Hs8oxq@(foUc-`LsbzFuX)X-e_OtHK9T5L47)k>mbMD?C(^rAYi|nK`bNQ+K^o!u>Pbk`=MX~ z6m~toIs0a{)>+_sw0jYiHUJ}#eCB)GbuL=ro=Qa*eE4!$%0>f?= zT|s>ecZ#!|XrAaio-t@6?%w{H@`czC1U~(J1%1qwZz8^~B zCY(5wsSW+lE_Gw0s%oy+javL%23A-=D7LoMuxUbn9BT-d);)3J+oFYrii#73UrJVO zEs?Tt9g;ve!Y?;q1fa22XhOJM7J&prpv-@TN4__AQga>dbEg4Jz)2?k)pUOR5!CJQ zw+2iU6i`6+DWfnhaSGaT;LJKOVsWus| z=Lm;7vF+))?W`!QCQ7YnJdkJmlj7# zW36r8+_1K(pYBpS^45k_H@JV&nn0Lc^tAC;5K~SG(nX-e?>);$K(k2g>c@8yZ|{T% ze9;45CU>+JnJM~GD4aR&Y84mfI@h1KnhRQ<-*`@4SWHT4qAOQ&7aFfqPwcDoRgjt@ z^?6dGS0RTlI13U;m6EX8lZ7ZOKPkE))c8*GNhdugzGv1qm;6M+X>BA1PAD$XQ3i=! z@w2lTZC$gHg%%RPUn3rdtasT#vN8S!5~0)t)IUlL=kWYwTI{CSW(#NMPYnkO|Y5@_%Xn)sa#xCyfW!la>mp z$Rkp%{j^Kbsy7k5S^gfZ{x#2@i|08Gu=Fd?Ra5hmJ8e)wAE2(dIe}1Y83&aoq8Dp; zG+c?Kvd;0d7U@G5<;bdVEop)>!Ij8BNw9|!muhU~6d!xif1@28-`SAA@I;?ZccFqC zYYw6myS4ofKP!z>cmw=kl*BmMtHA~42>9Mslr-vdBM1+Zfq@V}#{Hm(Sg|uBoa=ek zZPl|wG`N^3Xms%6T+z(WUw?lElPDv&hj0V&_&*D4KQ}g34QoAV)YqXH z$pi@$;}Hs4aY0tq8kJ3iS*ZNcth$Mvwjg5$hC9Yu-qV7(5XH^6*@NK&w z7ihDScIkZ(x$2(Wcd(&6k^vIHAir`f#{R}so3FQd@V6q86RP{=1H8TuMSDjMQM^Kn zMovYZDt+@jTdkttlkT1FpaYJg;haJUi^ADw@6?og+oDP94Wdh~{N!wb<@Za6Sp70c zAlu?-I^zUNF7kl1${XYj85Bv+)vhMZF;l{q~UqJ_&R${R&4hQy=^p5*l3kF3wOfw=T@xq0e+EB)!KRssR`* z8IdWU)OesMQa=ZfEfvj&o^prZz_f{BpPO$5IB5@&G|UKwhB zQCcO>@L5;AX2qgb&ESE>sww1L1Y7`W*^y133&DFdI6m&z9^77}$O?{yaw_q?RV$S$MLJM5Utby<>X@5zD! z8%JqjIq3>@_@fMZvq&(O_uzqY!}GDwl9I zW2Gv7^qB0+69`LLkZS%>07V-U3^(@+{Mym@PX8SybhWpC?ayTFbA{1tn82s;*8fzz z+v&F;VfM6&S`LNPTC>{f6~-wbuC6R6BtNRWzzd^QP#p-(Xz}sF6Is`mdh73Ib?0|T zB%F2YE*zRSwc$-+EIyw3L<8EQ20zG`e)KJ2!X7X9MZ<6x#*)?Lfb*B#HA zXKBfR#I$Mog(J!+6lWws%Gbj0>xT+4KlwLf+?mD&zT9AP8^gGbeo*|lJMal3JM6Pa zxpe2e|49*m^9_G(fA6O}T`k#HDal_~y2vl*e{NK*Oj;Z`te2PFrI7ZAHYJ=QsCcaJ zB?Z?!*0>Sz#cOWu=U;&irSaqs(Z^LRx?1{h4G^Wwbk)^XX=z__iMyrRhzITd>xaZ& zlSv7wu?em12j7@Q_-bIkRl>`0{E!nk%_+W;_an`0#mfHBV_%B4-d@E0cg=H7B{P5N z?i5+aGB**N%_Lo)R8fiMdvb7=hs{xNf_|B#`g{bPS2zGJGd40BvzOBVGlKVLedP;F z)Ro*@Lx_o>wWBT0_~GlmSBAsh$py*L5?-uU&`ue(9%CEb0;F{q@h^8xJdjO8Uq*)Z zdk!tE%|yRgliK~0BQn|Fgx;88SJkA6<^)|_9vf-YKxHA_=f_&i5pkb>Z*R}Dcq>yZ z*3{G{Yo2V2eA^?vI2%ZDJ^UQ$}x+0-=I<<8B$cysZY`{T`m^Zi-p34&S* zp^+44nW+LDts7wcE6kBBh>nGTU#LB&x`=z~4n|f~ztv-wYxts(Jufr&)-5*ni5$^4 zq^0o%F%cFAetc7c^|(6l;e}`Z{I=_Fg4C)!-rU>!{CY-H(4ooGrxcA+JX4a-j_r<5 z`A`;q$1^<3y!RIP)~|&4q}`R+C1XN}T2Qe!=t6|pYNh9(Gu;*T1acq!6i>)e7#}a& z*`Q0c?@kh>##48fcUa-43Ryv9$>-UQ`QcyDgpLW(SI~f?8#|bXRca077cBx>FdcC? z-0ulFGfECCr~G(r?DcJkR_1A>Rymz0VqSON#uAjCjo zoJA}&+j@coL8u)W*y#N=f_nVi?B5`vSb}M62xHLR-O|*dn6z{04!ib%3rTLV#fv{P zx6x>5^uDNfA^g-fdnx4_9|e_b(Ksg1I1~~xD@z~9jt>lcW2Y~6PQj!!XZP23Z2RuY zW~@^C=|@X!{aNjZfj;xi7#AQ@88ARB@*-s?*}e&}#!2gOsm9qbuNM^0+WuMlq9NKy ze;Pbf)5&Dys!=wnQZCO?`*w85qF24bn|gKw(@+QLD&u8}$@fd-3wCuaAnt;wm)@!jPW-sY0zdhGLT zR90Hb0=&cc7PlRV@*A1|1(3jYy3m=G#Vr=SdptSr&(360UwR;gi{oq3qQ_1V{+Y~2 zt4uP^zV#0bHHOBQipBNynorNMFFFR<_g|Ej{?i-n8ltmG3fD6iz~}3qjnUbk9=@PK zsF2Mgz?eS*)gh)}mk1j+C?MDH&p$WdQB=39=7EPzcaCXpB=M48LipU@zsC2nJI%kn ztGz6G?09=(Y+~}^<*{J)JNV69v@j}HB}GV_(*cc=b|+kLO3v@^L9=be8(>SjNR znSnT>W&`tEsxUBJI)1yLwEsthyZeH{3P#p6q5=InbYW&q7>2dOhIT?>X0T>7Qr)%k zMxV`_QpqW7HtB;KxA=o;+P6}j3b>p~fN!C8Wx>VdHba@S146kw4=lfO9$qPqXVhq# zP^-(zYN&tPcY51Ly}SzpLZdxH+C6G&S6e?u@Gsj#Z7)TBNHcsx%&1M`&{A_-y;Z6dYRQrz$Jgsu! zce9sqyT*1^S($OtR(NXc->I@4-S^b!M9-nr&0kS38e_f*dph^SJ3qVgm}{XuCS&%y zQzkphd-ISr)xGqFm9^T_^J?mFI!tbTJ{0z5j5-$Un@-xx;*}4Ngo%Q+(iga94(cei znbQ2y%Ba*+m?P%?;pRSOzINu|G%RE|SS7n)I7U$jK*6*CAuF7lyEt|=S?d5*4{4hP zzoB5O_J#Uf%>qMQ+pj2_8{uGHJzJyNr-pRIV)CZ5dsuPdq!x7*sZwy>L~Z@$7uQ(~O#W2hhiP0(|d_Jli`zC;A>j!GbmAC>ELnj*`kISEN?Wn(3wZ^}n^fgej z5^U-Z$$tZ$TV07Fe_x$hTRX~hU+^@eYWW&u6Ix@|+#bqE$)pR`ms~(WPCZicO4+#L z8Ah&$!FNuequRZEgs`s%x%+2V*G}DK$M+Rg&DBT<>b(fH5>-ZNovVN>_~=?0+7anm z+dI7N-R1YGaqBB|*2bf5c;2COfTi34|NY$UgM%{I6q;=czB=tAB4y5k?kC*~5m~_c zlPbkF<6vpCkLy|b+7KFb1z)45n2-Y(Z8URHA9^Hmd~peQW1G;zu6&y0_hSjwOFWn`s78Lim zNv$s_-u>T$?)D$vrc&E(oIbB2=-qR2JQ=j8Gl4fHCF=;n3;_r#7r>|7aY_^yQ>Nb& z?X5X~uj@7O=nuD)MCN-azP`pT&bkz$$>CFKJQJ}PFhRodE|Imm+CbOoV)yb_;!HD( zdR6XsvZPpbFOP{EKdOWbdfl5|ok#Tbj)blTC-hI{k|E~(>K(xc-H%%Yf^pQa{5Mab zSDH{-k4p@yC8p|ri3NYu%>;L(R(0HhL=7$kS9AC$1Qy>5UOVJM__rj~o%dR_w;+dj z!#cg(C@*DwadB#UKD5+fjvcEsW>38Gt{BGZF@7hw;>(L5~>gk z83yj$TUh|PhfH9NQiul-sB!?RHaOCMKSPpD%1+AQYrl6NcgqQXrVBa8`m?cN2@?F8 zKv%J$4vjb;fyB5L>l~N5{NtS-~ZPDzd?`-Ky9Yik%k${!v-_t#9erc$t+M z#YpAPpSblnIbx~eqQla-(dfe^r=yQ0gH6*Yu3%JtarLXybJMvPtpo%ZaRv;}6f(tR zme5Zt10b+4Tm=f((k}g-8KB=)ZI+wTC%RUwC=f=ByKa6&`HNv^2>B2~8s8(?E6rLV>w(vbN6&#UChEBEFAhQG@Rhw*w2%>@-~8D35e>D zo4a%W(7UJN72sEnZY(C9QaG0{eqUWpX4Q*943c{xGBi732Fu<*KuDAu{pTbJ5ERTt zVnADoSRD91kAA7X9ZP<_v=NrM14 z4y>+ARh9b>8c#=&D@z-!;Yc|6uqhsZ_;g^zokh-N-50#51K`9s z*>|Q{ll1s7Sv<{tX;89iWluj&Wq9mOjk~PX<28K4+Ugou$II0~wy&JjnQRQ3(wGH_ zn$pLbnqr((O%Y^sMfCk;&k18-w_dvHXY^qgU&cVKeRDBw(e%|oNMNn!99P5VR>mEIsGN1Jq86+P)L*K z-NfG%>{R#w{R~n7kpcbYSM>6O2uT*Ar&^*|$DVKzc_!qgID*$+}$t82OP-c#xN*6flOw9)coqazC9bE4&#k> z9imQ#1AwWpfX&<2X)(j}B+o4QG^5fTKZT82_LU533r~X|$W2NA#2B?Tu+3P@4 zU1uBW^Nlks!H^zFX{8OqJ{Op3T z(T#z=Z+}v^R^&aqlSmjH3sQkJ76DkA>L(!l5O9<)STIvY`{@r#4B!teLn811+JEQg zKQJVOIeHVolf{La_!_F;khw7CO_<XolKQghuz_Kl<9M5|%lx@ZQ)onnMXn3qJvIXtJIr1}A>+@VnBlHyW- z!a`x^a7zUk*7YO*!ZC!vEsCD0h~Hx)lRtFOB`p4TLgH8>j(2`=@acmSGd zjCb`lmp*h{JhTdfrKSqn{>9E3IcYvF!WH-Bn&+D_Z^2k~+l4_fsSZtQ*5r3>e zCO8{Vw3~DwfCflu;9H~vBt==618LIQx@$_ee^E|7W0ehRgxb=`2rtzeIHTqaYrrf>aH<U~Iq1OSPctQnXDL6`#B5XkHVsWlcWip0PK zLHcoL(2iip&BP|~$XL^^qZled?i3-BeC6wW+^I*3p_~v;{)&E@b=V-kulmQy*)5`! z6k)l2n|7{!^is6XFeE!GNW$<)x1R0)*v`d8OT5qVgc91u9*+lOEY!?QjOX{ngG6kXY&my71YJLF9G|L} z5q9e5<0G8VOdnZ48-|AO_fm-Jj-UI+FY140VYud`8vC>F@N_*S;alig{@rPqcg=+u z>N22*ftG12MYNp0J2&;bAf4U^as)4K7zn~(aM+4NoB0`kb1Oe=V7ey#XBuSE=dUFn zXOcRcKsEyl!?fXWxK5%0G6?(t zp=x$HHqzWWd!4<^qOTH(-8W9{jkN53D^qw{8Xix7`KE2(z6p?BPg)C&2Zy)1n<9t@ zLHa->K*$JgYBmrS^fAT%H{b+_jM`jQ*xXJ)o#Kth4wmiwiVWeicwa_e(h78tussII z0uXNLuKc?iO}VA`IXKLBFwLd1JRFXPKy*xRd6JO|c!U>}B+q*YX+cHC*Up#=oBMDcx*pOjKB4 z+x2@GVQIoaeR%-=SZihb;^N)zsreooaQxh)AAo>E7F!--{{;N_XHgRJ?Jg8H3Gs(3 zW)9ePNW$fK3V>j7o@#3vYd{!05@`_iD>+W$bgUwfOPJa2URPULovY%^orTq*a}ikE zsUEc=Giy5>Zec5GL3qpzdyzF-G}f|_`^;JZn%==U!JL>BW#3Scbc$zqWGyf5an)A7 z)?oE)W~DRwKZ=2Rp76ULL%H>It&cmGZt(WDhqXZ-Y+V)Us)e{LF4k~QX_gop&W<(4 zH}Bhz#_FNI8C74($rk`n$aE0_2pg@vPcb5}P*b_iXhj(7pek`D@lSd zQ~pCB-6QE;MU?yH&$?EV?6squY~^9GF(;&(xi#>uib-*AbX)3E#a_=43jg?7V~45U z)l<`sXd`bg-QSUYW22zY-@o2*L%0vAi2{=o_FeSqa025?H5DT@Ih@Ax0j~IoI?FEGd0B@H??9#mxf?tM54ja?oE^AlxEy9tutV-fP;ZDO4|$@d0SCvIO|JHjhq%?Z%I|I`X)7<4#?wD z28Y(qUY!JHE#7kYFB$0xan{B{_%pW=3+{KXTq8o|fX>}{FlBF~;FZyBJPn&$LHtVg zq{|!!$NgJVc?hOR)g#pBe8<2*;OCh8yCwA4_?qKy2R4U}>8wwc3QmkATyFSs{FW?B z?3BWR@9pb7lUYh)@Aj)?_8k7gbBhqA2I{82{r)x3yqNNn318fQ&dg~D~ zv%cM??kcT?WVa;>?9aC=bpdComzE~crv6j>j)O?fP6|(sshcz0{{^-2p2~$P*4;j9 zuyEczT)DyXs8krbH(W1PN)I@E*k9Nj+hJ-Bz_FRxpl{#v5^YtA@|-qiS>3BG$G5F6 za;tA6k*^R3r0)e?`vpA4n9dDU#5SyFV<1JP=ZFR`Q%6tg^%lPfTJoeysUg#;?=oVf zO6WH&5GbKIf>1p| zIs*ZJ3dxyLM-^y0p2VU8-(J){JReF8WjJ4!xEwVct(`5lcshyP5x)DZ+Q?hoMwIhvPT|; z@q2NHT=Vr4qc~%^aIx7^f4=8&GLW9Yq5K}9(_cg%w$9SqlX?r#hC`c`p6&~3XXSgN zxdfT_BA%LtM%IdnZp;KM!m;V=j_!)LyQQ*8@zl|mw1jq-Fc;L!%h0{lKisu&%n$|X z@SXc{KfnI%JM>>hP}rW@ ze%$`F&S1-<+7}rj*W#{DIOe+^5%0MkU4HSMAwNRm{5uhv2~_jjQcj|GiJy zp5O9i6k>n0ahXiP&a>|n!e-5Kd<6V4{E_c72`M{hz&8{2>Lq_6W~M;UEOC73^qm}D zlz~YR`?UH~_am~{*PFagb_Aaj{@C$@n+yxUe`mMXc~6^U@M?PQiKOnXu=%|kUUaTx z?A6G~9LPn2*}DOgDs|wlb!nucm7=hkGKIENem!hK2NsXaRl#=}u?&+n^GTO}#H#!(+tRmD<6>qezP zRh=09eWnsz1?dM)=bs6fHZ5)Ct_K)_w>sCKZt1ohqm3ohMsrETJ=FU1XUj{jV)zTi z@0~Dt1dK-+dS@=#BR&1-jjyVOgJ31oBew^Gh9h$w&83`t>mT!X;^gG@p zjyXY&e{K1!aWVhD)iaQP{5WbyY;3?s(Bt=YUo9bj*LILFYeU@nQ4J1KT#M_1s$WwVVLlG9Tme^!FFm%58SsZqzvsAe@_ELv8@Nf{v=K z)Yq8nPTRruy4>@qK(M!xl0nWr>fH(EUdn+gz_Kue@5@C@x#sbvXJ4CA$wL;v`JrPyG!X1f!jA z=Eo~$vUH6Vq|W6K-;Xg$s;+1RkR{cMJUL0N<4%fgiN>k1UJs~K7;VA>qN|2Eo{0Qs zHo%>#2W3}M2La$&g|oDkSm3+-(2((#79V!g!?B@?IppM-Ay;ne1r=Zw%8gA7rtdH)q{Mp&09bWrG4uP1T7( zM^&l{Dv_dpBTmz1PCCe3W39N%it4}bW+zfjHh%MWm)FO4XV*|!V~5_@clNDMgSC&k zYQGN@gD*}hQllqd4SF@t2K@pYO3A2eJiAYq>UG!Fwz45XWTqMQ=CM;fQJ>qy@^yS+ z`^=%Hh~XnDw;1ygg2PHng7DoeX^joF*9(Dzt=`_o(x$vZO7zWPgH9&Y_vW*zsXrS* zrxdKv!PTr$wc{q<)!uX%c7#b<4&-hDbGm9`}t8jjaIE|fAn zXF;tC?F%1I;6@#de;~FnuL+ucymv$}>yTS(Bk5>`UF?1$DU5VLaQ zA7xbdGBMBW?mZT1YJW>O?`QHNrc`F}2WA-qg>GrG?Nhgyx0cVp;0H8&>BlV`5`>6$ zAXN>qko3Nh-d?xpo$tNx%M{0t@84ad)gB;|-`-Tw5|^IR5E8utC1QkqO`kX~uyC8i z9L;tk+F7Yw4_e!G3Y6Vtll`dZG=IA!Rw`pQ<+OL9JwdI)ef;YIwYOX0*s+kJ;$ldi zX$Wn0s4##r#@QT7T-a_L>J1D?+1k?8RiD9dE*g6+9eE;8{EuRx;BW+->~)D6(lqM} zw-HABEGfQWi!@(9z$jBx6#Ui_8k`{a6UQrzW?3sQ73h&LgWnioKD|e~S?E6azl-;v zz6@fOx{xXgkRwxL3op)g$Cyk-1f)QCc#@isxb}bCmMEoj0x2|8Gi;QU&Y$kshO+Cv z8HwbU#<}q=`|<1ix)Z4~bqk;qiq^2~?+AZRZ$*K2fk1h8pS$(pcUkoiv8naX2{2cXsYb15sm-L-8ygQ+_&ly(+t*`|YQULmCT!KjARl^GTx zSvm*5*>b;>cY1uOJNmS->Cpg%v$pb>*4Vnwkl@;NoV)!Jbu3s}zB0b)-}~|2%WMp(FNW6>)oQhcN*izC5eI-EtfrB z2L@V>yLo>+H>F5OBc;hL#(6j9voY54pAr@-HPi#G6suUR&#y36qpVr4j;~)jRs^T= zTd;)j_g;FBl+^y2miC32VO8Zt$0I~ht(TYXRI$%(AI*kbrqDS2?tcoCPJ7dZd_I`m zG7z-$oljnw_kBcPQ2 zf{ksO$$RhJm*Zvp+TBA#tAB4n$YLgjhTBrRe>GEf*4SY?+q-7#MN>hx&#x_|y{0yW ztr-DFYywm*MAs!dC0?$N1UrTBKC4$i|5d8xf9W;KqmOJY$^cS8MxR~LctWU$e z9WyDjo>;Ybs}3dk#VD{ho3F9^w-Sskz(Bb>3K|Gtq$GZX(JwEDgMW8WgDA)6pfFcy zoh)mo012?6!a2rC_u7;AKAkn;5eXX#y#B>;n$DPJ!I6nBtjA&bGm}3Q?V#|Q{>F^6 zpeMV2RVpT-vHK>=7gBaUH12!#k`kZ>P)a64A9q6Vp(zbc0^E<-7hJw?wChK8k1E8l49( z>ZLuGoyX(oEhpryCZLBKElo||pMyAae}5YNQB0PVA_jR*wf^yP1kBPP9~2~|&egl^9cfZ(`;*2SzT1|`M z_Edv2UF82xi7k988n#fBe^Pzm=NxhBolU-BTk790oU*-8h06*LjJMG2s<9Rp7?xNT zFz@>;`a!HDsK&yGL|;%?dKcmujA6)Z)Q# zA5a@{=Euo9h9>q?hHlDD(&WbHsQ9%G_pSl((Dqa7q)cR`rg7x&n|%;61HA*MnAbd*S}D z(%_1heGx^1<+HyxnQ;e&6&pHH$UPq5fF{qCia19vP&I}mfC$AN&>r90H9Iu2q2fW@ zK)yfYGp+q>5>~pCrI}?ClOyzsr{Re+G~%Uh3JSwq0&T&-w69fIv&A}fZ)`SZG!?(3 z!Li?vXFk(U?872Elg~?vBqh?MAWR?|jE4%oS(JCmG+a@5UJ|xO zz^Ylm&y*90+5>F;snGQ|n13cOqR++4*$#Y?mI0@Dw9rjJDJch}u3WgiIy8!tvtkce zQ)8ul)ksi$)(uZ;b=8>D>_X#t%&D#ovCNrimrB466(8pq2?5^rq<3N7I&8CBtlW(- zyUN`4GD}|&-j&Z!K5&k5+&6~YUG=_w`1=}W7WMpv28Adh^ZdV9&e~LP>efzYf~Ro` z%{bLiTGBfyg&Y_j-c6Gg{1Bna3 zadp!{^bvDYL4QAoc4gT!2*j!eI0LfuswSGw@p>^7NNJWAn=Ac^@KS|24dlxZmE|n2 zKGx2j(yvhW39WglYG$skzQ+MiYl+Hef2{l+bjMy9o@4RojXLVZ@A86Wt=IImfUFyG zwA)-Jr1b|p#BM!XrZRRb~++UOwCm^J?uO2?^ zH;@rIU-L}M&cgO>OFm)2OAGBIfELgjd%i3ON+Ua7(xTkSE!9sLnODZ4Z89x-o_5 zd|Uadd5ofBq&z_ssrw-ho0^*n|`4LodTAo?KhSycPz zSqI?OKK7n^{kr7JRK)n*$UNqx1F3q}cS4ATmcl;6srYxnUCsA(nE|n^jCI<<4^RW- z879ywGUa}#g+8X~2)G|`FeDtO+617Aw}zhMa>XLVP}!d2yXT}o_2k4!rMrgR zKmVB;>h7Q|HKpHgjzCpPFr928%R7Krz&m&|%4@nPRaa5U>aFCFBe|IH5QeYB9;z94#SY>m~gNiy^A;MydcqYD6D4EXxhunsN??u%0M;01Cd!6Vt+3W4|gB} z00(qH6e42)cI6~_o@^Sechg?CjQc^ZRbDgqqN)Ly_>+KE%+ASiGa1=(t2yeBns}4gECih^1oCV!{ zyBcDdPdL2?>)yLlB}ndu0W9o&174p20%OR(RatYhC4<;Fz*_iJrK;@!*;hAggYSYkxp+}Jb;vPCh|P&8(*^s zkMIBt=Ka4yB7}%Lp2!J_BzXVi?D8r^W@KSzMC=v>n1#(@>u{QdkV{HsC;_Me4lyNp zn5WiTgm-JpvW{Z`jA<;0c!kj3YTfD{l`W7`Mr~jn>e+8EoTpSu4-ab&4kQ>ij{&UH zZ~!R)vGX%`me@~zDpXs}&+eghg|IP8W@d2H4nW||-QR3)2nKwoxXuI%*2*6`kqGJFC5&PRX9SR8G z;SsST*-)(^GE1UB44@#4H;w}!B2YMnMX;j>5+q>&aVTM7?r&yO*fCwiJ3eUlTsQ?d z29gJ(D($K=U?O5thi1kR-P{!pVD)z*=*D|c(P)?vs1`0MAF|M@Tf@_72U5AWX{4oB`a-|mL6 znRRu|CV{?l93vtEkcg3(fp$L^1Tqu4IspPh7~}8GHa86q2nE}LeaJ{Iz@BNh*}tXj z0K%?$_cyRcxc4wpqD}~bOe_q6d%#Ep0QjCyfP@hMj>rKF?h)z^XpBh6w5Rl-Fe6s& zTXO*D-3)?xa??%w+B~zCAq&BLoIO01;W&+^EdZ(mGmS|IJ&~K~SXhLMh?#|1STmwT zC?a*cr`vPM191_g(7HELPK}1~O@56Ch`*N)Uw*`q(0WZ^7Qqe!Gbf~!IcLf9a=U~@ ztsCYXx^3&~0O8iVUu*lzzxmbAKL6r>#6M-CaX!sXTiu{Q<|(yW^s-We5OCt}{#Mb+NDx1kI~a*8mmt<`;FHw^<=^zKO{ z&68eh8fWSqq6b8nVgQ$iq+aVfYL^U)D zQAGenj0MM;=VLHiAOM+p@9KcvV5?nS&7d{=+u#1?KmPi=rTObx@AoYv)PG5 zcXNyV=)%|&Od!G?JbYgP1bDnPJ{DnN3a0KodUNaUO)~#1lwcdNUL+q{;w=g$14Kuel zwqLkM*zb-jGi}~m-LBj9<$igo>)LCrb@T2*QgSY3S3nU2gaM(XJfxHvFnm|g><|bG z+pE*uY_DVpf5Sn<@9c>?*8%tM0waLX5Cg)&%=G!Xyew)FWJB~pB06`;!0T3Nw$9uS|*RH!8qAttr za=E-#Pjna(Q8*w;E_2=wtCZ+17}J4>bK!7pi&;Z+Lm<*XVrHZq4&l!Kh@aWJyZw~f zAyw|MPno+r1_2_>RMlE*zkRvfx9)+vXu|^nu$xi%wsrRya=Iec-nYIHK9rJ?h=of| zj6}i+T!vzcMPQyDFq~6%Z7i5LF=9Z_{K(grh#g~K!3a_ykJuJKf}Ilm`+M$xw8HX; zsH-lQ@GiNeVIWD4AR=8mi@1e)bTB?E;x1jl|2?gCfei6gKZ<~_nJA_5)4 zOsln~+V1Q2>zC`Tsv}51gtv~s=mF%`OuKowXAuamwVL|A;}zkDd9pA>B$C5?yx*7M z;d4sa2`Lv_&fq91;|`P?PLPKk;{-&^$w(0pa{*334Dg41D7$Y z2Lh7>vDG^RMQBrP-H6FN)b~yX96|&4+Wc^S{a^q6|Mk9DFmNwz^|oql+P1pfmh0=fT-R=!=EIyz9*I-!Ti;g8nWkxX!{W~I zCJ108!Z2$5_Rww6t+lneU2jMZ~g(_BgFn$6jqoarSY?G%oalG3@IGJ!`%C7 zTkXAipdm&ekN_AWA?m)y-hYaz|A)W%RZ{!qW4_$Gg+7|dLl6VV=SS18riuGeeV&suM-cVSw4Gw{qs0?IV@wul@l&zLH6Az^Y9 zDVPtj^Kx1CM>9mxa0Vnvz!E#(3;wxWg%K1TJciG{wB=J@Th56vQ@Clf)>~aK*E>;W zqHe&sBnQxDo~#4C?XUrWTGN03cmMF$e-Bmbzn1s^lY_cpz|M7i`(+@=9DwW&-eYe| z-Mm-bmUh42&aap2%i34TBc==V-89$Gs*^x=4toKr3lPQ-}&HS7>zZu@X*;o4hkt<|<{^~3A3);C%g zBee(%XNcZSh>9>Fn1@9mL|5Hvt99Gz)_d>ft?JHS4jNg=jR4uVg}{k-7%M>@ah$^= z+%QjjMp}e1AW8x$0Rawye@IlA{8*iPZ;jCM@lg*)Z_m@?S74?VdU@&VZQJVFn-EA& zVU7}G8Cb+k1KfQV+8H1XB~if3ec8+|%htLX6QTnEbt9&Zh!E;d5#~x})*SaFiCWuo zy{@{dagk1$o=?eeCot@qZn-9*!{Qb8FKiX9Yx=|LAln(FP{U*anmpgf1Uq0ThmzURPaM&Y_i9vhg zVK`35ZM_pg>nfC*R(DUr32EJ6X1U#N>$1i$yIWNS;iwhdTuBi*f)UWodk5D5>vdgj z=jD3YY)jKPpWaIv!XagNdAWS|;ls=8%l%&GQI583-v%9;g?Gr?6t+u+=<-VTp z>+7v{hari&VOVBj0&vTOf_tgqSkhW6fT{MaY1`_y)y(OK4<8QmskV;Z4VyfD>zwrZ z9J-ix1PMl#1D4qX+o!*0Vj2%%;p@#@%e$|E1gwVScv~a?b7LZCscCE5ZCUOudYR_K=_%#WJD58L8HuD!KhTdS?LO?9dDytQgh3BNG7x>-O1pfmzz?_1w)*Yj)LR*VRzjP3b6--YqOB<8c2>N;p#^Fd~a2^t#0?;YaYkL<6}<64TLFza)!a<6d;n1 zr_=SesOk65&-XzF25=L=(_xTdxUAdxatoAk9P>2iVa|C-!U!ROhk35=o<4p5!|Us- zh(y5Hdm5)eMBM@F6hs!Z{1W??_0n3-UGxPfQXR6B_Jn80A>-yu9i~v2tX($ zBY4|3HwT2))h_qj@%q`*VKW5DkOvHav=IX39Dxp~%X7W_z)XDl3XnmN(}RQgdIdMh z4*`ETG*W(~x(edKt%kN}TSRzWw%c{RokRQ9G;v1Y)*BNKg}1E&ft!|GeCH&u*tJXI z#BeuEz#*JeJzB48tE={!#$kTx2-5yB?Dz1yQ%&o3^%T-;vFF-Rjyr0L%dpy2Y452@b@BXaPAVl5DLF zDXE(v5m4`~Sxb}xVcWLn=a;8r0YnTVclQo$fp9?J;UuZ_`zKwm9goFLNP;jBcq~vYU+g0zcuFXu_dW%p(>}~b^z)^pCc*;UsT{0&Epncv0 zkVI93DJ8-;IvAmwy`EoN*J&V51;e{H4>Pmok-`C$_hcOJT`Mw<$72~Lqy$btiT6~T zUO5kxnzYWsOaQJJ?RH()ZFAFZNit1yetI|@PN!*_N*Qw=b16iO9^gjEAT%I6e)iN_ zTQ9dbe=;zS7yK9gkfEUQzBVyDJ2m? zPAR;a>zGs17*kQUu3LC_)3|(yM}`P%D zK@AeUA!mO7ET{jjg|&+^!`*AOwt26*-D6$ITLhI+#1d)VGNmEJIUAqRcT6YU#Qf&z2;1sBC&*#^VFRxFhfqj?% z;{L=8j435%ByYeDo@q$K@ko-?ZHFQPu}5MNWE3KDVa-x(8prTc_-C%w+Olme+^2ay zJ{-sCkjo^)K*UVE*S&L~H3vfyPMNcm<6-V~yDb3Ft@gU5{3dmB01q`ch#i)z*ZcPI zwpNXtgveTlAlRA?EQn|T7`Cl7BF3TgJv%M}5n69eJqd2B)w<0?Qtf#xwfEcox2@Ij zFcFYP==~YCi(%yNamDTviIuSjdDQ{jQ{uX{HIk|;U4Qvug~6_ySnyv zKO+#hMQ@QA0GjpJm)F~E)v$3aC2_+1?qR-MZ^R@{=QkMVuWD`5~P$85kg7{J%Gm2dR?|=j)`(92Pqto06?LGhpVDF zgi#=K&Pn9qJs?FG6DJYQnTa@vN%kjOAOyDn@{R^zgpnjq!(>N7L3P;dtdq@drW z6gci!6#sa>zpicbKyyM8HVyzlQ)dQqAfY`#ASE7?tYO#Nf)U~B7V~`QUN=>4QCphk zED7wkSZ{9Qa{ggwek2A?1Eb?`z%t)9+K3ePzD00TTv!QUr7pnjukdqrA3c9+g<=Vb` zJYBM)Ls2Ed0O07YSti^tH+O4xnwN3B?DxAAL#}O_bD#=p;NEK8?|0*Q&Uw5{bU1X8 zLn}EA+c50Pe9?UFukK@a#oY$BcSHe*(VjpHv<#Yn30VvUU$Wh6C*k9MSq`sw?2 zKFaQZsdrV^j6e{QAT$<$wp>ofhllZe+6~*T@4$hHLh4c!@H&KGt^hQIFf9ua5nxjV z@F24CxdWq_voj#HX5YU5@agHe=~y@tA;pM@X6nR1oI*;8-BXi!(JbuR<~MKNzy0`o ziT&%%?!NE45WBAL`=KBDt{b8dtCKZD1O=TkB3h~FK!Mkd8iz;K<_J#c0U?kvjAfeU zqkG=(cU>CdKupZsI}o4|voo$Pmz4%?;KyG`Ct#r!j5hu-kLj0lGuu?Y{fsZ&o-Fg$~TjT77y; zh$s<-)@5?=1`f~)F*yqS3zY)$gPv98_@SI0(&01e2dx!aF*A+{cV1_lSzo-iV12)5PDLF5JQ;b|1=LU$J zqA1{4Dl;DTd)GW(@|d3vcdtD}_vSi>{g)IwFPVY>iF<=OdAZQxa|{sy49W83%h^JY zXv$akFE>cb57(`?Wm=v-aU2xP#xoEg3z9fOn@*Px-=06b%k#)Yhy6hiRomQ}P!I+t zN0C}|DW&g+5O}G@+`zGxs;>J@zvR-)H(e}Mk(>~Pkxedn`PDby{>{(6?gAT=A`r0A znop@#gIZ!lmKa=-_KExbCcVD->aT9@|M=azoMP=nx^DmFtB$Bm=jrK*L|QFA&Af(t zm{XS^#fn;5K_NQuvec!ur@Z|7+c(dT=g)TAFF(J&JKWq{?^Bn81c`wu*$S_BZOs5o z*Ym1rZS_1&|M30O^IR1Gab4yHLTYMEj)>@>s>B?lG==jxcY%i>6FPvm+5%&UNf4G? z1u+U$P%lNzBFQ{HBXZ~u2nc2_5zw(M_ViA+SK;tENN{AZrl$`G>UpG?oEh*(b64o@ zX4TY4K<7z@4aHttfm-I%hvU2Njt}o!&b!Tizuz&@G>@fJ;V3~8htyG1pX<`47*aPc zxmE>$X0^1|rx=OejhDmrKq~^xRSm(M09^IkcW=M@{_XX42m}~e2vE_$45T`>rp!bP z#1haAlEe`E>mhExxcV-SC8Il2ANRQ5!dHLQEN`!`vCMXQnx7u)={y_`+t;t-)xnvj zc|;T>xI8|eK0T{E{ms|3`Kf&I<*Vy2?&8*vO6&#>DR5#EHMdr*g1hQ!OH`;$ORnF3 zc>3+f@3s2)2n^x+XV7iH(X6(IKep%J$Kl@VY`Ys=*<(MR0Vx6k z3-vvR4vE^bET<2b$M>g?@AKuzC^y%i^<6S;=gX-U4KXyg4a;uRH>;)vh=PdLl9vT2 zptWULkYLkw56{Ob>($mut!j#D3h3nME{Gk^^YnI}Uo&<{frOF3jf!b#H5Vi@ft3a< z6v!}wQg^$*X>T<~se-O*AmG-YN4)~)}o`l3h&uNe}l*{S(_IDrN{9$@} zV21r>pZWp7$MIBZ5s7`DO0D~Cy4i1S9`$4j8l zYEfvdH9}-SLMOCW*YLmmyZz5^U>+X>-3cKfk%NQRqO;EEN)R0+2m!#la$`u)5#R36 z06tx?nuMY2QZInb{Er{K7Y$NUfEeSY$>j-~QZB=|kTz7cf+k(t_qgBC?GCoVpa_V! zur7vyse-lEw3eo|nW}=Bm)dfkfBWw7SKmKRMFD_U`VttexKjcmWO5;51VRiV-tt^Z zbNKjt{_5`fdbgRTN!?1dT1wybhTYt%NNB2HCWIt0=Z5tNa#l4vJ~B&p{e|HS%jBGv z>B+~BK_~3*`06!nZ-B#(>#mT9h$IeIEl+uzp1%9dyKjD7mU-CiZf{?;=`xNNbgi|< z7=?J5^VN3v{OVxndCJpNN-+hT^3oa%eVFom9LK)fTy5evZ{N8i37Dx{ZLR_$gzm8I z;eY=5{y+ZoE(H7d{I+=%IS`sKp_!Q$S1uj`iHVx=i{%4}hykr9yBg|}@o|Et6(tT` zAeE+q0SurJRKzJ0p__R%#NZ^VGnj*j^a-xFu#dn_z>zv|eSwLnsadO~YHeCuRdZ@h zOP)VHpZ~9K-o8IA?nJomO@O)gESrdo5D*x^TmuO+Az0Doh(vUm%cs-vuD^G(z8`X@iz4ZHb#e0qF9q^^rZ#0YsQyG{4y?Y3z-=lXb_=DB4x z)#@NA$UIL^my2+Cb$z&u)AMB!7I099*1T1~NQBPhciZ&&_4R3P4<8=hJk~GnVMxD3 z??ZsF63iTH)zXZc0uwkfG1$va5D>yP@%>&^%j3nC8QVT?H?a%e^%4WW7!tt%ys1<5 zW^FmQ%V=n{>*#h1`wke1R#3gLh*eP4W@>7!mZsL4HdVD&N!I&jbCUSWoG&G@crNa?fdV(A;g=T+cKSw?@wSZlKQ|bG*7dtzuNR2 z!_(>fIF6UevN{n)3Bm*w$vDcWjPaE0KA?1seN)JxHo+~AfaB@#wQbcNOc5W7IHt~6qKJeKF9KV?A@ za{&xppb&tCB6AelB)J~K&7KYerReD3Mnn$greN#b9?Yz1D_Wa1Z=edT=4F|`|Md93 z{p#CqAEq_Ft_mV}wTWNe?D`Ov}iTx0(C+!Iy-O#5Q&#@DW$pK=y1B^t4*g? zy>Tajg@r`|dR0eEfsB2&s;w~wgh09wkYC*)$?D317w!0uSlx@R&)T-4iF*W24+_;_9(r=>Oxfom;MJ` zKwzk~H8(e4;+q|G)CMXiU#1ce5>X>3DkL6yhJ8=hJ34Hj>zv7~0Xn0v^C|WAr%f$z z_cecP&D61$nwRC{)AN7*&3C{0{%LOOsv{hFy4$4`<8hil)`m!9ZmOPygwRaQ97WV! z081_ED{`K5tCv#xJ~nqOO(GCNX_X}sq9drPY5{VTz+H!gRl)b71@z zgBt#=3d`N|<@w>;Uj^YVZk|q0L~?a?Zw8msGdd7itu>M~ZU6Z0c$}KL69*tvb;uRe zi?^I}Q6u4-?GPd!$Jqg{wp#*g3S+LNuB3JBf~;FBjtC%gYY$^SFM8OjfTb8oaG4j# z4p9J!s9JrG(oZZ#I$=1a4Z$ zkcc=C3j(5>BCeM==nhR)OLa8^Z>{EKKAzA2?f2jR?Qh?mvk~D|@Q`p5ah&V>Q&EFR z62;XG5mwewU}BP$TI1$RDRWgK65-aMR#QM?$<;8I6nH7-P*$uBSVd;1;N;qrmm zXNv4o^Qn2Y<_=Lry_SZnnh?<=OAv|y2^>HXu&S17!l32`P*lyGiA$?U87UCLViE)P zeRKmQLZFhDWf|Q8iIFAcoYZ-L4@e*p+{oPdzh^V&-=xRVvcLXvSqgRWtH1uwUfahv z|Mhqp_xt{8zvb=Tmi+0%+v8kRkqDQp&5a2ZC<+lFQAmNiE_FfF>dKdDT1#mLm|LrA z46vdNYBO~Ora*YTzuFD)`S~#kq~Pw=+!NEL?@cwAWgUzX6XnVz++0Q1#bhRtNJy)v z)thT8#cOG1ZVGPbj7&&i>fX>u(S^tnh#7+r5&jAI#z^35ty#{wmeN{nr7lZ3pUzLm z)5G)mIOW=W8zmA>&9j1_1w#zsx@%pskEv}B1>gMPP_-dbCfAIw~EX%2{yzeEkX`W0thP3H=Rh{NyD>{fI z)}|a7L{~H$a}X9`C6o|a3UygpDOy`=)l9*S)*Czk0uw|c6hdYcLRxq30RSBd!AZ@R zoYy_l)^x3^^W~IFF0C!q6)~|_^+mza3BduIA+s|=U>0;1aCLM;2W<$j=B1n&MI8|s zy&7=cOPL5(f#q(ya`PY0bBBjEtyMgK(0t!cALi)*84HBCi}<29^-I7-HbS>jxk^ z+RHV3Yx6uW^IVovN-N8J8OL#&O-+cZ;;iNlYUpd^>*W;!0{KRm85seI$<+Y_!3`9Y z47DluU0`9XL4vR&L9JR^Tb89up;abyLNHTw0?^Cl612(gmUg$4M@I?@s5xx!kb=*T zG(SUsg`0!@>xT_LL}9JQ&$PV?FyB~oAjG7v!FKu8o~1T%M7znrU?H8({h zCI&)RBXVXWc48qW18lfLanV%sG|%U8x{M_+^E_WJ<1)<*CMklKrM9K20i2r+Onm?| zXr_Q<1PUGi+)+TyfeDDv%}Z`6hGxo4+rArf5r!br5nkNDY$+81HvJI9sCh!;f^_fQV^(-R}+@0wQ0IAF*X^ zEQc>!E^og1&FNwQh~z_{uW$Rm`t0!Tn4ji(eRVbmVMcOYiTKS2-R+>>5dAINP*RLq0GO9vbU;Dk8nXV5iVh#x4p>^dl)oETFiI_kFGoyMiH3$Gf zQgk;mBS%AEBxuDUO6pe96|7TQFmMBJt6c{`P0iiSyp%G|(>Pt`d7kF+av8OjE)s!& z`vmP=HLHU|F+jInfc+rNxwJJ)Lq)9*lmfeIQ$vT9BWDUKpxUB@6hdGT<``Jb!3n@i zE4cV(=-gmh<`lb>LaEK%pP!z>Ja(H9Bw6UZ&ZaXi7j%WN0bBI_-}9^g;Qbzne~g92 zsqgx}&7*1cGL^h+4>xhxeSG)L#}CgAkOYM3KYYIb$xRwdIZab5&1ypk92nfRTI#r! z{CK`RFFBB;#O9uJbA&E30R%#H3&bg5O0?S!al3aUZ{s#b+V&66^Yb{?(#R2oz@1n~ zVv4E;^HQgILU33QoQ_(d%1scNI$DS!)MN?dX! z+~0gHH(z-eXnKH_-5r0NJr)sl`}^m&-)yd5xAEwp$T833hd1xC+4aDEpsw3&2YG+Y z$JtIxB}M>8L334uE<{4SjF)N2k$C7kH9szknGdPk^s(lJfGV`tL-_n=APL+3VSSxs ziD}qfrn8c6B1mYajd4IBtCd%!ZwTNzWgVyaWoYA036L?6NHkI;MkHcl0F#&i+`({F zslbcD!e1zzE7jK3tkpJM#^dAj@pzoZ^D@s2It-nJh=#_do^xwc(Y6i}%mSbRTBb-R9r@-_!GZT`qkWt-c-F>3 zxBGB=H5kSef=y4W%q#8h^ur&wfxf!yuQ#EBx*LN~ioO`JO0XUgsLV^fj2B;Vfu^R7 z+|a8BF_I{(ff>1$>~11Vfe4tGVI=@rb9c4YYOCIAE#vv}^zd*zK277fl^huRv<)$^ z1P9McF<+MAb5UIfx`+f$fJ?JLB@)CHHbEAJ(6yO^I~o`?Cvniy9Newd?XY2%X(^>F zVZfBSd07k~rI;_L=VK#;6hcg?ELm%-P?qx}1`ZPYKBhEu{hl}1&~INz4gBXRi65-6 z5QnR~&1RR+Z`j(^?w|nEbSm2RF>VqbXB81`bx{-HU)*dzT$U*Vprb(-g1ZH#O_vBT zn_ZSnhO(1u*!No35$};x5=)*_4oe)ABCYmY_DI<&yTXbs%Zf;Y9R>S^a;`DYCV>zusbq9R#o6G#ibNN zkabXlf~_{hc`1Dq0w@M4NDxHAxk8FD2r>sZSXyp+=~73#`_S(cW!PVzFW`10&C^S)B`sPzuYF6Az!^aT5(>xQj$X}Q+ILvh(`r`B zQd-H&{P_Io`21M%M5JAavFl^(Lgz)bNFO{W9bZ=!6b{DZoYmTuTF0 zrS(yZVC1SEMF?F@-CHg##Cp9Q%-T3!Sm>tPp3aw&+h#X(ueN`9^E~AoV(6lzAf;Qw zs9;MeZSH-i<%CzSAOzq)XEFSMu^Eot=KkyX`2%&kSW6inlZ2s*26mhq2mXBDPgMhB zl6ag3AvUOWEz+{Dp|kz#d#c4MT^7H5-DMgVkIXZ8e9uENL0WJ_Tk;Ofe>6!UdU` z0Msh3w0}keXswh|b6$?8r}O36bO`}c9Qtk(yFoY*k)s0$X~58wu&A2(3;5H40Xl-7 zeIF?Z1f*PxIU1ljA($W_BQ^kXhX&3D)D%qfGGmfB#AvO{OWquIUDx@%T&B{+z#+~{ zlU%k##|U7Ggl>rF-Tt%w?yvOxmO?@l2gkpN!a}0{>Q(Ib;4KXMe0iv4N>OUl=TU{l z(Hwaj)3#?OQ4CTY9f(uY3ILqMvxb1Gw%_)LE}6T!&CA>xC^!NM5&#pxro-#|pK#pG zI#)g*(llP4M@6icQqkS%MZXGw#0VZDLd7bG0V@InqBb-4ahaF0Oe6Ox1i?TQV`2m% z2rLwsiPxoPL~Kn<$xB`4`CRhkq>`wMsqeR`8v+MJbObXaVk9AAGpM?11>67$pcmMY zcfq&8V+h4moffs#S+#(_Y2QQ0X9^m>*l=zo%Vi6H{`{CyEdU~eq)v&*B%ey`_g(hOE zIv4EIUYM#`*QbaanS|(15=lqo8OKcwhyC#S=86H%)BJF}sB^Kb>M>B)rA?m>+iu_6 zrr+V_zMtPeE`z1btZ<8nT-^-_Rt^Cg5D5l`$_f)JLm)(KrRG|^SMzqea|a-Rt>7MY z7a<~6bwf>23=En!v(g|$I0Wn>vvO4v0tRZ$YW1e3s=Ca`g2xWf>aH6& zg_27MiAY4yL0P3)Wuh*oT=QYreEI5T+jT_#csxCvPR*#9O-o54A;x`*h(6A9A4A9U zW;YPAjemG|p3mngQVJ3g#MRvl)Q}W_fEm}FP>}$=T85e(ftaF6VXv*$y140!5)7Py z1c8V}h!GJ%7&)K_$G}0DCBzh10!auQcnzl`udXoA7uAwG;F>B$ME6L(B^Sine0DRy zpxO+GMMPTmMj-Al8`lQ0>jHyjvULh<_P{1psQ5Da8F}Z9dm|EOTL|5Mo`MLX)8p}(g{m1dU*>$8m)w*P_uCK!FP9k_IxerS)0dn1VO&n{ ze*evPAC}3khTe%&h=}g0uFVOU5uE%*k;%>w#M~6s5Ss2UQlyk3b}4d9N!HpT;nhMPgx6{Q3tt}1*B^0}(|BSG1cbnV4RBPa7a9{T=I5$I zBo3^k?zUzzhRDcPwMGd|aRwNdEa*rb;1VPv5x7f`R@$`GQhmGWSYYU|?{Hr1<1x2V zS)w~~=nT*$)>b+^z@N3Me(=IVGeC>O-mSH~lvVKFmx$)F?K0* zU6;BPV+bL{uvQhV3VL4Yv&b)CegrZ{L`OF?BT>?wEx8ZgZMvMgl@Y$ZE%VVP;{mQaHpYgoea?S<0@*k_!?n3$})vAr8Ha%Ur!Q z(;%XcZ@kQHzUc0=fb^GCSgUqx&FWXxTq^;M%aS z^)wgovQ74zHUJY0i6Qw=^JDGR0Ni0k z7nSOPV~nAi7Bz5<%$YscdYrN#?lyg^)!amckW);}?Xu+EHn4N<@7(%f3yYY68A<`L7*h&qMbYp2Zs^u=oSQZvY^|geOudz|)O;St zriPq)3AMGy(|F0v35#JKYNiUX<_#Sj0E)Z0 zbsc95m*;0dCgvz^+Df&LmpLn3?>bYh+Jq>?5Fkjhn{C|h`ekXyDL))b-}UM|)i%## zK0U;Za$uBBmrS8UcOgXy)nX9)L zy1q-b+Em+AtHHYW;6ljUy}G{IbwR7m)t92=FfC4E$JtJk%>}!Jhhg~Q=Jw0mn-s-; z1-od3HI7GM-~#95@rKt&1^(S=OKD!DgTWoXREh`jdIktGCX5eZBpfrE&I z$RQ$$BZ4cyiYU^TeR?oJScmr8zPs7?n{=6*8DK+P)QiC;z=qtM#^R>FitZ~yE;f~V z$HJ&)^wLfd_I;O^GMAR?1;G!yF2sJu()S-`4sjbyoYA#l)!JMbdQ##yI z=!t?aC){lRj4y^i)s&8wqmJbvdk0F)+tK=Xt8Rha-=DIam*xh5zj)o>?RTx}?KW+? zKE%k(2Dlcd8KA4s%6u|V5Npl^U0}x6%(SsOtQT~GXbk`el>mf^nS@1RkdSCSvq(q~ zY5kNJ@ie?FX{iH(10oP36Cp8k*Twt&uut+hWpyWDbDWxQ1ev{OnrJ2OVMH*8=00mh zb7qQxfe0EFU(k`6thK7`d7d0>x7{#+xe>M9CY4fZmGhiWmxi2(!AlM)s(PKKIvyns z7L&Ik@R##exVA0CL6-}9BXS}h`qalbMn$)Ayo~dR#NaUHMa>DQA?-K&{ciW})8o>L zDhNVis$>I+nE?O`SJQdUkC)jTr);I@CczN#=Reu~mw*4&Jli+#A3odfyMCQGkXvhJ z%}hX<1Q-B;fsoMI$TQD4-2WE$q%D zM8XNCWzHp=BOxM*s$S+C16}Qeh{h$ullFZd6PJQ>H3e)HVmCmyeSG}*^!%{B+Q;25 zktJ*ne=&2cKb>1Z2wqDU5^gq76)8-uHq}yQ0*k_kX=ys;I`sQy8H*3QeTresd0q;$ z#4d%%8?xtfS*+b}wvk|&%ZJP5wB#6)SxW(WmM`yy|Mfrp^0UM4Z~y+cn~?4ghb|FC<1Go{c7X(Nkh)95>)}WaK0Iw5z0zoizBlnjPl@Qa5(|(O9BLOnOij{;_ zTW?^#UM}Oym!=o2Cn1ppiHFVhtNZ;QK929s?yzQYu$cw)O1_N@;1@S@5XQg(fsfO? z>$}LbSWTRw@VJ;dxvrgdE^fQ@?Z?x@Ih*4?kvRvHD7NqW)2aUc&F|iPeEJ`L@{9d$%Q3_lbw$jB zt7;%L1QS@p>rMpdq=-QPDuS3HkfE!iF)>PH00t-W6}Zi-U7U!7UraMd;OOqi|BQBU ze?g>!I{-KkA)&Cu5Zr7S($}}wKmY9XX*{WOc(K-yLyL@v5QK2{xq1xP1$5HK^VG-K zCz&sc5p^Ljku?uOOhBMr5@rkimJeTn^w7^fT+f%MeEIu%z7*B{)qT3YdH(PTOb&fJZ^A*(Q~>XV(cS9oG$Y?P0yF9i@_5Bh&NjDLVz5oiz$S3b+vmu z9=&;=geZPIothdU^)YPw?y3*Zm-Ba@j$^T_UJiXUtEIH2`iJ+=-+nq7=)b?ed3|%+ z_g#z$Sr{Dg1^wF$7#%?HMSBYBFQ*AJAt6G0e%^Iu0cOU zL?B{XRrafe*o|Jy4oCzqoqLev2G;v$H~YW-^7ifX{D-Gn8r;l%@@vI2DtNqJ`#A`r0(`L#R31^WA`8a#4=rf&1zn1P2Hxo*+E)Ei9_FQ0k!3v zww)~=NkR;6RYLgi@I2nOAd z5C8OWSt?8gHqrVhh^TIeCL97n0c56D>a@&^h=4-UrGV~1=>B?hcXu~je@1aw&QEQ8 zwzN4N-<}^n2BzKhm+5eym*e^Q5AWZ;)26RpfA;#{{f}{b^XCC`DU8-_t^O?v%gg}W z)LYG3buBYhFz~9n-R!zf^3PdS_B7~_YhW3KgjyWb6i+D8W)q(`EV(!*u` z=J67lzrNky?>en@nll(xQ$%<@@PGQr-Opa#?KXW1F{Thg03<*zt-cuT%+1^x&D_Wk zkbsd8&5;S5$PCIYJTpAp+|=}`ii(O%H~TG!U9GS7U;fXZpFcgf z@O5A@4z+vF>9wd1A|dVC`nC)i(*@K)_SmYu5d|pECb{mQiY|a0}`^T~B*Y}6J{r>rK zKAoOHXLtdpiU021;kRGCz1ttAX=B5nVk%0rA{vA*3oRGS3<4?g=M$R_f(%!HA|kfh zY_DFsFcrxt3o&6n=dv#9WN}Uaa8G65wRo2-wHyKygPN#-2=lNq4rAYL54%}Krg7MA zHm?r5zx(ibI$uO^U0jVtr3gx~a8bxK)aL!-z8Q=}sij(ZxZQ8}ci!6R<4@P)7w@gN zn3oItvVZ$+o%Zwd&)4I}=i}4<{@b_T|90BH-aNdsX|KOby23B2nhZw29^3IFY@C;+ zHxCjBE3h(D(^LuAZg=-LyQQKI_T_Z!EiTvV^XYQ!_;9+&@gl5{7S3I*fB5_~T6y9Dp4?{0o?^y*A5eY&+(S3i2T`5WEe(7 zIAT9H5vgUFhH<-@9uB(?kH;^^%TLe8vVX7FVm}wCXwOr-~k)rU3p_a{VYp};p zKR%t0>@iH!?(R*0`qY+d5$UJT@EMTr|A+ti=9_;Ae*NZfIhM!s<#IYNo!;AJZr2|D+&06ocx#>SZuhNS zRr%(2H<*2VJpSqPlL_}b9R(6F)!)3idwYMk+iu5UH`TF}n&uP&7PXKv1QsILd)H!c zH?2@LF)=FWG%`FQR{i4aJHnu-WC3#r6KRU+sCh9*81AzX(U5MRjy`ZDK-pcGY;En{BoL~FDH;nKw=uoSOJD*}nNrngtL0JF)t&4l(@Vfkl$b<@E8V;r6XA zOP`O!u<_m_ybR;z+JoNR6+CRWukLONaPs;2bh=!_+w%E3&plgqvj_O8U-Wu$&{fB5e8tHaIRG)}`%tPWaAF(cuv0}xRwT4fCH>`N1| zu?R|r2obr6B?eWE))h)c0L50?DN zMcD2z#Zu~!%z$fWonup%-F_>@{`mRn!>8x@I?ugz_Xu{Ucc}wSaDR6~7yce{_}+@jrX%dg+QdHe8ox7kUlYQdv`#lo!Dgd zac<7zaWgYeRF^R?yIkEZ*Iyk78@`W&_qPFDA>s~ zz85i3QGuF8cj3YSg5gBeMA4DFtqil2Fc1h=+Nls)3`&s@BEm&gERj-(s7bndH}ByL zsEHL(NmWJ=L5Fy#P=N>$SOF=d+Gwg3b`=#Zs-;l$z8#+a^s{?x>Q>F%J=`)n6-tQM zK-umOH@jUm)sgL?4*UJh`FesDDb*0@Gt0(-|V(qq5JiWeko{E z)xmTq^03=|b^ma4b2AKMwFO{6`XCZK^H9t=y(*+CU51vQ8W zvNb|%jWdiSfuBCc zd=-Gc$EK(#gb|_o7X>${Y7B#R2!T=ygj9qU$yqQmBvR7Fh#r7~5S3JvGZir08EX|z zC8;zKidtE5caKy862MkQA?d0Aflfk2N=Y1|P$L4O?kF|POtq+#w)E{Vy}rFap0Ah7 zaT=?MU9VTIrF%QK*o@}?fr5aU))i8ukQ_=Kx7%TJzdO8g z@5jeauit+6`t{es`10xLNCZPvS5#Icf7rXScY{@+!-bXIYly1Q@Ao(7hxzwEzkhsszPsID zBXo8TIbB*0-EXJEZhMu|qiJ~~({4UK8?V#!=IM0Q&@$XayM!u&%hM;Go~CxKul@>~ zz5K-mmWXH>=uYX?>Uj6MU7nZcr^nA9t}Q(Jc~*#y(=^oL5r7sAb}lX|!*03};Q08H zyU*A5_y6&4PtTvPr_ZL#p^9$m?e6aGo4=m!zryWn-F)lI@4-dQ1fodNfg)BHZ}&*r zrka^3d#72|DZD|!-o3e(jv$ciJ&FJ>RI&@8K}~>CBtTLNK&lC#;SxQoB}D;(?qHN+ zVy0%ODvE%JubO`%f>c%&O`$De^&-{Ek5-QDaGz5ut2?%Jg{+nknIT07jn9ro|8?b!WV$IW~`^7>Sl$JlI1 z#V-as*#Gjs{%^lfY$XB&HQQ`;+&sVk@zWoFf1R)4A~uN0&E~M(-t2b=Q;Xh@mt~1E zOq*$#=F^w!avjIp>*e|5&wqcqe447gy4j4S9=4mqSHC&D{q3;7+iZ8XyO-f$%e8VT zbr71B!Au!6RRUZ!L6hwwVmal>!EqAXLm{QuIF7Yet!W~VeVnPPTG2f8GK2JspM!P3zp+)9F}> zU68R~Rx0Y){8h*Gv?*aEnmK8(dM?7EADRgu2TV;#1;oo#mgmkg|5 zRun{w!GX@`?fL2RWxmpNoQCP}MnoR&-?Vm_&sWOz`P@HW<~MKN?6x=8)BEfB9J=Xo zT&|bxcDld)>M(7rQ2J@Ry{k9x>h5O0KgcjHA}BYw{gs@5Dp-mo5Y7}_*8s(k+$j-I zgpn%k5HX0T1PhTW?ntVY6a#2V6RZJ|A6hy|(l9a(X&F&Br%ye)#I^@2g)i+~2+ap?Mq1 zP)gZtHpR4`pU>y_({$keo9X7={`PJ>>;(!@+OU-2ak`P^^G*LE?8Z{6G7-%1BuUxI zxS)tC93cWzglm|o(t%LGg5rdVtEqa@7#I*0z$t(kpp1~9NJLU?poy}Js6s)53l-vE zfEozWncN29e` zpXxAud^&x3e7_y{orDxsMbP`{a=p}X^wzC}sI_^yEIM`D)LN&ywIRk$DR!Q(&*#%= zzIyln`b_pq%?ee-mlnOD^>)5Ybw9njh1%o$A3uJ6oaa-&oMbkXU9^wApWobn_3Eqd zCX=$+?)LX(x)Ia;u%)71&rk3FaC~}ihI#w$t8adN|L|r!9Lh8nDOks9STKAX$MbM| z*PbUHH*>4S040F#=pH7TTE|sHKz5A?wVD$b5g`R4nu2PoRzd_4-6NOU*+q(k2$^0h z;fo6cS~Q_pH6ep*yo5udL7Wf-G(4OlRFb47hdJ+Hcg+Las?got*(2!d$tXiD!&vJ$ z;dotI6CHa*u4nYtKYaZBaCbKpd3-*8d3@fEV;K~Lic!SBe3UW_WvHW$wPNsS%jZA+ zc-(I4-Mevnx81$oY_^Aj*X`Qp%lUFXT~6oue7;_DC+fd*V42!9ZiX_{Iw0`n^XCsg z{fGHX`CST^zjeJq{%6E#4PkAFzl;e}aoo4#=w~Gn z0a5l8<`A}7R-a!fwi=ccH3<+Dn5e26)tn6DASFzRaMQ#K7#;yK&sJ4|NH7SHPH*lJ z3}-r%SP?N2T%A+1uA@h;U=YhfAcE0)P)L#yi+lGpkTW$AH7W3J!)6-pj^`%}Z{gm$ zs5$v~JZ(4IVW{(QKF4XVla`_PreZABy@Rf0JKVn7-hT@lwbXL^wUkXSUq1e!Uyu9k_Hg(1=5Tv;KV2HjMb2|Xe|r3Idi*q> zKO5WI?|%61H~-V^H-EL=-H^OoyE}?$c;=Q=h!qlz>|tH&QN}NJzwhUej zQ6g9NC}5&oL9ANKN-%nW?w#yGu!l!)bk|5xiM%xN9vlw4+jmu``H%nCe0tn&H{F-Z z`PAA4ow6*&?Cvl$NAD87Gh~`nRJL_9Zuf_~x8u!ME{cfp_BG1}r7EO{gG3{AzFx1{ zuM9)k>|VXvzk2m*p3le6j~_mK`IO!czgS?A+uiMMceB~-Hrrb*qt+^rws7vV_vRkU zby==wD?_nzzI?enUYFz3>HNjiq@9oc`yPGT>|g)zn};{w-Q0a;W?vpZfBx{}&p-YB zvRvWag!`Mr_rLz_SKt2b%{RXucDGuKS^=dDah;dB`8W>2Riq^a(~C$CG$$!8^@1$HQj(<}GX= z^Rl^KPp1}b=p3>+ugl+b^7DazyJ8%U#D$9BC4ak#nN?QhHWMoU#QDK%GOs9IqvdOBZ@=j-9H6Om{x zE2lX7D~hX=3~>*LUUX|^Cx}{O5)PcV()Q91Ht*m=!CEuknO^ZC>d z+qk@kW?WRBc@%@i;U;fns z>+a^^)thfOhXKoDR@& zaQExHOs(>E|0+89@lSvI^G|==-QI7v2h(Bq@a?eK*E;%qYV*>#f0keXkY!$gi05hAz5V7lyWQbG{`j}Y^YOnnu*PwE z{pQ=dhi`1$U9L;ar`|i=5o=P6e^Zwu^tX! zFcT(mQYrAD=nIov1PD4K+(e`rLaJ%m?OLnNb7z6EL|V)X=qsua{Ii8JEhR`jh!$ZY zA`Ruz<%^UbL#Bp}_+I<%6gLC*g;Rm4>&gT5?hN;EM}!bkERAy^3W%6VDVlaV5{j^$28Oah9cwe|D-6Vpz`Vgcz9YGP`TNbCXd)Us(kme5B)rPzh( z?7df?jJwjO5(6RV=3(jSst^J&W?!%AE&&0xmM~-V8fn-R#Uq-8CZqt-5^4c>fKi*t zjNytpyPTm5b!Kf+LKVd#q6i3acOA4W7&j7;o;`fnY;SJgoFCsWr%!F3+kE8t(-joa zaVWz$l(MlpSQ$6l-8kIYW?v6?HtlmMw|f_==H6sywz9tRfXF~GNU_xu12F@@B_g&r zcR&2_Z$$L{=lB1g1B>MS-B)kl{kClPr{i^LSF{ii&h8B&2_^^f7$gZ(0VE>ALq$cp z_fA4Bw_C#0NCpw^qF{#yioxBzQ%g}W^1KJ;*&$JfLei6%_p-g0zZh|iB_V9t)*%F@ z=si+}PVO|$4D1q?M&e9>x*{CkoC<`Qc%rCoU%$3)`YFM5krdn%- z#I(6y=V9p4nvUDUyI(8+sxQ~@#(s_7ibBdLbsERfhV3xz#?5}AXfYkfbdX(T*4#q@ zXJ@DxgwcBrPE3sfkV5SdqEQztA{dv;vrL=aufF}As{Zux=XF!}|4m?t=)Wt1%R0O3p*8jlj*2^gV0 zQ#6cu_|cC|Ravw}Bt2LZy?gJ?!>i~tZfZ$OdMuaaayd~@r%f#;$wn735lViVmC%wr zgQN?`x&cpB33?vv;iMXaAeQudrJyOONmEwRRwo?j`pHB@B_c%DuSk$uAbergF^M&6 zc9&J!LRa{q$L5?fy`tY!lKoN(X8lL zd&=VE%pkFq7d|hJ1NC2Dt?uTFf8!&$Q^x>bx zR{7^f$Zy_!fA{tW54$`+N9*tiI?0udlmK7ij4KvM35HTd$R0se4X$XPKms9vsyVXE z3Irh1!|9PRx5PEq3;^`VdXfk!;T|HU;Vz~^ZS&QY~mGG;`PzPrO>D|pN zg5Fz}l>p7GXdz(LfUG8vP#FYO3K3Z;1YGml zM$0NX@~K~!3P|Klr9dJaNRJ8eaG^j&dNP*s@-Ah>Qu3QQ|iOtdFr#FC^~kDL{(7b+rcZWJX$dIZq~R>i5| z-AbW5fnrJs;mh3ex!CUafAz!fp8t>keO~5&DX{JzzP@|=t844m(=~d7hXkF@aLM&@ z!o!7;E7K#)l$%*uU|33BN=!l#U4c9;&AIlgx$M$&wEp2 zNX6=CeeOMa-)^=Bxh{*8l}+GI_r=WM&8%wCahis4L=eI5tuHOmOk^d$2viXy0q^dJ z7cHw)N0U@e%Ui4}OhQ8{&I(nOp)Xp@%z#Nv5F-B3O8DBs=VL=>NF;~G0g$Ha@e{#x zX2~4Nkd=#?rdLv3ccgz8Ys>(^XyW4+4qA&kh4|sd?@crz1KAzfq z6?c`KUOA%$qri}rvq&0vAi~}C&wHC9FGwO+pxV2yNitP4(0fN@sUrD=N*P2n5DGz{ zqlsuHc_G#l5eAXeXU$yYeL)>_f4$b~^AZd(i6Fy$@tGlzV#QQUs+A(D>>eKOeOczT z$HA)bk(?{0hmku>Rc+0?TqnlN+5g%A%gd&hCCU+uAOcy4rAma#dNeZF@RF8SCIcwp z2r`LRrbdVdHN*q~nuxoD;Y4?emd#LFbZ;F&u9cHmDYe#--g9nhc3l=z6%~j{AR@9e z;Hp8Fw>3`$D^RB+gefhZ5eNYArDgdU0y@nK;Q|qtkTzeSB4-8TpRcioI^Mte!EHD` z9s4|cUo?UNkuYI`L6LPj(<)p;+(9!_Qv~SoLY`wV1VUpzBObXhg(TiF!nqc_D$;x@ zYIJXK%@YJPH7UZNsxG~&v8n;G+iW*=06B z)nOQhjP{nTfG_`mtRsq*S_dzdQ341FE2%fi9F?kN(#ktTrUDmLn1(DFzh2s7G;XBst z>3Hh%+i0K0cnqm|Xi!%(C|gs32prbMZ+p_WpaEVWRmAVr;# z3Kikus)nL%=~Ok59uPPIGjV6?b9nc47uwX! zK=fRKKvz{$6A?mct!1d;ZYgIF(LKPP!Ib4lHj`~$ASkBER}qt9*4;&<)}m`6MNwu8 zmiGv;O1ueRu+UT%EhG!D%rk_ADuAnVt=08KCy6Gi5+V{@6TPS=P?rT6!>Q^_F;p>8 zEwvRk_r!P7EL{lK#B9g)nH|6t_yc6S#wC2}~?BQVcq@=pMV z|3_fi?%{a8wz<(emlp2%fK{^qTWcwl$n1K!>Wo=2?_DCSnAXz0lc2F!U7<}<)vQL= zo?TpFGN6!It}#}b7OJROR{ATbFYAm_AW4xas!BBP#Wcd%`|SU)nh?Qk$fRge`jjaS z8r>yQ2L?GtGNe9CL~6m15HKk!Ln)@yi-735`W1}zaTbEqb$m%JMb>f>Ei_=#W&vRcNU5q2s0O3Wu4cn9tOXJK zI8-hmG`veug^7sw4xnWJ7~R6utS$4)gb=NFQ_YSy0+xr2Fd_;xki(xWX;LI5)MdHO z|7fiKp9R*r_4Dc6mnID9Jrf~;#xCrll3yP^GpmY7kRXc{T59ryihB6^pH-0wQxLJj zLPF&VM#New+nQDe(F6VI9fQd@2q!XgL*2qQ0 zvxO&mcM&2yS@p0U$xQXhkJsAkCO3P>xf z89@&(ECdXy#XNe{c~^4I(+PFJ>*YT5~YOb>*z) zJWMQophyQ)OxFAq?#vE6ZSSD;kfJ#dlWg??G3nQ(MK4K@ zvhd#KWiw9u%_I=BS~nXHcPCVcP+ePxgm4|Gq7b;dm>6EZM^fQgr3msY78UWx3*yTl zBLJ$s2s-AZAv&lcDnbT(>sC^bohj)~dgM8=uXunFQ>EK70pba>3}BD zSAo)%N(xcS!ozYEKZNnZJAK)_$m$O&Qp{lMQRE&7idul;Vc^o66%CK>K|!fi2ov!H zsB^&x@Ru2ssw!=jDi1mxITMR0rKEBbgN|t7`5%P;;t)DK+T2t{8Ko2vbZ=!UHPJc2M)h$OEk^{fbp!l=+hbv+XXBL%vnnB@dIi7x;J zA!0>e=t;hERg+b$LIPR@A#(Ulc`4;zJ@*OZC<~FD>!Y9<`)h`ad67OIz4mi(af)DS}k-Do}`o2eU|F1QZ5M z`yo>a2N;%oCy|^tW!5rTpUt(M6#>MGnwrC3<{hCb#jS@+5mAXA5OlggcEgD7D4Lzb z^?d2>1cy4PYMvz`R4o8{Ya&wAa$7bcavUo(D8dylbdx)b&&eF;cOFmf1b3(l>#^Q8<$)f}GaQC^t7G_9hN xxL1zt37Bdr>aG%j2s3d=^zI5~FaMAJ{3l?Kvg7zl$X#`X>ki zj5L%1O>ow&e-l+_Gc6ZgUBHunIuJmR>;@qIpUFRB{zm`+(R%{G|2_1-wfBVoZ`bKP z(f`-~XD9?iD**sfnOdq!#-U5Qy&4Gbg~H{oc|G0=-hP=svG=Wrsfi~9Tjy{OxhMVk zVDg89XMfJf4n}N8%fHIE)LFG!J!~~8`sLm+!UI#2B#-0p74pTfR74(SO~p?&0@DkaW78a93NobBVOZ56eeT=E!yZ`al96GvYpD(!Y(l_o6Jl|0pP`` zOekyO7ZqZ$Yv3mmUVV9bl$1d-+ZX1$m)X?Mi{vHFL_jpNDjc4$Z1CBqddSk=D>r$y-=fj&^|uAb z3R>E_`YHWsPO%jt6bV&|MJ*G_v1`CwrT;=NO zD!PhG7na0BW(mO@%!JvDf1Gy}f7mcXf`>8a&MLzsdC_=yTcA8sa}iQp3ot9gqAbd` zzH;r}hJFh#%c)6aOH#69;0E>7_%I#tF+B}?y?ft_nY~62WiJjQ8Ch!v2!JaM!eENI zVg~T%_n{@)CKCtB#A z37_NzBylW$d%*4)0&)2DAXd$M%&>iNkCB%>u45zI5Wi%04^6@|()*oPZH%#gN$>M( zE3OIE1xn5Sx-#)pgt+K@y9M6br?({fcS*9Gaih9IcKrxerggNh0{4Hi1n#Kzv*HMnsL4}I03mZy)OpZ{u& z3|15aZbvooJ$%f6Ze7#h&2kXbgiws3B ziQlP|-bk8>f52|D#L=akB>u)Q0G<--Iwjxc_uodiU9y0~QNjAt2iaUUESN;bbtckf z?@r`;jo|p>55K$@yzBZWz%POq#Gzt59O(|K-}1Y45Oq5lezfvfojPglDgl0gDx#BU zHGM}-z%&oTg5S&3aL(gv!Ke!{NfWE@X$gDLvd5iU!|}2F;B#e)+`D<7>xBx$wK8Ll zlJ$*S-xUpe>~-DeJGQSox*barQ)cdyx(g@uJxXKhYAxtJ1z5L@)HARnG;ANEsheiy zD=qW;&SN?BE;MheAE8e3X0-&%FRgr!_v&TVk4{{TJE>P!87jDqN3L3nB4KK7d-Z56 zA|_mz#Toiy_Q4XFljnbCM^EjOh!av&mB^)7*u(L?_3T?9;mt+Q$nema(&&~yP4$nk z{zb*=W$W&8X8G!da<3`ut!m7v0|o`sln)^12alhhctL)}du<1cKFPvv+ZFBUk4ID; z@#)j3*X&d@2csigzvJ8kzWz>;-i~N|WHL298!f@cFg4vadUT~6C0lwaenZbN**x)% z8}QEfWu?weS(9b0o7LJyq-@hpxaAzIM|8|@w8^`;%=%@BHT7o@pM9m~M>}Z>Yhb^C z`mmj}#hRz=ljkH=L8uP9E1$k&^yH+{TUzMfE3YfG$IR`T2D`OS@Ea}6O$}}bsZ0CR ztFd!$H8{-Q|BqW#RK$xf?d3C+X#zJ-z;_H)n&8W@^|Qpmd$h_2#tU6uUF2`tJKdC{ zAQVfW1o>$*&ZQ=H5Opf!Q?KV=eEo$rDwQbJcLb)!)XHmG@MpgJgWKr#xg5=`^V>4Y z<*+N9s1Qc{m1xa-eZ4Fj2m~z=Gu@1Z9Q18;ox?&;Yhj9(0uhx|^*d_sE( zHT6ow`(-tlD!aHT56RVv7&$YGsh8D>c!{O8eOUY;A@g6~&6ZEh&CWO$4>E9OBHgz( z_D@PdGG>DiQHWyG*c|M~j%br-V{;)iK@)QxwCdWAK!(kb z!pO0(!>O0_R5#+ioN}8@I9a%o_7GF}y&F3)HweTh3>+)*GLh<=9n1Q8?y0~=_qmf) zxu)6+pCEBaezY8k z?QoTnf<*h7RGS;Fg%#O6>uOnBV#I#dR6{~u;wq}wID48q0-{-VCHZadK9+KV`@;)G z4mz8Qk+Rv(iv1-8^Z4L-PMgWrCfsiBE^h(yrTC4Zh74Im_jxS{FX;q*h!H90A$ht>S)tzYU>2ZK9`U5jXaoPx0Me+ zTOE3rpPx_j+1O<63bFVe=JkIOB`DwQDt zF2aHsu+glOaYN@^lNT4m#`>s3-%jS_@dG5Q5NtX2jDMPox2ys|)%232n7Lc(xgN!&wkKXxW<$CS)(QCuG`qPbr13<2+ zS8Zc@&zu5kn0drKoQP%(P@eBE$3Vmm+ zg6?CA_IkN0GBCwNLkBv7J@RcWS-z-ATn0bpHLZqox&MflH6=WgmxlY?VBe+6@2v|l zSHhZ+Kb@bTFtMVd6QFq{;{E8TGUS^#~tuZs|eSvM8c>!Kc{tdS2YRYeeD zR34?Yo&*uAIT3K*ejmbM{k5q$5|&`d6$Ng*J+Pw#Evo_Os>jteVe=2ShLq@EjM`ao zMK});l)2009r;SaTRn}}+)96WRXAT94te%jLFv z!`ux55ODZ2rDW_q|4@72*|KCZ{9`_%%@0{NwWG$NnfECrAtzFyEKGkTvhGz8{VSo% zzq3CelnHUzj8q{idNAqFo|x*Z0sV~%LK71tlNgY*y#?7LA_zD*?Dj-%xOA9%Su)6* zMHRSW$=VDJH=GTN5+5%!Gt{PvJ?EH8Yh^ys$W}mA>_1|wnBcS5CJ?O#069ZdNmCR- zDU4V&?8823V@I3dAg-xraW{kQNWgYCc*m=X3t6EX8_CRlb#-jNNk?g39eNU8-n$RD z+91LpH6ID{3^ahBl0Z(fCCdh27T3epK@W89!E-nPg#J7u@2%&8cIGxNgH5`U#8y;8 z@HLeC<&XAe+A3KY*14W~H+d^uPiovo_56Md4C{ssCiVA`}POkAqS^ihbn<1bpFCWUuEH>#@x&R znf>c7AN8I5tL)1~pTKEex1*%Ib!^-zmisj3^B>wc9E`HFY=3vDP^4!k6uHcd0S*%3 zGBp4NnpC~)?fQ>LV{_tE1&#&ukL$b}JRp7Dq5ffWlqv$rw-`R^~fM=Ls7gxt1M zNUIVd_Sc&kqoKnimo{%jC((gT)WO4s7RN@DT@Z!_knFwkV+w=o`^3pLQ7u*wyq>;# zm6pg?b5wZTMfV@ccb$SDszFbSJzWhUTdQ`HJ_vKvP2&P3{;a@Avb%nCW8Gm0_;9=m z_*(wSz(uA{c{%hR|9Ax1sHZ+Z`2-**)`nXO7%R^yy~-HN(Y^8vL`5h(CUZ|8oPZpy zVF`T8n=kq(bFBH@qnpEuo8KgolX-LD0TXtzWq%@DS0k0*S8hH7Cr?Pz&o^*fMY?Q8 zVWV_cWHvN+YayTpsm9JIuBqX^t5jp8OMDzZH%8N}>MA;iq7YPe+O$LZ@jSlmCS*BO zn5__gRd#yW#vt@f9L18!J&u@cFUdehp8EzzeoF|P*YJy*NJ#0nP72j|e z_$rvObA+-3gwu>SRKPMCHH}hzkM#Zbl26^Y;%ytHt`PpBlY&KM^TRF+f|3l!Ti+8f zH;V&mvGS$DYZZ7nwS(#hkzq$pBf%PqmkEl|iQklSAdz+G4Ljt8|aeK6B&!ie<^uwkb6L-?8)t z1?FTs_!xtg(iDd0fnPMy$Cwr2F`JB&8i%Nv`{^y3p9A>M_&;TVf5eKj6`pz{DP^U*>g%YIVR(3}fISof>-B`~dHD2Qz{@D7{71Uo z>#f@sNn@LupvR-H699JcWR$dKTvXh49BP|ySgFrJ6JZDQWImHbqN=JxqqFE;-vUUV z&BGmwjI=@_Mlj)Z_%P%4kbpa{cj9BWlYnZTG&Z2fW$zc|FK`>ni0Kli z!8a5RT$Ldvy)UK_0*`7JZ$Q`86R}ncJGdsjwg!Q3c1fL&EZX(1`X%%zC0aDFd zBaLm>um_oKa;^+eKOTI7tV^T-aPB~hI+M<05c0xghWD-CUbq|Uko$r{RG2xRQ-<{L zjaJzHTBv9_hpQKYbe{xE+`Iok*ifCnn2Ke5@h^G0=sondWDb^3M2`u>A#Ki1OgVoV zB^7wOy>WK7QTI6nHZ7^|K=)!Oly%C?kNa1oRr#(ylA#M~Pph`y7k!r*G29h%Fy#O8 zqn03}5zxFEz7O?UNbmIC+0Ng(#utTuRg@`}h=ig*D4t;y~n@M=f}N zl!AR^S+$6W6L5{ll_JM4N!yS8KXLsm{D$@u$9J=EGJ_|8=Pu2re+Yd}WRwe}QI ziMLCgT?7G4AGAaB$V68LNg$r3^~Ez41EHNL&sWGGVHJU#DNVBF-9QtmC)D^XyoR&P z^f97u3xUM7y2&^Ho$LT{%&nzw7Bo+TzDW55#kAG+*29CO{K`5dkjS39OK(7W9+Hx@WA6s$WZxqw6sy$-}*?;RfgZ4kgWendW% zIzhw}LE1k>?DvV?xcFUNA6DsCK&-u=B2M2N%IhW#)#M92ZNtsg&DvY(CD^5(p1E{9 zIquy~!gcO-*n=g@GdkQVvv@E=?ykBEZ^Y0MSkK03-@aYS?DF+dsT{&pY*J#1;=Mt# zWts;=wh=d}J8bxyj+Ju1u$DiK^%njLdh5~jZ|%?juAky+3MtYBOpKm&&W+CqGAftz zv}k`55M%S6-&yy+ItmtH&$gA5>l-l3Oh5elPK;R=O95JlstvMjEGp}<5GX>02=V-)3g6c@Yt&aZk#m11GCYs*Lu2f|^gXi@{P3z!tstAMNpf=283FHIVJL z9m{LvQgwKoUd$eOwzxR^!D3e-{D`9O-RSDx?LXM+xizkUnj%(gETyOO5mrXyl|3=OUpZCIrs_zX>S3E4FT4 zfa%dtDK(t8^HrL4L_rwuCfAP~P;43M2(Yek0dQ-TkF8J*W%k_jfep$k3Ljr_y|S3t zsi2Lpp355QmrHdhyn`>G(-6|il5gSj5APN!6~q(TRQvGrW%>P4#EDL8*yp`S5r7k4wWOUMx6t9cz%5w+$Y(S%UH6a*w>{`B?dp9@kml7 zo?zlhpa-b{NckAepHn=?QWUP$CSRptTDMIaxa^iGHI4jj=1}WBiyf$&s^PAEXtCB> zL%=*W39t4C|E)xC%fz#@?NL0W$A)6qhPr}oG6J6+*&(TNXSp01akncVjkU~YXU*ol z%C3l-7sm~^Mfg;_!_m%Nt-A_&+XyWDgESzQeLnrc`&OE68BdQrUs5JxDiM|{_8n*& zmd6E**<&I5s0jXxZPJ{>$u%jHz~Ww~DYsHzRoBcM zQGIaIAjxt?##_7ME=$Kud?!+{*UM1T{N@JH2DyxfT<+gt?;N9pgYmn+ANKStKH;J}8Ms3ZJYIcW z;6$zaIji@dZ*@h~3VAr9WAKl-*X>B}MJq5rGlfZK6(rans5tfvjhM?n**d#S3!vh? zQWJeLzMPhak11+Dnkl?iNfLdrkDFOGI`8HCIrO{9Cm~?y>w5Te!EtC+NVz?uEDf>b zpd-OCI1ID4=JZN4Y1+=`63kz^mM`DQU9}an-)y#sU@FDo<;%|@($WI8 zh*0^jeu99kG#w3c75nxomk@D&lOliO1&{Ht(%SsP35v7XQwJXf_8z!7P5tI;$*}0K z`UsQ<;z96_S8@TNkr_JC*N6JwDp_axz57^_oXhdV{2WB@XV!=Ao>J#Kv`XDr@F>)8 zyVjq|g6RC#lwUtZok_j`tFpF}aL|qBUxc>(;Sk-&wd***CruGxSrp5to1d$sHewfk zC{XNhvay5kGk<$KK4TL~h}yDWU@LHbvObDCvfLkdny0CnD8-X7$VGNfm2>haR46wi zqBfDXHeZYRS z-szT9{$)Fpd@z>k4JB;~2>6_MzaxkklwcOJM1-;W#P=;f)MDd!HdL}atF{e1U6@vF zu+#H-=@LE^U8=6A$|fy3_Is;rKh)&%`5iIPD5Eg2sVA23^mK4-^;I=IH6SEbrF#|Wthf>QC2WO^P56{F>O;F1=R#8Xq zAXz(erZGGCF|4aaSNM-No`?rKO#$=$LD*fK6uXU8Uw5Qm7|aX!`8)Rbq6~9{+B%Uc zl;^TL=N=*i@TbdPF~>EPWe1z2(?UbW7zrcStw6ae?<>1M5ZIcqGVWnpUNhia95fsY zd9=(YxSWmNcfotqclPhr4tezzU@?)t@)g{M-~>BpyvFBPkE-Oq*SHXT{WfCs@}Hx~ zR$Gag?j2r9QkO119d#^>yHV6 z4|ZC&@OZ7#af0rQ)vk2#Gu{lpX1N6^;_nesjM%>8l?CLz6h(5cB=PCHO$~N)*ETK^ zMiLqs5n-o{L!poBK&r?uoUf0TE|(%6kCfO`DX$Z0!KG>DFN7H#1OV$=yN@Jb;Rjjw z-}1V>Py)-}o#gr?zm{$*A28c0>-mgy@iDr+mFhn`xk$I)e0P74j(yrW?{`yI8JaOY z0Vr)|D;9IAZH-1ikQuvFpqBg#d;@FqYc+ymh*hM<)%RU;<{=-fU z@7-#LXyuW^$HLB*h7RSYr6*QU0@;)sh^;^<_HZh_SZeBHi=Z^*xjdX;GO@qORv{)j zDB!U)kD+Hq89UrW#sRw1Z~3fAa%$&d$grFtqh*CZ;eB721ZDNR3f-{t`+80Ot!rV!@WGQ0E| zDHm$%!R_3EioP3%^mq3j!S#7D7(~8<CS*FpI2oCFX_YGB5!wSI z$YAMsLsk)aHk^H1#vXM>EK^3ytr6^has{1{glQNSXv*A#ktN6M-7il8aAW!3Gl03P z`4*F-!cW!~r;ms@jXWfZ!xk9VxDxEpXJdPp`xfcEB z-xk$sWs9rBrq9i}M~PQ>)~5x8?lekunmjNvsxG&(C38IntBuL1WP64LJ(muNjx2C? z0}he&G;Y@xr`PP4+dk`HBb@!jm(d3Nb(($^ayK6u2ua<4B6IPRR{%5woB!>x6RiD+ zb`+K>TO>;O1^!^ZJ@z4>Lu8C`G_eW*)la8j8jIU6Rs&b9sJvWYkTNY~@{D!yHGzZz zvKu5e{5!&0%sjVcQ-2-K&gz9QloeuEUHU9cV4eHG75}fEmkIzYpH5h~)RUiJeWFC? zj;qbZb;J}Be%_BWru7qSXhVnbn{jdGfq3!9*H2^Iq~;lZ`X^+l<;vQFh(teT6)-cb z%T*oq&23W_@5C5&NwFf*ti6Lx%R18ws{ujHGLF;l%Q_M3E6^yvh_=^A#rLLiET6nB zct-TA<*$O;LSRc}dh+AJ z!d>ZJD38h&f;=v5pcL#8hmMA`Uw#hbhw zr=G#r__3lOa#@w17KQ`m*@}tRhVm)*-m`M&E_v!Kbg3*Xfws|}Wj%XxMCaGxU)^D# z!S0n_JiJ(KvGb8AU;662r;Sa_r_-1+)y2@01)1z4NrwVVbO>V+)DW~`kfkQz!1!gAI@YUr-hN%%h&W9k;>AW zs@&ymGn8>p4(>wTdv9&>QM74$3?JOkx)>=>e7CmhZdFu%Fu6XBVOa2zB0hqL6K`JG zi?V%m`x$i8SvMt*P~Wjfyn;;p3}KSHG=lyd2u*1E9P@i_88d5G+7CCYPQJhMB#9%z z7ae51%vbpItCE@LPP`V9vJ)5XktCniOIhPpC7mS=Vbrftd&NUe&9-K)@WhHW-uQ>a zVyKnG+~9{LuO^1Vkb`NTNZd8r57iNpmA$vz*Vb64p>L}&V1DWXBzSk<2spNQixzRM z|1j_gb{2ZaSJZ;t&t*Ive!+=d#ZoO`%kMp2ZqE)r?MhX1JENQA1&GEHgZ!Xmt!Ofa z>-Wi>rkW>CE$FgL4ZldN9c50I>&w=^7!Cb@sGoHgs?x0QbSXD^Yv`|GriJ>SH*%4f zjzANxeDgL-5)YVrsKrq@)9Xlz6dAHU9wN@9Fr*eyW-jj~!uPNV;)!*wu3^z4yUb zN#_FX536P#wKJq`)XwtlH@W=D5;4}Ev+0Nsg^0+DWXSoT^zqVg@-d2+ewm#W!{FBD+eL51kGkUZ&jl*@e3Ih3IA5tH4lZ4Da54+?` z=jB@+?pszCp*9%Vdd?s_^iuKmMPlMa^>>vLa*>DCsT>A!aQ2KesZJPWaoJ3QS-?=^ z1Dr5%9K4mX!g_if19Po4dcrO*s!*CaQ2FbkeK*+a?Jl=PTKxl;T(ldoe*pcvu4?*W z=hP3pm59tcyAf!Y?n|lpzV80$@UWZJ%V5)vEa1C2IGa9i6}Yd*TP(=EZ-ez{_PLjL z*28EPKw+tt%vG4<@QmE#w~|%)2f^!+@fk0H^WI-sM`x8xVuJh5^_EQmL!laPq%jmN zdqD_%-tdnQSa>o(o1Z4GGhT79#>67M)3DLSdb~aU)l)jZkFhi^xzNH&ohS}h)TqP7 zKOm{M+gft?VAsV2FAF#uQ+i+3r{(J@f4i|bIZ#Xe75SV~^a|lK?Gh9J0R*O#zgiH6 zGHHxETwduO6YT_3yx`Gb<))IcCCWQ~m@8rjmx}{&BmfxFPa)?B_NdG2)xFuaIt(8APLGLGMc-1Ms_>{T-$gZ%xKA%LC%}KtZCTA4Y zcY?m9OUxKU^W+~Q6?P?e*fm6DeqZfeUEK**I%V8BKyF8MmhX$OWky@>)GICXnUDB4 z?>9Amb+MCnM9Yo+2t82neW?0D>}+xFKlkU1mO(wUmw^gejClnnKae1IYc-E&+aI-G z3Rcf8GpElv>ceJ%h0rTb<&cbb{7`+L`r^$OX_gcU2qx+8K z5J#3qS*ibFOMc(PJ*-T@v`H%v#e!HFSU!I{nCtJ%9Ibh=_e)Jmg(A_df zvVAEOi=PrtUyc3&>ttzAgERUcl#^>I=C#QiVFX@^MO%73`?4O42)c1!pisA*vEtZ? z@3`$~i#Jv?-Qh_c)3PX7WYMVdQQKZIiTiu(iMlkR#|!i1t?j+bzth26GLVi+A$wLS zqzMRD^;y!*PoK!1^r!#&%h39EcWTLhgfTlGag4a@ zZks9|4gpw<#TijEh405Q`T`T;{WuN&IX|yLZo}MkvuG#( z@Zc=kBIJYo+>ha?6C~UW8-dBh$4k<#oFZ-_uG%;+Q6ks6ib}MaB|`3xr;A|_5AoZj z;fT9LS~4NQ+t(ctmDTS-6r742GxFVoiXire=B2;kea|qe#V*Z!4FQ-#V>P3ZC(^5+ zu__Uo?W3d7n$O6gQh-QC`>S^CExr(BINea7hVfKx}M{yy`JhZmM%Z zo~2t`;+IIb$#gk0G!`wfy!(G35U6gPSS{9G`CwPqxD^iiwf zS1Ii&0p*1BAV(+}fJd6Z4BIm#ob|8511&ahDtMy7%?U#p*Vk!*KPC@_g?u%`^+YcO z^W=zS0lslX-|VjZMO9(?wxp*PrbZ*t(Z^BOXY7|1ktsuMwn1hodU}G3n~Nu^!4a12VI`0^S4;pOs8S=d6*jDl{;?`H9aNDGD#DN-Uw z&yX9@`!}zlnLnMZMi>Eaa7+E$r1f6Fhd@Hd?XmiYe!i<=9hwImp(Z1n9=u_dJ(&t&Qv@PyFMK58aQiQ4)Q_?dH=L6 zEHt>QJJiZAyjd)>?5L$L`|bWNFFGnlz9fg+y`ZKAlv{x8v^Hs!c*TN!=LlsY9%DQi z9t4r+{I#?8@m!z;5>G^O>|`R~xf=iJe8XIv4_zE?&Hjy)Whx}$)d%KHg@>J@Vvfin zBFIAai+l!bWA5aB?fwM)ZvN(xvbowj?SgdZmzK6IK8C;WC(d2*i?AkkWTn#*7djSA z|Cpot8ag-s@8;vbGx+Ro#Wj`pifkDnx>6^@KRi&u@j?CjWSEAv$O2y1D?~D051yT! z{qSr9p_Mx#5F6sn7>MkuAJt8vF5FmW3~$rZ(5X}83>}ZLFO0gSeLzlE>6G$qE)-oT z#$xtPl~XuLU^-nsYs4v_-=nK6JSD+cSygmZhjqHPuOo{O@T_Zy@dd4wBJmC|M?`gF zBL98@2P1x->T#BV%f;5;Ydcw4R0WicO{X@0(W$id?b`R_6-LJt z0;|a{F>4hu^jb_B%J)82Y9@jhA&>nB8}6g8yijf){01ENhRDF+$T_xz*esGE&UDP- zr|y8>kh`@{I+)2%(5!z2sV8j$^m$YSqRIeOph5N4<=F-=64Wf^82)R$V&W8Em8-JR3WP|NEQNc+gR zz2{(uWzIXVGqpG0mP>#R;YmrUx3ZbBk<2+oC6eY?LknVbRROAUk+5VOqhE5s7x{F@szmiyHPZ}p*>N-f(%$ax ziEC?dEe}(wL8(T$#!$ZAQlC=-ne1*L?Kk;%+0Lw!0);T#lPqJ*=8?OIAST`qs*`N~ zi$37Bseuo|MeeiYTP6kkZdTgseGuH%F@!y3Sj8ZfJ4sQ;Qk7UKcwtu%auG`|1L^ZI z;L(a(>lJYvvTVE>x>N)XGR1Vb7K$`Ej8;>WLxYC$10<;>#7G8HnhuuXiqbgv<6I zDinDr<42A@gR8KnJ$}jdU}$io#dnu)q6bOW0s}~9I{y#v3cux>2Gq)#a z8Viu^)1XAt^13!Ka$>$GD6TOP?>F8re^X2WPSPsEy&HI_X~P20d^{=b8E4x}59Ov+ z8=-S0jPCKePXz>grRKkKdpj?Uom_Z#NXx2pU@ReVF3ha!K=;zu6uEQi?)GkOjOt?L zS@vUoMsO$?d^D7QUzO`C$coWt+?6tGAEKJ%2R#Q!!CW#Zf*M;5OVv8=o0saObJ6Gd zc@v)Uq)diGmz~P0iE{kue}+u7-iKpQ1n?J1L5# zeq@E9ffw^9+|<^_s{9>_O3PU4W_7!@&YhoxXg^h&Lt`aQ1+c10OPG6~o=TcV^#gPd z6^1Wsre_yUdh;6Dj{EVjODKE)&s6IlGv<^to+|kwBTX_s=?M5mjk{Adb}Lih^3r9% z+y#Dg$6%I{L$|j}(0j%M>EqRK%z{#)I~u*OIL)Re$#+SrI0AC&Bs$sJJ0J4vRHuCu zM^mc2TdOt}e=^nS7W!q~sd~TP@YR%R2(&Hs+`U@S0AOropXdD8<8r7s{OW6tLPGI^ zlu&c?p0%|)^cjN`^0d^C=OZBfVWX>#KhIay1Vy{PE;Jc?tO$pGY;)h;=}p@LBW7&T zbw+5XDU;iuAlGi9B*ea<#18ylEV^U7r|+F93}_{zzxpJwiQ~ z`XXKQOItj?(o@E1k}B)V-JO(E^5^(U9h?$?$gWADZi;fscB1zCx9{4WAL*uKUSLX$ zQ-26eUC5$vT{w5=3O2`#E|~7|4c?WhX+PR&I;BKO&0mN7ZE8l_Xr1+pLa3IZze(Xl zufP=I?>S-yqNPJQKE9YdeKsaj#_^iAv&R3U{j2|=0U08K>9N!fMtnY<%hw0`t?K^K zk)e_JThlM2!2@+K#7GM(amCKA+e>~0;uq`PBmAnmKW)_=9#42$&%K&s!-q_5B;MVi z0?(_iDPGNO7W@2MSRP$iKA6sY@ID&)OP^U@|HXj~S2|aVSs=H2>k|qKX?nsrXabPj zkX#~RbEa5#p#fIo4J%kJYC#2-4cr|3jXc8gnq=k?REg$xWWAxFbN=dXis+>{cFGW$ z_wLz~g+pS_eK#Z2ZXCMA#y9|+00;Z@O2Jf36Gv@@1TON_SU#dXbTraC1nkE;ZW|o| zAzSXh&R_H*R*F2x`)@6NGfeA!o@!A+6!n~ZZJ^AFVf7Pj)9%VTZ=Vq4f}+XtE;LMi z8x}J%aQ$eZ3o3#?E}_DRuAZ7PAVDXb*Y)MU4w6QY z6+B9tN)aQvDgW?$9f)AQ?B>=5Au_?v{@gsxE3 zb>jQ?B&)w51LL9+Wr}-)W1_iV-kJ*S(R6aIvBtzmtIwf=Rn(Yjb05S%A>?y-rDmec zP3ZAO)T&i!A`Dqb@#1Gm0#kNvzlVpB#QTlryB_qPQ4#1W4MWz;6Qvc=XZGfG-z4Tg z9|{E4a#yjZ=d2;e0r&X!nrG+0$^p%ShE@RrHSublUq-xGs#ZF6G0I!DiYxlRpL(y+7z7F z@AFJN4q{y}eTyN?-u|>oY?s7KWSulIC=k5tJ8Il7@Y2{ zZn2Cjf!#DAb4gy^M#*+-&qV0njM}=X*G|JzsM?@k`PB{yut5S&@2N|x3w}H3XWwW- zH4qa-*Z0kkC>(3OD_&#=kb|jG*yMfC=>z+D>dP&l?Ob#&t@277n8&m#1Fh%gO-e`)102$ud^sEAVj(fC@crkFUdKhp z(pjAFwn<$WzVOl5`nHPstAVIUv*v;?di)j+4m5}o2P=u`s6KvVy;>$(gG%W;zg*{c z3Z2-M5?3HbS`!##uIK5Xi4i4KHZ)C2X(UqB;!hI>i-=a*E@##M>n1dsw>Bx^^6$-P z4u%b{``?B3FV@xwsM#}Ys!@`fXklSXYNk@|Xfj04RapX% z^D{5GO*+o`p2*)->k^c-`X`5yxtVYD%EBXw&o0OR9{i&GJzK}9oh-AiSbviq+%-el zx6VvpS})jpwNu*x70;r zt;UU&3}6Is)itLdAyz%Pc)$xHBm~(#vHThlAgh}o{$OF8JdIJPIN)aPUlS~T|L*E3 zi>EF6^k)4K)8|*?RXQE~l9nD|^u2c2&&Gw=YB|svRW5{G6iU*yma4l5z2q}*!d%BB XzoR`n`JPV#_&2oF^i-Ra?c)9q#W+h+ diff --git a/src/assets/images/avatars/12.png b/src/assets/images/avatars/12.png deleted file mode 100644 index 50e79add1d482bb9102312cd253f91de475b1c3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51662 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℧|yG<#Vvsc%Ke^cY3no9Aa!I&D0fk82c2H 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�?7HrB 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 diff --git a/src/assets/images/avatars/13-small.png b/src/assets/images/avatars/13-small.png deleted file mode 100644 index 0eddb9660bb823c56507402a71623505883ea895..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11338 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 M07*qoM6N<$f=7waNdN!< diff --git a/src/assets/images/avatars/13.png b/src/assets/images/avatars/13.png deleted file mode 100644 index 07108ce6402ea021b0c973cbb3a0af883c1720b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38438 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 diff --git a/src/assets/images/avatars/2-small.png b/src/assets/images/avatars/2-small.png deleted file mode 100644 index 523ee62a359879c92a1906dc2abc0f66be693c2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12401 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 diff --git a/src/assets/images/avatars/2.png b/src/assets/images/avatars/2.png deleted file mode 100644 index 22945afdf69842136e2450fa54cafe7b0e50de0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41942 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 Ef)V-d-T(jq diff --git a/src/assets/images/avatars/3.png b/src/assets/images/avatars/3.png deleted file mode 100644 index 0382f7d4820f8b1232314213e17b006d6156a3a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46561 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 diff --git a/src/assets/images/avatars/4-small.png b/src/assets/images/avatars/4-small.png deleted file mode 100644 index 11248ccc0b1f338deb033133fdb17a595ed9920a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11774 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 diff --git a/src/assets/images/avatars/5-small.png b/src/assets/images/avatars/5-small.png deleted file mode 100644 index aba8b4acdcf6c20f937c2359554adcac17b3a4db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13449 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 diff --git a/src/assets/images/avatars/5.png b/src/assets/images/avatars/5.png deleted file mode 100644 index 38505ed9bf9319620828bec5368dec5896575486..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47665 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

u>yTrpEq$`$Hl*KRl-+U?aw!{f_}}qJ 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 diff --git a/src/assets/images/avatars/6-small.png b/src/assets/images/avatars/6-small.png deleted file mode 100644 index 2f5fe5105df03bb5f6660819e2bc85e244fafc84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11782 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 oV^ZgOCxGf4A-^I{*Lx diff --git a/src/assets/images/avatars/6.png b/src/assets/images/avatars/6.png deleted file mode 100644 index 6d91822bd69b3c0bfa01b1361daa6c26d880e4e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38327 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

&W*tC$4nk0t;2! zOoF!UcDjM|T5JzUS$!??5Q0fr+Dh`U&JiK1IT7pk7f)+o(sp61{l z<Zsj$SX~AFWBA-F*CgeO+z4Jxxs1mb?G}j;RX|UyzRuRxOO$OIO3L2h&Pkm)PR} zeYK;#d%UG?O+U=5wDkB9eb=b|GdY6ifrw^adzD3%T`RWI@COIx`yJE9951hXvST}= z5S&yhQx9GFM;#Xg6eWb-HZwm+G)?ww{)}vpTCQ~y(n^$k5tYN(`l3hrpU>gt(ai4E z=Hcuzu&aMM*-Rl|NzWMNJH)4Doovsgkk!%WPK`il`Z7MV*c zTjohK8o?wxkI^g@Z;1)3KQ|O9DIVQZj@iO2d$rCTmMgXCxLJxqii%K=nR3n!hwm4G z(%~SD{$(@Kh-d&S|F~cC3hm+Y3%ccZul-uEr#ownamT+mJ*p*d9MoOC?L!-*eM;kA zN=O3^cu68+swMwA*|%kW#sfn@g$TxD=C?k9Fj;&Pvd?Sl)3w-Z{{=PU$DJ5~`F=AP z8!z5hS1~2CiGxsGMlI`1jprIKndt@JwT^jo%vr8->Z%l{@lkZSd%pm&3Bn%sU+vhn z@3vM2c=fDQw^VWULSzF9N0}jrEERcJU8yQzBJgQ6!H4L29qySkA=UAHKZ)gY@2SO` z>GS;R$7;s3+~@lO{_unfG6g(v_>+PM>=Yc9V@{hcKF8mtSFUPIOmcJAh!`J`kvq4A zb4T$#&c7Wr3B1&mY7h7~!9it&n9H!se3P$Xk9Vn*?B+7G3(D_w5sq* zce>6l{(4N^jzs2_Du`EuRlV5J5m|axWRx$2R++tMf5&yOEY<6M=&&pp-5#Efg1gTO z#9111r=j8KZ3j^{sPZ#PAYYXwuev-zL`JjpJ%Fdyk{6P6A^O3MnFh}$no_FKEqfjE zy?R3EYrAwX4f>rDd;6bf%ZtW}pr1+XJo|rLf$Gn4w_z3*Dd?#vXQZ<0pg<)ERmTjI2*Y=8M?uhY7`D*5iOMYBHlwCa4|YD@d5 zqNpw}J~$jvHl%5%P5GV1Oi2MCQyhvD#vY0XpM!=mu(L6Ed^4ELU5mj9m*F%6--IVs zJUmN*cPt5vqiF2;+_EJvFTGmVY4Zw_?p^rdei&R)9l7HJQ#rXjlx(}boNaXOwHIBh zf~=is1TcuaIM2tJtoolX1Zz2;tH=93RlLFEMeO%I%?|326bjw6)s1qiZa&QNEU%L6 zzFFD2D^7mnyzKAN^BT>W%`6z$YRo0zU8WuD)g4{IUQmQ=im8A+Rp&^KRrmpxdB~Qf zf}8k@k%A9e08*u4)GmY+YP_gWF#FQH(KI0H+1;7$V5RSFu+ie|r&x(6b^FK4>cI%| zKxCS$uVp4E)15on=~H8Z@Noa6ql=Ig5C^Zor;({khf#iWw{ckQ?qA)R*J`U(+MaA+ zn*W8Gdl=ufADcV3WrlZaamym}o|w4)Xy;*G@6FVe|KU=v_x5Q(=iiRn!yB@hGRh1g zHavn?*(I!??_g>+%@_i06_qcsh_)D2JAFgi$MUjup5%&+K3~_Q!KK;(Q{Tz?8RN7e zGjdM+J(tMhSHM$HE>p&x4OPP%hNI4ZCu&o#iR>MrmAUMq8dAo0kG^9op#r zbw3sWrs6WJSP;~u5^ULa-Oi{P2b`K^arDb2Q>^ARZKLB0=K5E*V{<^cr`}ymt@!zPx9bZVB@1X|3t6i?RAiXwD>74fZ~dE$B~@oq{QK8k

5H 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 diff --git a/src/assets/images/avatars/7-small.png b/src/assets/images/avatars/7-small.png deleted file mode 100644 index 9ae7593ee637ee1b83e5fa604da57665e9aeae7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13119 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 diff --git a/src/assets/images/avatars/7.png b/src/assets/images/avatars/7.png deleted file mode 100644 index 8874d68ec27ea24f5fb51211899508f310fba28f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44959 zcmXVWWmH?w*L8qU0u%|Q6f1<_?(Q_WYjKC-?(PKF;sr{f6sNdTq`0)WyZnF>Bt=u; z<^Qbr!@VjfY11yIXXC5?8Ku3w>|8zm z&#L3<>f{NLmZzBZ<$5-=2k7W~!E8LOJnY@P>|I>|08s8Y6Ek!D%pxZz=OU|u;w<~< z^fdE=^3*gYz@-RukzL2u1_0EqDZ-?6NXh>6ji;L#_)s5gcKiu;c~Z88q7mQAR2n4~ zW3^xfsQKI^zf5Zhv_!FG6C@A4#RFXjWQ4J8K{)j!q_>>EJQUHXjlNSB^ zfHNcs18l!~9yA7r%kPD|g10kz%WwB2!RG(OBX*yZg}}QMux$Vs9VP{oKqD^t*A3YH zpHV*9m8)kT9Umth4iFWCGev~`*rfgUl)V$k4(OMZivs;XdqHU~28{>#302V&fwz7p zRbY?-Z~znMAdjyg;0N9tb9pyHCtYu8*sm`K3Q%~wtI!Yd3!(^&M0pte$IbJX#?cr6 z&s|qw&rh)QAjAVpIATyCvGMjL49Go5N{Ovjisr`)tjK8dAt9QOw&Q>yaISGKqq3ZJ zFLnwI2uY-2fSd^F+ZSLc00snaqZBTJWzh-hAuRv%4S-38Z9#vGV_q1AKKIi4zh)AJ zP=OEF^)JMEz89sD*0%?iciv1Ki(a*zzIB_ruos#A48@f?jzMMRh8FqhAb z-3FztK~jlkl(L}=fsN>_oAj`Fa)c5Mgwc<1H&FHB;WYq?4zUGPIS~Yr)lcb#(>MLR zf4!?z@;&BDK>m!msn*oQeoJep7Cd_P?%7exe0AeL%zM+jZ=+>%Z89lJ$_SRkjT

-wz{!4a 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�hlI10&e_HklA!LkpM!? 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 diff --git a/src/assets/images/avatars/8-small.png b/src/assets/images/avatars/8-small.png deleted file mode 100644 index e061c7aed1b31b11653a41e82a93e05ca567ef5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13888 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%0A9MAJ34?X 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�K27tOcAV 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 diff --git a/src/assets/images/logo/logo.png b/src/assets/images/logo/logo.png deleted file mode 100644 index f89b7768ce4a94eb1ffb0a245edd7935250356a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6563 zcmV;U8C>RxP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000ioNkl703VQ&dlz{P9Fh^pl#Mp)5LadLM0?5#D_|#MMVhl0jWss zCt65pT2WpSqPzu&!Uu$)6-bpRh-Z0JJX=ta5EUe@6DMwxrimYUHEr`~YJ2U??#|;L zKHPg}?##~Y+K%mxG}+mi+1a^2pYuPDyA!(QU55aG^lERL_bXZ0T9MgakA*U?tFhQ) zfomYW|Mrm|6X8y&hDgjndS&aC!BV}K=Dj{9CF@uD+XLe#9sm#lkO1V4oBNohIoEg|56y_}1J$=Vj&mOX0yD8XM*1W67v+*M$IR(0 zd17Yfr9bI$FaYW5(*%GwGh?HUrhD-KSa_&9(7KyYy4l)Pzp zGj{_gC8H#lXAXxB&JX|^80_2by3Vrzu2Hu|AZ9RGL$D1~0aEYmW28T)===x3(|Q~s z0212b9LZ>8{}{>mICi$Q4`vCny$K<3$H+VS9s^JT-~kXvUU-R!2;J6|KpPzDAMjjf zAAoC!v@7X<$YPbcdd@M*9AoBl05<3`I0hU52$m4}Zj%@p=PDUz*rol!al}W5N2-rz z;jOl&4Gr}VxURDoM7^=PiFOD}frkt{Fnbm_VO(_i!64(V#?Clpd3rA~97o)F)9~i+ zuLZn=&rgfNp}wuI=jORP14Gw;Z8hONKQS$ahWh(To;wPl*Cs)NVsIesvfbdJ9iASAu%Q`?Yacw@8pl># z;Cy{+mpZNTdeysJM|^s4==$&G!6Py&p_{}_9GIf#4@`^U;Vpw+$(;bvn^L)yxt6v( zb3lkL@TeUgX_L!(rN|A%1sd0OW=h}E@tzA@+i{$o+qS>;TL8*7ydaS9{RpjAfFO`M zK(yc0f&EhifQCo547#2(MuaOP~W&+-(g4DtCmI^PsxLt!ok;Y|Evb8Vm$_6MwN?(<(>>-jqm?IFmh~&kuR{P!@ zoIW-CL;ay}eD9Pgx@gBcZy0h*&U29HA);6sjC&e*%&Y#x4UMBCw!{%Wb@juKH%tYJ1hN(TlZpaX+4qu4!( zlFvEm8rIglLU=hcm*jDh&t{WfhSgHab=Qo(agn}3Ya75M5y@tfX2z~2v<|-h*jujY zefQOyHg4K@MP&?xjqRpo<@vVOIm*HmQ?in3ZDAI?RL<57UXINOgJEH@@nlKUkc+7xs2}0|a z5XeBIbS066XKSII!l?USxNu>1k2NYbRlgZ(xNmIcDP}BiirX^vEp?&*a|E!mok+G2 zm)-g^M9R{<(gtj<4#IH=fghydP)_Az9|zzFz;zSIcG+da6Cwu^W#A!!7lqNDMx!;a zJHKWcAZ2k8fS}p%A6<#QB`x#x=OhQ}e4V!eN%5|rHBl;UKwotLt^))?nA|+I>loP( zDG4x+wj9#wh=G)L)dU{d4FHi&hU1nLfZ4g)uQfEYO55UC@AUWVo_v&d_q40VItQS2?p*EOR68g~-#D*Ewfb++1wFHblr6A~G)y(vR;z(ZWh46g z2H<%F-w%^$2y3uQfTs%k#7g7Hsx8UMSf1&uwOO9kw`1nHnVDC3SY7Mr zkuziS^NlZZ-h?RU6sw%qDS+0uP?cI*jT1}jMSpcWga86R(&dqroGuX_OXa4XN3n$w zrPC5*f`!mhkkUMnw4}hic9aU`-kv^e0vH!#q3k!{JqiwE{ zGx~;heIua@`Up}6V3s;%Ahi4j%39ML2k?VPYZ|43z*6A>fa|I?4j9% zduA`zrUBFeENXBq+uHK_akkYp0Mrj1JpG%w*~V8mNzC#mX0*QP+y{&Zl1&FhpyfBP zq0)=K>L6SX2z;q~avfYT)7{O52f!;OE-DDALZ5W^Ls;+xC25C<^^ISfnSAx$`Ps$O z8rXt{*R-Q)rw(u&VKwcA7Y?6(Vs7rzmx?Byvo!#-gp68&l2pX%l8AKTYo{uDIe+xUS9aEFmtM(0Ygo}#c59up9ViUE z7hgE@``NkrL!2|!pU&S@i4{go0E||viAtpx{nZ;G1mFj(+%r|$j;8D7^ zCF0qs$+No_78>U>&>Eefb(^fog?IGGnP1J%)<2u*8(aCCfRquU=o0+aC6r6O$~`?G z@YyP7sGwn(fk%nkQjX;@tB#0kcSQszky2RtM(I+FnO`}4=*-<0&M%x=F0`f0av6Am z4R31d)xXWp)*o!sHzGu`iAJM_o}R0)rEeQt2Wa_8B+GUlI>NK}=L8HQLb+l`PwmQr zlKNAadDi5*40&e%zEeBrX4~9zNzj%$J(#O`Gt+0EnxCzID%Lj=087;Cuc4>s3iMUC z!f}BhK&scZa(L;0!BA;PxlFoQU?;wuhG#`m$?~PK(UUtb)%}YaR&BY^mNBoIYk7;u zkDq&bezyJq0}$k(-gq6Ql865OZEyq-_?9)`GU4SE_Hp71N>vQ1UQNSO)1LC>(cLFL z(YO@MuGG?&3(mH@z$C~37Ehiy|IgZ7;|tAZ1D-3;*SAeaPo!t#DQA zYwMzI1p$LuCBBZ6cEwbAB^WXkkcg&s|L^48b92qtRs-5fz!kzfK6C!5#YO*N-?tK0 ztO30E#tEgeRbGiSJRtzTNpPI-*uS5dxo@%NzivUZlUuo5Xe$L*6fhRYMkjx|u+V(C zZLV^a;V}Tm11e=sC&(7OARt`1DLnd*zfbQ9L%CQ`5v&N><$x=UwtJtO{^{aE>-!yn zEeT$6z+kBp-;(~Jjf1w}&}{JWKm2BDmy}#D2n6z$_idLe9sK2h%La_t@}3)=`pKob z|KrPpR~&64)`7uGPvjUKjHEoV`@b{0%>7u=D6+SYXMIPpj_ru zXBPm%Ae{KilT)7x0=bX_EdUVR{=tD&dBSH^z~#Ve7Q(|y;hA2anwY6n)Gv%ot{C{y z{wIGw^%?WMnTj9)5Pk5&1FQB})T)6ifLAvGqrT|>Xj#$L(k!wzSSoN{IcY6MQFP>w zznlDAM$_sxv=4t|U{#+bTUBrcZd(ViIJ#%@kr>`m+%{uz<~3qMr3`o;Ba%QEh7-U0 z)v^0KLA&Fw!Bu|%Z`HwdfVVKZXY!Hx`Q~?)0xz#SLb?Z6Dytc(FbGDU_~qnhIzju= zHwV__sl_z`*C}A^8=L;wQsA{ef1m?{qZ*ff5bpl%FQ&fO3EJl#8d$SOJ=Y9eC(YY8 zHvRZ=;Sp5g>$*T?L-6d+ADeo}TrV$re&9nlt?BczF4lOt^|lfI*E5F=ym;BaZ{}z3 zdGEkh0KLp`z-HEhQ$KvNry-+AP1&A2G5bdit)7{U3IIeOy=#bTwY41==_jPuV=?nh zF4Rv|djM?IujT=>ZqIhLOkaLV0taiLA(sC?HgHaNX5E+n4*=90 V6R#16z=Z$+002ovPDHLkV1k}Efx-X) diff --git a/src/assets/images/logo/logo.svg b/src/assets/images/logo/logo.svg deleted file mode 100644 index 296491c5..00000000 --- a/src/assets/images/logo/logo.svg +++ /dev/null @@ -1,170 +0,0 @@ - - - - diff --git a/src/assets/images/logo/vuexy-logo.png b/src/assets/images/logo/vuexy-logo.png deleted file mode 100644 index d012fb485ebe22c2cd189fd149360f0248cc7583..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3503 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 diff --git a/src/assets/images/pages/login/facebook.svg b/src/assets/images/pages/login/facebook.svg deleted file mode 100644 index 6227a2e1..00000000 --- a/src/assets/images/pages/login/facebook.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/images/pages/login/github.svg b/src/assets/images/pages/login/github.svg deleted file mode 100644 index 13678df6..00000000 --- a/src/assets/images/pages/login/github.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/images/pages/login/google.svg b/src/assets/images/pages/login/google.svg deleted file mode 100644 index 2218d963..00000000 --- a/src/assets/images/pages/login/google.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/images/pages/login/twitter.svg b/src/assets/images/pages/login/twitter.svg deleted file mode 100644 index 9ac9e0b9..00000000 --- a/src/assets/images/pages/login/twitter.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/images/portrait/small/avatar-s-1.jpg b/src/assets/images/portrait/small/avatar-s-1.jpg deleted file mode 100644 index a805eecbb0446cf262772d7cfea86b91baa527df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33569 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 diff --git a/src/assets/images/portrait/small/avatar-s-10.jpg b/src/assets/images/portrait/small/avatar-s-10.jpg deleted file mode 100644 index a530830ae5018b005aaf8f7bc9021c48f002c6f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35521 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 diff --git a/src/assets/images/portrait/small/avatar-s-11.jpg b/src/assets/images/portrait/small/avatar-s-11.jpg deleted file mode 100644 index 87281eecd4f3400c20c25e2028741f09f27fb237..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28219 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 z 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 AfB*mh diff --git a/src/assets/images/portrait/small/avatar-s-13.jpg b/src/assets/images/portrait/small/avatar-s-13.jpg deleted file mode 100644 index a1ea7a61edda8156cc986f0febd6ae78305e18d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36065 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 diff --git a/src/assets/images/portrait/small/avatar-s-14.jpg b/src/assets/images/portrait/small/avatar-s-14.jpg deleted file mode 100644 index fdb53381c89140004764fb86c74c14d260432405..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34902 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%0DuW#pNi0t(>JtUzUn2n&^|W z1lJ`9*(Q-MJmbNjxTA8ea>#{B?s5DTIzA{<6dItt2NNO*5kC_pdhZ4(JhE&JdfXEsX zM1$CViS(fI#EwlLDq>*T{;R{FGbw(wI`0%BF&mdbKi2u0yW&Y(E&L?A?606hi}II6g&fjmGicwnXSN*H-X zovK)mh(&W){~hkFbkZo344)_8M^dZf#vNFfL*6H91 zuAv(bW-^#FP2lP}jMhLlHLWOYwURbj79u|s*;#gZ1>wv}e{shM4<4SAfiql$ zgC24>z34ZLa&xQuYQ0{U{4*ObANoLA2XN=1c|X71P$xJgY>=z$Hh-VFus;i^-m@?z1@YYtE zqGrnTHBWQweW}THc7f+GVr1&EyO5ea)fn0Jhm{qyLS}A8etzpVp|Re*mj?5WE4y*= z!3E17#+V0}+q`^TJ!iPO2V?QbId1_u?9PEc28X}ahsZO>C#3E8^PSPu(NP2h zFpv?!t95|c9QsnN7!3*(s5aa?`dZKM_Au#iC{4f_0DzZSxVd&uR}oz`f5}M%l4eUy zeIbvO6C<_Yb<_;%0_c>)`Et1#kuh}Oi9F_qyk+KwtL5xf>nVc><@bgk1mu=+k2~F6 zLf@&ikbY&IoM%Q+P}8!gNLx)F1?7L3S}01aD$o%!y!U_{qH%YTRnzIo@W7fc{oiYQ zLL`^_2x2VJw54F>M?WYBJud^D`~q}yZng3;<1<4BDJ3sb$Ff7XQ4|p)DF*oymrr*% zdFO;A%=TU!IOar4B|=XqY1rGWU7>phT0i)a_g%y8nH9hw7lxe!wp5tj@xyBCun(;g zYyFRUZ$wt17h2Qchtj-?@3s4(59wJ-x0yXshrh5s`HJYU-g@%W=Fjt3*_c16)W9fv z3-qQvkLqI$xjwn5`SMHi9D$S&uBYU zOXW1}r>+sze}z&RGUFo(Xo0}l+X-*aEw;G4m|p+YSMo{b5_X?-sm{-CYx7HXa8!9A zzaVY!Ya6Et7MGpE5DaLBXQA5cok1n@15=z)>~bBts3q4)DtVV%FSgp9BnR7H#D#FF zDEwrWI!>`B4cP-71|HO4r6e~%TOWw}>yqGD`Mf-!7uvB8&{X`x7gvE+VDn?yb>*Pu;%V%?W^^Wb>@bB;02DO- zeW^(APHk0Nd;jxyZ#kIWY#SK+dxiP4ZI*tMRLf4@Y|q~0(-L2N#Uh?+TV=y%B@6 zsccNJu%*i|n_MtVVp2IvRhaTI$*tB4mcBU=>lyyda3CXvR1t8$xA&tHNtICcPu*%!g)}Gg17vVp0LhvwTU(WjLP7rA-OI43AK{ z_0o3Pl;8<;FKq3LG824BZj>$t)2GGyf1xc~Mt>omW;=^1 zRh^f)gZ}|M+oZE9y~tc2>Cvr>4^ootqLL;By_OX3^_qpfGy4hD0PQk)S6XPDge-)+^dSetE&SO+$L+L31%HiO+gp;c60_j3!E+y?qOQiI2KF zS&5RCo_&x|?!l0icqU2^khl?dZif433ji`l7(!hB2!MIzOx`Sny?uUYK8Fy}*Ej7R zftJ2+QsVjU;*CmoC{R7%LBU1T){-x7)G=&VqZb}n^=@=9hk)Zic!+9E$fr&3(%=`> zz;=DVvd@ZiLqay{s_m~uD?gf}Cccz02|BVuV<$~3%hxmoY_K+|Giw zer}66uSSP|Jxi?p9M|IRDDT<_c_HTiG02=!Db|Y=3$rLUdrY2_3qfmW(UD+cH#F9@ zICacq!xE%@YmF19q#%AO(>pTk$qu#cKCRF2KPvzH6_qg>gMT}VVao>VI9ysfr>?wl z4Rmr^LYI5h9K%2xEy9(rKNbz0y0u(7KW*ud0Gy7p^;1 z!1~y2Mwf%ok_cz!PoXn`Sk`dGoLyXp^hG?{tfq#P8VZBP-I0@n&bJ!mm?vc!Yd6lA zvI>tg0+{OsJ-h-a0lZP#la)6K&yvtp@s5L%9~N`fidGJ2`5%#MA2@dnUg- zS&A(mHo){K1>6>MvF{&G zxNKhtrZiEt0AKj9+r{}(vjZ3!Ra(8<+Vx(~$A)^zSww)*|=$yASyTKfE6>A~`U07$~WUXBquts%1Nw716O z9**=4Z-A5d@fEGbgbb;a6m+02-VN_=!C)r+97-id+IRj-bX-{};gIgChE`n$JefLc52Oo8#sORR=A z-?zZp&8C{Vk)^n!UnMzK=Vhs|Pq8gLE1=6~fb+LuIQ!C9 zWB|mDwVj!0x0Xa~e!=R)f3IheKl0lOOj?=D^ktNxZjxeVpE;`>vX!(IOpM=zUHP0< z8Ptf%$(CcWjV)@zf5EvFbaA%yk^xpSj(xoqV)%;n2a{J=xpuX{CMV%Z@dXZyao5p$w?3^I2Qc zmGE6!Z0W__p?`^4Nji7g_ozXjaf1-4^SB2C4}}`5Qn*5Rso1&W7##Rou2Kf`>wccL zKMR(TwRrU$KWjqxT%6;QhMnB_f*6tGtqaNq{RddfFhtIH6KzHyMSTl*ARO^)mpy|n zCI-K3%VJ|WfFj9jlt1z~PA78R7bNGOjSoRH2MrfNJHzX|euGkJAIiWmK@jgsq0Gog z67O_!p6mEGA~`sXA^KU1?O`m-nxdYW)q;Av_ipH9!^z2I2Y2{6Dg~3Kc)kLMo+b6| zg>alo11_*#E1fBP_yUzRVBvfklxX)4IX!y%o0v4v;x{QSLemi|S|!F2vyR=?BV(3_ z75Il?-BWdze^!DYmfspudZMyo*dmJg2k`E@(Q5A2Y63Eeq7XjkCj)~a9DGu}5Ulm4 z?G{@>e|cR?W1gUH>Hgi!)b6NqMw!tJw6<6SV+!jNUo{?BdxVvRQP6aq8Iz( zt~!JwGtj}}kz8%MeiVpua|Lc*f5yf^M!d$Bds*H2Av>$H9w{}GturKkwIh!?a81`8 zWn5L^^IA>qWVAM0@-Lb9$chQ!bz zP5CM!BSB=W#nzz8A?RxPmq}1IkKB^64xYJ3rsXx<1m}A<=&w2NfNh>6s>OEeQG$8- z)1`jqy4BKP?bR0_-*d3U(Alao2(BjylK6FR&{H(JvwM(}K~m@yX{ zaje0i5iH*8Dc!pnOr?M^>^BVANbjQL+|tu5lWN^c<8m>g6l*Pu=-}MqxPy5e?FASy>XN$-^lWv(J2h_DzXBaHQg^O|I+%2M6Y2UE~zn|I}rVj<4$1prBDEero_~$!5-ocNsNG_2I$z3 zh?s7k4aa@?zZKnQYLFNb$Q}jag5hTL^BY0}>E+Ift;uyIy3^Dc4PPVys?gF=|G53G zqAU8g5{Fiw_Ta&UqwTm9GD=60hKRT!)s`sSR$2GI7p0cFto5Samf5BqaZt6wgDZ&R zwueR8?pK1iczJB`OPWx}@mx)>B!ggPIN;h5mDNs$n$)^Z4a;Uc+kI!1&}FPNsvWF^ z8XjEZ1&<_gaO!UJ@yz4ltxaX-%^hM->hL7pQN@No;#D3RbpF|=wh)RAIIbB6HjijX zv`kg@YupJzo0Dy*vq#pCAbnC|rxKRzubx$Aj{v6N91FZR!Aej)IK@SNae7*mWU2;+ zX~GAp80Zb+*7pw z=k=*}lzXStM(ZEl2nEy@aYsJFJ?rO7>(8x5z_8Je-KiaG!z=)f^_C{0QSdVZ7+YLU z$`G+Cf6cP_FFP9BK*=$R|2$}hK~sTurzG6YAKWqpcAG`>3XouYiQ2;o&;*){dg3zP z0V1NwXU0N9eTJeMD7*>#yYiH9zBa<&cRcP-54Ij6m-M?3iSzy1wPp?I(C>FRByrh` z6oxv=QH#n3g?JroHSueNqjXE@dJ3ubAz>u8R(zF++dDl0C!m^IReqD}sFQ+MGK420 z#^oe!TIszTTkB{0kJ@QiX`#Y*WHy}odxIZ12*)UE0T|S_7^@X(Z3={?HUyU)AO@i+ zBka@ZdZs!FvX1jQBV;kwy*t2kmIZ|!AkUZg0Zm%sl3CU3Z09^5*HmELY<%V`R$6Q2ypyV-lXAtelq!6ES z-G6ezr0eILIl!pmctIlgA7H_cLpbNhXBN+X5r-6}V20>d+|jr_OgLze5FTcXEvEG3 zb~q~J^;O7|X-6JUx{09B^1ayJ-2y)->}Q0>-0HPY*Lm`Pfcw9AcY6EyhT{hndN13A z9>oX(8QFhQ=0QP)o^O66re2JErHBZj3um z3v$r;r!Wprhhu6wd$myZ!-v{xo~*rGNrKgKH8q@Xj>8|mf3Eg5Kx_hAkWNL6n$J=DonS(G>%AV|>$lY0+MCHIkXQjJnR7QQuvQ zdLy&y4uciEyC94KN76h2PH90Y+UjV#CY?XRmpcyIsHxcN@yrT);%oAq`vddn zH7TauJK(;L&gij2H?6LhUD0w15cHB_fKs7(pYvluxd(dwjFcM#0N8+I?y7MYwzDkS zh>U!7P>^wC6T)FCOb|8*BbyT4|Eh zerE7b=g>5Oa&wKovc6DLQ^DJ@`4&G;q>;g#;RUleNj%q}?|WD3uLMH@9vCjF~&z#aRB#M2Ms&dUl~3BiBlTH z$p_M@M4zZS>x*B47gOcI_ZZ3J`8o>zj8$GD z@aIKhVo}U9WszcVj@Ny=mEblY(}Q$hRN4JCwlT@`8)haui)KR}-}aM2FV(OyoVV>HtO8_VVKv-PwCTU2o8Th ztxs#wQ|DMo2UB@!4lP{FTY&NgHh;S@fE5E}E4+P+??f4o^kPmOBWmjQri;rfXCKyT zT1|WwsdA0+ORuQx5P_R0j0)_>Xp_AlZvMw@c=(M-!mOoYkae%7QTKIN1-vX zHD-$#`BPaBvT5Y3Zt58*ElnS35Mhlp_q(}p}T>V!Qoe>SB;QDCgf{T z7n_%Teg)4|ZvI1|DP$=JTJtWH0Yjw#?yDlh_x8Tpd(w=8KzD#I^@KN8yacy4h=?ZKv4kCRRrL{4X?Tm)G$4a(Um_(T6aeer?Z)Ik-# zrsb5(bhbQ>P8<0`{4YyZm%TG0QO(kowPhTocyqNtScQ|ylx%CDA0+R`#M0ZiO*~R< zjXy`Cq$FSZp*L&rWj_Q>vW}6w=H}Q%%iY`3Q6TH*H-W}L*~hgy#+i!cjvC$8zbe*}vz|}`rx(i{)h6$t$b|eA!0A<9Sk%^w zr5L+-03CPiuGUQ$J3?vlqZP!XUgl$ErpH;8_t~a3|Iw>s#QW)z@Kqp7p9=z7#AR-rSug%WkW0!$^4RUZ^iBohwItwiUT2XA3JxpX#N^u2tRI+!^flh5>A z7PZn;5p;o85AxlqfS`1ewWQ1}FbiMX_nf8)LNJ*m%%z+0K~5d?+l&;2XvXF-{1L_X z68bI5!~1=GJT^zwr$r-=eujUns!_3^WtW557B^57T@K78~~x(%xs5>$+5!HLWC=RwUkg zR5f>lIN1tz=#twru+v?ncr8R8uum1#kHoFp_P{F0@qnN3NeiDtH(6uy1tVdPrX*F z0yewMPR3@i$M_8?cos&adw+zPT;4Wl$4!U%(>!PaoJqPjFxd>p{V{M%GfbM*7(s<1 z|JGyhwPt7%d9p1eg`GtVX$)n&;uw0JO?qE)d8G<p-#}nR0wBsl@ z8M2j%Q_oQO+frO1=BstEC0>btSR3xAnyIhJKcMC&3BTh<>T;Uh)cj0q?{&$c7=C$5 zdBAT8bA8DS6SBps$66J}(4AGo=kIzw64T??~MIHF-?GG`9W@dFFvAA}1-0x#@{HI3sTRu|KzUms? zJ(RSq#(0vmWQRMbj3v1U#cq+A3bpy?3Xn&sRn{zk;BfK{n6NJ2t%gcJIJzo!vI$XNKwQT09m zGPdHDI*`t}6OYZE!~RyLE8ykx81E47POe*)Gr@9=M)$* zp6L!w4v_^Dcm$4VjSYTwc@0&Xxou^X)W;)K}cQ3ZHt-~Do90|)psY**_a_q)E9oG zC)&^VZmkz)sBnR68a0jkT*#jo0yc!b<+DI61))Mw#ttT#w0iM+3H=N!e!@Z1f*9|D zh=gaXw?%6+r}ZVcf3#Mj$?dxx$+(#i3%=j`1O*8SOLHGJEBh)Qh&$QtQYxsTE>JA( zLhqY>%x{%8#C%eVW!B3m*%`iB@=IT;YCq&Fg@4oHaeN~vFl5M_C98K^?422AjSo{{ z6e5f{UYr7xwTJD2U5*PB3cX=0M>EV%YkbUT*g0~Rc!A+7_9W}EcjeB*qm_vw#ozs3 z1{Jb4>2JU@2ZE*8mCPRaGLd_RV-6HAbe4i%aAlTLNlAtRd?DAFyCm3vTI6T_crP6# zE>}T7X3GP4{ul*`zD(@G&HR~Gxvsh~$W$BBFk|{A1gL6%a91}q-{|O#sQM262kjTD`xGHIz7^hebKqt5?2ffh=b0a zzgG3x$v?Lb6OTph$^r@w#n_UiIV#2~W z1L<#?^69O7GxN-l4PDl`SqSxqbeP1lEmw<*LPQ@8?^|I8%V+F)5VhexO2LU*#avd; zuXs~z4PSO5Z1=I2Dh@l4V3~@vZS)Z1)K@=x{lUxV)(o=JkOiqOAo2<5bOYg)eJ=9UBrz)|tJ zKN&Eo;yC8Ce5EJ*(4!UcX~Pa_#)J3X0RH45@osO03HCrYZwaDFB9172Y8oIQyqLY( zxPoFv5q5jtRnhCPYCZtGD0LkEsg$JrLGs1{r#-#nSXJ42Hz0d!LlexWtK`q1K(!u) zxaB}eCJ!c=v|u}4p7v5~GR95$9Y+T?_55&{1aEd4R?LgXZDpv|7%9bWXpIpR4z#e} zx^=BA-_-^j@Mu(DLP=LhQCSIhaSEfqV%Gp`^^s2p3H6W7%17yaQ=9A&>93s~*OWW^ z)`E%yUJZl3yzrc14YbdBz;9KLkC-!Cpc0Nt36E&e2PsGQ{%m9Q7&W$+czqxhvU!fCs#uMNEq+ zS6zn0@SQFvNyCjNos|vj%Dc?34~5;F#|>i)0$ps$hfDw>gh#nt#ZEDc>nPm?86^WGr_EnRt@v-6&caDQ>5p$<9xE9nGW*U#Uo7tkfHNur>5UzVZk< zo~K6Lx3(=dQ88+gE)r5qegsK&wS7+8@RACLDMj(UE`R=lRT*7rJ2r%EqN=2~9g)B< z60-j54N0f>)uZieo^Mmw2LzM0wU&s%T)-IbbS7GU(!sy|ZN1(xac@>EQ&4FW7 zFUudN2>M5^h)DASH~3c56^+<|o&6wZfL%DOe-T!F*g&HDsV zBnY6uv8BOtCKOp-=7rbVkId6y#pX_eDHXNP6x9SQZ(m_4 z#aE5f^)L2q2}Zt$J|!w#T-T62)(={Hz{J@?&G*6m;@8l?=%CZ*cAI}rm9z}o#AFe z{yxfKW~o4f#@3IFTW!`3g?wS!{Y$&E6D0LgT%QefFwRX5bWG+7bg|j`){@PsI7H_s zddr-&f$3GNJLhehHNF9!u{uhHL0^WgCI5-Mt)P~m+%ol+Smj?=+WgH@^Lz0Wzo3Av|nSO+;S z8jx;A%L^+@T!VJP4v|(4cI9*8SX_&@uNozWov!iM1Zks0K=<#exBb!$#Y;`7=Y+*? zq%;>A&O*yKCBr$=ps`6>Np92O%O0bR`lzS{L>P-JjyX-`jp%b9}9*g5% z@ulQmlMu_=LDr-w*-AYj{cx5mm=b-#Ofr>y{PtUL=~lcDHLu1`e^mN0NV%>I`l+cv zF=i#vNS$n~VP*3V9B#HVe8Rix`a%5nY~-Wq*`r7JK*$q;ghbL{d6tfNaBpD*sB3#Q zt=iAWVrp4un%^qRS!2`NSCA3h!R%^CR!kDD6&kCjAeP14DO()?|AtE*(^gRr+`thOo3oKB)NW ztI_O8cfr<+H^F!PFk8B(wN=+Dn^LBsYbd4vs=mr`=C5yF+iB}je z42UHG)pk5tCL-7+bu9@2Z;icaO;|~=e~8o$!jnJ#=tUN>S^l2*d-_ak)KQ1nJ@WyW z{HvtW>#qz2Uv+9)XmsIvCv=tbZ`q}Ow3@n^JN`AbdA}?M5IMQHvNC`*2~a(3ydkyH+)Gk|u#8yBL zEyXNg%L3T8Sj?ZV@=**MuS-MEervAcPMUhFV!pn1T9*YH-2<>gb}P4AA1+%HsFZY= zI=t~a2vRCE$LmaN>B?oZBDn(2YJD+!L_GwCh78);deqiR!HHWM z>gR#I1KxJ6X9YSNRuL{ap<73oVA=>jD5%Yhr{-M@A&!L0P%ut;Smm=XS!DU!-uPZ# z3J0{xwP28z`0!j_x%G__EIjo#1=4e zbu&L2L=8rd`$7M)s3Nc^Ez7e8X-M>fAT)0skvwgR+CfTpOW|lPP=)tZYSth(wRqKg zs?$6uH4{1x;U7YglR$u9{AKc-;v|ucRLSK;wEg5ECBmP?svjy(@KLm;w{*g>auuyfcG*ylI0;N1l--_X)=Y4G_PEdw5$hOr1h$Q-iO46I?u;;)~X zTZTnnEN!|9;=4kCqt%@5?C}uh@u>Y2I^riGe8Bl!t76z0Fb-MMN>H;KW)aXbG^vr) zJ|J!pvztf%{!>XSd-mkzk}&?}W?zeOZc@}svPWPErAt>kH+ zNvWDNVJ8+B=d2DicMtq3CqsSeT2ps>mF1QvtA zH=V(Y(Othae5JZ~U2>8*Bet?Fck7;gdg+xlIG3bQAT@fmf6&fTy9<1vlYSoVS7R!7 zx8B&XBFLsywj9B23Q28Y)4Yquk&`t%lIpZj^g_9BYfCDzXD~`Blxr{vg;M^_AqjpO zC?0J??+cdRkY8F|heI|A^ZRA#VF9%gyZscU#i>r!?Ow>}iwg8D#L8PAC1f@qc>kg= zo9D?7f{<7HtzMywm)>-eS|DRSOtLiH4fCt57(3-%@V2!_o!P&U|0No^78^edCIiQF zx>mIue=hh^xdqN=-zx&<~{hdLm;`c zq(hoHne(n)7QUu~N2{glQqHhH=gw@i7w%bh=}w_RiIzJzY$s0TTb)IlkLKquk^`0b zHyj(2YD+nl*LZ=;278>NSk4wj``6t=iCc4DRQz|V^X|M9>^Sr8@S5kQL>@E1VMM3x zXO9_;rrmGqbdpZMrs#WW%&0lXIqcH)8c%KtmtM9tiJ7w)w+vF-lbj8C=-#2gwcCCt8-G;3|1J!J6yo>{Fs zs?~9>!~>4|S-tqpxvG@L zb@V%LC@5(iE~%z?2;cqLBjW|ns?buZk{8q7XHlRC;oy!>C0wbpPIckFSj#Q2>kWUf zCJ+VrVZ&fq9R?Ec`o%-}A>^Ga^CCz83Iu?{$YJ1c5Kh@Cb8PwQnK8gCAtpzHn|+Z& z^>s86jSTe&PvHGn@>199GjqXr3+tpUVbJ@p#=}RS+%z76L6>c5lDhBTV?24JkGeM&<@N*GHcAC_h%1F7P(e))DGwsY!4W@Ib7DFQVYYQEC)d`T#v+@(&!cIk8N z5bK|Q39f3j5hF8GKdSJWDbN(+p?muDlD+LL%>>3Ahx&Mz+M!FxW7H78>*H>2AtxqU zN?R=^5EQ2o-%+$_#4#8RoBB8Dnf9zuLvU zdZKahK@rWLQg2JbrwrN$G?+NS%p`IjH!u!mlq&;&OWz<#mBFAb8M&XA0Wa0R^L!?d z$@+I<{zt7Ngpl>al~Y!FWgGYg<%y@G22%T<_=L7nzSnN$PKllwY%9hE|I{!5Gf5%u zaI&|Y0d}8ZKbf;F3MB#BG9iHbEZl=?7KuNKj_Fh%jX1m)YZ33@a`Ijk2s8Ug1dNyg zutn#n5v8tmZB#sD<*gQTrs4QKr?bo2jK&jY)O6VYhJ1=)&*8-=% zW&N|NRJLjyaSP~-ENP$8CZ)&e!!pwS{jz;2c9DK$3Fi6KHQVnb8&2P zZYTpM`&5r;fZj(rVdf`MhTs>qo9=f{IiBBP_ReDv$t#YBxXQ%-4|B)43vR0Q7WT#> zBixdIH}eA|b>Q6FM&DkB3Bag?74b0BnD;-lYtrwX#ap}2BlgEIMq*Dmj@IJ)p{}du znCv%)C_N@SRc|Nlkpa#RB;fK!KpETf@w5bg%us+}fl)K}`M?JrXYKE_t1ryCxrqa{qlC_``%=6F{vx2UsNWY(pq(_*SKnJAK@KCZiw4%5yLdJ zb5v7Q+nPfF5Xmhw)s)|WCwhN0qPA6rpHQ`_XtV|81Z5QJq}Qe;lo7O&+`%!An*ZmsHwS8OB9ZQWRGOZkFe!kSxz#gWLR|@DzxiZ*1DjoK}9CDFa(C+`kW9alMGM{7<(3iTsIi&TCx`yFdFK#tF_gkeE z1r1Gn)%LfyPGb6MXd-DRe?BUFDwW$J0!wFiRn?7|r&66ut7B5piT=8gSEd1FAo_w> ziQ-Jm#En~Y(Q+#ox39MG0!veMWPQsaj$>@ZoJ4^FcGrfegItO_OQklI)iJeQJwBna z-019=fmLp)m6hj;SpJpfNSb54;BI0sAPT^d(hcvWMyl1PR*$D}+xMka-A(89FgPR- zA_<%o)5WU0qtSG4%Nq(cKGx*nrag}zaTDC~cIU)4uf1CZ^3td%PwYUZ#{)+UiU*M~qZcZI%@VDO9YG zhX}}WqizRQ6t3wu;|F)gR@M3(ix!}!9&C{+n5gcGN3N2( z0gdY_HXDI_UnvLdB&FMZhA_G`dY7vVksFCQ?qAe zk(21#yKXbr+bgkX3X8fsH*KhmTA2#o4DOx2%)5c}z#4(oEGgef^tV=|11(iX{Mvpn P6=C8FBLk5Fal8N7oY=tk diff --git a/src/assets/images/portrait/small/avatar-s-15.jpg b/src/assets/images/portrait/small/avatar-s-15.jpg deleted file mode 100644 index 282778427c9c329729284301f2420dbfee00143e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31856 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 diff --git a/src/assets/images/portrait/small/avatar-s-16.jpg b/src/assets/images/portrait/small/avatar-s-16.jpg deleted file mode 100644 index 5e0fdff3825629672c5d82add641a3f551e2e37d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35882 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%0Av@;vj8gY4Qq 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 O@iFM0oG`#;*Zz$ diff --git a/src/assets/images/portrait/small/avatar-s-19.jpg b/src/assets/images/portrait/small/avatar-s-19.jpg deleted file mode 100644 index 066d8afbbda0b4e2cfbb033e345e7c486bf88a9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33685 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 JN2-Hg|JhG#ll%Yx diff --git a/src/assets/images/portrait/small/avatar-s-20.jpg b/src/assets/images/portrait/small/avatar-s-20.jpg deleted file mode 100644 index aef73817a37a70f521a3885810005933b048d796..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35932 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 diff --git a/src/assets/images/portrait/small/avatar-s-21.jpg b/src/assets/images/portrait/small/avatar-s-21.jpg deleted file mode 100644 index a805eecbb0446cf262772d7cfea86b91baa527df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33569 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 diff --git a/src/assets/images/portrait/small/avatar-s-22.jpg b/src/assets/images/portrait/small/avatar-s-22.jpg deleted file mode 100644 index f865a798481f718d3885e36605c8070ae7c3c638..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37575 zcmd3sWl$V((B>C+cef?DySprIixVKYyE_E;#UZ%6ySs(p?ry;$1WPV;ckhS0tFupc zJySI`Ra4JM)%3sn>EGYAzk2{o1zC_R0165KkpH&<{%!)k{yY1B9DfG@ScrfLzyu5w z762Lx3I+@6?+Bm`0Dyw~FHZ*euK|yMh=dFW3j+;>f(d|zg89z@4F^Dm`FAZe3@jWL z03I6whYFFJ0|{4xhEpBS6dx$*l8j8tC8gmSQrLL=iTexGf5`raDgYMlpD+v(G!*i` z+y9e=hWoce!NbBLK>bt2f(2kx!EwOjP)n#IaGK(}Aks*NBx~RSxxN%O;)f325=gnu zb8BiriuUh@{%!zJVW9rK1Pm5H46qQ<2H&GIUo0C>%x(Su=^+RSV4j3-fQ?O0GB{vIm%OqYg}4A?Wr2@Bb~jLX85FDf1wGLDkhI%5sI-;IIe0gQHh0ih! zA`6JPbLg2@;KDO%YRl`&miT7zsT?A|W{$O=m?W!$-dB{)kSfdxtnlNuCkvYB|9CgD z%lnM(q?%RmV`OqT7mZtweG)b%5Lv!zU{$2sZ8W5=ugiw@|MElEv3MRdZI;{WcgJ&s z6;ZT!1d^31k&{rm%x^XP83FmvNR*Mx+| zq7`mKhXqgj=Em_Wsi(n54tSR#o&cf}2%1TJ^-S)HLTl_>+4R4%tl~4*)F%v*>?^T6 zFtZw+JK`6hO1!{pf8i#q&qe+V5M?>G@fyo_g$N+FzFkON#HyPmbmbSz4y)R=FV2Vz zdl^@jS7VI@ThKdPazoo>P>TgcR=SWHrU~@A9Mo4q%;YlzDG~&%l6;NkCXS;^)Y742 zo4!xcLyKDw)QUZ3{1#5E8WK!QJo+Bx1pb^GEjScYfPKS#5%-h05?drP#}fCVm2PRa zV!YzxymfTyd^u-jt$CLf!=cbmYi`|^IIgg&qQawC-z$!m^0sg{(OLTX`$(-_+JO`C zlTFF^#KpR~4EZ_b`N$!YPy@NQwH<)6;Dg(!D!Xp^IWtynt2WI;w)}_U>e8CFJcQzX+BsF|6PaybesXi+ zbW&EqwcFycp+9$!lSru()v`ldG;C?-8VpQp`$&-LJJX@C_V}Gnq_2+dn7g_5>;UKi zYzY3MN{rg`Ye%^d&2Sjji??8uC!U-FVufg=hwsl%s~Y+qO{kx5O17Fn2xT8y5QLXSk&D~h4$e}3& z&(RO9STBmwr7H3L0-IoJD$n{aAk#=g8vB~1gq~ zzRqHQ6+UM)$rFQ@{mIyY8ZtEFPoC-g6!&h}5VP*S2AP~{iKP){BuT5JacK`HH(>+; zZK_8iX`Rh}jG+%vi)mp#9A(av{aWv5t^kH~g2OcFX_V@fx~4TY)0Z8xy}z_;(110g zB~0S+YG+B^q)lo4QH`8OVmfxIGKiBsZZHr91GUcLER&kLF}ixL-(w4LFdXk1c$wUc z6)%&IPln@dX}~&(4XyX~%U43}G|(c$OfKNkAaK`uV7@QQpxvRL5jU2nQvV5cX-QeS zs=KW#F#S->Ru45N4+*=cMzFP=4(UOWub`Lii^Pm0Bb7xHj`CVc_o)aZ2R_7OUvbGs zI@^%H|KNo(vH1%q_lRnWiAxVGrdBznk}Zugv1jFC1+l`AdGU4m1*p1qe!H*hVb6hiX5F*uC@BI7-lyPit^OM>9T!*j&0+r;p~s z+FVnDoY$y!!jZwl;qljN%;IZeo5s)2wRzg26%B{?eWwwyDw2X1TS-?|)YiB8}${JQT|o ziB;^>8vXjQ);WJwoz=Yh16XX3>Mu2442;**HMg&kL`=GKj+^>f0!JAyA#AXE&+c5N z#E_0;;BLb}&@}9r1W}o*!Z1;eB?%Dh4NUgNfT{D?Vh|joyKFdMNMU8-s65Y@9tUgi zwbTt@de@=pGNt!5duYrUb+Niv>ZrRGgdXdN7)=%FRMhqw>Kl7VFa9{~p>@4F&YcB% zs*Um={i)1lQ-gp*zDG56`bW3p=ZOb6DyKC4*(ANUpI>bhMZ6t<<3hloV}%{dd7LW~ zMHjZgB@-j0j%qxNhM%Xd+oWf(4p(Dyqjf3I2p9_d<3oQnAAvbPaD{Ll>@6byS%W(S zU4ZkK^Hw(R54;HG(({Fv7<`*3Ky!hI`fa=v8^v~N zJc5zytt2WXgP9^I%?sdx%Kg|5`GxHkK7CCa8=$(;Y-LE8p|(Qg2%(fPD%tmdZZ}IZG4a3_Vo})Vjbfay%HNexQ zOmK|)wl9b%*{HNUzLe}FsXFzu#cq~vqR;f5V{;gX6l|VSXdH+}%~_x%W5M&vtR<xj_4SIT z;lZZbXEZ3gnkB}ks$wW)IZ8owKEz-@-&Ny;m4m6|JQ6=kt|_-M2@YvJ!Y@e}l3f!& z4k^N?$=QdErE=@C57er-VoL>WjKr7{R)gO%>9@_}dxMu8wl_&!HDhvkJh(=6@T9@q zH-jO2pPt1>`>3!Z(y<48DDeRob_-o)&@Fl#lU)>y@<)J5{4L-B3S8TjY~A*#kxgW^ z`_FF`*?f{ISznT&Hki!ZP;)wQS0+SeQB^m~K3CTB>W8*os;k^^Cw@}g9|K4dVs3$k z{N#u7VKGB2?&6p`79URpbf&@k639-=W=V+0(KOjKoeuL1ma~J&J$Kw@Gs)YvsZF;8 z%cj95p7AZ7t-*-u)pACYA$p0M3v_@w{FZ3uba=r!z zG7EHMt=%N1L_@H3PavCVik4wHdSJaac_b=u5?egQNd25rfAP*IqFhGdZ~1UflfaCU<0-y2c#x&ftE^Hm zU^by;PGMhZuAyN8n6N@u&7_y|zigIs9G;g9wC9TJuV+=Cxl_+sq*U2MvttCBqis(a zhuCS*sAUUJQWLO7K*wc)<;!~mAPI{HEWAm}k~p44`6bUe*kBkgKQ`j@-%dkWAD;eZ zq@0;nX@^mADOeO7q%@;@(|S*l~FNP zMDkX~M3a1Lq%}OlvfWYFuU~0^u^1;l8jt0=@ooyBhJk>KW!YsFGedpoe?mPN ziEw9bhLZH!FG$#T&XTbEFj*#liN{SzCc*VV?Ie_ruAD?jvDz=3MwURdp_SpDiouKR zWE7~wW#|U(c04oHy25bB1S3E-s!FP>{|9)hzO-<$}RqiOVjS$JEyPs z#u=nhrfZS^7PX?$`7m&gxaI=P%rXO!I>Kf)9;Ldti$D!QL4ofX=;C@PMV=SNgw0b_n$#yXaJVeBF*Qaf+4-X+N%s z^yOB$>^ih*E{`)5pw-9GPdHX!7duCmsVGt<2;!4&&2%?DKMlBGZpjE3R@Sj8Orohl z9lQ|tPo7wUcRvFA^l%Kn{jLWTFu?`_Cz3$qoJbP&2JkX!2vC^V#8HRdbi2z|pyoT8 zSQ|^K@R$wmuks1t<}@TM7(VW?a(_pQhBL9LShX0}&4Ikp_@^ z{sK0Q%<-5$4Uk-G3?;S~urBb!LYQ?>R|b>DGW)6x@TTy%y~~6mHh9I#*XE!rvsg|a z6E-Z1AFVHG*)y(IHR|y{%cY<%HC5e9?N73hl*z#lfRpxq57!;|0yA8Hk*94+cIPx9 zzHHu;#4KuisSHjqP7}&DDRifpt)Y+xnOcSDn5ik&2gz+MPK&hVHCb7g1|GR@msq*a zxHDOrM_Faro>s50 z26sa6fq)6Ak4dvt$;FE(+MNoU+Q=7J>@}<$kV(+*wV(C~3D%=y^eMwt@P{fvT79{X zyOn=nFGYzjTuO@h@bb|ujZgNU2sOVCPsQD8NT)1-kV_STaZ}?4j%zs!(@SKP7TcSF zrHl?4Rmiq$WTc=0Rb<6YO8~SM|FF*y`@qY}+PRS`NsarvV{z1G;bb(>IE}d=O{CM{ z_mTR+)1FtfzsQn5)2d*G#6>b;v!J8a+5$8p#&M@Qbtn{6+qPTFM#@;)tIHz(|I9#x zY;DHa89LAF+pP4xI9tVprbX*&wsDCV8HR~eDQG=UQxVd|+1;2B^$W4=X~hzA@EZQq zz!j!Wex77kvZqEocyHXKaNv+K%c_u45KiR+c+3cbfS0aEB&ua zoT1#VYI|byuSh6&o7=j+^bU>xTh|6#NTd#82)vGm9TtC@{C7a0}N*@q@mZEea$a|8Y)+B8F4O zrUH?>?-JGs>OCG$#6kOz6M65LU=t423M2dSRet5ih2B&C=VA$PZ#&Oemw5=wmC$LI zx0>3fsdj7z0vHU<0}a$d+f>g3K-SkEGM;cwj@6(hG4Eo9&zXhss;iE z^R4Vzv&g=`l?SOA&Cpc@+oz!p7_n{sxHt*cKkL2m%R8ybQ%rm!j>`VGyk#pW=)RaY zwQnwD(WNDJOtSlk`ejmHyq|wSi{>U$q`H8If;8l~>jS$s4a8&Znp zZUhl)KZ%dF>i}}Jszt)oue}RvHC_cD#ag@kBpkc9Dk*C_1{zbdUM6v|>Cxz8f1r-g z%X$JSKWcW&{g0Q49ZS;}j^%$4)zF##ru7zG9XxD+Zxu+afEzBe7RnvUzl=?|Kx+uiah%nBj|9sXcLYa+_LK-q-wgnOHEOe;>$bap zeMHkK6LC({IGGr@0P|gLZ9sMWhfaSSH(cZE@YFX^50C!j5!UBXCg}je;vlM%FAF21 z8lYyKLF&H%x2bzovg!nZE-hD;v-W|%08sa7!d`5>lZh%UmO-G6gz9<)&KRfGzM*;j zHEbk5q4Br-dzXhj8>N4L!kvy$Ki}0G@?(gnA5@8Q(&y?Z z8k6qeI-yYI9J(a>U4U`Fn@-KmhgL7Az8C9M-4-{#yk$*`6!Sf`%y&iAA@5^ke>3`H zInsvsP7KOies6>kuHSz31Nb^I3?*6)Usv`9lcNgII75rK02thO({=7Oft8DvAg~23 z(o@)aFRilL6SVi^ZZ9!fhH@Ok8K31*yBvb0z5*_^EKG-fmR~#*I<4Y3kD&Z$gmdNq z+@k(??ZgWiTiJ2rR*E7+;Z%j&FBpkn3s*RF6jwQ>s>mYA%=MSG5bLo4#=YonCpg-1xQw`4uyCW6g+khgUL{T9exzsBCr@*6;^;dD!|M3H zy@k=UL%T7)LJh`Bqnw>z0LE2qOESdk$Vm-xDpeObCqPv!O}88PVrh3_vwmqczT4yM z*kZg_=Zp1?fdW#__Z-_UAf#xWq&WkkXz>NiLz(m(FC>WlMS9=$1M$v4IXY#(XR@9S zZ^NH|H-7CpD3_2&CT&=m0Oiaz_8i73?Jr;)V_|X8_k>`HJU@y6p=yl%b)?ZVv2x6g zf@P&rhY>%4VL(Va8JJ48);d+pRN*0@O@#0l(4Tx8C>)2$5pP2&fsYneFFe60PaSnF z_8j#5QEyxuc=_-@R@8QBK3$p{)|S;3Nz%z<_gvrd=)+idI0J=Qp=f*PE%{eTqf^M~ zlGo_fKy-UvVxJ<%dof%}GYMT!%|{cl(|yRapbXQw3sS`Ou0aI?qQ~m^OP`Q?hutjD z43Ooi)BGG{?Bo6B)X5EXc?p-a&5z672vS2?cx73D-@nBsOQ1~Q2BS?Ad};^xM2uHf zMS(3K=Ghq(rC;D_$R$gcB5_W*5RWEsb@BG308qj4UTa>aRk%;N%N5ie*NPlH(?Ss zuKK}@xI7GgK_kktQMbqO7_Dk62hj{gdQ^JC(!(Krk#RBiwdM-Bbn} ziSV@T8u0n5da zFjpKL_4;-zSMNeIHI?>N>gZhYP#uRIv+3lfi-81AGWmb*Eu?kwD5T``VpX>z(-R(X zjJktu#o?PT|ABdKR!7t!^5A;(cRQ+QSkil>y{5eC#PEeK`$etVwBwW$C3B5n^iwZ@ z5$_H_7`bR8+WkFlr}kUy``2O3GbQIzk|fsU+KD0<$E!*B$(80m`MppTk#>65I2)sF z#4&<4mllIK!pPJXUnc^7d*0KisNazuu@2(7tVX>i{kU+$Jdp+w(k5Bo2*u>5AI9|i zedaSF)UAg_toNHRes5_(I0O%aud$cAuu#ZbUwKpc-|}v^WeXYC3Wxj>o@#rYm)3yIWG|dOw~0o zw$K=m@_AtSFTk#d`&ivkQ93O4N2A~!OxBpIa2>ic!X(Z3x6?6_n;H4FO70c7{6rH6 zZvZ)3`>0#V3ziTIqobx@oBGw-Gv36Tm$6?r!e@hc56+rUgcy%xMFhPFb(c5*VS?VI z6H3^{p1rx-%mtdpbMxS;cx22c_c{wPoN zc~8ghCqD&Uv-We<2C+fgLhqa+L4ajxmQK2a#Z||!pX&8*0M_AAaNk+6SW0H%EH(rA zI|IIbPP5MF^1Xy;rM1!8`@*&Urufw!&UU}ZnRCFK9gc|B2FFiTwYR3ZJw5O;h zRn9TTyXDCeOmT9+*&8B4*n7ffyFbaxBvro&N~cXrhf+sA)-agN7(}a&ab09Tsza*M zmBbdjtA()?)8a`B6Zg9E_KaQJRRe8Xd3^0ps?w*|Xd3?wPx9J`XkeQS>CLJNbcZ0A z8naHxlJG>n(d;moGkQ;%YKrNk9Lai0%D+O6CmWx=wojtvx?aV%BoH(_veKw6EWm!d zqmDZTp{%pGGU`X^0G%=;U;RrS9nfq1;?*0O`@B^9Gn`1V3!#OC=BJfzd4`K4?+~o~ z#w>?tMo-`=Gs&9!>|EFIZ>v!wzDlMR7db)ZQS>=eGmUVTNfSg5gl^e(&#C3rf5(rd|6o)+-8&NSeOd&xZm#ylFAxp6T_ZMnaM3x`0Lt(TaQBB4x2aJJlqd4 zUHZ1seJe7MZ@o$kf=il$d&K%99+km&Y8t8l(@v+rv|I|cp-5_84RaaKH3ya@cJsdg zh`9gAJKy1FB=3~sBX`l-w8eYsbgo41M!Ij^w41o`L?F4Axd!&>zW~m_4gK?JCBgp@ zN|4VTsTL9E3Z7f2$}CDrL@J}obk&5MMWV&|(2RM%C0We#E`gbB$$yN!)cYR3+dP-1 z$BSijfHCa9Y6XjvWlZIlWJ$0jcSACNn@ydj`R#R&r}!3 z?#kne64}T$VTc({(v?d_)fbGjOg+a?IQo9JNKnF$8&~!9Z0*(dEbm-qD@=7|9YI2g zR^%XFX&nYd7P6d#nT%R0HQ-DIf*8iKrhe6P&8MB3i=KwmtTNM19SBk8HOvAOHwZR| z!i~(2W3KVGi%)J`-V7-o77NITUn?0N=RhEn)36uPqQksVu|3?!mXUoKZc^#gnUczb0?*=fG}CjkRhrEPeeL#wyRKP zcHo&mX`V|t_PzYe#COv_oO%GXY9=toXsrHsq$6UY4rk(Gr`K!E2!xM6%>n_WQa(%lJ*q;##!q`=s z&ek5u=tkwL*b}$}MoD2+xD@&Le3#mxMxGT*iF2F_aS)2BB|GS?aPbTIG*C*Szj5m% z6UUa@Qscr_vdXOr`}qJ=EoKdqXlLZ+V1Sz=JGS!CDCZdCYikN840fVr>H5Z)$3`Dc zE`^PiK(Dj@W=;sBw@OT8lzb!<%TAk<)_uMF`*Z;v_l%;&~uok}L#*m-oq1U=PReH8lW*m26v# z>Y0n_$_I%N!-Fyhxh$9xqXil*W8p90L^|L`^wUHY*fS218{qR-xKT}yrCYn$V9 zm!anofu6ZLn-rc>W3wv*un~ziiZo@4_gCDv{^Zc|ZPawnSmy-EWfLrSRgsV){^#zG zgg%q|Q$-78n_yT?Ou3S`81l!US>njNViC`u*AXC8p`x-wb>YVcRWvf>LL^eUXrF#H zi;^$+Ji}rXRPgZmU2L+mmnJP5fH3Q)Ruo~cVsVF~IeZxuf)X6d;aIjbVn-&w-v+|Y zaQA4Qg_E#3t;<$7yVZF^JGdG8jDgvXC^PJF3Aa@V$ZcOkNo7=$gs_9tpUKT#S;k3Q z8FS9-)jZT*2!%?7(%#ntgzWE?#9f(={4iU1h6(D%PpFb+5xef=)RT^`VDfo>W&<@? zuZJ5}f<8b`DueyLvu*7jG3kBtc;-u~1Sl3mtUT`a?YhSk&IDbFsO9aH(u1-Z!Ef1@ zw{(%s?7|$&U4h!GSdP=<=?r}1RQx~EIy~tI9puaQ9`xhA6Dtq$nnO~E`gzPpQ#qR& zI!%FY1GI`dKpnWzR|`3*8%Fbz;0X(KCTj>OJQEA&5;1@D?P${;M1pAoYEV8vTv($| zal#%(ZHnUKv#HS$wtN+C-#|U3nxM-N4K?ltBFc&EghXRwb?vDY?OMb#sWBfV=&)>9^ZAA^%xX{r7DQe;w z34<{kypLr(C{Kq0a(_lhF%c0ah*qNI^stNqSMbHm{`EV5K3YR)qxX{!oTX^+DDNiz z0(Ou5u@ME|E-wxLdm3cXqrY0FF1ilbM=9~mMWktGgrjhRQwWPhh{+}TXncU!@{%hs zhwQZNktO@)FMtKz2k6j$4x1#hVY*Msd!g63N3Xm%fv2d8@R})bjipAgfxKCD&xhTT za%m7S=;}+dy*(q-Hfi5&TwF%q@1*X9IV0ti@syQ3gJ#h3YdzDnxE;i~_iKgu_@J)r zL;3DCLfkT%CbNVRlZ0w`_=JJ(C0TY$_IrW7Y#_74qu<$V1i|pF2YT3IXj!1PB`N1I zMBn<=&lfJ(A!n5d( zKpwv|awiI{xNN%3-PSXoJ+zO_;b1SVi}TV*L(318o;n;8PviyexFth5Q@p?h$?ab& zGZ(IDF~W9fW?(f9vCiza3K{Z(9}-m6ArmwX=OO)S*VW&U;P9w7Ym>`q!4Q50*%xMo z2SOXJEZv7}sdR|kB$J8z&%F3}Du{hpa_Sa=xs|rZo8)2sWd^ew44`hK$&x1a*Ggk{|ghIJ~&(4QOYPTHw8fGbT~4#n_5H)Rd|* zK8)2~uW%@~uj=Ud`9v?b=uU^V*k7rv^())EGkZ?)FA(3lGMxmwI*M6wiSJ| zo1HF9ww=*2AN|Cpt;kJ9C-z4A*810D;y{ru3kQXAUbFA{((CEP@|*MHO*z)=W&#QD z+(2!hB&H%=_Yx~zpkKv?(Uz)1*fFY72~Th1{Pz6SZQ-uKu@dKr^wbRaqUSwLmu^@| zUm)Dph+;HfaOfd-0R!HRwYgDw2xBOBaMRPt_C6j-9~|; zXA?GuPd8=7Pl&&Nvqi0;cig~wPbcHs7Rbjkjn&0y^y;+u)>SVX{0^eHh?`6l(@9qn z9+^eUK;oK&{Vkqh5usaV&T8Jbm$w8LQVDlLb`MDCMl%h>n+=lxO3K4_V8=%|mP(Z@Vj|Su0yedRd&eJ-ox2R7-)IGCaTK^|8s4TS0 z4Jln-yY0NSHuZ@II=9eeNUlsPgSvD~rM3s7WQXOFT@jf3S%!&t`qd{Wb&xnl-poJu zlIWjFUt+b3alXu~N7dN6js_+gQs8Ck&K_)pkq35}&IKtnJd1!Lmc` zQb$|FQ=|S~+qUu$IK3zjaStM|nc8EEiZamS2AF_yqzXeI?Wiq%oE|o^D>(K@NL;pf zpfS{P&9i*k83ilZ4lV036Hxh2)d3a};(b?@r_Vq5D)xlrNqEd;)n#y|QoQN1Jxof< zD+&v&bGrgwWqc!w!*}B2EQ^X(J5AN_Bu5RCHMg+o^hh>g@0LPK9^iGerGXL4Hi!N; z99fM=1jo$3(S2@US{gVS#9JApk%g48#BCk+&vh8_a)lJkCSYPJ=cPl>oJl#zb3S$Q zwS#J>KAq3%Ry+IzmbDm1?iiFIe6^GCfZEeiBZ6L-ro+TptId?K$L=SWe40faPi^H@ zA%xee*A%u>?g{&_t!ZKY=Pa(I$^HeDPFu?}HgVBAouTT^QEck6YH56@s|dd!rgf3g1=f_w+!vUATS%bohPDz26__u|MX5CZZB_S4n>j}v zS&60XCe9(X>ee22yZab7 z+O!oH%b~w^%#;tp=II}f-bX2MqmfZszLrO zE~*$$-hvq_L$e_vV?X4l=>GzazP}UxI%4L|(=N8*VX$ZU-@L~d; zSn42~3XI6@u@SwLKGjRoqrQWiW@@FH$RvEBUb}d7RFm3}H7^>yq0KAH9iasj z<#DHFMg3~v69%45c3zf-s3kh~0I^OW6dq;@saoikPdom5{<8aZoNK{MG^M9*ktX?g zDn4b$+PFzsb9cIx1xXb8rYh8z$qOXdqzrd78Ud;m&f=d3gLL6|Qz7PLn;uLRy`uBH zBQ+Or;J!_(risrAwmBuC@|H0IdNjC?x0;m|HtPyw6+rYK(Dw)_I$43t6OjVWUm=Q& z9WljQHUEZHEN0eqXllQYn1_Vna$~3=lCALt_q}WR3Nd^Wq%el7m80hwvdqOE4!tLj z;_HRpJK1>(7NM!~k9VrjQFzj(^SL^(k8+E7ew}IZp_1Zg-#H(u|JuTdta>zG4wc#EqOmWz-SsIGT-*gDd zZn7shF`?6yfG~>^($FBdc=c0<*Z9{GsA3-i$^^5+b`sH*s(&8)y_}i&$281q_r96y-qgP9CiI6PYT;=V$Ui&%z zNwe0}f-0YpZYSyR`-OkKAYvx2tjr_t;*I}0LMZgm{;S!(KeIZ8;+S<~QMO@}%kegs z6nErm>smU~XfW}3GYVSG{A=i0-N89r`nH5Oryz@84ec5^3YUNkbM;6&E;+mo@I9EP z^c~|+SQXbpI0RLFoXND(p(J+)>}WdL9`q7)sbBMMv!8yp4KJXf;~pu39HA!M$l%iU zn~Hf3ZR2bg;a|O?y!lE`Pu;dG=4wDD9SbJNNH2C+b=I#eLYP*xuVB}%Vq&oN>+vpO z-G~oRyL|xBSV$M@aPq931RI_?P01E5bz((Cwe5BUJ7mInzk00tufYSq_H@)MWpwm0 ze|w3&R+5h2;wxVAHc||1xe~jxoNeE&Ou1%#Q+!WtmOboLx6R;Om?43hsL|jq6A)R~ zlf)1v(7FkG%{c#*kM_ZS#D!glv~jd9i_et6nov*En}DOm==1u#|Qcc!|D2n{ah_aNy$O$cYTeva=lYLL;vO>^O*2N z&Zotfmt^c1uV!1I7#@Sq*(}2%=G%E3*NH-5Q#mbP7{;rHF6`Z#|0p$5vuNpU$Fp@q z?noFgZWEuaA#>ZJlLN>h@ka3awmY`Eh&Pm279er1TTPHgHF6Qb9t8pZ`OH`ya^Xfj z0nJBWMdD0b>yF}3W!uGH7AP`2NqhL_m)t2!^ZR%_UDzz0on5vSm(@Jpa5)FQTNmh` z_Z09KFnamDry`wbho>nti>+@}ZGilj%oW{E4S1z@d{}NehqSt z`j8lS zdj;yNYjdN+{n{=l&KpbA+X)~bBYlkl&}O1Y^EGkdd*Gj-csbR$)QPNvgt_^9Biv+@ z1W9<_Ey%QoY3q5$tyk210CQp`c91H^w<5llJ9CvL_LlAEpI|Vp1iD1mW{zl<6H~36 zo@ank)1Zuf_qDbC!ooPV6lu~mu%daug6a6Hn<_x#CNt)C+9IJez^dqgEkf|CdbMI2 zJdA}Lm8BCyL!1xVahNGc{1*b=EUd3Po9e|n(g7-gC)UAaCRG+#OMj*hxHAy*lv<$I zc`%B(p>q)=P2Fej7^in-DmIklP>p3>cqON(V+?YHt`ayJce<{;rdsjNf0B-oIE=HS z8eFmy^{;FP@#WKbHeYy>Hd2O-_tV5wxAstK#)hy<7J2^jWk_~HauNh+6f30ZVTYwH+k_K1vRkQv5 zzb$9Wu`uh=@^M&NIBDdL-SpmVbk=Ps95D1G0ym1s6tS)mfqB1_$xnJ~om|&~Wa{qK z*3V3n8#hYIV8qsOp+OIc04s8YZ+t`JUosqT!a7#%@J!JE0v=&J+*-)wkD-Q^16DBL ze+zrzNu7oSZm+26^G%ghVt8Z_4#Xwj%l!!AC!$CaHf@aOJDMU&6gGM$^(x%xT$g8k(bE;|N0*}tO}R&xw-0g_BO(MAeMnHV z!RKuJ{;4{)Qn!S7^A@B1v&Pe}9#jN?dB^$-@TIx4WpjJ5>E7t34W$v#7)Q?k4f>UD zdt^>}N_TWO+qr_YhrgwJ4deC^jqto-xA%S?Mu+Xt?hbX>Yb;XXM}m+f$`&t|*XZFn z-G2HPAZGL-7{gy>QBi6C4^0xPYXppU(!|lrm`_s(i;s1vF5%XsG-;{j#?ZfR-HOUr z{Sr==J+skKI#(H?EKhy`xQIWC^j}Wwc@=qR8*#jrJT_MviFaR-XKi?WS<+?YX<2kc zDO>KUEi3YcPZFH;^mS?})YGTKVjdNWL@w=QV<7j65ZqN97`f=Qf``h5HaC-ct?_Y< zQGlT#RPPx9a6$mKq!hVSO4FOp+{#IDP#bT0 zA4)RIKPu<1mg}3AjcVJf*6SXZur&j=I3`SOZEer?%&q4bRql{dJD{Qv4%K#QqjRyx zb0PS=uGn<)@2yE_n^AQ@l#QF%0{w)H0gkV7#85QSb&A{x_de2Z(4)bY)r{TZd&ygD z#?>T(v(5#TK9z;mN8!_zU}O+1zUsAG${xBNAw{<`TkfY}hYNKR;=S0bonYz?X1Ugt zWxe>&?ua>suvxNyaEft1dEIXI3Rtve6M9g&iSb&y!z{kSt`aB=Af)ietoCyy(w55i zlou5ywSE0VE_ki!{R36c+)}S-GA3u|ZabWuzXjH~{|VYjt-gi~9q(3EGYf!5abDIa z<+v3k6SKYPauc*s+kDf?M`pRyJHLIl-KjA%=H28ytF)hXn5^>*Om1oHVmDFGH2H1h z$lADQawnU`T zgb>yB=^tQqNtB!}kekN`U2HSB@uVf<)t!XIx`fEotofK%oVe;M?IwOULtM#7yp1(r zp{X}PJve~jvR%{jw& z`z?9w_aV9vg@te9;roRAfT;_O&vh(7YU2aXqLp&CP#{ObQrB^E{YL zSSzye{N^83Hk!)babCy>9>vC&-iqJ30x=?#KC{j4G!|iTYYe9&?nmML1>8S7NKTBB z>J~`=NZQsZ7BjpYcGYu*ind$4{0wz;D+-#PG|LQ<$%_)Udt}hqcCHn9NK+(4V0Gr9 zb!d%vsWWGQ!O>s4Mglp{+#Xr$a}wf;7|eZqJyqs3X)tD-*wUbs8duY(!#d41(2v(^ z=@wth#PrU+kP#ejKYwtK+<^Nw|)DA-+Lufx3r)qaA9pNx-v zf4Z(mA8j`ykRpwGMO&(U8% zTHSV(px3V-XSkzgoOz(}49Y=&|HE14V3&wn(STiI`S0rS#{CEou}1s!%Aux88>C~1}!RH|{m1=NrHRP$%sCme6Pd32v?Al~GE zhBx|`jXFtWlPo`tILe9cA@`m1YS}f`iTQ1pJ=c)2ZEmZyC^~jESA|-{RAm=dmX~F- zD@@~5?YT{AkkDW5RgAe`y?R&+XJMIx01e*M;V>KZ2Z>~tv5SrvI`*JvNrUeilCNHl zTh^5bp2uRO=zhNhL;Z#ege=pM?O11f9i}ZjgkU?71us2#q%Xf>FRetG!|P8fWI*&% z3BKqaZt;vsq(-omN#RQ1!8ip;dK$QT<0;UqKVNtGVR|6Zq|iO$giq{T3?aa{x!Ll@ z;Co-aQ8X(jmW!#p{U@r<`x_4L`}(5?LDZ=a*S8RDji!Um;LwWSmZ)S$P3m@S!<_~QSOBZ#Qi&tM>uME)I=6hHh+;%1>Z*hNVtV_mwO2mH~ zh#43rQWH2+F`Zku@Ta|B^hj(9aiWG{#adpJ{tvKN6zcoJ{8`!DbphoZSHU5raB-$%){$9ayDxJ+$(MJ zHswcZi6~Qwo7_9PaEp2v78f2gS7Dyg=0%(24TCHV)N>L1R&ke^o{Z$3)MG`he3E|u z(X@`G*+CT!S%~Mn(Low9W4!EAT9&BS200Dq7T(C2g(Ak7V(jaJ;o#%6(^H+F3I#og z3Tq_xlAzqfTu(#M;?X8YoVp4kfq3RWFvDP7t<=*%R=nkV%YDmwU=wU{UOc&$U)j0; zH;`K{6s*P?lG!#HWIdG!CX@U28e%v0wo&|;zP#I>p#li zoB_V|wIo+R#*397q1UPhf0F{p@?pGgohfiwVeQ}nA*1Fej2-~H5&*-*(;_7di=y9vR4$u#K2Gftd2;als2gB7Ygh-2r6Vauh_;(&TE7xpjtW^NnVy%S6Zcl zJXxm8YDKgTFJb-wL7TN(9?F5ZLLWV@Ff|8ngvOgxOC8UWFohA>XqZyDYLf=pAp9iJ zh+2YkC|-#E*^r;QrE9w{=5tT6Xgm*Y%@)koYf0#X?fI(D{sa&I*#d+7G4-oUKm^Xw zbG^i@zp}H-_p?W^!aw4Pma93UYj@d>ZdghzO-Fp4US*Bw`BYysW4;k1f1STvj(ZAl z=5pmUR)Wcs(NoBb$E}^d>G+R>2T5{C3iaI}lZ=j4=x*3Z7~SiU5ubFKq7-%7=gY>lXn$u!-S?3yU?h~afme8Y;p4?ND<4M=`Ceg>hv}>m+HXWC z2!xQdGbRi8D{{m>S@rB`6ZP(^^O>IJI-MS5S zkj*kLgwo!ZEdrJ3CyvfPfJ+{5J1K4)-}0elZ*OJg*#GJ2yx{!@aA3;E-}XJfk`(-? z$ao9M=>`^f+nJ>-y`oGNid#XOyz?6WMm1zphDw&D5ies&wDGrtcgDr1Oi<(XOn>2( zO#y4NqF#Edx+}>pFaPISeLv@0CAg!u=L_Xc&OdV*sE)ykyxB;0zAbC726l)Wcn6%g zF1EidHC0)h7eiYX+${?2EPolY$r7Pbts1PQ&CO!>af(vZ>Q}2w#wO`=M}WlUBo zGjHCKy1YnIX-E&QJCJn_g|tAHi`x`c?aMNYP%k-mzo?X5IP+Yw$Kt6Dt@ zmNhMf`=WgGuXnAG0^EmspMr}pEH57x6cQoFoH=5`vA25~dP4_YL?`UL>d($lhG5wG z_zFEIeNAvSvNL0Gwd~yVH}F5SbkR~^Rsf1Xwl*tqc&jJ!VsVXxbu(tTdT^~~v%=u)HrtyecyN}E zeKsOrS=G&{z26ESiyWc@N}j>P0%6Aqdoz8>q}v*3`Ug0^_;r2U7OHb_s;I4Q^*t(X zlC)TvOQ%Qd3##^Vk^AW4OIOQ9Ig~_sKXz-BgxzL@8uyIHMyTK#vL;LR?A0Z2j-K3) zPfo?gAb`@~7six5jtNGl5b%BAH%qaM+I$Rp-!0h1BTueIbFda!0O^YgOhxu<@D+CG zCHNkoZzeK|r;U#-Bz?{81&_QD#Tp0-A;c89uYI1^!k!2>r`M`kPYQUa&^n-gAsA@r zkNyT*XP9vRc6Kw1*pJaV@afmpt4MkuPc$^ZU|8?S{hFeKW011<2PXl|Gl^Y!B3-|k z@5$bN=5Jp*dGlJ#sSe1Qjck(`(*JSVTqMKNMt2eYo;lx3BIF6Q*k;^8^xcq6-nsSY zu{4DreOg)%_|vT3sr0izrB4lk8Ucvu%q_Ko^@S1 zE%38mSwSE~4oA!zn>HSwF+FI^l1)p@?vw6%XM{sAsDL>sR3anUcT-ch7#)hkqf1v+if%EkIc*?oBH&l<6f6=D45ytMU%nex8n8RDjd zK+VfW(-`b4aTncbzMr3WnXBV7G-{WCMoMwMwoo`W&FZ|o$7qNAm>V0@a9rWBds<*N zDU+8X4Atg^OSxrj@DhJi5UcdG^!Do21+a5u=Fp#NhR)&=^}A8uX^b5feniPbrK^H9 zc)s`t_k2n$Y{ZwwX87i3ijG=e6*ZOr`x}uMY2P&RAtKvTJ0q-jk0{7Xr_vsro#4n$ zof0M!iSXzBbrN&uEMU9Qt)7A6`U%W+KK1F-|ZMnHzHJ zLE!S3Ld{U+4cLf7o)cP%FkhiE$;I8+TPjxYgJnhy+banYc+@axYrvo657e_{xDX>T z49^Mc{x0R1#KYN>H41V)Z{2PE=>LQ>Q#+OduWzY`WuPM-I(k{%FPMMShhWR)%AVrW zFg<@E@GfoUC#Cu29}Uk{eoMKlzXxDp?M+Dw1L6>2pN6KRF(7TlgK2gRZhzx!etIoW z>5u2iw^4>28-Bx9A;c0v2?$a4#Zjk@Y^-q8E~Se0t|xs$Yk`%M;;&rR)rNW3ng(9u z$(X_461wuoJmH-0wC$HeMsZ>ZT0`GyEvBwK6d$U<;hV`#uaz~TM&NnSA)5nk+@-ux z%6*{~#Q=;e2ym5v@gLyjQRZfOfN^Q6EW;0I3!28b>p=H3bXtD{S)=BEL^x4F$TnXx zZ2Zm9`M(cIBx|$F_Ao6nglRn}4Fjq)6w5#S15+W7<&-TPCf93LiHxF;2l*Da-TWP{ z01+8z1?vv#DWsQvNGLM+F)Bv9wp|$J+)TBii2K_od0s=!KIm_(@IQd2&sZGcMGnp3 z#XG&Lf=Za|XNL(cnWVTg)Za1OlkwZ>0_v!i$Ctt{f|~t_df=U zO`|LiydCIc3IzVHDLrp+vD=@5l~TOQ$9T=asgm40j1)FwSERcX{ZY5&N~@ra0XPeAKneQ8C!H_x z7ZT#!2r<8n-P&!8?`n6`ng!N)<9WyB9*sn)Vry7_ui`VA9*Z@Ri^AA8_%Wr(b0htgu ziV~osrM#exp}WBv*~a`-?ty!UwhCMQnecabNeBFPgA7c0xwm!Qdjs@J*wVgW;s@vU zg(-FSwEqLJwHu(stPnXzBTeP2Zs4-RG2n)8b>BLwMoy~%Xd*2lIyfYm@+IkrSQ2KA zownH*T-4|T$f^rj4cWar<hO5aNc=_I$qn{H;^y*MazcUC-NZ3^1b^?u#9?xbcyy zz7B?JF)V!a+C{@Yg+n@&F_X@)DD{rg5qa5 z=UJLP4u>gfj@6!Ui{QwT`s}wm)z+wCL0sP-{{v{fN{UY&Su;Vf!BnV+Wq76)HiVl2 zW=CR)uI>Mcpz~D4)}o{ii7VHge=$$>8r{+bjcZn8B<7_Ic!X8>$@lKq1~U%3z#@_K zi6^_CEEl7dw4Sm2A#Kjy{Rb$oj5_VU{ySh0Qg&`g^$HHSL2mx6!flUD|>fddHj_N}0dm6-iQdz{j%aAy}xEgT&2} zeP5~ruqrsuRgvB?{qp-G1yCw**DmgD4~m&!7ioA?9g=&ITOg1v=4gt_uw{bw52J4>Ro&c>Q8iII3z>jH`xnKa` zQ_o@-R%d3E+Z1&W9LZOPGVjUTvYe7U7GtqpoJj)(%S*i zE@}$K&RR5D?QV&70lD8WtNCY{FtIXR91z#`g(X?Z;I3LgG`XHNd2uW9OBo=#H&{SZ zAk52YKEdTK&%Ny+%KRVT8@f6x+f(PG$`oS@<)PwU?Ot9BiGH5lMSXq755W(x>L(1= z@bjwV*TIF6B&=9x+vEw3w`R!tb!4zg;Fd1r z3M4+{y$mgL3L2>54LJfl=JOf@as5eQCLMc=&p_mNSvLDRgX79w-?Ie$|?xE^})hRny$fx`s+>24Jl%Xv@S`Q;C!lbez{?V!jrTBgU72 z_HCz~eeuVdp#PmbVS`HY0Keg}2|Z6592Eak%d%1=&f!_FGMBp@7_zrv>T{1!1-a9m z*_azSZd3G*TmJyrW-0{toiN1=-iAqn7%{w0*rBAZblkO79q_?HE3x~)lpb1x_s$qn zg|3Xy6bpn1=7jTQHJ+>dt4cS%D%T?CDBf?gBNYN73c6QMq|bXBtf8QUFFRVi3WlLb zlFB$EwA|d&ezP$}-xP*8I#n%X=)uwx!CHjC0`JH|>3@rKYpz3P#aJEO#DMFq-|vz> zDza5iJlEku3YYC+&;1eaQ z8BVgmYSY8uL6Cc44OIN4^^24EJY5gc*UCng(%}mOz8gyGa8ltb>8A5KxMAQd(vGD} zQ&_O!Iwp0d`nC#7dU`zc6v2nS6k6E-z+Cl-|4@wq;Kuq!W?d~pFxu2p4**mhlhn?; znXoHfP{G59b=`%Gb9&Pz360s51oedVOVfG5pk6%C8;<3m?Hdll?WAO=*Ve=+mo~wz znpboDoz&&w*vUVDws8}Dn4CAhh0JI%#f0o(%*(zN5Q5=M7jT}Mc$r4VO(tjJFC4wY zAN33j_$lg#Gfwd(j4s=yo@7=o{DG||e37F)1j9mm}*qGCIF32jj`@^OJ5TWD(i-iJrrH>j)r(+q_2 z4?*5fzI1WXI7Z>X1wB7Tu}1sr4*_qc;gZPqupNo9O7Xd}sua^+dfx?!;c;}UyC7VJ zjFzDf>(nJ&L&p3n=#N!wr1TqZPm3?*3zni<^}C{HXyB8W3G{JDSAWX-P0S3@pEW$fQJK_2IFF(_bme|21vgxe{{Yi%fMKMR!qWS|oq;Y>&$bVa0+zNG zh8-QBDLY?q%_m+!e@_Je-#fE#oSa`L0Xo z0jy^5P)urtdoNZ#Ir8F|0L@diB*|{=%n<#clmBgc&SPK zWSz^cAmqwA+891O?KLZO`n6GK*y3xsjz?9YMt6wHUkx>S?J72&~1C=R{K&?zTD^? zdwX1?Fmisab;n7u-3seih^?^m2!sZz3n340Xv>2n2JuiID^sCg+iEmq?v#p=7WH(N zLD38qS68khQ(8}XR->G0Ve-k+^wa7j#)O0yMVR?QK}qPO9RJD$D|l-`wg0v`$KAr_ z;ANF_z}lG9;YvRwcYT|&Wpb-_gKVngR|5{kg+N~~}gjRGPR-v0thLN(!6SoLxWFmDJp? zyUPlK6<$VPXDJg3)G=s7*`$qk}b)0ZO?WZU2*hTOm$ zJoT^1eoBfMJ%zVX8mRH{IPP|;o{E|^eGX+QCtU<`MqMSjM$lW4{1sk{q6R(81FE0Q zV|lIdA57hPFgw%0AUs?FnPte;icdfb?0Jh213E({K6e$Kuchu$lAfN0xtx5W~;q&fbpS zFpm@0q^qZGbS2#q=U~Js`wWs*@JwV%jGHd`WT}-XZrykm-^#m{fBgq=^6ReX&&y-! zpxz38wq!97+xQ3KAxrKQmh))cxX3y)-nAtEynb4WP;bt>T@*(J&WXySYc5nsx^4-5TTn#ej|>Z{{aKDMfy41&80l$ zr$Y}Pci}DB82b-S38V04t0Rk&)p~^*cR}*YJ&aN?G(MtiZHl#SB1+F24=iiXbc11L zd9cMImXMa@$h;Ul;_ehxE1XQy?uwO0@p1V9!y*+AQ+YA!bpCrZMCV4r$l5IeaFbhk_@uXJ4`5IdS4n0JEsPX~*Fk2eLFonYY6e3bTju#`%rV$>cpFI}A%Ze_`qU^yLuop> zLERwxMvJC2u>oiFgk5Qcu0?r&(yEEw9&0!0ub1&J6@E&Zo-A$e>(JoNj|ADONTfz{ zuHtO9`Wr3g9emXj4sgCFv{iTmHjbzzJNeiV@|AZjrR~G&@P>8Up<+rra2DcRVz0odD3fw|6P4XU*%?GjJN7LJ?Uv(X3HR=&%;V-g0iB6FOH6#a}iS(by(9Fx+%K* z+e1?W_sYYlai8K9Yrms>GHd9;ADzjxefmfr{@lw(l|k2$;X@zJT&7V7M68ltnorAE z1jG_PxI&gnKtbXeL?1Of`j#OeMvv6slu7NBWFJOtfEhxlbkLvFgBiQyH^|wupQ65j zZ?M=U3`Y7_-)Tlj6;R)2IYf2;YxW>=rr>rI$*Wq0OoaJ?Z@4u%J=_I!E>#!)Bn$XW{zWmS-DvpC6K5r+6fK*Dx;{X1Yf&svcYfbB$Lk`LvM{ftt za1e^t!#7Zb{gwZ*6o)9sMtBmpAB;A26G}A}YI%4#u*scd;of>gXI>?ry>epu7??|O zm-Liv%2B+VxWLcJ{JEMTL8x$Zc8te%vT=`ibMt6;#5G9^(hngS1h2QUF86eag>~l| zXj!}w|J_Xw3+@lW(YIWmG$|%gOi$Ruo-Vym)Q1c4(b(( zV@*e$awb?|+%W*J7N7$mo|@==-{uc(+TE~wpnq5BY~XD$1hu}ZTVK7?(qr6ZS^3e$ z0#iUiW^3g7M%#05%c#9bscOn&l^@ASV_+Uw<7Gkq(SPO8Vsc*R_X#+c{ip2xq`(V- zyF=RwP1mMyClw?Lgpgk0f3Iv=SiC3(JHYnheKG3ui-ii;iJSUYeu?NzH}EW8X%%vVhd&uZ))xki^S8|zY%?w z$Z@*BZ0(_hrg}mx1P|FN_k@V>_QU4s^!FNhDXwx+=))r;e@pnzQ8UXhB@S3NbI6pQ=HBADZFB?wP>9F?YDCkRA z!iN>D25$^bKn^@%;!eg+mlYsP%&(Spp?a;WHcCm@xdt!ZV6@1h%X9T;hW})M)OnJv z7#{m9)c7cD%UL3hm8m3VGbn{IEX0D<&*Ar$l#2 zr(Bsxt4^@ms9Un40R$^83ZSN<%p)c%A|NSUWOh|8@|t7uXfI}NJfE)WeD{s?X})u*f}Yw~2R zEmF;?Z=?^Cj?QZrmr3~r?aZ{YqDZifHHk9o;#C+v-jyvQ;!jDT_}*GU>n3)T5??ZRQ%6@C1Y`D`bHZutAs$FgE$BH zf1ZI|J3@~BpaA6=cNo+YEF6`&_561dUg57jJ6qD0Iv30T?XgMAhmzvl3O!d-$1v@qRK;EV78WFwM2Gu znSW^H`>s^0^Zy35Cx1pc$H9z4mTP3adx!C3S^LrZ=-4v0+-8p{X^dUUA$HCPV95BI zZbF!#RIqKoeg8grDsQdbju`WWVTuq)XW-Xm6cg2*i0QS7JwZ|n)$_>!=$6OlBORS*oQEj478MOJ+i7Ucuv@%C6H)Z7Mqm#ldvP!K6 z4~3i;0YniF`^2e~>yK|0KcrNd3fr|VGI2eh^TsR#+DiR=SM_Wwyzh*Lw`M`+Jz?9H~PLw`#`$>rQDLo^5@1GT3jY4k_ zhTO~|-|sO7!9mvp_``(n!=H|gl5%3kHDJH4LJ;qr`oD8ObE1-*&pvNysqe7a9)rg; zI$(9AQtB(FokvJhy-NK3fYqi?W)dLZZ1mL-bJ4ZW1IMJSFg{Y@K)1|g!#ah3oc#S6 z4_BX;Esx$Wa0l-8Oy?3+;MHNss^NUbCxKx)1>GZgiE2euQdvN_#9TAnM@_q~J;`-` zPIs;&of8zR#uSk@SHuIruqM)6%`Cx#yK#?5VAb*dKA||s4~ThrE%DgH7$&;Xe~C@R zo8H2iK#0*AgPnKKh+6i`7m9p{o&AV@5bapC_1oXyOv|9qe;&j01q#UD9Lq}?#hPdq znMn{G3B%MF+}muw%gZI2f?y->8S^wSuW#r{tcR|yj`+JWE7GM8%Krg=n#fDCk9ue; z0fQ^TI#eyJ;X~tiUu;eED^jGX;R@F)5B~u4K_Q|PSkTS|sjF(WGZTi@K={Gs%IfLI znYCLjyj77qh!*mSbK+2vM&f1qNdzv`Gr7$}y{KP`Z%p5_KX(fzeh_;tEZ00rZaRiu zuyQ#Yq(2#Eb6)<_RIqO7W3|HT9j~fXr8%ig!EA79NbfNbHOv+c6xm|d7u~K`kID@- z#)l8Z2Oz219q5=m{Ex&)kDMO31gsocJmpTt2+Zc55;Ls#o-LGw%3`;p#!XjplXDSH z3_r(rY9UL*%=o*05gw`veb+p9pG|vzfv?{W%Eu|mD}>2Qxt-(CsY3GweQvh1sw$9R zuP6?c-)jy{F5$ZsNQ+UXcfI`nSjo={#E9K4SZ-NojRnWE4rf%?-4c$nZC$$}c6XS= z-R53!oDZQUC=6!j`xVDa3A(=9`SOiwlF(fn3zNCHlUYQk1^CGM(@@Ww-iQAKY??6# zttx1;?u5BZ8DZE1NlxrIv=ZCcb*Q22F{3d|ai-h<0L(TV5eNPFUi6%aewuf010|`d`^E_hxO8Ml_L zi~^}K2Gh?F*5rsaqyje4@{SuYYqjY-Fba|7c1SsLC@X-2^Rv!GuTAm|lA*2LH>id@ zTA2+C^jcvR*h&0hu>usQt>kH^dVWibGw3G1EUJPo-;u^`v0sH{`;AYPuRZ_TMaa{T z-w2rTr4XxYfA3bKCmbhwkl-x-?nH~0Wurd!gYKDJe{YYiuF9v)KfO@UL?bO^#!ICo zJO`mUgU@-}oWjy}_)dy0OQ^PBdA`LCX8)@q{M8&MW;0V5mmd?cWD!HjPyxyJCT-W- zY&MACauoh!HkTnzVcB+xi{FqOD^~dC3?lD_z zdbIZa#5DT&xL=3w)t~TJ#0MZG0_`1nt9!vUY@i5IW7_V;5MT;|GGCbSYi1W+*OaQg zW})7DA&k~FNL;t5FHlveS2!#PJMZtRI%mAsI$!S>r($1uhZe2(EU)>Q$LO+8$MC)P zR7N0cH8=xPKU7TN4Cf!f&B$$by7G8_T9I2Nfx$-aNl-Pxq_&6vGs5AKRa!Ccx3^^9 zCy%n=K8;m(zrU~5MRBMf_-AMrvTpsHs(-z#8&@ZX;JyPYTH6?No|md+{m;S+LNXV( zJhs2PrH}kYxjT&QmVd>Z)pWSV8$)Rh`PWYxv^J=A`ntaLZ%X(BAWf~*C;H_}?rJ!dK_vD^{1;3~w8h7)E)t0d($FXFS_}JM3pPqTE8Qut z4`Ne02EsK{Dr7cDA4m)dnS`>ec4{-aW#NLQYN`D%q$b^<*_5iUAjy4+%km$9%*-}+ zUjKz{*1EkmN{@yBCZG%Cmh=3o6dWn>tJMA3we9WfM0&>097$4xN>iju);kl!B5lHe zr1G$~^Zm%0i?f7cOXgDnCDReb(=F!>O)90G$5%0S1f}R4@xs+$re;$ouIVmh04qrU zW13M(+|g&61U+qLlIJQ@${#xBAX+nkuLC)4A0lv&f(>nJ4g z#~CIi*^|xf;hqz1k311<2DJ{2d5h!qs8i^N5rKw<^XuWZ;j6Lej$ksxmtN`X>?|XE|Cmz!tbnjef0quhESFCv_fo|Cf=Tm$B035s# z8I8bvoI?t!%}O`PykKZkCr0axGM^lo2z)!u^r3%YRS^!)l}yT$OxRM>tSRY_w7;$B zo)BJcKg0`@_}I-il!{|1rB4r)EF!+YY%>$Nq}8pSRrtJZpv}wuhMz22go72%{VDJ8 zSi;{%-~uPn7qtOYOIqJ+oMRkFc?*yNA%!2L9>w%Aum4_ecB-jwtuzXz3~Nw$wncLi z;E3wv;f+Is{Dv<#{05u9L33tBH%x)<$3DrDZem$z{Tk$A!Jn#2%Eh_dhbZz1hO%VQ z8Rga{HOdl%qw@Rg7mhm|=`_-N_1_=?_YKHpEnU@h)oDU2J3AJ(WUrB6~k+>JE1iD2B?tHIqMYHH0 z8c%x?$ttaq(a_lKic+WI(l&IkZu}*^_>N7zN$txMQp&f$fSJuyn$er1aSIRrj|$`{ z;j7cPe+*7Z=gyy$TT@?dujWz|npNzal(#yRR7^4pDZ0{IK@&}#O?TFHIqm1Kcn8bZ z6gG@9P>ixE*OWK<0{=|1fvpUsO30XO;@3{CjpKXPXh;4Nr(=B9n%0arJZ!J~oB(PK z`x&ljlz7LRETxSxuXi#S7vOGq;4ey)9QS(D!SiHOmM5AlTEck&34*5vSFYgXy22|Z zA|Dgkww#yPD$xwq$gPejR&l{@$0d8j9D`pHDT}_|sG_bF`7603^$6yKpL?`fs#B-X zI<&r!z#6K1VQ$*z?c zZI#G^d%<6`%L#Svie}*NT5sIn(s+)p^A075zihe4FY;<^1O7}!ajFm90)lN_SxUQ! z&kD;?xuPX{rMK(TZWS=Z1u#4<@%Ah0_HsnK?WKKNG7iefkw2)?2 z)2-xOHSBb7=JpHC8|!b*qz6PS$}BnGYCsMz>JmunZ6$mu5463_=UuyI(^Uuh4)B(z zj#NKRy0*2&oxiJF=jQyZ8Z`H=(eC|<-mj<^z51%g6rLuQPX7OuW+Ul@{R#{A&Ruf$ z!!tik(Lil_5oGrJJJ~nCfMSt67#ZntN{07MdWJqkU)}!!NG^V=m%ku{V){s+Fdgqe$U(JESf635r&b`-C_i2#&A9+31)K z2$2B6Oek8Yla&a*=FqnLHf|lNU4lZNJdGW$KNDD4-uN@HWKt(q zj@8CU$pWzI6Z^ic&F<;y{SPf4Vt?V(K^R&R(C*Fa&Nu(tzW@Qpc4etqdjHyIYXh44 zg8=tof(gQ$O@w!{%F16n7(qNgGNd-xsYvtu-T<>_Wqo~Zpt0uIAGUt~AswY8v-PnH zo~6F`4CwO7R&Fmv>fI-d@2qdQU(O+bpAMtS*L+o0+N54pUQiq)J?E07(PJ-zq&IyM zNqSSON5<GxW)Sy;O;&eBIow z`&Ms_LAqOW_14%f&ua~-rE2Wn_@t|R6?IsXUVS4|_VVI+wKM>zLg@JT3YqL(9^f0b zkzMw&BkaE#+Ep#3f{eE~bk2=ui#Z*fvyA`6%vN_V+%u9tK*G*7$onL9t+TjT5Pqfu zOJr|VC=dFA1df&(okNQ3Wh8PXihUUb+mbw|bQWn3>Wr#&wSGD|qWBu9zc;#&b}t8C zaAS=qK~j&+v8ZiT&uhd_gO+xwC!^0kBNO1AEBI8v&0B%RtBIx z?pMxs=LibX4bscyXiI(X5vNriiKJk~<|Cp`enlaM`rl0p4og*uMz5%{gSE}(iXSUX zJzyn9{x-<3x!mFJV~CJ48jRk)PYfOg-}2p$*SFMBw{}7T<%ad?44=xcTJRJjpOPFdY9PbYZ7RAq+o|tt0ss#4(chI=x+Ml(W163?-)vQSQJ|`g z)*r5ly<)kS6wT<$nJ15W{Qf18?)P1B(Zez!1@bCHn63pw%3t)dngk3C2JhZxZ!GSo zSKvRx@=b|PU3;Qh>l##4OLx01+ca~?3K!!%{;F$|7>N&X&$jy7{=>DpAj!=Yc9OE* z(){-Iw<$G(LRB^tcUE={4&S9T4WqURe?iEbw6F1_`zJA{KU0LPlY2?)xDrzP?oS5CC#ncJhoXvC5vSc(-A;r2%cmQf}=(cYKptcycawq z7K+z2LYgN0a{E0{OE2c1{7CJU-LImTm6K%Xo20&VSzsvd=Vsv(t+XQ9m&b zCizdK7r~V+0n9&Xps|DT)qX>T{*q?@04LipfPYmWMQ0*oZIUiziJ#l0pYwnEU}Z4F z_hTnkiOxQYb8d!881JLj)21VAdXed1G8q4XzD;(r?N*}TD5uJ~!~Hx$vbL;Eo^nd) zKAi5bA8R&tf3E_{aNs5|V)#%_;Y?c_7+>NST6+EQv&k!UOTcZBfMVkJ=*4z}x1q}3 zMpv5oiP~$gZsD`{@^ltk%DmK|+GG}9q7>U!uLEx*EGKh@70)|2WO@m5sKTO6&9%5i ze}=m+WkOF>{v~EKx7$1pFL&t*HimIrl)o)2vIwt=lujXK^hJm&uaL%O#?l_TpgE34-OYmttZ{?C%P7z}TQL3z^hwUk4|-ZPQ8SuvZ7O zMmK&)9(IF;qUpblPpZ=0pN>RScPG3Uk+rBv6y3V6RPY(5lI5_|hgc{Av(a{US=Qoh>YoZO-##v2Rca6-?JV&DfD! z3F?FBz|{Kk=6$L8{)koISej;H$?M+v>K^Xi>ckh+L8Nj&W7{7k zjpygTDVs{x*@%L3^P1vn2gR!p8ATQ>#5;5YLliVtDAFQVjqC3HiO7Jh;hY)gB5##d zfdCgG3hkEF{`%L$r}TAJmH$nO;x6UHuG{%pA6&%;@UTm2kzVBHs?Wy==#dYUq-F?| zuY}>_bH5i}1~&>;J_NMf3I=5T_wFfmto&`ic~HZ(#PA7uVk}U_uUn`2ctiW!g*e?g z_&p|iKI=0XF|PId($4ZPUEvFDQXhu~L~9iYy40DhR^%~wwia^pIdQTr&D9VTMr-1X z2PDyLXDrsc^z=(SZtNbX*@32t^xq~w_y$NRx3Y(U(v0F!D|N0TTWTK7{{VBfRm)ZJ z4cyZvdUFuUcV7x|;2S6|tz6cYgRhzD1Vz2WhLow%@YogoE3VDAAA1hZ?+vI_*17_Y zK)qQ?=A#1NvaT)>^T;D9h< z-E6keLtmUtI?BwO?4cIe?+xOAje1)GtD2!JD|ohuuifYLW4gaH(QB1>@T}kI;FfXA zB?;f}OE07P=)voYj64F*u+Vi2GI@}BS(H(sgl1ai&nTJVWN8VM;rdg8q^geL$_>r` zlJAE{`&>&qns=TsQ64elde?NMt4+}6;e^^rPsjW-MLf|km?-|skDnM!@A4UR23?wi zN)fQiEeG`_MXacjaYnW*)#5l$=H0u44?OK6-p12&TAURc+PZuq+!Qj{b+8QHFjE{{obgiLhH2Lik9-NXqo$raxyvHoB$*>0=O?!C292F-}xC5hpz&CzReEP5(N5H(d< z+XrYb&c9XfWm5=K7-o$vqQ5Q|#bKdg-8)IS=^-?`Afek4%-AAU|J$;#K}NBNopgih z7A}3(W|gAu6K-15z59ppROzo(^pbm1lXunxy{1+X^w}1@feb#g=OdgID>C8N)0bb^ z5qhl$ozB8?-{EPT2$MTTNq(t{! z1m0z#X+OiV`ukLtD=dq%_LeR&!+Mbd{Kp;!*`un9-M!h*uf&{f*LW_+hnki7aDT0S zgAghEuBHi`MhChrSC!i4qTLHg=cG-8!m5mQD`cIJH2H#XiE~CAW!~x=coGY{!%}(5 zxGlvnVZ|F=8J{tZuUDAx7qai$zASoB;nTi>=LqmlZoNKZ>DQK4_F_E*)$_eG7@TQX z5Qt*-CgT_M;ahKZU9lR!GR>RJX=jrY%UJ%6;;abBybLX7gRPx6489Ar@}G97f&7Zn z+kzJt84`i#C@INEF6lGNHU%=!{0u+2c38fSojw3{p(MMHv9E2Bsw9Y>0&*H3d+LS> zjiI+TionoV=%gya=Sb?URw@i9f5yRR8 z^RBX8O}c+5ZAy6kaAacf0hZz=l0dqDfENSmQnRA>k_*CED_FdylEY zOb=#Uh5Pg#Vy3=~ty@pj=MdjOa?eA5gUu*|$kT5p@CO(eGsxyXEHp1|6aBWL>}7Hf z@sBYJ|I0(WhgS3Wr-?vaLG&?9eqrMJ@nSX9=P}O+;wl;xXF%Dom!Ld)bLDwT66T@N zD@n6}8(%pfxg}20v<(6}MJ)jP?tm+m(GNs%gMT!+Tb4teuD0^l!*~tNUEa;((ZIe~ z+)(2UXbimF8onpr*g8quJoBdfwY{xrp>*%{U=kV<{5z$lQAw$`B&Of%p*>DA*T3y+ z^{01Kmu6ZsQFueoTPBk5CZ2+&&5s!%d*wV15TkBWC@$*BN&OG-SgExjA15H9Eh%{$ z!gFGJb4hfbwV*x}s-~DU!ZC5lwD&N~v$bJA^2lz|8_pX#%$S$=&k($dB`!foP|is((vgmD-Qm7hlu>)s4}+-ZeQnv-)j zdj11Qshx#9ejN;aQj0p;EH6`r=wCR6V_q|@v%+}e8!G4iUjR%Gv+#Xc{*!b!It%{* zsDDknVk(&oQ(gDRNv!mkYV#Vbm6v^$MNb$}SHWhgxL9KCwMbc|wk)%{(KHvXcog-I zKRckTc)emEWX!=892x4PnQ_AHSaOIz%uqb3kE_ukJFUM5eMej|4@B`ijgf&N5#aS% zTHg_fJ7Uapxuk~aB9Qvmg>n!ETJZXPdX4GD(&0zbo9^K|52!RfyG@p^;>!eAF$2gy z!*@@*k_38q=SU%YJzB##aVOhP4Mt`~-URD0#gLsVs>=N{s>e{lEX(Dj$&oPONim8)_Ip_5G zkttytwMYZIsMn<^@f2g0!@#P`P;| z_+x+qqGgLbegd&&Z_nyjy*e*4cN@Q^Fh=)30Dk@M>%U=ZVt5Pbr-;0Jnj`7(Ha|{{ zzuvl}=*x`|9I~OW=E_A`CbM2JB zjfN~9RA9tZIYHa=xI_j z3Wf}*0~a3*NF&K3<$ykZKMfPe@g7EGrKgaUVn*Ag+uDF8uD@bC5-POhy**+StH`cM zzIptAdcHdfvAIDl4f1ICQpBZ)?d6^)#ytLWoPQX>@IEx&xi|>dGaBZ?*Uk3g#e5TY z$TYiDd3hB}?eoR{J?o00{pfbr;)X5jNjUpT8J=}GX;}W3kH9UAj~^I6J~?AwlfOZk zKbw$>hmfj2nP=yKFZ=uVP(jd(oUQ3bWAZp0UlqByuH5(ScePxLZO?GY9}B&p2=W!n zD!MTEI8*z-pCccW#CX(SD;K7t7Q@UXyMQ+W3A5Z;9Pnsy`QuJ8K0y^URekQL_Ut`G ze2zO2b!Tc{e{CJVxNNl)DQKprthvcgLiJSWl+{$wRm`bXGEWjKB#TSmF*ZgeF`Q#M zQPX<2Q^Rvv`35Cd0Su1F{?wqeQ5W|Qwz#rAJ;WHMRCb0U$lLzf1(wQ&0CG0~Yt>*7 zIJMMf-aQA~*E@}~V{Lf9rQ4F8Lw9;oP)BWn0>wreKXh+c+#+(v*-q1{aCrkP-w(w3 zarEORO$biNkp~5leI_;FdTNxvs?;#!ldcH}T!}K+nWx-c3%36N=P|!Afd=-AARoEP z8el72Do;;z`=b8<4XWEMJUdTh_GvpMO2J)sjx{0$jRQp_R1tyP@qsA{LF6>yk>de} zkBR5OMnp2l3}r`_pzVu#@&F^&1%p&-#=aLF_GC!16O)+C9o!N^H~dBib?#zz_g**y zjX$=IfY89I)phPbaM*-5?QzGB4;&vVSoqH$IrnLUE9w?Q5+TM=Xo0)fk8(K`!9RC@ zj_b{OQ1p`hz5%n(@BaX&=If0s2Sn_V`KPL>Vn9{yd%Wem=OB;9G3U+>J%w98@!wEk z{K(?q*(xf>_yYd`xdXo%=z3IKZDs`g{{WtU6h3+UajxADOk$!4t5Cu*fK=r{&zyXL z?f%F49tVvepT$yS5=>)tcN=)G{r>>!2<3DRoCR}Y?C@{5e{ps3UB4Bj6dNjn4=w|d z=a(aojCjFsIT_F30zCN&+b3Mfe#C%(r?LM49~Nu5{kgU3xM(|r!S}EFowd(;-Twf3 z*IFx0B{KLP1_3x?agXE9agQTDKO|>5NcnR~-1~9J0RI4g+qZ9(u2)}sLYf?pZbv`n z?#Iag05$6QOacSIF&_#S3;zJA9!4@Va*eZ=GV{AWty0VuE9Xnx-J?hRKI z2Xn}wyPGcISAQqp@JDm__8izI?YT7x9aXlz*HsXe3@e&xIK4}yp1F?-N1cwTCPN~Ck|h8peW0-N@7C92?rPb3pM5Iv^tkz};ZCtB zn+q^W4^5VHxJMyYErjLnxMRDuJ4EK;(KBfgn`QYbo`QDpSh*1NuU%_LC{n{P?# z(i)2Qk1b1To}yVY^^X%8YALxo)F69xU||0Ce*$>BCw4bL>xNdhG4!6M&uo*R1#t2m zh$2#(gbviQpz_~#;2S%C6Q9Gp9UeZV^*6v+@s65zKZ|@h6ePxwNkU$wjS`FfFpw;{ zQ2}`JAJs*$uctx#cJV!8%Wk;^7g`wOX`VGJ1!OW0)2ye?Mi~1ih!SC(GWkZ0-tWeh zoEYSJn*aD=<~n?n$^$rZ|RJlKI<)$o{pX!=}wQIAhrEm$C&VgVqJd<=c*@!y;IJRW(ybykT~ z1yt}qAwUEV7|sYE^Zx)C(lb5TE&hG4_uw8rTV29e0Yz1CE3x_aJbrue>=)9MXoH;0 zs(=#A&EO0Zl1~tzV>$8t{&B8NkV&Px{15vcZ|AqYQLk6--uK1#2e<8J#eT=0EFZbJ zH$C^$-LR%x_V(I#NSE63T{i`)kBP>3p7m0&IQ(IMKiglciPUnqhYK!peWJ&e>|GPW zkb8R{%^&LI^W#D;N#Q};)ateVSdKm^dtDmW9@*FahTP{A*50sm;<|oau@ye@u}vUy za2JZ!gPvF%a!=$RoqkQwdfaMR`ae>PcO|gq0;u!$e|y?E_8?l3XJ8f~b1~Zc0V;d( zRlEx$gZbbAV@_QjFd3lYQPI3b)!yzPBa>W%%WgPlQ*myi$5b{0wJwO<|WufH50k72om zTf5D2-ICfHmG1ulex=(M&?HjSKhtQ|YrWCOyM$DfwRG}GrFjaNRuTubH7gkYoKcf$ ziHC}E9Dn(yR=DFs#hDzkk5B{)0NE^3?TnGTgCpI6MT)ALB8ezZZ?&uwWHZaPw*5VZ z(+vd}VH6QFmwz+MJinbd+zVn@`wjr@KyVlBsvL320G>%NrLwA|Xgqk~$N3>hB9!2bXu zh;NpVdm8=!0JpURXRtqlKs=3j^VpByw;tDEYsEKkfE3`L9D(FV{0xuxIsX7*fyqK` zqhil`KmP!H5B~l2@Zj-e*Y^Z*@9urM9r@vEwfPYOJ;Mhl$RP4QJoya6{keb6a-n)W zawu`w3jYAg!1wk)z1TVeSUk}AzuZ;X_x$_zY6o1(+Ad%K{14#&03?IpoB{aHlk@SM z4K0FydcJ>Z9{gFq^Ix@{a&_Xb+QnbsP`e--9f|(b4wKG1ZUJ}hLg1r({zh;(`;_Me zc>HAkbEgnQicJlU3b6Zmqscz1B=$Ba(HB&yN`dzlyB+xd0KVgO!J>a^)M)FUP3_x~ z)q19=rl+a1ZWn-!fCXO>v1Jl()@i+@DG^)=Wk+C77osobIold+xpB`o#^t{v( zpDs*yEk$R?l}ghNIcUjN{jR|TEMKYO$&E7Q;=4s6$g{-DYS2v^ZdOCbXHdl2{%`Kq z1%9C(k1yVpdf9f}yBe|W6x6j9`@dpEMI@Bt2@zV=b)nqwLfDMc zQ{AOrBA6XgU1Oq2(K?jaF6Cf?V-iYB7ihPnxH5<3gpfw@)Ru$*NUEmMo(l24H;OPD zqxC#-K18UnXGZa(K_)JISrOd9{U$l3f?PHLG4mb~-Sw+qLA`y0)W@a{mvw4h!M@#W zg59}z03I#JXqD}kfJY`N_Y={IpaJ(Js995rrmt@bbtdY)6Ava@{YtArl741|jBMWZ z<^&Rd<_C+dc@Oo|z~B5j`j_Hg48mXin-*H;bf9}4otlf2i~*s$$yr(+c~XQ~2HIn4 JN2-Hg|JhG#ll%Yx diff --git a/src/assets/images/portrait/small/avatar-s-23.jpg b/src/assets/images/portrait/small/avatar-s-23.jpg deleted file mode 100644 index 8b240d3622cb3ba76a664f4dcb41bae21e4f0f3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34434 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 Iy361H1NR(Hg8%>k diff --git a/src/assets/images/portrait/small/avatar-s-25.jpg b/src/assets/images/portrait/small/avatar-s-25.jpg deleted file mode 100644 index 35f3bfd9a5a06aa6b48ec6767fd7da4e6182dfac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26997 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 diff --git a/src/assets/images/portrait/small/avatar-s-26.jpg b/src/assets/images/portrait/small/avatar-s-26.jpg deleted file mode 100644 index a05d68cb84ff3dc1db40935b9027501903074725..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40107 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 diff --git a/src/assets/images/portrait/small/avatar-s-3.jpg b/src/assets/images/portrait/small/avatar-s-3.jpg deleted file mode 100644 index 8b240d3622cb3ba76a664f4dcb41bae21e4f0f3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34434 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 Iy361H1NR(Hg8%>k diff --git a/src/assets/images/portrait/small/avatar-s-5.jpg b/src/assets/images/portrait/small/avatar-s-5.jpg deleted file mode 100644 index 35f3bfd9a5a06aa6b48ec6767fd7da4e6182dfac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26997 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 diff --git a/src/assets/images/portrait/small/avatar-s-6.jpg b/src/assets/images/portrait/small/avatar-s-6.jpg deleted file mode 100644 index a05d68cb84ff3dc1db40935b9027501903074725..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40107 zcmc$_Wl&vFuqJxo;1CGz5+Fc;1b24`?ht~zyE_C3a*%_|!QI{6o#1k?;O?%IJFjNy zP1T)SQ&aWo_5QKfuD!aq)$abf*Vpe$@0);+-z8-v0WdHCfb_o&@D2t1`gipIv%Gf$ zFp&VmfMFmECIA)_28aps-VbO30AS#N|8Z-8{~?G-$S82|2tZgE)Q|HthAu=#KQ zPY)3mhy;WD@9MAscpwlK4i1O_iwyrCMlk_!Sf5znDMb*lm01lDaYP-dR0890jdG~j z#GGm_@OqHgRn?rq(|<2N8wcgqzOMk#fH41_;-8`rpe9VcQ_z0%peHyF0X>RG=h4fIferf>fi@!5Ix zvrL5BJ3vCK2s}1x(Y<^NU*(}Zdr?5^4YRKtP;LGSHWa-c$4~6!*jC2JJ@^w((Y1gh7ut22Ns>M=`_&q@YSh9 z(OSp7%ngc>=dB+?DOr4BoGb*<(vGQT+;LvN1u`qL5-{H;G;KRzmt^YC2(ZE^9ClUQNaE(EF?E%-N08U;dE`Ia(gp3rL&sQfQ>IGjAEk za;idyZ>gzCYJbeMu+X{<8@`#5Vu#f-hSBzX7Vhuxa(g;DDyAL!Dg5biGySqG`8eP1e6*hj{m@G_M?4&E#ZMAANc zMxoA!Qm_3@Gfh_To&X;t>obLh>F_PgdG`*{G?^v43;{yYj?8^qtevBQ--P>Y1LPer zeRDfx#o@=MzG+K`#UX>{UbDdYR=`-v>qxrlIvf)gG>6G`U&L)$Wn+Bmr!(vI-_VYWB(tZ zlVW$-JD})(@O$}5am3__Xle21)aY&iBUllDao))A`Ihpjedh}A7STk2(JVg)RK(s~ zp}J;cnv%4jVekW$dyUFemdNAQ=u$B~>UAI}x}JzG;zv^70a>y*a>kKt1&G~KgS5nl z&|P5NCGPu&YHG_N5ig938MJnX+Zd&8+6iVERtT%GKnjN)*c>MN>Oup72s@Rp04-1nq5A6ESkK|^EZ62z2ES3<`+=N+#v3w^}DO+DSKsd72&%lvF;;V=q2-It67 z>9#y6u|8rzZK}>#n+-a}c$5cx{FDEAEWY>!>R5tPe-iR1EI+76jg~43Rr{yLH?oQ1 zGGNboIq=QMXYtWjg#q^+pa^k;#t8$^i?)VV(R+Nz03I(MtDvX3Nx}#_OU6G>B9~3+ zTyBjXu+Qq{SiLQl!>8ElZVdnouXRYdGJoXi2a0W5(lJ&_fre7}SINS|SF=%-Yjs^|VaB zji+jrH_$uD%m%jYakOhk$XY^_$p2>m&LzU z70B(FJVhBdG#A&QAm6b8FfA5{k3gx?+`b*`M#%ps(VLw&OYLw1KWN0tRy%#ra!n|# z?CWZ#F^d}t!4rp}%9Xs)e6n<&gz}@=^}`YvQG19ao_7d~9n4Z7f!F^6)AcIUxwMu% zX2#|$l|0%DBqZUE!95RZa}Yz z7*ii}hrtrl-OR0F21lpHoBN?{4XRLdK7^L>vn@k_vzBqQ=~Hyc?3!v0i49}%J=7;A zIPQE*0iJp>H(Y;L1&}1>y=J6Rj-nziOrw({DRd0nSL9~EK<1M$FZgZ-ASYucUc@DU0dwTe&fE?0!O~F3_jebq^YB(9BB-56sBp%-3C<=b-A`tQyK-90 z`jO^t5Riglna76%+IXZ&hpfJdFd}rHbRFft#AvPAbZtxt`a$&rH+{Gw)Zjif;Gzu~ zA=K?Vp>n3JvXK8%{;^go(44m{_<0NzmCm`pJs}g5e0`eu4uGFJJJ!CkSz2k?2)?|a zQ-16i#L1t8b1Wm%j@3wj}6#0b$*d{IO ze+qTGIw~zKf7tehD%TBYz5}=p#|gjJFxIp<7Nn~lU+071h4ncRaeOR>L-NyPG*t9W zNlYD2a{~mWNq#@PC=NMnKcMkn&Qr}q@PXaRXtyJ2cmAxNiR`0fV^D(;KmAr#yvfxR z=>C>oIn&$8V5?myBj=Ln?qSR@pfJg0C#M>zWpHV-!V;-^!GLv$qd^TqQYOXpna{(II?=X~ z;bGNwJ6Y?9URg{Tu(XomaWVJ~ur2duXD+2#sH?BBmN7@7mZZoFRjC&bIwip<@GGr! zY>Sw%5RbjulW#y9DA>pEAkY&YjvxU{Tq@f55hMZ4y6ZS_p;HvW`B}Vyd&TST0NA#l zxQ5~R!m{v*Vq~u}XOajx<#gc0^oH-Cis;S1!l(MK9Q#IX!G(Mf=vOI!#Ul`x7enG# z@qr_)yR4;_@3-p7D=pE(^JZm!3H?J~-3?o7sl#`whtfkf$8$%BBMfzW2m3wIFyKA9 zItvVseTk{&uLz?d5RsG-vp@N99o|+w_2GGZ35mqAdC>=>!MzFAy-zf^o_W4TZqE2s z)rvagWh}WQiVpQ)h0isGx73b6UOL*GwvYCqHz)~l+gS39(yS$$2jaAel`E4Frc zMNa%<{CPD|7#dfu;9@l0ZB~9=X6!Mx3GMth^)Z>)Nz454-P?~`c)40rCdKIEjBbgH z7p*q^Qizghqy)?^20hck|H*JLQuRnqFnTt1O|#feBD%-2UH)a==w=*`K4sO^((Y%? zCqdW&xNrNfh_9`a+$-8x?C_bAYDzqeg8`Q#{}8i{Z4e==JIjunr2Tu?E2 z3)S{L$yO9uM`y0U{B77ONg^F<%U6Nr3_%6|J1)`r>iNQ`A7D}fV- znzMlzP28gZ6>BVL2YH@ps~U>1=0t5U<2WM}l`gp#rQ-L7TPMrBUffNR;w+&>z2xU3 z@Q~;DUmb&?6hqpB@DHHk4r_<6l2m@OWYP+o=WJwoGlaR@bnOZj-PQ18u zol6L^{Cf!(n*31_)YVjOHD>2|eObNZS@YAz&#}1y0mp_OfUsz?Og*pHe@JGbZaiO@ zoDL8wi~~+6Zo<@%1ds_e`G!LM`Ce+cp6xHVo>8y;sWO>RVBC0v8WW>f7`7UzV;Sum z=22@osR)_*Fn`v5Y>%NuakIU9gITJEK3w%ZTzCCQ3DD`GP=BaofPkXWSM3e{s^Mv1 ziG8fa(n83U8sYu8%UW&XVZg0N>IvZFj=(4R= zjz_B2WFGdWR@ySuuuRiDE9qfGj91EjsC^(((q|};@Y^TXq4zERorDI=4~VNq5u;OX zwQbojgX;qQUSilbSG94&>Fud&f|Q2wFI3^MoF$3}NV-~o0_%9erf{n_e5Vc)k+lP& z7LG^QDanwXbguQAqPKYmrm;$~kZqRvxWB##1A<#`gSF`@{($UgDb{fIeSj zU_wpMwiOKNq_dClF*yfBlqzcP83GHJ){Kq+g|9YZ(%lHF#<=fnFX{=7=2ycWr;X1K zOFmqP3n`3g3&@@-DQMS zf~uOsY4qV)z_-X!cv}k=g_pXJR1CFYsd-jg42x90P3zo>0qmj!Ly^kpQ4tcO564|H z14or%G#b(xXsZ%MhmVDDNX}`f7H+Vw83W!<0Q%7pDJVhvdfdF1zpiBzUd>GE_m&E- z5=WOh?w=K3G^`eD7B^*a%OxnmNFERw#K~u-E}b)W+RWJzejU;{UkF`cE9q|8ze?o%tL8VEv}~ zT+>08`~6U(cJ+oy<@IZvI3W}A73N!}&2u@@HaQJ7%v{xBFVeRsGWMk_JLCxv9^J7x3Wo@dQ4pKj;h9lxFA7ae@C(hio_@tqjv{58d#c(GS~L zV>&zTAUMO?s1+-3J7F**lQdr8zu5VcdVKIX`Sw`NmCHzaoGE0d=E{iv@@%c6w>RN{ z{;Ym|8KaHkeQifYUn`18_3Q&c@BZ?}Wg9x=`~ckDB)0RD$l|yV^b>R&+*3Ydff0sB zoP;XV8f%&zP1u@XMt^ zO^>!jHPjh}INN2hyPTbk^Ugl93;Pb|Vai`dk=4M#q2cQqBY!>&G8jSP3LASZ*x{A) ziF45~sO`bylA#I3DqI{vuC+W$r6Q-+BhYYQdj6g{wG7WqgwRYrQKA2ePbhB8`5mCy zZ|DAE!`rQqBj)wN+s1-uCB$=Q0|%J_RLfokw4xA~r9-J$Ge5fO&q|-+#PipfNkFe4 z`fmIe2W_m`pjR^LLPgDy4?rA#p%^qSg92G{x2#)}jGiy^jfRw~2U*9t;AYfT*B+o7 zBgL_m%(ybt+T;gx;wyb{*VovsNvRf*Z2;nJwAYyA;=VTK{YnkybVF97g+D3J@cj_zyHFd5@U><4>LsA{f5&-l#VHmsiU zOjH}6+me-G{@Z5y+i#>vuwLgPWb3e8JhBnMYtfF4gQGBt|@{(70S|jx$gDEc-?`LkK#ZqwcskH zO(iZ3po061{*i=`iStsG{Mz9d`)kQO&##hfSNY`(5GrI?hQyrMNxR?^`=G{261GtTMvTVsfKKH7~rPm&6o^4AH1)!{5^loA~Oi4qY2R#ODirRK%uQ*3&bOLNbZ z7$IAKc+vHv2aZnmDJ=`i(yBimM?sM~hOLQ99G3L59uKZAsWkn;Hn=u!vkVrAst3{W z@u-8c@rrYZ2~&sk_fqgSx$gfSxC{xD)pru>9NJ3cHQ=gu1kQ8+%mlK?kD!_pCl!4q zuEx_%^0H-KuQvU|kf0-(w9({ z=0hPNS_!SF>WuTb*N05uHl44PJ!umRBrc6^J}OiDXu%E$tF7X`_@wx`Q}`jg8o^`U z6IsMv>YR()`FYmqz~7`X0={|)Q#lBNrOCd9U*BzpJQ;9hF!OipTp*FSzqX6nzWut~ zQj7uGE&(If%M*7lrMkQLvVxz#jp2WdH=RAz6eilRZ3d)2WNWeo51k8Ptp?@jhc5*n z>n=GNY;2O=U5>c%SAQLv*ci}Q@N9h!_6OQpO`|+V!%&o#eFfdE>L64r4iG&n4?1Hr z#$ongG>k|>=}-7SasprZYlDOU=Tj9_20QWM^Xog1qps`g{U|2tHj#YF8XXB>J%BS; z3Uqd}X7k~0$A7#^+edKfQr!;C-FI@dZ-4lao{Kzd>aPP(mWL{E=%pPj`471;#hW_h zzXPz4K7yoHae&HeXEzN=2#tXAE9*9csRmhpJYZ_{H<3n!Pjw^JwDF$A-?~3EN(!xJ zB}Y1T?jNo)*KFGkeFj~M2J~)q?_TS0Ap8jo#<*7_?56eFRrw8oP=C}U4_m#bxOcm! zin??hKxtlba&Q;=e5HlA#1%?>Wk8xy0^o2Ui0HWIwT`dB_mk{{SuAC8aPJRoL|N&K zHBsTPYXb)?QXa!$A!EXY5NX>C|D7DGiE7-y(gOGSeRz1WBX%4zrjI~f!4<9)nV*QY z(12<}f~E&Qc2;-()vz>oN4QC3IhrZ(PFW-6R8zt!S2UATsjea!6r;|Z7@4~J-RHyU zzZ2gA<4Grov;?jQx7%tE#sS)fFSmJ@Yb;n?Zb#Y0sPukjB_t^{QkASnAflJQha(Lz zCBHf$rnLU@$s*MqfieST{|fgg#}wMlcebil21~#cw-|t_=FYbUI_aWlcqCrfK5^N$ z0S668qm_aPbtS@Q@wCOh!ot*g+kz^gr!k|hN#)_Bku2i`ANWB4Gj z=E$Rs!W#UtcPzF*qiZS?6jH$yFv9Ukpp1YIs78Yi4|rOJl~ud4%= z94pbxPW+{#arHx3;>P4N;?fzy{?G-+P!)0|Cn?l#!}j>TkYA587M0itD(Py&L+c-` z{u9y+JIK1=*el)Vgh9yH*?$GKjm7c^-oD@j+7I0wTko98iy7-XNVChwP}JY&*4GxDN`~m&X+2_Zcuq5mClV2Q+D-DKPObyvi{*@wKif{S1 z4D>)8;BgqI(uZ;y&eo~sEi|citdFPHm{y{SZ;vs87l>B z6Cy=CiG2ES#Z8y7+poSzb9pbVCRw9Km0^V!W%P!?4mKou5^{5qMvqJGC#2WD%~Qkj z!}1RB;fhdzU9sGteimGmfg9FTZBbt!zh*|KONi8+4q(vLf6sKYz(*G{j#}u#+PH0R zdW#N&mV$qjCI0QcOj1PAH+2|?etY&@I^njhP3Yw-TYv^PS?r(_PYsh3H4aj(-1oB8 zJ`-xp7RgLAoDza#Lm2^^C*Qiuz1UUw^`_CrRZ!Zy%<aPM$1KS805347GHT)4C3Ee${UC!C9kA41lPSrirvI;|nG-P3Pv>^d5Z77M!iE zS870Yb+%#S)LsLBkuO^ZwS~UA?(1y*b2v#O`;`5K^D){W5k5V~#{xT$kKebQQskgt zNv9H@2c)ongiwc&F?pxey4n?dllsck@OCAMS>}WfmR=KK=zd;AL#@}pbS{@Yv==vR zU63wym0?qI8P6}r?TAl_u+(7@OQnkWCa2NXp0)%CR-blkULmmYWmKSt`1o-VYoM^x z&4y5vsT61>5#5&cebm|tC5SVQW`|K$qkD1Ht-~`KmocLT%Yzkm;v3?h{jG=KC)iuU zO)@>nv;IW7{U>D`CE~>eq`v|`o&rm!pC#Jj zioZHS?}prl))_o7t0rs^pfC2##L<;{@f3CtFh#8Yx8T7i2_^PL_s*?oC^i%-m@coE zcz}(-{>sGQPb^jRY^6Iw^9azM88p>HYQtw)tTB^iVf5-WX1JE1S>ZFqbbF%94rQ{TiY6=a%( z7TaK30_T3t?JQ7O3;_4|=S&|gd%Sc_He8Y$j08p(O}p~OPTJr}s1)B^kzA(~1E-ZG zLQtIKiNs56n-kw~HqYBnnIc2MB+|XJ0s2Rfx>M)xfi*3Yh%ZJyp%OW<@dHQQ)A?A{ zXk2lffD(hD-tN|_s;d?=izhz~x!Hn}B(YP8vOw`NHu@8H+)d0*CME?x#JxIY8uK|_ zm2YX(GyY$afgEXfckIvkjxAiGt00}qA*}u7uDoQE`conAADUgI_R`r5>$Q6n+QRGH z#>ynt%|fx#h_;KRU8PSObB{^Q*THnTNBs4MinnfaGJ?`oMZvC-i`j2PZzL`uGaUrC z+V%Gn^Peq`hfJ(6B_Q``!kvG`(52o117U@Dl?~~Q+&lnD#b(nCEv4?WD>>@DGmO(M zPT-^M8%wHy_EGbO=EI&#kiE3&494L%T9=xTF^qj#K)Xtb0q<&GjjH3zM zjFjyB5bMe;c;SoAu}8Tlx?#$3`ZH9(Ko+O^sY7sKJPMUPb||5=0tRgzd$l}jwUN)h zP4>xt8z(aNTg!}Ajlg3@q-|lNaWZ%*mY=Z!x}!DVJns)^ReRfcOFh0aQG8*HQ3VyK z$3v*N@W46Eje(_amB$wTXI%!*vr9e`f~5ZMfTG_6yt;j^j;K_!?R3b*|cLIoF^&>J_@icO;OJO1}W zedd9r;*QP!(3IQlAr4rYs(F0}t5L@eWr_0a#aXuNOBEac_h6$v4)KPQXb~cK0M_4* zMiqoK#G6o*1=AcSapk^do26K7ml{tM8=`pQ2Jowh2|~YZ!C_hH42H1jhrJTX!pDE6`FSZk zl#(hDxl{}^EQ;mVqaqi#C?9N_!@XGAvA3FNy-nL7-PSfwp|;4oO9nhHF)Otts&JaF zDHiw5I_+tHs8P+~{`wA3)rpB&oi~y=d<#xJUcMQVGNPgki;r!z3b{*qwsTu)9)NTR zd12iY<$0Tj+Zu9s-0GJ5uiAxI(`K9CXNXHD+Wgn!OB z`X;m%ixi^{p$zyc8uAZAMpWy?9_V5e-GH5zNs7e?P-zV65E6Trot{y?y5!Tth&#t* zbeTO5K~XuK$x?hp{hDyr92*l#;-7U9bjma zp3SOmIjn7-3bf>BYL!f6bc;)v#%7W|#-TN=a|$&xM)<_QVGmNxwTjZqa%!@XOqVd? zEIII_BW!2QHU$fBSizJwmYJ<+c`mtudHcyuIW}48mm@(DoHa=xU8Mc8||ETXcD@7o_#C*zI4_V7KgF++^&sx|h;tRlc3_Xe&k*CF-zF ztCbS|Q+nfLyN`VfwC9**mW?N{#Hk-0$VU%+)+NH-n?Qk6CQwWp{mrmCB}QC4pQF6v z))nyWaixhi?e%M0Yi5p%REa!Cde7p`YZ)6sna6YD%9$8kV|E!kaIM5}GYPg}yBeUO zB2_h%`sTgxM(Nb|6)l|stIDBm)BY)QMby?Z>0voa#xU6=Bx+svtm4}j zKMWH#;}`d7Lg^=;eI~}#vpDjLyzyh2N%arq*tn-!Y6r&Eu$RORnpXHUMJ^mN*${>) zoZ;yat!~k;o|LAdRp$ULW{ow4{vaOx^&@!{d1P&4S1hWWE@!3cgYIfhWMZO9yU0K2f46{T^6L$3l735d(;+&2u`{0~L$<$2Ozu1GhlD5H^)IYWR zU_~M~_kACoUt+lq8LO85svQ~0yQOuU4J_nZm6lev^cNMH4DDT=Tm{7)5S;~oJSLp)4)v5`e)t`NH8dt4;2i(zZ85Tu{%$>GG{fIuQ+&SGh za^ENx(zBkR{KroW$hrSl62Bu~IP|1?2gvAEJZ@;YOlFes-mJ$Ea=ZiTC--Q_iOGaQ zjk4*JT3*>OX32QQ{;S%!i@|_sXNzw6Tndva0mLGq(1*+EW{)hIY@CHp%9tg_({b@j zox`Si^p~UIvN5M<#i6j#k()*2B+e^mGEJByqV4qZZ#4J+qxO+ANb1VQ=XzXE;gMWk#K%1)FF53Si!G(3LjhO zk~9xxA*DN-oR&wMy%N*SsH+QA^F0DTDcDpevz*d4hU{Vkz~Vi&K_O3ltg)rYD*R{c zy;r)xOQAxu?U+3I%!x{aa^-gGa}ml*d*45aXc!)<+g`k;?zIga!gq@d38zIaOdu0S zFOAC5fnzV+bHOh%>egv~ccT56Vn(-;Yg{TXqi5wup03IhLJ~(#WjA#N`m9dpaF9wL z#^HchMy?%z1W~(-kj&UqdZDQ}Ssu#uK;q9{vs~5FrR)po9RR5hX6eu^chb2$XW^M3 zR+2CRXbCP+m|r;%IxKYfAauNaIj1w{`=!+;M9oTvSIhI+zwjR?Cw+c&#LHbfh6AIy z|EOZFS~s+(k@DP+lVUAqrr_RRZe~ac;J69IWUb7Tv7Q+3--${5gpfn(U_)Un< z6(-YCMJ3|1ii=8E%d?uJ3)jQrCW?^NX>jNHtF+6Mx$`ku z;>|nYn>CEe{E`2ucr*PROA?fjBH|&3cRH~=pFb{e2S^?84xn%~^z#4ns#&r7`giW? zg00wM`(7MOYQ6Fk7BJtu8K)-tmi7)<*!aChJHwNcGDIE5YM(wyh z{H0huux5Q(<+N*|tiF1?OYRKOzHnwdT)?|b1Ig^C&l#Zx4?~JU;Gz>4`{S2SV9;&I~d>+v3zheF}&5l7Qf83JM~v49*f zPvTIu7))!#XID#&IHhbF&|3nZo;#PcyDE9|Vk;3nMp#673mxMSiS^kC$Dz#>FgBgM z2_&OV&HUQQ2`%l_OHDsq)4bxDOQQ7|QM9~;<)F2!6s_Sf`6yDGdyMaS%!6JqlP)l8 z9>#^^>6*xCjFe+0Vb(R~fI{`6)xDydQ5yyE`|jTV5RcA0Nk30V5jRMAZJ%30|seDgBY_R(79 zOQaz9!x0jC`ll*sVB|YMPA}~6Z{fuc)#-PDnZweT%^D)h{f;;bU2^ES>9^(Kot)%A z1M1NEu;1r3rV_TH&tDzqXbCe`XJ84e>5w)LPWPXDOW*ERzdr1fD@9&%%~{T|&X}f} zj23E>9bP%^{FSRO_F$m4B3iVr+5CI#5{XOpU$A$Lch{&?W>|9rTg*NQliv&dC2;Yg6V^z&3+v$?>`aQ80x4)`1d2>AMRa76Azs%ImZz_)sqpP)$q}%Ca z2@|3Vt&N`+9H(?N5X%J*KM@A0zbC}yf#?o7DBSpLH0(&yoo(~ol> zk4rW+R~n*~H`JWhEkq1?;L{|p?$^4v|D%AaIYG*p#CCR5Pe@qHLBBONk8`5nmcIRS zh+ptVSc+N7>e}`?#&$l7*Sy#(SwiuS(_()Z4Q_pd8vdXT5Sk@K*{1pVlF?wB+`s|f!6-=lDL79f=YzJh>rv`j^M^0 zk1ggC>8kS042)MTqJe7kNfMJx{rYOA&dz(GHpAxfSW+p<)W)KupYiLz=r$9-7UP*F zUyS|n)&CNIh;`$!8T^GhzK2GU`EsgMeq%McBTIXuEx2dBy8BAEF}OycaNJ^LAgP@2 zT#yvq7rEa6_Uu2k4A!p$ zAjPu7)uOytKB4c!M=xplTbNW7S>+2w`}G0q`VqJOMMA)Z?Fh% zW;S2PD7C*xZbAk;XMP-H`(UcsNo(3A-y~}%S9%#UrKQg8UmYyVEY0)BfmqtK5FaAM zPIrh)VLWx_b$OZOo*I4HS(p!&*GOf*g|8Y%SYos#%Qr`uy8a+$Q1|E`c*3}S&TDg- zV_%&yD?WtomF`?5mufwuL?6_kg$m9B;aC#^qwR5@k+0}i^-G^wJERKsGi6>&oSgaa z?{+mzZFPoAQJGg-0LrDth8%vhegs~Mm&vo!8L@WhN9&Me#f$YKPVH??dCnG+lRzsA zg7r|eDeT6A0!EN=1!)EQdPmRf9Iwt79fqhDEa`a7SQgQPiqp}oRxaH;`i-n%Mos}f zDMn`sk0sW|&EU7N%@``Lttsxu#G`Y`r?5Y-Mte!l1{sb^6o+JerEA^` zKkB36>d9pw)zsc%`p@~SG03NyKZX!fw@}O*hTPU3;{Yqa-byhtj!(k!X$qy*u@?51yf55hSN$|11XR{=~e#XH!6AK-?V+d zwvEWsvxGJ`eWyum%)*I)(+wK&m(cW9Dk4)5ryl!NOW5o?d!EB;$ zB$?UXlIf8&N()*h*%f3=ikmpaS&1EM>m|D=4*hz($;*v#Q zX(UZeB@JLhd9_%+wy~^&YF2&eZ{feMLoU^q@6#%CCkj`S<5_CsZ69A^-(UoBPPhG| zRM~+etXXq7(F~^9=o?GAG0n7c=Q9IS(!;E2nC->=di`U?OL!K?i0RiY?TT(ebCo#Nm2HzA#ALN)UZ9&=s9AB*tyzmJBiP{QQq zfMSFY?=FDMf-duw_@3U-LT~MYiv4TO&9D_v=K@}w_#$J%8^mg)+0)FO;$Mf*6`!5g zukzH@H#7b$#ouG>VbW$DNQ_XPMi|Yb)?Arv5A8<%&xs?ZJCnD_c#Q4z@%u`f$>>_mw$O)Qd`#VqxFAZ zLpU;zro6AwoL31yHT}V{=9Res1sL$-?M;DUvSC3=1Bvx_s!wI1GLpPXYYBiqW<{9R zS7-*BnA|1j0oQ%l?vIQ5br?&7_AQtHff($*>Q8=0H6`a)n5t(Kl3dSByzuf4;M|H{ z!13r9#CLhAj7kF&l__7?_iWgo*)^APpSQ&q*FG7A8h-&HGZ-6M47^*k z`|iN}T>HtH>_zIV1F8O2zuVpcUvfS3I-%=O2c&`cY1UMq#oZZ;$y9uaP?QnxP?Aut z=571+n&MM)clHhEONX73+8&b_vs+H+YL%s%_TN~{&AgzZ>s^1yoqB9KNG`k$AY2LE z8v?{Vzuh)s-}=P}DJBMyJ5k6;)tGvaNpSeR0}#`CgI7NYg*W8Z$y2j*&b_`i!njA} z2UMNCIKDvIgSRJ-;)QTv@m-buKl#~^x3q1<05-Tqrt7p5k37|y3gcyJ?LZN))Y?n7 zQu~iq)3-1lN4oQ<%4lkmW>4(D`<6iqX^b=U!OvaUV>NuiJ6S!4w0WYL6-3e7x5~TW z4)8B0e$uaxmR*&BWSN=TA7GF~7v^C5e@q40S^$Ohy9@O?$Yz_&XC>pj$+kG9R4hXS zfsQOacDJ6~{w3?oZmZ;c@%y{y#kxjEq^2t2k*w1-{A>vH)^t8GVlZ)tE}iRft;F{}qwBn60lXv?IpBOuaTu#%h`5-W*5oIeg``}iw? zuUNhjaq#4PK?sA*SEc~MW`>O40-IFCu~xfMjOeV{b?x{|0Q=It$Yt1Y)bG1oza9I8 z*H=amWqzTd9PIK;tBo?Pe2g#LQ}t9ro=LY^mAaM)atZ}Q3b!k z>T5Nylyl+|&Xw%&@#no{tjk+&c|krh&hxV>tc88ID~CbI%0%!@wI8z=)9k-qh|Yv@ zP9>4I&xs+|x?HU6Xj2LkaE#T%-F2Lb%!o~_AYsnr?1R?A%rAHrGirS05taEt{LHH! ze6jvPLcyD-jcd}nM4a@SL4p$g_F1bop4Tx6q*6uZybA7Yv#r0dOzS*lG7102eXr%^ z1as|ZErEWoI>#tf_cH!3Wn`AC@#2D%5Ov}t<7(gw*bU%c@~^Sbwsit?$5nbBvJ_C7 zr^><)K-kF&oFW*(gd}3h)_wff!Z5A~fN7z9d+76@_q`cdnCMKHDS29O6?zTSe+t(| zWIlOO#G%u)-QoA)gr4x|k|n<|dK$!(c!AQ8bYvysR0}0Lcki=e2~hte+*m6W4x}GW ziIDWfu*}~E2)mAmTOOUD^=VodKH-#M>sF^r0%Cw6R1XYvwAH`%}!oJB(^_<>-jxG#kg>b|Fi?PvS1={Zoew z6Q>Vs6CU05n+?ldFM>J^Aa(0sbR7&Db znD?F6E|*^`vd_nw@x`88q1r zo@D#sJvMaq_GRs##b~$)AeLg{w2kfahQz_(!|;lNhHQ?)gevZz(HZlYJGr7zHq}v0 zmO4k;yYfWN3x4cN*sR^w@DiPNG4x5ymE!HoWIl>#Hp{ANzqb zJOrU)$JL{Kvcy#&slkXP;ba_$ z=1wDozSVAQcEF<8cIcja$hmH1SoDg}w2K=g;zzb>=rNeLvnDUVG|l?TMqfu^xi?-q zLSvc$II<}I9YMBKYwbL8sTJszT&XyB?QBXU9>JdhBHD=yj3c?$XXjR@vqD}Y6=p|xl7F~z47usT=;hx_fVXL6jdq2@B{ zIey%U)R6hV;qy`h&HN#;aWzmo{izt}JmHaDQKHZ4dBQ|r%5P@Me43cVoC$KF84$QB zOYX39Pn3L0^wFH9v=$etRK_)cxfMWW?W?evF_|4SyE|a9Rgd(nu4#Ds4j>t;K^uAw z+x)kj#P3*Dl=gG7Li~f+Q^fUNNblbF0;+(~Q3)WH93WGl|>c zlj#QUepOSm=0=kBia5Is;+@jYu#EhSN~2ra!289MkduTyz`|zy+r`8~*?d06;X6RV z)Jo>5{B6&bZqA`GK_V6w&={-5^g{{KIL#uEIeTd#xaj7rFdk7OQ|9nTp_g49{6ndJ zockT%L|rLFk^VXc8~mA>gW`H9qdDQFkN7ri=~|fA65{k z;dIo{&w%dQW~;LidWX$!ZwpRIJ9L*nV5|~x?9^C)-$~0AHNX~Er2ySAUX_1e6HWoPF}NM-sUK_1`!3(~VaWKYtb*~(d#nJ#JFZY%OIpM!KJT}q&Diuv()@; z#M{hPaXyGg`91fz5GOYxL}*VCVcS5Vdx7@RgwRu#7kI{7*$+E;U;L3<9Jm|K$VpAA z^D2`vN7SXfQ_~>)iilweKI4U_2N#%PfAU1$=Auz5M;3(9=ZntyZvc`&ZNFV_Oxd2B z(L<>WxI5z4IDhEU>##;?WGP5K09Etcw?ZI^7UXCaYFvH8r(IcY)t zO%wslWP$ufL$d6!{{Y;51wXGpRh2tyR^7;SZ)t2#XH(2W98c*rq>fDGx#va|;3_Nq ztz?k<)9#9dChV=Asp@$io0O7SnL@)+W#V1^**p>VEJcBPSmMg==-o3l)w9`rltH8f z3G*@^rB*-z1db_JU{2)nEb8*_Elh8C@IC0x;A)DRBSLAf_7gxPQG0NuZ96yHt(xEt z4IJ-9)G}-&Kv(EU^SJj-ay zXB1@f491lwXDt(xy3l%3NZ2tZ{{U6H{W@w)c6S$R7EDsfEq79^QNfOAwgq{7{JFRB3nJ=$)d$-=j|88-#E>`OpX_z^&!jUuXeORBTW_~NumqBLBk$p1Kk5PL z5_}fAvEHuH3xTJ5f>d^c->$1P6 za`|qf7r7h?sT`C^_M2tDjUZOccKBchD_>mx98K4KM=w+K#%$#J;9t!Qs=kq*Xxm%D z2Fmg>gP<_(CW3?7tFLGKDe6O3Y3xR^><@hJYD8Qn3n!A%x`!r~a+s^RCMwh?R_E-9 z4&eRDuOL5-_vzcK!;s8FCb(FM8$uNBR}6bVJ~-aVqIRNAr!Pi&)w(u%Jcp_B5Iiwz zNz#0{i!lSlE$x6(O@p;vi`(@`{{U-oe!c3?CIdU$yfpa?GzntHaQ%T<;w!vzLoVT2 z{y*b#e0d|~N%fCU#SUUqm4WSlh}0~qnfEl4uli5e*Q=%|!nv(Ym&)Z)n;VI* zLZ_G~wBH_cAdL_i55#QI=sJ7Ln^+~A^2+SK{$mWr(Z2@X6PDPGTOHl!HAETc!0`ql#SLOv_B!w&~NkSBoy$qd}*HT1}*B zEJzjw;ZW{ZUC;jj*M2(y)pt-)6d8EIq6BOf!N1~s zi>ttWC*CS}sR5;apOvzCjHKWb`Fy}x7sE#8ojg{gy0QBK zzM9vpR$+6nY= z>UnIGS?L-~!sX|dR#~HzQjE-QqGmxxm7QsL3L91IMl$qmY>CMvwcbCssd5#uW;-IY zLaiVXFT78Z?f5~jrLL7KAwpChi3(HtqnbH333%eWav?ymKf~YmZ&q<{#EZqB+LMa3OUe}oRm^2GN+dmjtx>nV#>4!i1I>&5B7kdWHPW*A+=&X`#L^k2 zPHl%{8Wm@o8o91O7_skZa`@drhOv{YT+&++Rk-!p5Bw#YHN($chU0_7D3D0I0zVra z`k3SfUp#t_SOEDsy^PFCKj6(QbvBc@Q>|6>@oYxK-YE}X`e!HC`ZPT+tV5}aW^(@V z0LvMQPxf5WF(ikKH){<_RB1M+N~!x1zu@`sN8yL?!~Ga}ALvK<>L=7PGGsF^1e<}~ z8`TGl{VX>(@OR`9wH$o;^-rero|fwwo|T;L_RhS#;8JFC&QG;6e&A_w`dwL17&=9W z?hcF?Ixu4oAvvu|)Ztm0I3#6N{mlG!P`~8zBW|7g4oCb)taR*|7PID}5)c0XX;?JA z2>$?ft;qh?FzwK?KjK|ursRkva~Zf+N*DYf!KFSpjadHx_2Ue$xY_B3A2Lb%YyQhE zcqe`kGO%V;J{SpjgUFHlQ*saX^&7=S5+(|ZqzbxKQ9^(75d3^C~` zq$-3(0)PN^r~<$=z6B^2Zop_@^ucpg_Y2kLq0;$TauaE-F9rQ&EHcR}M+Nxi6!C(! zoy1aC63SXwfd_SWtI)@$#(*Ua*bwPTI)=Aa#=2m7oETg*RBL4v1b2ey^ zOK66f*xdl5Q6#Hfo}2VsxeTa|IK8~aclf!?#c!9&u99e-L`vhbCAID>#(->UdxzTU zJ-6(T(Ud4hTE-W-`&DppplPS4hwa8bBhzVdsD4G(b444|g;Z>HSlz zjai;V)A!)1V<3Q_e7hEKkd46xDVQN;Cy%uI@37<5KAY;lnCaa!+)r)ua6Hk*cPjv; zEJXlqcil~D6~;J|)|~`oy02S&yR?as%tsWNl^Rv^Y{h^|<4f9YV$qoMOEBL}uUX%H zV^8VLQIZR&wD_-$z9y4r%wZRVHSZy2Uv|Y+*(`uJZVM^c6Ur~^e@zU=UTD=%w;*XD zARftgB{(&EX}&&@bOT)f0EGU(9YZf3S2rjfM>^4%&tj$j3y71XPF z8lJ1ub;WFK*L|ccE?xt=TOP0 z`&F39W0N5@YZFU`xh*N@O0s*^VYspH9jKvy934-OiSS8Oy<%+6Nt!&ol&VW0yD|NO z_f`J?0N%0EKAq~HhyJkRw0V;vqkNh?sH4A9qA;k*+7S~>W$7LJHHcu39~b9CqIv);qr6`di56vumvT zjdv}PyK+i4vbMDbMepRYGh^cR>Td?-ydKPZM2@N*K_C_+j-t7gnp1g+S->91xg_&qx;S<9;2W367jB=+lxzi28rGi|?}w%h~qN0-iiR%xV&fb51O)3{xH z*1%r_pTBXS)l6b+9A8+j`Q9=ZKPrfVUTt$@2A$I*o8 z{5XX0XMsLa7?5oIB$YkJ;yi^#Jc(XXpGx#r&F3R&fURO#b$2KL)t>;Lq+iYWY({-& z>ICTBBQc@scTZ*nQ(ELRhkc#?E4zRFiet2&Bix`dHL+Th8N3Nmbr%GB&Rv2+3W*i{pTA57%r z$@FxVSj>68pc^wXzVb$n29#^zhN8^7i$69NNPR&Wq}F|}k^*9UJKcrV2bGe}I<19P zARa7aNYDf4gYU82^#|%Lu5g=e5)Zz?b^!6@@BaYx;iev(Q65J))K0T6>~GuyeXQMV z15n?%UYQOa?AmgAwb@OKmYt!MhkhhUYwg5Sua(`mn!IWG<+~pw9xFQO8GocU=4fM? zN&am*OL6?lY-~ImHd>_Wa|M=1zxO$rvg~MzQM!X<0Cc%O01L506*&5v`Z>rQX_D`+ zZm@!EL&6uh7%Gq_xr53)q_$lt#5v24ys|XD`k^0{eb^qaKT35)k0<#jEvz^zXO^#| z9jFopk=y}32&_}SwDj|5GqLqZg1W3MvaX%9-HC|UvxO&Cz>*20`k|rnkRzpRbP}dJ z9~9@{tdrWju{erbE3jr2b0?&9aWd#q??Ze*?%icEc| z@v9*aiW1Y7D-B`TlCN15ScWwL`9mrFtlcs7j+d6sL}N(R92WyHHY+9AuOt@j)LN@y zUq&n+OlETs`;R=$vPGC&pf-({XqjdANwNy4E{G`FFl~uAwwIzGQ5E%OG4$qrW2Kvh zSl8bwW2=#hSe58oiQ8dfJ1{bFn}3{us}RfwNcuv{(gF#$gE0C`mE9DGbkvo$`xSkG z1pE@nJyn-X_F`p(5iVFOMxugE1b|AiLTZSn?po|4daW%bvZ^$34b=~{B#96WoHpg7 zEwC)fw&(*Lm!JACPkmz~GxAz{9x3#sEA6JQ2kzZO}BIhXNc(W&Y#g)Vb1 z7ykgObcK?53a@<7EwuS+r)p$j1UMhtNJ%PJ$s+o4$V zve6B~zXFcTI1WJkN|3Hkjy#ib`3-G;9D063I`!Ph(Hd)uD6G4?6)Pmww`fwxwN`Zy zTTNo#{5ACCk0W}6FoZ`Kk{pVWMdWeq$vEEhBC$n2S&6RO!%o%mwcHK(ZAAf|cxFVM z-F9NhBE=5pWA2ghW&nUco~{`O@s~*;1_Y?s_6t8fv}g^gw+%!!`IV7Y7S=Z_OJ;!8 zz*?eB`PW|;M-lt!n@VJ;_rtoFJVbCC*<3X@i7PJhSh9f0jpp_?~NTdDJSNogC!Yk%&TKa`Xjvt zMt#Dfk;Q)YYgC`%G$o7;SEY@fdSOo4T~lX|>UZIIV_ET-K{v}Ak9JU!Tw=4zIq?UO zW#!+*UsktMouZ9uG_f95BUia9^N`e7gLE%Qy1jz*r=Wc@xg4^~Gi#CbJ7y(al!5d@ zt-hKZfkcAGRn`;jL#FhW4<(M3;;m-?0KYWYJwIJqN$y;f@oa^l$J~?$AkTVsD!;Ze zH`}Ud1j^4mwIuAMMHG8S5^>r*Z}l;<*FuQAT@lL}M9Zh};TlBJww-dY-iaPX0ICB4 z_PS=5-khF3{Vh*#A$AJb{Wn_FSF*NvC2KkPVLxw1lgYT0R6I+hVDSmVVC3;(ha)fM zjPDtdL#P05U5jtPx;zcVh1{R1Wr>_aml=5E5uF5*b`grbOe}5z_}rQnLB(ORSV=X8 zkMF&-mTTAXnuZJY=9N#mJW%AMS*~$Ev`!>0z=6avj~kQML`RxEKdAaq+3T~boYxc0ukCcAo0)o4l943 z6ssl!wD~MzqtvjZ{{UynhZFq#eE8q_@wfB;08dcN+><#Z07yH5w%h*zPIn(ZImC%G z`G3^S!1I0%=jOh{Z@4&BXkaI=?ThwV#4E~Q>Jbv`H`wpQ6XRjOkNv-nm@^LTsIe*l zv)y$=j#N?ouYOIPTR$+T{o4IZ0)hZ$H^|+;tqu9G2W&@uKz&i^jTs%y3y8_V9-z*f zPi-qouWAeqCcCucsvdBxf+uD06!TsDvhvx`I!M9obUvqu1L;`=cpNh^ijr~yH?2VvwKL5HV(HDl-+^$pF@naX|FGrJ41gs$`!$OXaexXOApF_Oh{;11ycssbr0P#@eZMbM;S- zoe|=--jC9FxYi+R{{XXMD(V;AmYs1m+cGF5v~jnwQa>NlSjzb0)g3#rV@h@}a^~&*oy{zG9md1qF7L<^0F85VL0aU}1brDK*dHuYc(KCHf+R}?3 zNhjxfyWjfWg>@QpxY6WvH)%CZ3k&*oLcBU}C18@@ZrP~f$zbfx!@x(k1-gEG8D2Hq za^uyX(V)D(LE6hft1lt=Sx&g5KeUS5aa{9?m#ubZdaPb1(VT>MV-?3R2f;D0Vm9D| zU;~EZ>IVS}WEUe&+&J~l8x=A4=YcI_8q2#jQ%C3OIA~|B?yJd2P62B2`*ARM*Nom6 zo-ibgFl8h%jeudfQh6FpvJgK|*@z0Uq?|}SiMR?hnik4WV~aIRDP;I>8-s|e?l+*` z&G#DgnXNyH{{VKH&RHay-FmVcIxj0__GuogDCLYcWo||(6e6(VqyS3Ea=mgwiyW*< zj@Bmi8a$JBNCLiVkfZ8mpP^({Q#s15vuYmJ%69JT6|+^Hym-7a9ZBgwx}CJkWLEB) z$z`Y@vn5>4AyVr5HQH4UBMZ2%>`q)cW&%E7?nx~4uN={X8!J)ZU7xuClfM4|9xLM* zWYlG|ETAzmY6|+6$JN)E zmHnxqL=Lm#G7hw64Yup-%B-sFdPy)5w|PFy$_8dV+K=gRdTf!t)%F{Lsydcm-A{2s z+7=mEIJF|oZMBdj1qi-31I{c5+YM^^yH8S{)N&?Dni%G(F$*X~B|XMXw`D)H{^AGZ zo&HWaDVr=-2_*L-a!y`r2Gs5plXc}q{VWJIV@+?=a_b>!LVI%VCy1y&V!=&VJlzW$ z_ff)*NMIyYDy{ve@`w3Sb^~$z>^vR7-(%EQtz`cIE1YIk(-ik4dr%g8lnv`i+P*05 zb&d=CPxP~TW7OHDjxxPJsIzBsECnE08~D%<7Yw?T0aY1{o7LO%(>^PlV_mQ+RIz1) zFoq|7D5af<9~D&_lFZvGkK~`@^V0sAk&~%)45mgeuQNPx3*Z9X%zgr`u{7HbFuSH? zCF*(nra}>NW~WGpG@*}s8lyim{g9-orS^!H7lesW3lY*-mupsCc>?=; zaqY9Z5O}BRT~{U2p>|?ka;#P*tzEafSu~^MkVz)4yPk46Jl|235h^&8s4_Lxd8(~U zZnmS%&<6@Op3+()wrzL)mBP}OP-c?6SFX$zTEfx<*ZbMQGfxF>Ws<#U-YCnrHXN0@ zpuJ1#9RC1WmPpoTM2s-hn=ETx!Fd3it#)gAs>Rvq-i4IuYO~7{nPoAJEIZr_(X4Z) zdk8l2+mntHTWTF^m07V`e2Y1I@_TETvk_cQDVYpo^xSe5mi3rM?vH1MRb>q{q=kv9 znfhzy^8p}``-;}`6J~*?~(;*cSGr0weBG|nX(s^#1 zmM@w}<;<`fY|9Y%0D@Vl8z3I;D*ItQSJnBxrJar}gUt?AS&4C_C7j3FDC-Iko71eQ z)4AUpzeu>ecCFPq$4cak3Z2H&6Ga4aNysiiyz*$&$CBlYaLv)AMa5(AN zIr8A@>A9HN!tjY|H}SJs1xXdX{aAMNOGce*sYjR~L)S7aSqZQtZ9ece03^B+3f}Aj zhXfojZu|D1G24A}p21$M@XbdjW+h^b1d)bm71ZoE1$l7+OE6Kl;Pp84$6bf1WHRz< zwh@JpbEVRdire)K?Ee7P)|U0}r6=f}V>YUX+j-gGVRZ4x460NRE`eZZ4l4E`vU>^N zEqB;WXOGu9B5D3|LtinELgEaR5zEP9eTKqSEPc1zl9$=J0yw$#47?e*pe@LXJG0%2%cEwD;{qy6^N8-plx;%3ng05Bp>BlKzeZc zu=cxA>FRWK>*aJ-ci2ef89FTR8H(&mSg!IOKgzSJHrsBabHFCe5Z}r{;(npw2{BdK-eefwDY~H#b(V??!s??6Oso z{N2XGT&$>A?CvB*18{x6ZCJ1X`2)w`gTGL0=36tDr7*j>6bH%jH*$RM^Wl#zIf!)Z z>}At43ZieRTDTkDz@4wQw&!p#!M$PqWVBYFz~%I(V{z9t7NMF6pnXMVAxjBDO_&*? z4JfyIL~kktF~`2aiSxzRqWTZ0b-AN_`wWgqvX+b;S&37c1L=$res7-LgJKuzFT`G# z>8R%a01b@wKA{@0NgZ_L;BYH_RAeLkv61HYtXD>Tb*(l1om1TXeW)$n&uZ(IAeSR< zW-lHzGfudiU2=G!xi}u=X~&EZK#sslPgfWCZbPSxr$*_SR7|!;G?CRmUSRf|#O+o} zEzvrLrgk3~p=0ZPSF0TV0I2%zdEYnGo@iosb_)(gHOQGfq(kUj#Fg#<1)@X=A)8d= z{XY9@bbo47UJPAvn%37FEdoeKxhhG39RbuY^J?ZHlKxT|f6x~i!nUR3D5QPeXyw-|US`?;+n=Y>_ zvNWt}4^tSpQbwM(oy25}zL48|v<& z)vz1_3EXZ*^a*Q2t2$-!N~>esR&6{|gQRQ^$Y41ptc~ejS9vsD9QHH4nr^Hpw=`~*lhlk^=2bdXdL%xa@PcP3A=>GUQ!xrQ(){PW9_K_ z0Qm0VZ!KwML9r35FP=m-tI&>#WXntnr17IEt>}$v;e3!<_9}KF_ZY9eNTt#Y{#liz z%ShqE?ihkY#C9ZD@BzQJ6rD+6MPD(eb-e*{8q!yxt!X;9ux0@ghNj0&xM;gBQouX=Aow{qcQhA8lXJa z1Pk8v1My@oHBS@{z$}`Kgap`;WcIC%BrzXv8&xx5aMGQz>^`K_n9Wh7@|3iOqJ}Fq zW~o8rsZ%8tsLENda}?oyt1R-YzU*qUiBdNzb_G|%)S=9ytc)ZsH0!Fm`R%UKHx}E~ z4e*09ol7ejMn-tibf`OM1cSAF{GSGh1gU48r?mCmA!3$RrI(tzEH$TU>}RiLHdPNa z+W_cHz8r1jF(8tmx^v2fksB|pX>)MD{?1|a@4W)l8i#4#kLro%q}1YJ9)>`D)hk}& zey@O8RM`6y$fJh=6p&2<%Nz0c!nAO<<(1=A4ukW#Dod#(21G75+^1gk2%kICDpT{n!in$$UbW(yBSKX&d@FM75&A5uNQ=VIl#V6O_2LW3lW$%s+pj-g2# z%E2Q>k=unuEXVc&&maAEtH%?=1lgGu9K15mE1Fp0jiiykWKdZB_^wIg4Qc&hb`x3m zDh|eW`?%OGW!y{n434EWbj{k?Tx~3FA!D&9v6inR(tDF`qB>QcX@p`~Cib{0y_4u3 zgPdNo7f{VYV1p`?QpyU*%_10qROd>WH5Nb1KpjA>vFIO0^|(5mJ!e0YlOvVNtp3vG zl*2spJS`fCp<%2A)?3_Qqqnp*+Vwcfbfl`8yuwKqHQSARYOs=Qm8E@(a0|FXRledy z45#?tiw3uP&s6-NIef9#n_zcU+9W(1I=j9Fw%eP%SiZV`OWq<`mrMbO0FnGg+Q1x@ zs?=+1rMnn4Hnhsrv5(TaYYzqeYn+R0HlKnrG5U89H~#?5b4?nQtbsmB46G!TzD|tn z2UR~-mRXubdCunZ8HQtLSJfPU<|A`N0pf?%V|0jNi`$dg-GB9bzMs;xed#ZSB#N*u z$2;lyuYsFS$?eU0Ox~x-1cxo1v^~huPuwwhdTLJ4M9uJm6;zP_09JApSiDy}p6o*{ zmW)FP6vWoH`FCm>xCO6ZDywj_EQ<){{LX32(i3Vo2o94;P z0ARG2aOK5iX?G8~x;}u&XLM$p$U}1Wn)|6@sFt-g$UfujeVJ!PlB^13sEx!VB}4Ta z%ttIq9#f~~CVa+fXxG>plP&IBsI5!< zA!Jh1Dv_y|a0xxtO!aZyHah z9jlg%)};27hh=Y!hoNM0xfg&K^+_S$GW(Ftak4h{w82??olJJ3xWm*-nx8A2{IsOU z1b_Ot6j>2dGLyqr5AfPmBCKdqF7Y3eSd)F8M`q>%9nQciEAPMY$e-|kB#pM&rs#sl zXi>r5$Dg|WJbl0v7J+KMX;_UWMrPMaPUS!f)yTUy&CzZ3RpI#dCo1|!{e#xktQ3!%w+3v>0x{SLi0wO&HAq60 zwmbRUj7~ju(c|m>mK{$k7;N89Xfq5|HM>Bq-YioPs?4rGmwo7rMTe%^n2B|^S4-Wk z16In$(qp2uk-EWl0^&sl!6AT^S$OT>A=$U;NBE%mzwkV_Q_IaF%am%Jq9t|0`bZ=K zHabW)YV7Vt7(WBgPmk1nN22C(@ks`KJ?x}&#*VROVb!b+OV~(YK?b`}g4f!&YfjMK z(s^6DqHzScHGh6*l!W$VjO`_U8wF=^@<4&N3_R`#>L2OPS4Y(HkaX45x$5?mDwfu* zy2+}^QGKnb?auqFS>C7gQR#X7*I936x^_axNSKw6&Wt@s~pgLHVjURzh{9T%gjM2UAZsPR}#CM8soiIcSjWwhwL%DSf( z6$o!4ag)#}-p7d&d-o ze~Qb#k`X}Rncn+>+ZOQc#*B{z+v~7nA&>OU8K$AqxN}&dr`%Vq4nEbNaYq%C?q1BN zVaXGS*@}f;U-dR^rJ89NlFvMkxZIM=M%)o!B#QXuy4TZiq%lDX5lb9Vf=3a=s;9tF zxZ=RQ$UBBmeKKiUxUTFN*@xX%#A6Vk1?Bf9L3P>Xa7irIALYC5!a#Q7dSdC2Jc?Z1 z%Q0%BKx{wOsBC`M`dz(Eol^#zwTd8$N1rRm`t(}m{d;K>jn4r0woMtEBYe<{4evzpat8;V#+=HqQna`{pOF5Kx{{Uj@ z5+-E@?F`c;IVbsKm30bJOl0j^C1vF%#rG19Gb=_~cQXF~ryA8Jl1SvEskHUj`N^j* zNE?dVj7ZOhw;^PeI94z4PNZ2m7DWi)d%AR}JUX6ZBan7Ae|6fe*t2oTm2y#!w$G{b zjpCD)nRgTo{{Rpv8}bdQ#}$oS?`mzsSgo1#o<_>WKv^<8*lS$M997qCxNzsfB$tU~ z0!rn+Q7({^8puX8P08ziIS-u#Z#f zzUFG(Kb*~#p*)z}PD*;0ZDVUk5@cF>o5d8;h-+LnNM3S@Kd4JTO}WmYo5^TM@(8gV zU}?}r-tGybM`oeN+)%`ir>q@CC1r6eq%U)`>e5tFl-z2tPT&K@+Z;a5)ar~r5|w;( zea5S-D^!LE4Vy80Suq;L9BC!$;Gb}~P)yRp8xq8G<>6H1daRN#ifpXVNqahjrKs*# zfNuB%?^n4a5w5S%v^1=Z9*``>eaHynzLXRIt`H6WB@Rf!M2F)}VvA1NH=Jf@ZQRVwx9F(MYVOHX72I zO0u3oMpHyt)q9W!ZA-qley{azzwY&)O`1C=k;mvR**!S*960MTDr${wZnQUN7UF_L zGsT0iW*mJ=(zJp*g8ZZhbwqgdhe%j5LptaiF`EZLAQK!Qk)?j33(;bGb^`fbJlptP z>0G}^^u%3%F$%v`>zbc0BQ3sHrmMVB#U1XCnrPlvVML&a4lTGJqi1V1R9>XtIwrxR;u}Y>Q4l*=NlCviE8oVgdRHshOn{vV-RGxaW9HP5}{8s>Yi(WI2r*!3qdxYb4VvC|?xKxBvw!xn?v5En$|L#52WWjUT_u z+i^opW57`aQysyxDmTU|b$0h=l(#aO7+OtspAVBFr{M9~~k@}%}yzURD?%CLnu$7>*n8>`iZCTt~Fv&AuXQI{UlLsjyjs zV9hMqOAO4}M~*{woR*6bdI;oaU28IO9!b*EgMDZGRN#jW#2tu_MSwVcY0#%S9@S6r@=a z!!a2#$Ql|R3ylYBt?hSBefPLtZZy~1AEhWmF07+jh@R%Ud-Q?m`AZlGSPyO zr5e)YF0g(O4!Hg!`&PQc)MMl?Ix|3Dc~|sT8(R598gfT9Z5Xf=y((cMlg-b9j%AdTNG zn#;F$WrbjQQXl=|o$NJlSd3p%-juTboxMpb;NzC2215Fi3vM{sYm9f@FWpjOw-Yr* z{)EGEvIt$27U}b+dbU2f=~=QJKnXJq{>dUX?qtwPFg6Vr++EowxvVv(qg$r>yDQeZ zQ82?0IlXIP5-{py2Da2=AzOWvDefk*y7d|V0Geppv12D|R5cY^d2D=;vjz781ho^W z8xL)_EOt8sznzaz{{X}2KPlE+&l;?`IVH=?8;~rR$hz5v!{eR*09BFrm6;jtfKx3d zw9dyKVgjdUU@BEVRoMiQ#a6`Zv6*`k^`&%goQT^ODnf<_$P2%nzXQnJfJh&nx=sny zsV=S@>3>dkv+6KvK814(8KB^owgt5zn%*>#gIu0PcQqpTrn-f z=r$1t`G~R<*q{v^IC@@#bk;vrdZ*F(i!ck%gO2`s3R6b%dl2BU_HDGRiN6_zh~oDB z!|*P52ja~c^*&}ypFntHC3P~Z$i1cA$kM8LD_5$3wpzXeN5!VHwxg9Vv==aV`zybhKI0X0+h;;Q4+yga zj!%;mMO%<0EVewJnf=Nj5QObUg#%T$Y3>_u$-BfWE1A5zLtwCxm$!naa6S&9+<~IuLhlo8(a#DU@ zFDw!*tb4U7cFIvLnFC3^Jk=L=M=BEI)KzQU(+J-Y(G}q5ode(D;Sp} zEM(1p6ti~VxZV7%`pC2Bwvl}1KozRCY#FW zj^O2LBo;B%sz2Y;HsVHxS~9yid|pIGiFTuKDR&=nWV1<|c+1Ah{d$=>GDULpRIoR6 z6DcGx0`!}vjzE5buSE8QHd_nxS@?RK13M83I-;&-6I#@hyH(q-f=-f0Z-Q|lUAW50 zJ~p!ZOI`h{>}w}K>O)}z?a7JV<8DbA0F8(DY&v+-C&~=Z{7A`1B9yk4RX1GOHV*!N z3bYzvVa*)1YDZskF@H(YNb)X#`hTD+xX1JD?*^{V_qWs@xX)r0+dthd@@ehGj-J%J!v)AIL<&IRR7s^+@2lIOSou5YMK)@U zvAVs5S;x8niWp2HN2AnA|(jda`4r87`=%VgGe{u!xcyV zo6uuu_2v{7tJ6e)+=es`s^nN3vF4joeru~Zm3@L0M%E3TBD8_OleypN*qzD3cj_y% z+Izcwi`Cjb8gyOT4R$D6?QuE#+Ohq_R?F@t^KLW=?YbFPlO6dt6zP&&r%{3QX+tWj z5GZ?cb{~*=vJR>vnz4stKlqPJ&1Kp3mVuc8vZ7=@;xz+zV0Z^=0B?#rYU(*1AFA~Z zmAedUKAg|kuCcv!f))O+v_e7`%tc2iow*VTAf8*cuCtQ-u6B4xHL0uqQZ*|AM*LR5 z@DBBaUY6?4*%Ts~@|n0EFx914$Rm(xunmA{n%M1kX#6`BlwSAtdt7!KDn9E|X}n#{ zf7%E3k?now`0DmzluK~*fdRp zLmd^Dah=Hr0{z&O$hEMQ9@1#kfB`~Vx~`3HSY@g9kYysLl8|tMb&#~YqKX%bi#ioh z&hI>GB9v}8m15hvmFp%FG)*L9a;zwCBNM^ZV@{H6ZRV_ABWg0y=avlHsYP)&xh14= znCOzUq_?>pM#O3Z>M9M4XtB8ohFa~3ogb95Pco?^kY;GYpgwp-8;$@LRgFO>U^>od zl))M*kZDy3qHkhvjoE?Kw)cA+H+1~mtJE_x$s#{|lSmf(k%KJ@02GNEv=GBc1Sz1n zb)K0$N?+`6c5%9f8&gGvl3LU=wIP+bHE66TOoUN+_mVYcEWrDSyN!x~tq%21rT+lO zIy1u>gPV&~*=J=Js);Z$IzpDyL&4_3-K4&r^>keiud$Sakd+2sI}$a8()Av0D<8x` zXH^2~K0p|<2YRS!Z&zKT#AdM9W1BOJq%YUC0}poX8*rhqRiz&{irjG{GpFt<50+*t z%YOD_p>-B_i%SOf=8cEZA{q}>TG00IdwJxqPh=7t0k^4WkMH;j+sLgK=P7Iet8 zO@6?g!$hvG#hiwW$kCP=Qr?Hleu+{zRkoIelraZbk0(}&MfR7+CjH)9Vzb_i1YK4c zm4RNTml=sJwF#qQO`ZrNeU960vC_@z78CTjp;TbKE>?maJ1K@m&^twuL;yEFO^Z5P zMgGpqj;UKKsicn&S0gX{EEjoxr)7U2#gAY3i55V^i%6Bxhvf0!t6narcA0yTqCi-# z(J7#Nq&k+s@C#SKv#OHJbTFhzm|+xhwv^O$O7~T!D-6c!uRuRw0K#e9h%s0?hZ~2h z>?|;Zdsj!ha%rE-m|y{7s)KL>uIJ9go%dy3B1!Yp3FnZym+g)_Sd~}#joTfsZCA;< z0h&ETxn7%>IZUKl8aPxu(v4FzjBJoLScUDO4~@v<4?pQ;iHg5`vgOs<&CcHHT5(J4 za+iW{m=^z^y zjUI<9l+I>;qRo|7X-d;Hv(eJ7PQesjkZ-+5ZqC*K)B2C~4$e@cL@eh|_pD;CE0<@A z8k&NgfMs%bSrH^G+ZK;?BoeFgu4L(!@<_^5G$EI3C%1b2$trha;P7!~CVYFLRfA{@ z82mMxuxgkJP(iLwZIHU&>gHQc_x}Jfl~xHzXEcq6bt*X2zfNpqp5S6QLtM{V!C=IE zRF5R|r>A6uGgSZ){*VO#b^r~$l6j+K(AiXKC-rRIwcGU>DnfL-f=0uxrNa|XdWospL(H0N#Nw}@5f!Go} zc?V7*@MakvMI_q*RDYTyUwz7py5Xy84TQ2-A=kaF);dn={{ZINRAlSKT?DeVNgyUx zRPyc0DFY5GEEz#S3$lmy@c+-{4tcp8l05IHB^IPrmM-(>R zfW%yOa?On~-@I0q$gp9ov09p|#w>gI>}7cDU3^t5HOA1Jja^b35|GUo54Qwt{G4-H zK{rilW70jQj+n33NUdAhuaoAlZgHk8!)3aViSJa=Gf+E5p~*!c?Wih?Cb-k$*+}%! zcP*p)rLQ}4g12dE$C1fu3_dd>GuVPPiz{v%jw9M-U#V4hplwZ6>}c`FX$-K#n3pQ$inEy`bKFA8%o%wfNumKXQLI+u5>Y>N zF#3L6bxlC^u{SS6PQa^nc%iRwNoqQBdo$WF)v-ERl_8Ijt!T|6M;y%VrJ6E5LU`v9 zm9xN6`jm6}O`VS8K_4fD-PAf{Qbf`$l((cgp{0hBqV~`U+P;Q7C^Q$K?v{z8uXMzA zwEjZ=D>+upe1&C~=1apebm`j^&Ek*UQt=+F?qFI8X*%$hV zCXK5tvOPBEFjsS3&F-|&rZczNEl+E^XJTo0pxQG+!uXar-S>=~w6!hRxn&0#CA~WG z9?WXE&aB9Zeb4+t2Gm$xozKz^+y4MY=NO_>Nd9e=dD5W(6uSz$Yop5*?$d=%mvt%k zw?X2y4j%k-V>3Ug#s)v!dd3`1S0RtImEBOA6>Ggui=bh3)uswVBCL<6bhU;Urz>TU z5OyMs1#hz*!L3!c^{8Suna=yJ@q$XNiw3Qgw2|i25kQSYd*11FnpY7vo4ZOmgSB}w zi?yo(8LUeh644o4B&do~K!B+Tic#cm2(lE6Xfy}Y^#1@Y?_^)e{{SfXtEFUl7%)A- zb?#V!#cx$)***v=`6lPBgOTRi)Oc5HS8hN6DkQNv{H-nYwk&t2&KcZ{%+T+`W# z7Q|urhJ>FxdXxY)E!D8BDyF$mH^PZ7gRT+eh1%iWaFwmIQn{e zOEjrSk!n-=5d{=*{{RB_WAZl|TYXj2##1!| zGCIKRBAF~SX)dZOwFTA<^GD<`afYJ>P~b9J9th;bg=InbP*@VhxA3d6K79D;!O0sG zJN@p@-(m#|HaYMO;w>IV#<=rAsM|Nv>b=@UokWAREwA2&G7wZU#46P&6fCQ1X+zmY zMcMf&+A$P|b`hfUY=#+nu80q(B>u_9XQO=z4B8&T_sF_0Zcl?`eL*#WJNjzh&Ry;eTN zx0RciJXD||hsbpa^tgP^XD`#`V{sO$H71R=2jaFM4+C|+>8Ge>crvr*qfza$_uA@1 zD6RNA{{T})#TzFPk8euJme%=PzJDuoB$!xiWnNowIgVsV`NXlYc2x@_0kWbl$^Zjl z%HZl@ay=~|%Yd@xo;T6X}eN5E_ljc-S! zNjS2sk=vlEL1t$*e`!8?Z%n9JLjkE}QZ@p^FFRVBvHj1Ardt+hh$W4hn=c_@WL-Uw zM}uPa-@zYA3*L5fxtPxL_L=ZE>_)bcZRwo(GID%&T9ZbUvMP5hBm1O+^l!1_?#c*W z8+9T%e`!##I!t;V#=v-PFJ`Uxp~+!kqaTs|sRHb%vTD}21m5?){NoI`j#r9Z zO!Fa^RgthQxYa}XhMsmi*eX>5?k1>x5$eaZebv(c038{w^H?l?Zb+n8SITGRmjx3e ztCcY=tYptT3QCr-Be-cc=}t}sY>ept09xB9V_>Kn$=ojFn)wuJuGtQLSra{#WYl72 z_T*#Exi*LfHC3REAn$VbzY|uu&oT>u~lx@8*{l7PbEnN&>LxAoSe(j^LA{sDCRKC zx}Fz6cMJ-hR4krq>{-Kf$@;a;dS&$I>DRcItXj_LU1v`ZM{PgaN4g7M$C6%k)YuuBXIq0UYuX4<|0OMrDSy4zkE-luzRZ0+qGs1q8V&aJC}%g2avss8{IckCt<*d3WT zy`dRzgov^)$~~kgs`4@{GL3e`M#z$RWgvh&_XA9J+r{sO{L~^xjE$l9qiF#a5NoHi zzXOUN+?-U0&_{2ncHa%%EVYd07M85l8fOQib6TYyJBy=f>XruHnZQbthP$4vg0D6F z(5_k-t=`5}nbj%TcC|!2U9l^u*Kpg56rc;C_XBD>wRe`wJZ|hY)(-8TP z1=hm!+YU6Gc7C+|ZsGK9GETyF#g>kp#ppVkY9WuZ-+e|*vMkw5wo*vSS8S$2YdH9( z_Rri!G*^qVfRQ%VQ5Y`ARE#yy*e!mZK&}VJ+z>E}HJMoCXbW!3?d`c=aQ#<$Zrp4r z_O_xHh8(xjgSy!rRq1z4RIPuWZ?wI_)c8z|DdgO~Co-^Saf>GVm}y9sZq-Q$V;qrq zK7KPEiz?=Na8@L;>WH1F6n$zyr6!U^+z<#;essYl430?KOsrUVw_CD*O`mYLfp!Q0 zE+yt$DLipzA(71)-|pznsR~z_Zbl0PB+Df82_!Y#{_(+yQ?oNT#5P<&xhf*me(C#o@ZyiN0=$n&GcbY>=rk;WLt?~ncg=XV^17<f`KJ`>Ii2736mIY_k~b)|MAQ89^JgT=^u32F|KaAOiJI=Cu>< z2GVSSr@KoHk2H4%w6XFI#9lfdp=R>!k&~s#5Dy|VB(lGA#L5~1yr=NZ?gpz%HT2=y z=|Y|B?8axeb6HvSmWpe-&qSn>EOxTEsVc}dcAl@fB6|@vc(SyrYzxZ-jSlZG7ma2l zJu^8LV~o6{LnC;N>=<0^2o0#ACcxzQIF~d-uk_b}tmZ^)!Z6g*K7z9<(57glLcvJx z*oWS*#NVA~mI*^FkxKEo3|Gud%H9uw^8Wy+DI7sQKpjfPmI2pbz_9brAM~&9f2$P< zc_C>bWhLW~#N|m*X|oY}fZQFl@x{`W*vFKWVO8Xa+;}UrP`fIF`?nDZIWS_0tXV!k`Pk!5f9vqHI`Dz+6}%h#z&v8ZMW;dE*%8yz-i?H;>2s52Yh?W{7Y-Lu!( z%`KUwoWx|EFVK=D`)0E&X2odVn??`9HjUSsvN0rXSP!bLaA@cU zLwIZ0f~4R23luRm^slHh8ENB|IrYfBp3IWE2_n5mOKl#LWKkrW*j?gvaQ()Qx_!9O z!yhW$x2dPcVq>W-m=oB{%Ib|m&8u?7S_TiXS!b0{##E99{ZM%yPv-h(tDzCCp=OA) z8Vs$np6dd^8|*w$B~C8BwbpX-dT%iE5}=~apiv^I&_Ae;BY%nSB63b{HC29W6J%3;An`!&_q;S*eoCf>!Zy9hQ;oGgRct|` zpti~EVe1}ZT-4ETyV#iSD~<$#^4xF9p7NP*b^ib?qTyB^`4`^8sV~SLN67mOLo+$g z%4Pom#3cjsGOMmdSdB0*>XA@1*Qvv-oJ?$lb##wx+tMKGfrc3Hsaw zs&Q$hjD6H{H<_moUcVxRI)_H%H!{q7BiO|muv`4BHwMA5z83C)CljqLl*_zq0bn&b zVYB#VAZKXbJtR2JcUVFDyGHDj7gwL4m)<)|Wo*Q#4xAgi>T^34m*n~6? ziOPnS2_tQp4=utVTu|8`+>FrDz<<0;+-+MBJYMyUMpsDnt6RK!920B_AH$K5fI;v< z70=X2TqZu9sOPjyncY>Xoau|2iRrpETVeG+@%;PI;mLD^Siddy~9!B}?H!a9!_nUE&#^Xu?UNG2YqOR5j ztZ58?Yg0!1fZ4a+&9K6WUbK~errA(zflka%0)^^3pB3B)!q&Ak_i?mdo$gWyuHVr( z>CfsrtIIx>%GQe|8xmWKMasQv@wznT;fsY_cbCqDzn(hy2P0*L>_O<9D_0 z$(LCZx;g#sNC2Y0wi{B>pyl_geJB93aU~y8YYu%J)3lYOmTcqboP1Rk96X~XmD6;} zOT>f6W=DU<+i^SY2TA&JulR!M8!tYCxrw=2`pc&Q$1t-KSCqjus9Wx&ibzsermt#g z;sQnz2IA#h^Eot{Ju?9^f!d5V1OfvcT$}w>dr$`Zk>oRR$(a!-e@f~)qAE2tbt;jGC#!BQOBGE; z6>=o^phTsZiZ+vIEyU|QXEl?PCPUkMG-zFzn~=e(!jLr4`a>vfR0_W5`a63qo66ML zYqpgE1V;5sB2gi`?6B-5K~gHQR()OSD(;!mIxj-@>g9@*DOAg5wGH{B5KEEI<#Kkp z%`{3$unsbo9vI%k&ONA%U~rOucHZ}y6_sdf16JFCzi1Sva6=MooAFfC7H_F8SKEg! zOD>m@Pb6yo_XZbUG9RulC>JMfnQOfijgCAcp4d5nz{)YJ-Nt@r4u3(&ypgJNy=vXX_Q^omjvH5HSl-eYCKWe$-*E3 z1z2{2sXjp*t?y0d*H1R8*!-`Zf(h~x*0P2f7BgAG%@u;S96Qh%E0c7iI2y_g={5$M&|AQ}LR)7*Eyc=7=KHbZrJ%%-2ou~5fsNjgq&$0%DgO^|7;e%-r49F-$b05#1$hOUayF_{wU7WCaoTB!I|?M} zup{aXByonVP>{(iY*tht*#PVc5z3uFuES2_5fk2jrjM)dO4%3Jnm&bo>F8ZIJb9YB zr$Ec^9G9ki=SxZBc;ruUWI~KcHV}^^xN>$I z&;!7{OuA>O3{xpdgkm!s!Z*?w%^BE-R8R|o*2H&Sk_Goi-*NCb&0BvVt+bV6QF1by zT8~W_B#Pb#J7J4t>aAu}VNvY+lT~gcm6O>jlEmokxhZ7IXvpRX*Ba@9TcIpTvJy$Z za0*uXxCf2!>(#nmSFA-ZSm~6dj;!WX?(t?Dc}k$t3Nf-b?j(Vv-Vm?0k(rbZB{^)T z<-XoQ+i*wYfBWt{ZMwawU9Wqsg%NymYVQ1vynsN{0BpRj%&IrDz2EtVY3>z7P&a!~ z;~6!Kurf-MJZ~HBjJ%`cvGP}LL~c*uet*~T*OCB1QZ}Q>vfF?8t3M*e4J$IMButVd z(jQ}D z8fbmm_Uoj=ZYBxfU_fIt7>4r$+NV7S8OeP0OGznE@0gDU0gD%HVB!aCj%IEXZ z3D9QFXCs<;)@-EprF9Bva`F}eC;eP^c>?sSjn&nx>S=V`n5^{rgAJ&y)v-%0J(#AR z#4YifyTk#S8x_zp%?qc&#^H*dT_%Zyk$aCGnc&ot$5&1P0PV3xJAx03@k)oOWpfZ_ zBg+?OgE1hI8A~e%h*qGW3s+IG6aYMV4b0&?Wu5Qucr@OL#{nKTOw1Tr7D;1KkHcf6 zU${siE~nj^BrC8@%Q<3KZ<5GmkEi8YXW7WsPW!R*u)VqZtPx$rhQkhPFF#k$$Cr+T z0sXG#TS(B;1Wzo$S0>AN;}(L%Y3)DQj^E?-{*A-SsC$Ed3yae@94;|I{U(Gk#RPDB zfO`~aMY7tB0|jp-UmV~x3%h7giw zsyFH<*h-O9Cc8dsl0WGq>qGnBUTO{inN9KUfU zPShwPjWP1hj@0L=8dRj=C1r`;O6@a?rmN+Vm4i&9XvG8zz(7S?08b;luGO|7?baD{ zjD{zVEX>-aU|L}O8C`rv#@f_qU5V3U5{(r+cXY35O?{f)*5GbNVBCohDv zVmW5Q=AeIdV3y9)S8H&RmIwde~!J$lx zR>%Fzs;!)MQyXy@G&2@(js&P#MxiR&uq3KD1hN7N@!UQL^JTD+rF}A4(9s*G6j?(B z4f=IiU^gT%DmVuY57S;U&Nor_H?)~qCYKMBshpcl$0cQoD6n~dy7sWcW5s0C`AD*L zE2vjr(05Q=AV`GwQefiv}QDJubvyI2vzBdv~ zU`6C(h;c)eMS1hBM5GyV2BWsHN?6oS2EvQ0+*P(7`h?EQkP)y`nasq-sDBPI?`b`t z?#jBZiK`Yi#Dx7rt5wt(-%tI7q?1_AYRrxvQBu3Vy$wuk*p(I-4VpEEc;dKZ@Ui`> z$nLPCw@EUN{{WepmxYG68o8z1(e2sA`5fKTW0gpXi6z(^$GD_c#wIeIwKFjU#0KOG z)OHt&_5D%1lZEa-sr#BwACZy`G1&b(kI+@Cq#{M{r&1OMD?9D6f8dQp^ z%p5BAvnje76uQP7^H#NFMH)NEuHixm>r)FM*{q%Y$!tv^Z)|gY*_X#9Bs02=nCiXn z$<%DpsNj6rCu^=wmUamwi5jC9C6lvEQGovd@tMmOmE=>Udz81f4Yv4jU5wXv^p3m2 zU%=(E*gUmzgB6&iDhcRcf*IZ!;8av4S(TL(@=&E)g9T*i9%)tLm04AVUD0Dh#c$5y u{MjK-7_~hkEOX~F`6;!_26NfUOB{s+ZXG8}0D=j+bv03GRsq;|fB)GxN&3(L diff --git a/src/assets/images/portrait/small/avatar-s-7.jpg b/src/assets/images/portrait/small/avatar-s-7.jpg deleted file mode 100644 index f6d6793c5ff069e69d90f0b42d55818b44f03c45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30765 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 diff --git a/src/assets/images/portrait/small/avatar-s-8.jpg b/src/assets/images/portrait/small/avatar-s-8.jpg deleted file mode 100644 index 6cee846a4ee577cc20d17489a306fdc671b6fa32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30562 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 { - return localStorage.getItem('userData') && localStorage.getItem(useJwt.jwtConfig.storageTokenKeyName) -} - -export const getUserData = () => JSON.parse(localStorage.getItem('userData')) - -/** - * This function is used for demo purpose route navigation - * In real app you won't need this function because your app will navigate to same route for each users regardless of ability - * Please note role field is just for showing purpose it's not used by anything in frontend - * We are checking role just for ease - * NOTE: If you have different pages to navigate based on user ability then this function can be useful. However, you need to update it. - * @param {String} userRole Role of user - */ -export const getHomeRouteForLoggedInUser = userRole => { - if (userRole === 'admin') return '/' - if (userRole === 'client') return { name: 'access-control' } - return { name: 'auth-login' } -} diff --git a/src/layouts/horizontal/LayoutHorizontal.vue b/src/layouts/horizontal/LayoutHorizontal.vue deleted file mode 100644 index 03d64a45..00000000 --- a/src/layouts/horizontal/LayoutHorizontal.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - diff --git a/src/libs/acl/ability.js b/src/libs/acl/ability.js deleted file mode 100644 index e4797040..00000000 --- a/src/libs/acl/ability.js +++ /dev/null @@ -1,11 +0,0 @@ -import { Ability } from '@casl/ability' -import { initialAbility } from './config' - -// Read ability from localStorage -// * Handles auto fetching previous abilities if already logged in user -// ? You can update this if you store user abilities to more secure place -// ! Anyone can update localStorage so be careful and please update this -const userData = JSON.parse(localStorage.getItem('userData')) -const existingAbility = userData ? userData.ability : null - -export default new Ability(existingAbility || initialAbility) diff --git a/src/libs/acl/config.js b/src/libs/acl/config.js deleted file mode 100644 index e0ede0ec..00000000 --- a/src/libs/acl/config.js +++ /dev/null @@ -1,8 +0,0 @@ -export const initialAbility = [ - { - action: 'read', - subject: 'Auth', - }, -] - -export const _ = undefined diff --git a/src/libs/acl/index.js b/src/libs/acl/index.js deleted file mode 100644 index 71bd56ae..00000000 --- a/src/libs/acl/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import Vue from 'vue' -import { abilitiesPlugin } from '@casl/vue' -import ability from './ability' - -Vue.use(abilitiesPlugin, ability) diff --git a/src/libs/acl/routeProtection.js b/src/libs/acl/routeProtection.js deleted file mode 100644 index 31d20766..00000000 --- a/src/libs/acl/routeProtection.js +++ /dev/null @@ -1,5 +0,0 @@ -import ability from './ability' - -export const canNavigate = to => to.matched.some(route => ability.can(route.meta.action || 'read', route.meta.resource)) - -export const _ = undefined diff --git a/src/libs/es6.js b/src/libs/es6.js deleted file mode 100644 index 823704bf..00000000 --- a/src/libs/es6.js +++ /dev/null @@ -1,133168 +0,0 @@ -/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/ -import * as $protobuf from "protobufjs-dbx/minimal"; - -// Common aliases -const $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; - -// Exported root namespace -const $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {}); - -/** - * Namespace cosmos. - * @exports cosmos - * @namespace - */ - -export const cosmos = $root.cosmos = ((cosmos) => { - - /** - * Namespace auth. - * @memberof cosmos - * @namespace - */ - - cosmos.auth = (function(auth) { - - /** - * Namespace v1beta1. - * @memberof cosmos.auth - * @namespace - */ - - auth.v1beta1 = (function(v1beta1) { - - v1beta1.BaseAccount = (function(BaseAccount) { - - /** - * Properties of a BaseAccount. - * @memberof cosmos.auth.v1beta1 - * @interface IBaseAccount - * @property {string|null} [address] BaseAccount address - * @property {google.protobuf.IAny|null} [pubKey] BaseAccount pubKey - * @property {number|Long|null} [accountNumber] BaseAccount accountNumber - * @property {number|Long|null} [sequence] BaseAccount sequence - */ - - /** - * Constructs a new BaseAccount. - * @memberof cosmos.auth.v1beta1 - * @classdesc Represents a BaseAccount. - * @implements IBaseAccount - * @constructor - * @param {cosmos.auth.v1beta1.IBaseAccount=} [properties] Properties to set - */ - function BaseAccount(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BaseAccount address. - * @member {string} address - * @memberof cosmos.auth.v1beta1.BaseAccount - * @instance - */ - BaseAccount.prototype.address = ""; - - /** - * BaseAccount pubKey. - * @member {google.protobuf.IAny|null|undefined} pubKey - * @memberof cosmos.auth.v1beta1.BaseAccount - * @instance - */ - BaseAccount.prototype.pubKey = null; - - /** - * BaseAccount accountNumber. - * @member {number|Long} accountNumber - * @memberof cosmos.auth.v1beta1.BaseAccount - * @instance - */ - BaseAccount.prototype.accountNumber = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * BaseAccount sequence. - * @member {number|Long} sequence - * @memberof cosmos.auth.v1beta1.BaseAccount - * @instance - */ - BaseAccount.prototype.sequence = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new BaseAccount instance using the specified properties. - * @function create - * @memberof cosmos.auth.v1beta1.BaseAccount - * @static - * @param {cosmos.auth.v1beta1.IBaseAccount=} [properties] Properties to set - * @returns {cosmos.auth.v1beta1.BaseAccount} BaseAccount instance - */ - BaseAccount.create = function create(properties) { - return new BaseAccount(properties); - }; - - /** - * Encodes the specified BaseAccount message. Does not implicitly {@link cosmos.auth.v1beta1.BaseAccount.verify|verify} messages. - * @function encode - * @memberof cosmos.auth.v1beta1.BaseAccount - * @static - * @param {cosmos.auth.v1beta1.IBaseAccount} message BaseAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BaseAccount.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.address); - if (message.pubKey != null && Object.hasOwnProperty.call(message, "pubKey")) - $root.google.protobuf.Any.encode(message.pubKey, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.accountNumber != null && Object.hasOwnProperty.call(message, "accountNumber")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.accountNumber); - if (message.sequence != null && Object.hasOwnProperty.call(message, "sequence")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.sequence); - return writer; - }; - - /** - * Encodes the specified BaseAccount message, length delimited. Does not implicitly {@link cosmos.auth.v1beta1.BaseAccount.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.auth.v1beta1.BaseAccount - * @static - * @param {cosmos.auth.v1beta1.IBaseAccount} message BaseAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BaseAccount.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BaseAccount message from the specified reader or buffer. - * @function decode - * @memberof cosmos.auth.v1beta1.BaseAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.auth.v1beta1.BaseAccount} BaseAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BaseAccount.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.auth.v1beta1.BaseAccount(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.string(); - break; - case 2: - message.pubKey = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 3: - message.accountNumber = reader.uint64(); - break; - case 4: - message.sequence = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BaseAccount message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.auth.v1beta1.BaseAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.auth.v1beta1.BaseAccount} BaseAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BaseAccount.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BaseAccount message. - * @function verify - * @memberof cosmos.auth.v1beta1.BaseAccount - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BaseAccount.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!$util.isString(message.address)) - return "address: string expected"; - if (message.pubKey != null && message.hasOwnProperty("pubKey")) { - let error = $root.google.protobuf.Any.verify(message.pubKey); - if (error) - return "pubKey." + error; - } - if (message.accountNumber != null && message.hasOwnProperty("accountNumber")) - if (!$util.isInteger(message.accountNumber) && !(message.accountNumber && $util.isInteger(message.accountNumber.low) && $util.isInteger(message.accountNumber.high))) - return "accountNumber: integer|Long expected"; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (!$util.isInteger(message.sequence) && !(message.sequence && $util.isInteger(message.sequence.low) && $util.isInteger(message.sequence.high))) - return "sequence: integer|Long expected"; - return null; - }; - - /** - * Creates a BaseAccount message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.auth.v1beta1.BaseAccount - * @static - * @param {Object.} object Plain object - * @returns {cosmos.auth.v1beta1.BaseAccount} BaseAccount - */ - BaseAccount.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.auth.v1beta1.BaseAccount) - return object; - let message = new $root.cosmos.auth.v1beta1.BaseAccount(); - if (object.address != null) - message.address = String(object.address); - if (object.pubKey != null) { - if (typeof object.pubKey !== "object") - throw TypeError(".cosmos.auth.v1beta1.BaseAccount.pubKey: object expected"); - message.pubKey = $root.google.protobuf.Any.fromObject(object.pubKey); - } - if (object.accountNumber != null) - if ($util.Long) - (message.accountNumber = $util.Long.fromValue(object.accountNumber)).unsigned = true; - else if (typeof object.accountNumber === "string") - message.accountNumber = parseInt(object.accountNumber, 10); - else if (typeof object.accountNumber === "number") - message.accountNumber = object.accountNumber; - else if (typeof object.accountNumber === "object") - message.accountNumber = new $util.LongBits(object.accountNumber.low >>> 0, object.accountNumber.high >>> 0).toNumber(true); - if (object.sequence != null) - if ($util.Long) - (message.sequence = $util.Long.fromValue(object.sequence)).unsigned = true; - else if (typeof object.sequence === "string") - message.sequence = parseInt(object.sequence, 10); - else if (typeof object.sequence === "number") - message.sequence = object.sequence; - else if (typeof object.sequence === "object") - message.sequence = new $util.LongBits(object.sequence.low >>> 0, object.sequence.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a BaseAccount message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.auth.v1beta1.BaseAccount - * @static - * @param {cosmos.auth.v1beta1.BaseAccount} message BaseAccount - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BaseAccount.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.address = ""; - object.pubKey = null; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.accountNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.accountNumber = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.sequence = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.sequence = options.longs === String ? "0" : 0; - } - if (message.address != null && message.hasOwnProperty("address")) - object.address = message.address; - if (message.pubKey != null && message.hasOwnProperty("pubKey")) - object.pubKey = $root.google.protobuf.Any.toObject(message.pubKey, options); - if (message.accountNumber != null && message.hasOwnProperty("accountNumber")) - if (typeof message.accountNumber === "number") - object.accountNumber = options.longs === String ? String(message.accountNumber) : message.accountNumber; - else - object.accountNumber = options.longs === String ? $util.Long.prototype.toString.call(message.accountNumber) : options.longs === Number ? new $util.LongBits(message.accountNumber.low >>> 0, message.accountNumber.high >>> 0).toNumber(true) : message.accountNumber; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (typeof message.sequence === "number") - object.sequence = options.longs === String ? String(message.sequence) : message.sequence; - else - object.sequence = options.longs === String ? $util.Long.prototype.toString.call(message.sequence) : options.longs === Number ? new $util.LongBits(message.sequence.low >>> 0, message.sequence.high >>> 0).toNumber(true) : message.sequence; - return object; - }; - - /** - * Converts this BaseAccount to JSON. - * @function toJSON - * @memberof cosmos.auth.v1beta1.BaseAccount - * @instance - * @returns {Object.} JSON object - */ - BaseAccount.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BaseAccount; - })(v1beta1.BaseAccount || {}); - - v1beta1.ModuleAccount = (function(ModuleAccount) { - - /** - * Properties of a ModuleAccount. - * @memberof cosmos.auth.v1beta1 - * @interface IModuleAccount - * @property {cosmos.auth.v1beta1.IBaseAccount|null} [baseAccount] ModuleAccount baseAccount - * @property {string|null} [name] ModuleAccount name - * @property {Array.|null} [permissions] ModuleAccount permissions - */ - - /** - * Constructs a new ModuleAccount. - * @memberof cosmos.auth.v1beta1 - * @classdesc Represents a ModuleAccount. - * @implements IModuleAccount - * @constructor - * @param {cosmos.auth.v1beta1.IModuleAccount=} [properties] Properties to set - */ - function ModuleAccount(properties) { - this.permissions = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ModuleAccount baseAccount. - * @member {cosmos.auth.v1beta1.IBaseAccount|null|undefined} baseAccount - * @memberof cosmos.auth.v1beta1.ModuleAccount - * @instance - */ - ModuleAccount.prototype.baseAccount = null; - - /** - * ModuleAccount name. - * @member {string} name - * @memberof cosmos.auth.v1beta1.ModuleAccount - * @instance - */ - ModuleAccount.prototype.name = ""; - - /** - * ModuleAccount permissions. - * @member {Array.} permissions - * @memberof cosmos.auth.v1beta1.ModuleAccount - * @instance - */ - ModuleAccount.prototype.permissions = $util.emptyArray; - - /** - * Creates a new ModuleAccount instance using the specified properties. - * @function create - * @memberof cosmos.auth.v1beta1.ModuleAccount - * @static - * @param {cosmos.auth.v1beta1.IModuleAccount=} [properties] Properties to set - * @returns {cosmos.auth.v1beta1.ModuleAccount} ModuleAccount instance - */ - ModuleAccount.create = function create(properties) { - return new ModuleAccount(properties); - }; - - /** - * Encodes the specified ModuleAccount message. Does not implicitly {@link cosmos.auth.v1beta1.ModuleAccount.verify|verify} messages. - * @function encode - * @memberof cosmos.auth.v1beta1.ModuleAccount - * @static - * @param {cosmos.auth.v1beta1.IModuleAccount} message ModuleAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ModuleAccount.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.baseAccount != null && Object.hasOwnProperty.call(message, "baseAccount")) - $root.cosmos.auth.v1beta1.BaseAccount.encode(message.baseAccount, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.name); - if (message.permissions != null && message.permissions.length) - for (let i = 0; i < message.permissions.length; ++i) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.permissions[i]); - return writer; - }; - - /** - * Encodes the specified ModuleAccount message, length delimited. Does not implicitly {@link cosmos.auth.v1beta1.ModuleAccount.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.auth.v1beta1.ModuleAccount - * @static - * @param {cosmos.auth.v1beta1.IModuleAccount} message ModuleAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ModuleAccount.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ModuleAccount message from the specified reader or buffer. - * @function decode - * @memberof cosmos.auth.v1beta1.ModuleAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.auth.v1beta1.ModuleAccount} ModuleAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ModuleAccount.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.auth.v1beta1.ModuleAccount(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.baseAccount = $root.cosmos.auth.v1beta1.BaseAccount.decode(reader, reader.uint32()); - break; - case 2: - message.name = reader.string(); - break; - case 3: - if (!(message.permissions && message.permissions.length)) - message.permissions = []; - message.permissions.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ModuleAccount message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.auth.v1beta1.ModuleAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.auth.v1beta1.ModuleAccount} ModuleAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ModuleAccount.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ModuleAccount message. - * @function verify - * @memberof cosmos.auth.v1beta1.ModuleAccount - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ModuleAccount.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.baseAccount != null && message.hasOwnProperty("baseAccount")) { - let error = $root.cosmos.auth.v1beta1.BaseAccount.verify(message.baseAccount); - if (error) - return "baseAccount." + error; - } - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.permissions != null && message.hasOwnProperty("permissions")) { - if (!Array.isArray(message.permissions)) - return "permissions: array expected"; - for (let i = 0; i < message.permissions.length; ++i) - if (!$util.isString(message.permissions[i])) - return "permissions: string[] expected"; - } - return null; - }; - - /** - * Creates a ModuleAccount message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.auth.v1beta1.ModuleAccount - * @static - * @param {Object.} object Plain object - * @returns {cosmos.auth.v1beta1.ModuleAccount} ModuleAccount - */ - ModuleAccount.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.auth.v1beta1.ModuleAccount) - return object; - let message = new $root.cosmos.auth.v1beta1.ModuleAccount(); - if (object.baseAccount != null) { - if (typeof object.baseAccount !== "object") - throw TypeError(".cosmos.auth.v1beta1.ModuleAccount.baseAccount: object expected"); - message.baseAccount = $root.cosmos.auth.v1beta1.BaseAccount.fromObject(object.baseAccount); - } - if (object.name != null) - message.name = String(object.name); - if (object.permissions) { - if (!Array.isArray(object.permissions)) - throw TypeError(".cosmos.auth.v1beta1.ModuleAccount.permissions: array expected"); - message.permissions = []; - for (let i = 0; i < object.permissions.length; ++i) - message.permissions[i] = String(object.permissions[i]); - } - return message; - }; - - /** - * Creates a plain object from a ModuleAccount message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.auth.v1beta1.ModuleAccount - * @static - * @param {cosmos.auth.v1beta1.ModuleAccount} message ModuleAccount - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ModuleAccount.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.permissions = []; - if (options.defaults) { - object.baseAccount = null; - object.name = ""; - } - if (message.baseAccount != null && message.hasOwnProperty("baseAccount")) - object.baseAccount = $root.cosmos.auth.v1beta1.BaseAccount.toObject(message.baseAccount, options); - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.permissions && message.permissions.length) { - object.permissions = []; - for (let j = 0; j < message.permissions.length; ++j) - object.permissions[j] = message.permissions[j]; - } - return object; - }; - - /** - * Converts this ModuleAccount to JSON. - * @function toJSON - * @memberof cosmos.auth.v1beta1.ModuleAccount - * @instance - * @returns {Object.} JSON object - */ - ModuleAccount.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ModuleAccount; - })(v1beta1.ModuleAccount || {}); - - v1beta1.Params = (function(Params) { - - /** - * Properties of a Params. - * @memberof cosmos.auth.v1beta1 - * @interface IParams - * @property {number|Long|null} [maxMemoCharacters] Params maxMemoCharacters - * @property {number|Long|null} [txSigLimit] Params txSigLimit - * @property {number|Long|null} [txSizeCostPerByte] Params txSizeCostPerByte - * @property {number|Long|null} [sigVerifyCostEd25519] Params sigVerifyCostEd25519 - * @property {number|Long|null} [sigVerifyCostSecp256k1] Params sigVerifyCostSecp256k1 - */ - - /** - * Constructs a new Params. - * @memberof cosmos.auth.v1beta1 - * @classdesc Represents a Params. - * @implements IParams - * @constructor - * @param {cosmos.auth.v1beta1.IParams=} [properties] Properties to set - */ - function Params(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Params maxMemoCharacters. - * @member {number|Long} maxMemoCharacters - * @memberof cosmos.auth.v1beta1.Params - * @instance - */ - Params.prototype.maxMemoCharacters = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Params txSigLimit. - * @member {number|Long} txSigLimit - * @memberof cosmos.auth.v1beta1.Params - * @instance - */ - Params.prototype.txSigLimit = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Params txSizeCostPerByte. - * @member {number|Long} txSizeCostPerByte - * @memberof cosmos.auth.v1beta1.Params - * @instance - */ - Params.prototype.txSizeCostPerByte = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Params sigVerifyCostEd25519. - * @member {number|Long} sigVerifyCostEd25519 - * @memberof cosmos.auth.v1beta1.Params - * @instance - */ - Params.prototype.sigVerifyCostEd25519 = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Params sigVerifyCostSecp256k1. - * @member {number|Long} sigVerifyCostSecp256k1 - * @memberof cosmos.auth.v1beta1.Params - * @instance - */ - Params.prototype.sigVerifyCostSecp256k1 = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new Params instance using the specified properties. - * @function create - * @memberof cosmos.auth.v1beta1.Params - * @static - * @param {cosmos.auth.v1beta1.IParams=} [properties] Properties to set - * @returns {cosmos.auth.v1beta1.Params} Params instance - */ - Params.create = function create(properties) { - return new Params(properties); - }; - - /** - * Encodes the specified Params message. Does not implicitly {@link cosmos.auth.v1beta1.Params.verify|verify} messages. - * @function encode - * @memberof cosmos.auth.v1beta1.Params - * @static - * @param {cosmos.auth.v1beta1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.maxMemoCharacters != null && Object.hasOwnProperty.call(message, "maxMemoCharacters")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.maxMemoCharacters); - if (message.txSigLimit != null && Object.hasOwnProperty.call(message, "txSigLimit")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.txSigLimit); - if (message.txSizeCostPerByte != null && Object.hasOwnProperty.call(message, "txSizeCostPerByte")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.txSizeCostPerByte); - if (message.sigVerifyCostEd25519 != null && Object.hasOwnProperty.call(message, "sigVerifyCostEd25519")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.sigVerifyCostEd25519); - if (message.sigVerifyCostSecp256k1 != null && Object.hasOwnProperty.call(message, "sigVerifyCostSecp256k1")) - writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.sigVerifyCostSecp256k1); - return writer; - }; - - /** - * Encodes the specified Params message, length delimited. Does not implicitly {@link cosmos.auth.v1beta1.Params.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.auth.v1beta1.Params - * @static - * @param {cosmos.auth.v1beta1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Params message from the specified reader or buffer. - * @function decode - * @memberof cosmos.auth.v1beta1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.auth.v1beta1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.auth.v1beta1.Params(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.maxMemoCharacters = reader.uint64(); - break; - case 2: - message.txSigLimit = reader.uint64(); - break; - case 3: - message.txSizeCostPerByte = reader.uint64(); - break; - case 4: - message.sigVerifyCostEd25519 = reader.uint64(); - break; - case 5: - message.sigVerifyCostSecp256k1 = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Params message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.auth.v1beta1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.auth.v1beta1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Params message. - * @function verify - * @memberof cosmos.auth.v1beta1.Params - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Params.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.maxMemoCharacters != null && message.hasOwnProperty("maxMemoCharacters")) - if (!$util.isInteger(message.maxMemoCharacters) && !(message.maxMemoCharacters && $util.isInteger(message.maxMemoCharacters.low) && $util.isInteger(message.maxMemoCharacters.high))) - return "maxMemoCharacters: integer|Long expected"; - if (message.txSigLimit != null && message.hasOwnProperty("txSigLimit")) - if (!$util.isInteger(message.txSigLimit) && !(message.txSigLimit && $util.isInteger(message.txSigLimit.low) && $util.isInteger(message.txSigLimit.high))) - return "txSigLimit: integer|Long expected"; - if (message.txSizeCostPerByte != null && message.hasOwnProperty("txSizeCostPerByte")) - if (!$util.isInteger(message.txSizeCostPerByte) && !(message.txSizeCostPerByte && $util.isInteger(message.txSizeCostPerByte.low) && $util.isInteger(message.txSizeCostPerByte.high))) - return "txSizeCostPerByte: integer|Long expected"; - if (message.sigVerifyCostEd25519 != null && message.hasOwnProperty("sigVerifyCostEd25519")) - if (!$util.isInteger(message.sigVerifyCostEd25519) && !(message.sigVerifyCostEd25519 && $util.isInteger(message.sigVerifyCostEd25519.low) && $util.isInteger(message.sigVerifyCostEd25519.high))) - return "sigVerifyCostEd25519: integer|Long expected"; - if (message.sigVerifyCostSecp256k1 != null && message.hasOwnProperty("sigVerifyCostSecp256k1")) - if (!$util.isInteger(message.sigVerifyCostSecp256k1) && !(message.sigVerifyCostSecp256k1 && $util.isInteger(message.sigVerifyCostSecp256k1.low) && $util.isInteger(message.sigVerifyCostSecp256k1.high))) - return "sigVerifyCostSecp256k1: integer|Long expected"; - return null; - }; - - /** - * Creates a Params message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.auth.v1beta1.Params - * @static - * @param {Object.} object Plain object - * @returns {cosmos.auth.v1beta1.Params} Params - */ - Params.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.auth.v1beta1.Params) - return object; - let message = new $root.cosmos.auth.v1beta1.Params(); - if (object.maxMemoCharacters != null) - if ($util.Long) - (message.maxMemoCharacters = $util.Long.fromValue(object.maxMemoCharacters)).unsigned = true; - else if (typeof object.maxMemoCharacters === "string") - message.maxMemoCharacters = parseInt(object.maxMemoCharacters, 10); - else if (typeof object.maxMemoCharacters === "number") - message.maxMemoCharacters = object.maxMemoCharacters; - else if (typeof object.maxMemoCharacters === "object") - message.maxMemoCharacters = new $util.LongBits(object.maxMemoCharacters.low >>> 0, object.maxMemoCharacters.high >>> 0).toNumber(true); - if (object.txSigLimit != null) - if ($util.Long) - (message.txSigLimit = $util.Long.fromValue(object.txSigLimit)).unsigned = true; - else if (typeof object.txSigLimit === "string") - message.txSigLimit = parseInt(object.txSigLimit, 10); - else if (typeof object.txSigLimit === "number") - message.txSigLimit = object.txSigLimit; - else if (typeof object.txSigLimit === "object") - message.txSigLimit = new $util.LongBits(object.txSigLimit.low >>> 0, object.txSigLimit.high >>> 0).toNumber(true); - if (object.txSizeCostPerByte != null) - if ($util.Long) - (message.txSizeCostPerByte = $util.Long.fromValue(object.txSizeCostPerByte)).unsigned = true; - else if (typeof object.txSizeCostPerByte === "string") - message.txSizeCostPerByte = parseInt(object.txSizeCostPerByte, 10); - else if (typeof object.txSizeCostPerByte === "number") - message.txSizeCostPerByte = object.txSizeCostPerByte; - else if (typeof object.txSizeCostPerByte === "object") - message.txSizeCostPerByte = new $util.LongBits(object.txSizeCostPerByte.low >>> 0, object.txSizeCostPerByte.high >>> 0).toNumber(true); - if (object.sigVerifyCostEd25519 != null) - if ($util.Long) - (message.sigVerifyCostEd25519 = $util.Long.fromValue(object.sigVerifyCostEd25519)).unsigned = true; - else if (typeof object.sigVerifyCostEd25519 === "string") - message.sigVerifyCostEd25519 = parseInt(object.sigVerifyCostEd25519, 10); - else if (typeof object.sigVerifyCostEd25519 === "number") - message.sigVerifyCostEd25519 = object.sigVerifyCostEd25519; - else if (typeof object.sigVerifyCostEd25519 === "object") - message.sigVerifyCostEd25519 = new $util.LongBits(object.sigVerifyCostEd25519.low >>> 0, object.sigVerifyCostEd25519.high >>> 0).toNumber(true); - if (object.sigVerifyCostSecp256k1 != null) - if ($util.Long) - (message.sigVerifyCostSecp256k1 = $util.Long.fromValue(object.sigVerifyCostSecp256k1)).unsigned = true; - else if (typeof object.sigVerifyCostSecp256k1 === "string") - message.sigVerifyCostSecp256k1 = parseInt(object.sigVerifyCostSecp256k1, 10); - else if (typeof object.sigVerifyCostSecp256k1 === "number") - message.sigVerifyCostSecp256k1 = object.sigVerifyCostSecp256k1; - else if (typeof object.sigVerifyCostSecp256k1 === "object") - message.sigVerifyCostSecp256k1 = new $util.LongBits(object.sigVerifyCostSecp256k1.low >>> 0, object.sigVerifyCostSecp256k1.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a Params message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.auth.v1beta1.Params - * @static - * @param {cosmos.auth.v1beta1.Params} message Params - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Params.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.maxMemoCharacters = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.maxMemoCharacters = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.txSigLimit = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.txSigLimit = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.txSizeCostPerByte = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.txSizeCostPerByte = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.sigVerifyCostEd25519 = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.sigVerifyCostEd25519 = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.sigVerifyCostSecp256k1 = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.sigVerifyCostSecp256k1 = options.longs === String ? "0" : 0; - } - if (message.maxMemoCharacters != null && message.hasOwnProperty("maxMemoCharacters")) - if (typeof message.maxMemoCharacters === "number") - object.maxMemoCharacters = options.longs === String ? String(message.maxMemoCharacters) : message.maxMemoCharacters; - else - object.maxMemoCharacters = options.longs === String ? $util.Long.prototype.toString.call(message.maxMemoCharacters) : options.longs === Number ? new $util.LongBits(message.maxMemoCharacters.low >>> 0, message.maxMemoCharacters.high >>> 0).toNumber(true) : message.maxMemoCharacters; - if (message.txSigLimit != null && message.hasOwnProperty("txSigLimit")) - if (typeof message.txSigLimit === "number") - object.txSigLimit = options.longs === String ? String(message.txSigLimit) : message.txSigLimit; - else - object.txSigLimit = options.longs === String ? $util.Long.prototype.toString.call(message.txSigLimit) : options.longs === Number ? new $util.LongBits(message.txSigLimit.low >>> 0, message.txSigLimit.high >>> 0).toNumber(true) : message.txSigLimit; - if (message.txSizeCostPerByte != null && message.hasOwnProperty("txSizeCostPerByte")) - if (typeof message.txSizeCostPerByte === "number") - object.txSizeCostPerByte = options.longs === String ? String(message.txSizeCostPerByte) : message.txSizeCostPerByte; - else - object.txSizeCostPerByte = options.longs === String ? $util.Long.prototype.toString.call(message.txSizeCostPerByte) : options.longs === Number ? new $util.LongBits(message.txSizeCostPerByte.low >>> 0, message.txSizeCostPerByte.high >>> 0).toNumber(true) : message.txSizeCostPerByte; - if (message.sigVerifyCostEd25519 != null && message.hasOwnProperty("sigVerifyCostEd25519")) - if (typeof message.sigVerifyCostEd25519 === "number") - object.sigVerifyCostEd25519 = options.longs === String ? String(message.sigVerifyCostEd25519) : message.sigVerifyCostEd25519; - else - object.sigVerifyCostEd25519 = options.longs === String ? $util.Long.prototype.toString.call(message.sigVerifyCostEd25519) : options.longs === Number ? new $util.LongBits(message.sigVerifyCostEd25519.low >>> 0, message.sigVerifyCostEd25519.high >>> 0).toNumber(true) : message.sigVerifyCostEd25519; - if (message.sigVerifyCostSecp256k1 != null && message.hasOwnProperty("sigVerifyCostSecp256k1")) - if (typeof message.sigVerifyCostSecp256k1 === "number") - object.sigVerifyCostSecp256k1 = options.longs === String ? String(message.sigVerifyCostSecp256k1) : message.sigVerifyCostSecp256k1; - else - object.sigVerifyCostSecp256k1 = options.longs === String ? $util.Long.prototype.toString.call(message.sigVerifyCostSecp256k1) : options.longs === Number ? new $util.LongBits(message.sigVerifyCostSecp256k1.low >>> 0, message.sigVerifyCostSecp256k1.high >>> 0).toNumber(true) : message.sigVerifyCostSecp256k1; - return object; - }; - - /** - * Converts this Params to JSON. - * @function toJSON - * @memberof cosmos.auth.v1beta1.Params - * @instance - * @returns {Object.} JSON object - */ - Params.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Params; - })(v1beta1.Params || {}); - - v1beta1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof cosmos.auth.v1beta1 - * @interface IGenesisState - * @property {cosmos.auth.v1beta1.IParams|null} [params] GenesisState params - * @property {Array.|null} [accounts] GenesisState accounts - */ - - /** - * Constructs a new GenesisState. - * @memberof cosmos.auth.v1beta1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {cosmos.auth.v1beta1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.accounts = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState params. - * @member {cosmos.auth.v1beta1.IParams|null|undefined} params - * @memberof cosmos.auth.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.params = null; - - /** - * GenesisState accounts. - * @member {Array.} accounts - * @memberof cosmos.auth.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.accounts = $util.emptyArray; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof cosmos.auth.v1beta1.GenesisState - * @static - * @param {cosmos.auth.v1beta1.IGenesisState=} [properties] Properties to set - * @returns {cosmos.auth.v1beta1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link cosmos.auth.v1beta1.GenesisState.verify|verify} messages. - * @function encode - * @memberof cosmos.auth.v1beta1.GenesisState - * @static - * @param {cosmos.auth.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.cosmos.auth.v1beta1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.accounts != null && message.accounts.length) - for (let i = 0; i < message.accounts.length; ++i) - $root.google.protobuf.Any.encode(message.accounts[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link cosmos.auth.v1beta1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.auth.v1beta1.GenesisState - * @static - * @param {cosmos.auth.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof cosmos.auth.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.auth.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.auth.v1beta1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.cosmos.auth.v1beta1.Params.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.accounts && message.accounts.length)) - message.accounts = []; - message.accounts.push($root.google.protobuf.Any.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.auth.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.auth.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof cosmos.auth.v1beta1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.cosmos.auth.v1beta1.Params.verify(message.params); - if (error) - return "params." + error; - } - if (message.accounts != null && message.hasOwnProperty("accounts")) { - if (!Array.isArray(message.accounts)) - return "accounts: array expected"; - for (let i = 0; i < message.accounts.length; ++i) { - let error = $root.google.protobuf.Any.verify(message.accounts[i]); - if (error) - return "accounts." + error; - } - } - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.auth.v1beta1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {cosmos.auth.v1beta1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.auth.v1beta1.GenesisState) - return object; - let message = new $root.cosmos.auth.v1beta1.GenesisState(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".cosmos.auth.v1beta1.GenesisState.params: object expected"); - message.params = $root.cosmos.auth.v1beta1.Params.fromObject(object.params); - } - if (object.accounts) { - if (!Array.isArray(object.accounts)) - throw TypeError(".cosmos.auth.v1beta1.GenesisState.accounts: array expected"); - message.accounts = []; - for (let i = 0; i < object.accounts.length; ++i) { - if (typeof object.accounts[i] !== "object") - throw TypeError(".cosmos.auth.v1beta1.GenesisState.accounts: object expected"); - message.accounts[i] = $root.google.protobuf.Any.fromObject(object.accounts[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.auth.v1beta1.GenesisState - * @static - * @param {cosmos.auth.v1beta1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.accounts = []; - if (options.defaults) - object.params = null; - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.cosmos.auth.v1beta1.Params.toObject(message.params, options); - if (message.accounts && message.accounts.length) { - object.accounts = []; - for (let j = 0; j < message.accounts.length; ++j) - object.accounts[j] = $root.google.protobuf.Any.toObject(message.accounts[j], options); - } - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof cosmos.auth.v1beta1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1beta1.GenesisState || {}); - - v1beta1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof cosmos.auth.v1beta1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof cosmos.auth.v1beta1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.auth.v1beta1.Query#account}. - * @memberof cosmos.auth.v1beta1.Query - * @typedef AccountCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.auth.v1beta1.IQueryAccountResponse} [response] QueryAccountResponse - */ - - /** - * Calls Account. - * @function account - * @memberof cosmos.auth.v1beta1.Query - * @instance - * @param {cosmos.auth.v1beta1.IQueryAccountRequest} request QueryAccountRequest message or plain object - * @param {cosmos.auth.v1beta1.Query.AccountCallback} callback Node-style callback called with the error, if any, and QueryAccountResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.account = function account(request, callback) { - return this.rpcCall(account, $root.cosmos.auth.v1beta1.QueryAccountRequest, $root.cosmos.auth.v1beta1.QueryAccountResponse, request, callback); - }, "name", { value: "Account" }); - - /** - * Calls Account. - * @function account - * @memberof cosmos.auth.v1beta1.Query - * @instance - * @param {cosmos.auth.v1beta1.IQueryAccountRequest} request QueryAccountRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.auth.v1beta1.Query#params}. - * @memberof cosmos.auth.v1beta1.Query - * @typedef ParamsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.auth.v1beta1.IQueryParamsResponse} [response] QueryParamsResponse - */ - - /** - * Calls Params. - * @function params - * @memberof cosmos.auth.v1beta1.Query - * @instance - * @param {cosmos.auth.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @param {cosmos.auth.v1beta1.Query.ParamsCallback} callback Node-style callback called with the error, if any, and QueryParamsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.params = function params(request, callback) { - return this.rpcCall(params, $root.cosmos.auth.v1beta1.QueryParamsRequest, $root.cosmos.auth.v1beta1.QueryParamsResponse, request, callback); - }, "name", { value: "Params" }); - - /** - * Calls Params. - * @function params - * @memberof cosmos.auth.v1beta1.Query - * @instance - * @param {cosmos.auth.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1beta1.Query || {}); - - v1beta1.QueryAccountRequest = (function(QueryAccountRequest) { - - /** - * Properties of a QueryAccountRequest. - * @memberof cosmos.auth.v1beta1 - * @interface IQueryAccountRequest - * @property {string|null} [address] QueryAccountRequest address - */ - - /** - * Constructs a new QueryAccountRequest. - * @memberof cosmos.auth.v1beta1 - * @classdesc Represents a QueryAccountRequest. - * @implements IQueryAccountRequest - * @constructor - * @param {cosmos.auth.v1beta1.IQueryAccountRequest=} [properties] Properties to set - */ - function QueryAccountRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryAccountRequest address. - * @member {string} address - * @memberof cosmos.auth.v1beta1.QueryAccountRequest - * @instance - */ - QueryAccountRequest.prototype.address = ""; - - /** - * Creates a new QueryAccountRequest instance using the specified properties. - * @function create - * @memberof cosmos.auth.v1beta1.QueryAccountRequest - * @static - * @param {cosmos.auth.v1beta1.IQueryAccountRequest=} [properties] Properties to set - * @returns {cosmos.auth.v1beta1.QueryAccountRequest} QueryAccountRequest instance - */ - QueryAccountRequest.create = function create(properties) { - return new QueryAccountRequest(properties); - }; - - /** - * Encodes the specified QueryAccountRequest message. Does not implicitly {@link cosmos.auth.v1beta1.QueryAccountRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.auth.v1beta1.QueryAccountRequest - * @static - * @param {cosmos.auth.v1beta1.IQueryAccountRequest} message QueryAccountRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAccountRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.address); - return writer; - }; - - /** - * Encodes the specified QueryAccountRequest message, length delimited. Does not implicitly {@link cosmos.auth.v1beta1.QueryAccountRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.auth.v1beta1.QueryAccountRequest - * @static - * @param {cosmos.auth.v1beta1.IQueryAccountRequest} message QueryAccountRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAccountRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryAccountRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.auth.v1beta1.QueryAccountRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.auth.v1beta1.QueryAccountRequest} QueryAccountRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAccountRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.auth.v1beta1.QueryAccountRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryAccountRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.auth.v1beta1.QueryAccountRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.auth.v1beta1.QueryAccountRequest} QueryAccountRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAccountRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryAccountRequest message. - * @function verify - * @memberof cosmos.auth.v1beta1.QueryAccountRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryAccountRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!$util.isString(message.address)) - return "address: string expected"; - return null; - }; - - /** - * Creates a QueryAccountRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.auth.v1beta1.QueryAccountRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.auth.v1beta1.QueryAccountRequest} QueryAccountRequest - */ - QueryAccountRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.auth.v1beta1.QueryAccountRequest) - return object; - let message = new $root.cosmos.auth.v1beta1.QueryAccountRequest(); - if (object.address != null) - message.address = String(object.address); - return message; - }; - - /** - * Creates a plain object from a QueryAccountRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.auth.v1beta1.QueryAccountRequest - * @static - * @param {cosmos.auth.v1beta1.QueryAccountRequest} message QueryAccountRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryAccountRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.address = ""; - if (message.address != null && message.hasOwnProperty("address")) - object.address = message.address; - return object; - }; - - /** - * Converts this QueryAccountRequest to JSON. - * @function toJSON - * @memberof cosmos.auth.v1beta1.QueryAccountRequest - * @instance - * @returns {Object.} JSON object - */ - QueryAccountRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryAccountRequest; - })(v1beta1.QueryAccountRequest || {}); - - v1beta1.QueryAccountResponse = (function(QueryAccountResponse) { - - /** - * Properties of a QueryAccountResponse. - * @memberof cosmos.auth.v1beta1 - * @interface IQueryAccountResponse - * @property {google.protobuf.IAny|null} [account] QueryAccountResponse account - */ - - /** - * Constructs a new QueryAccountResponse. - * @memberof cosmos.auth.v1beta1 - * @classdesc Represents a QueryAccountResponse. - * @implements IQueryAccountResponse - * @constructor - * @param {cosmos.auth.v1beta1.IQueryAccountResponse=} [properties] Properties to set - */ - function QueryAccountResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryAccountResponse account. - * @member {google.protobuf.IAny|null|undefined} account - * @memberof cosmos.auth.v1beta1.QueryAccountResponse - * @instance - */ - QueryAccountResponse.prototype.account = null; - - /** - * Creates a new QueryAccountResponse instance using the specified properties. - * @function create - * @memberof cosmos.auth.v1beta1.QueryAccountResponse - * @static - * @param {cosmos.auth.v1beta1.IQueryAccountResponse=} [properties] Properties to set - * @returns {cosmos.auth.v1beta1.QueryAccountResponse} QueryAccountResponse instance - */ - QueryAccountResponse.create = function create(properties) { - return new QueryAccountResponse(properties); - }; - - /** - * Encodes the specified QueryAccountResponse message. Does not implicitly {@link cosmos.auth.v1beta1.QueryAccountResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.auth.v1beta1.QueryAccountResponse - * @static - * @param {cosmos.auth.v1beta1.IQueryAccountResponse} message QueryAccountResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAccountResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.account != null && Object.hasOwnProperty.call(message, "account")) - $root.google.protobuf.Any.encode(message.account, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryAccountResponse message, length delimited. Does not implicitly {@link cosmos.auth.v1beta1.QueryAccountResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.auth.v1beta1.QueryAccountResponse - * @static - * @param {cosmos.auth.v1beta1.IQueryAccountResponse} message QueryAccountResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAccountResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryAccountResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.auth.v1beta1.QueryAccountResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.auth.v1beta1.QueryAccountResponse} QueryAccountResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAccountResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.auth.v1beta1.QueryAccountResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.account = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryAccountResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.auth.v1beta1.QueryAccountResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.auth.v1beta1.QueryAccountResponse} QueryAccountResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAccountResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryAccountResponse message. - * @function verify - * @memberof cosmos.auth.v1beta1.QueryAccountResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryAccountResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.account != null && message.hasOwnProperty("account")) { - let error = $root.google.protobuf.Any.verify(message.account); - if (error) - return "account." + error; - } - return null; - }; - - /** - * Creates a QueryAccountResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.auth.v1beta1.QueryAccountResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.auth.v1beta1.QueryAccountResponse} QueryAccountResponse - */ - QueryAccountResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.auth.v1beta1.QueryAccountResponse) - return object; - let message = new $root.cosmos.auth.v1beta1.QueryAccountResponse(); - if (object.account != null) { - if (typeof object.account !== "object") - throw TypeError(".cosmos.auth.v1beta1.QueryAccountResponse.account: object expected"); - message.account = $root.google.protobuf.Any.fromObject(object.account); - } - return message; - }; - - /** - * Creates a plain object from a QueryAccountResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.auth.v1beta1.QueryAccountResponse - * @static - * @param {cosmos.auth.v1beta1.QueryAccountResponse} message QueryAccountResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryAccountResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.account = null; - if (message.account != null && message.hasOwnProperty("account")) - object.account = $root.google.protobuf.Any.toObject(message.account, options); - return object; - }; - - /** - * Converts this QueryAccountResponse to JSON. - * @function toJSON - * @memberof cosmos.auth.v1beta1.QueryAccountResponse - * @instance - * @returns {Object.} JSON object - */ - QueryAccountResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryAccountResponse; - })(v1beta1.QueryAccountResponse || {}); - - v1beta1.QueryParamsRequest = (function(QueryParamsRequest) { - - /** - * Properties of a QueryParamsRequest. - * @memberof cosmos.auth.v1beta1 - * @interface IQueryParamsRequest - */ - - /** - * Constructs a new QueryParamsRequest. - * @memberof cosmos.auth.v1beta1 - * @classdesc Represents a QueryParamsRequest. - * @implements IQueryParamsRequest - * @constructor - * @param {cosmos.auth.v1beta1.IQueryParamsRequest=} [properties] Properties to set - */ - function QueryParamsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryParamsRequest instance using the specified properties. - * @function create - * @memberof cosmos.auth.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.auth.v1beta1.IQueryParamsRequest=} [properties] Properties to set - * @returns {cosmos.auth.v1beta1.QueryParamsRequest} QueryParamsRequest instance - */ - QueryParamsRequest.create = function create(properties) { - return new QueryParamsRequest(properties); - }; - - /** - * Encodes the specified QueryParamsRequest message. Does not implicitly {@link cosmos.auth.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.auth.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.auth.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryParamsRequest message, length delimited. Does not implicitly {@link cosmos.auth.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.auth.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.auth.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.auth.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.auth.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.auth.v1beta1.QueryParamsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.auth.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.auth.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsRequest message. - * @function verify - * @memberof cosmos.auth.v1beta1.QueryParamsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryParamsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.auth.v1beta1.QueryParamsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.auth.v1beta1.QueryParamsRequest} QueryParamsRequest - */ - QueryParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.auth.v1beta1.QueryParamsRequest) - return object; - return new $root.cosmos.auth.v1beta1.QueryParamsRequest(); - }; - - /** - * Creates a plain object from a QueryParamsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.auth.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.auth.v1beta1.QueryParamsRequest} message QueryParamsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryParamsRequest to JSON. - * @function toJSON - * @memberof cosmos.auth.v1beta1.QueryParamsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryParamsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsRequest; - })(v1beta1.QueryParamsRequest || {}); - - v1beta1.QueryParamsResponse = (function(QueryParamsResponse) { - - /** - * Properties of a QueryParamsResponse. - * @memberof cosmos.auth.v1beta1 - * @interface IQueryParamsResponse - * @property {cosmos.auth.v1beta1.IParams|null} [params] QueryParamsResponse params - */ - - /** - * Constructs a new QueryParamsResponse. - * @memberof cosmos.auth.v1beta1 - * @classdesc Represents a QueryParamsResponse. - * @implements IQueryParamsResponse - * @constructor - * @param {cosmos.auth.v1beta1.IQueryParamsResponse=} [properties] Properties to set - */ - function QueryParamsResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryParamsResponse params. - * @member {cosmos.auth.v1beta1.IParams|null|undefined} params - * @memberof cosmos.auth.v1beta1.QueryParamsResponse - * @instance - */ - QueryParamsResponse.prototype.params = null; - - /** - * Creates a new QueryParamsResponse instance using the specified properties. - * @function create - * @memberof cosmos.auth.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.auth.v1beta1.IQueryParamsResponse=} [properties] Properties to set - * @returns {cosmos.auth.v1beta1.QueryParamsResponse} QueryParamsResponse instance - */ - QueryParamsResponse.create = function create(properties) { - return new QueryParamsResponse(properties); - }; - - /** - * Encodes the specified QueryParamsResponse message. Does not implicitly {@link cosmos.auth.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.auth.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.auth.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.cosmos.auth.v1beta1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryParamsResponse message, length delimited. Does not implicitly {@link cosmos.auth.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.auth.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.auth.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.auth.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.auth.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.auth.v1beta1.QueryParamsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.cosmos.auth.v1beta1.Params.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.auth.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.auth.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsResponse message. - * @function verify - * @memberof cosmos.auth.v1beta1.QueryParamsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.cosmos.auth.v1beta1.Params.verify(message.params); - if (error) - return "params." + error; - } - return null; - }; - - /** - * Creates a QueryParamsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.auth.v1beta1.QueryParamsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.auth.v1beta1.QueryParamsResponse} QueryParamsResponse - */ - QueryParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.auth.v1beta1.QueryParamsResponse) - return object; - let message = new $root.cosmos.auth.v1beta1.QueryParamsResponse(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".cosmos.auth.v1beta1.QueryParamsResponse.params: object expected"); - message.params = $root.cosmos.auth.v1beta1.Params.fromObject(object.params); - } - return message; - }; - - /** - * Creates a plain object from a QueryParamsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.auth.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.auth.v1beta1.QueryParamsResponse} message QueryParamsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.params = null; - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.cosmos.auth.v1beta1.Params.toObject(message.params, options); - return object; - }; - - /** - * Converts this QueryParamsResponse to JSON. - * @function toJSON - * @memberof cosmos.auth.v1beta1.QueryParamsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryParamsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsResponse; - })(v1beta1.QueryParamsResponse || {}); - - return v1beta1; - })(auth.v1beta1 || {}); - - return auth; - })(cosmos.auth || {}); - - /** - * Namespace bank. - * @memberof cosmos - * @namespace - */ - - cosmos.bank = (function(bank) { - - /** - * Namespace v1beta1. - * @memberof cosmos.bank - * @namespace - */ - - bank.v1beta1 = (function(v1beta1) { - - v1beta1.Params = (function(Params) { - - /** - * Properties of a Params. - * @memberof cosmos.bank.v1beta1 - * @interface IParams - * @property {Array.|null} [sendEnabled] Params sendEnabled - * @property {boolean|null} [defaultSendEnabled] Params defaultSendEnabled - */ - - /** - * Constructs a new Params. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a Params. - * @implements IParams - * @constructor - * @param {cosmos.bank.v1beta1.IParams=} [properties] Properties to set - */ - function Params(properties) { - this.sendEnabled = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Params sendEnabled. - * @member {Array.} sendEnabled - * @memberof cosmos.bank.v1beta1.Params - * @instance - */ - Params.prototype.sendEnabled = $util.emptyArray; - - /** - * Params defaultSendEnabled. - * @member {boolean} defaultSendEnabled - * @memberof cosmos.bank.v1beta1.Params - * @instance - */ - Params.prototype.defaultSendEnabled = false; - - /** - * Creates a new Params instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.Params - * @static - * @param {cosmos.bank.v1beta1.IParams=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.Params} Params instance - */ - Params.create = function create(properties) { - return new Params(properties); - }; - - /** - * Encodes the specified Params message. Does not implicitly {@link cosmos.bank.v1beta1.Params.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.Params - * @static - * @param {cosmos.bank.v1beta1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.sendEnabled != null && message.sendEnabled.length) - for (let i = 0; i < message.sendEnabled.length; ++i) - $root.cosmos.bank.v1beta1.SendEnabled.encode(message.sendEnabled[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.defaultSendEnabled != null && Object.hasOwnProperty.call(message, "defaultSendEnabled")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.defaultSendEnabled); - return writer; - }; - - /** - * Encodes the specified Params message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.Params.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.Params - * @static - * @param {cosmos.bank.v1beta1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Params message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.Params(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.sendEnabled && message.sendEnabled.length)) - message.sendEnabled = []; - message.sendEnabled.push($root.cosmos.bank.v1beta1.SendEnabled.decode(reader, reader.uint32())); - break; - case 2: - message.defaultSendEnabled = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Params message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Params message. - * @function verify - * @memberof cosmos.bank.v1beta1.Params - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Params.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.sendEnabled != null && message.hasOwnProperty("sendEnabled")) { - if (!Array.isArray(message.sendEnabled)) - return "sendEnabled: array expected"; - for (let i = 0; i < message.sendEnabled.length; ++i) { - let error = $root.cosmos.bank.v1beta1.SendEnabled.verify(message.sendEnabled[i]); - if (error) - return "sendEnabled." + error; - } - } - if (message.defaultSendEnabled != null && message.hasOwnProperty("defaultSendEnabled")) - if (typeof message.defaultSendEnabled !== "boolean") - return "defaultSendEnabled: boolean expected"; - return null; - }; - - /** - * Creates a Params message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.Params - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.Params} Params - */ - Params.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.Params) - return object; - let message = new $root.cosmos.bank.v1beta1.Params(); - if (object.sendEnabled) { - if (!Array.isArray(object.sendEnabled)) - throw TypeError(".cosmos.bank.v1beta1.Params.sendEnabled: array expected"); - message.sendEnabled = []; - for (let i = 0; i < object.sendEnabled.length; ++i) { - if (typeof object.sendEnabled[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.Params.sendEnabled: object expected"); - message.sendEnabled[i] = $root.cosmos.bank.v1beta1.SendEnabled.fromObject(object.sendEnabled[i]); - } - } - if (object.defaultSendEnabled != null) - message.defaultSendEnabled = Boolean(object.defaultSendEnabled); - return message; - }; - - /** - * Creates a plain object from a Params message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.Params - * @static - * @param {cosmos.bank.v1beta1.Params} message Params - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Params.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.sendEnabled = []; - if (options.defaults) - object.defaultSendEnabled = false; - if (message.sendEnabled && message.sendEnabled.length) { - object.sendEnabled = []; - for (let j = 0; j < message.sendEnabled.length; ++j) - object.sendEnabled[j] = $root.cosmos.bank.v1beta1.SendEnabled.toObject(message.sendEnabled[j], options); - } - if (message.defaultSendEnabled != null && message.hasOwnProperty("defaultSendEnabled")) - object.defaultSendEnabled = message.defaultSendEnabled; - return object; - }; - - /** - * Converts this Params to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.Params - * @instance - * @returns {Object.} JSON object - */ - Params.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Params; - })(v1beta1.Params || {}); - - v1beta1.SendEnabled = (function(SendEnabled) { - - /** - * Properties of a SendEnabled. - * @memberof cosmos.bank.v1beta1 - * @interface ISendEnabled - * @property {string|null} [denom] SendEnabled denom - * @property {boolean|null} [enabled] SendEnabled enabled - */ - - /** - * Constructs a new SendEnabled. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a SendEnabled. - * @implements ISendEnabled - * @constructor - * @param {cosmos.bank.v1beta1.ISendEnabled=} [properties] Properties to set - */ - function SendEnabled(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SendEnabled denom. - * @member {string} denom - * @memberof cosmos.bank.v1beta1.SendEnabled - * @instance - */ - SendEnabled.prototype.denom = ""; - - /** - * SendEnabled enabled. - * @member {boolean} enabled - * @memberof cosmos.bank.v1beta1.SendEnabled - * @instance - */ - SendEnabled.prototype.enabled = false; - - /** - * Creates a new SendEnabled instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.SendEnabled - * @static - * @param {cosmos.bank.v1beta1.ISendEnabled=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.SendEnabled} SendEnabled instance - */ - SendEnabled.create = function create(properties) { - return new SendEnabled(properties); - }; - - /** - * Encodes the specified SendEnabled message. Does not implicitly {@link cosmos.bank.v1beta1.SendEnabled.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.SendEnabled - * @static - * @param {cosmos.bank.v1beta1.ISendEnabled} message SendEnabled message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SendEnabled.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.denom != null && Object.hasOwnProperty.call(message, "denom")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.denom); - if (message.enabled != null && Object.hasOwnProperty.call(message, "enabled")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.enabled); - return writer; - }; - - /** - * Encodes the specified SendEnabled message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.SendEnabled.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.SendEnabled - * @static - * @param {cosmos.bank.v1beta1.ISendEnabled} message SendEnabled message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SendEnabled.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SendEnabled message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.SendEnabled - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.SendEnabled} SendEnabled - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SendEnabled.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.SendEnabled(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.denom = reader.string(); - break; - case 2: - message.enabled = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SendEnabled message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.SendEnabled - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.SendEnabled} SendEnabled - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SendEnabled.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SendEnabled message. - * @function verify - * @memberof cosmos.bank.v1beta1.SendEnabled - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SendEnabled.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.denom != null && message.hasOwnProperty("denom")) - if (!$util.isString(message.denom)) - return "denom: string expected"; - if (message.enabled != null && message.hasOwnProperty("enabled")) - if (typeof message.enabled !== "boolean") - return "enabled: boolean expected"; - return null; - }; - - /** - * Creates a SendEnabled message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.SendEnabled - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.SendEnabled} SendEnabled - */ - SendEnabled.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.SendEnabled) - return object; - let message = new $root.cosmos.bank.v1beta1.SendEnabled(); - if (object.denom != null) - message.denom = String(object.denom); - if (object.enabled != null) - message.enabled = Boolean(object.enabled); - return message; - }; - - /** - * Creates a plain object from a SendEnabled message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.SendEnabled - * @static - * @param {cosmos.bank.v1beta1.SendEnabled} message SendEnabled - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SendEnabled.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.denom = ""; - object.enabled = false; - } - if (message.denom != null && message.hasOwnProperty("denom")) - object.denom = message.denom; - if (message.enabled != null && message.hasOwnProperty("enabled")) - object.enabled = message.enabled; - return object; - }; - - /** - * Converts this SendEnabled to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.SendEnabled - * @instance - * @returns {Object.} JSON object - */ - SendEnabled.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SendEnabled; - })(v1beta1.SendEnabled || {}); - - v1beta1.Input = (function(Input) { - - /** - * Properties of an Input. - * @memberof cosmos.bank.v1beta1 - * @interface IInput - * @property {string|null} [address] Input address - * @property {Array.|null} [coins] Input coins - */ - - /** - * Constructs a new Input. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents an Input. - * @implements IInput - * @constructor - * @param {cosmos.bank.v1beta1.IInput=} [properties] Properties to set - */ - function Input(properties) { - this.coins = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Input address. - * @member {string} address - * @memberof cosmos.bank.v1beta1.Input - * @instance - */ - Input.prototype.address = ""; - - /** - * Input coins. - * @member {Array.} coins - * @memberof cosmos.bank.v1beta1.Input - * @instance - */ - Input.prototype.coins = $util.emptyArray; - - /** - * Creates a new Input instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.Input - * @static - * @param {cosmos.bank.v1beta1.IInput=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.Input} Input instance - */ - Input.create = function create(properties) { - return new Input(properties); - }; - - /** - * Encodes the specified Input message. Does not implicitly {@link cosmos.bank.v1beta1.Input.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.Input - * @static - * @param {cosmos.bank.v1beta1.IInput} message Input message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Input.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.address); - if (message.coins != null && message.coins.length) - for (let i = 0; i < message.coins.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.coins[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Input message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.Input.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.Input - * @static - * @param {cosmos.bank.v1beta1.IInput} message Input message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Input.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Input message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.Input - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.Input} Input - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Input.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.Input(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.string(); - break; - case 2: - if (!(message.coins && message.coins.length)) - message.coins = []; - message.coins.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Input message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.Input - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.Input} Input - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Input.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Input message. - * @function verify - * @memberof cosmos.bank.v1beta1.Input - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Input.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!$util.isString(message.address)) - return "address: string expected"; - if (message.coins != null && message.hasOwnProperty("coins")) { - if (!Array.isArray(message.coins)) - return "coins: array expected"; - for (let i = 0; i < message.coins.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.coins[i]); - if (error) - return "coins." + error; - } - } - return null; - }; - - /** - * Creates an Input message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.Input - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.Input} Input - */ - Input.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.Input) - return object; - let message = new $root.cosmos.bank.v1beta1.Input(); - if (object.address != null) - message.address = String(object.address); - if (object.coins) { - if (!Array.isArray(object.coins)) - throw TypeError(".cosmos.bank.v1beta1.Input.coins: array expected"); - message.coins = []; - for (let i = 0; i < object.coins.length; ++i) { - if (typeof object.coins[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.Input.coins: object expected"); - message.coins[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.coins[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an Input message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.Input - * @static - * @param {cosmos.bank.v1beta1.Input} message Input - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Input.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.coins = []; - if (options.defaults) - object.address = ""; - if (message.address != null && message.hasOwnProperty("address")) - object.address = message.address; - if (message.coins && message.coins.length) { - object.coins = []; - for (let j = 0; j < message.coins.length; ++j) - object.coins[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.coins[j], options); - } - return object; - }; - - /** - * Converts this Input to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.Input - * @instance - * @returns {Object.} JSON object - */ - Input.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Input; - })(v1beta1.Input || {}); - - v1beta1.Output = (function(Output) { - - /** - * Properties of an Output. - * @memberof cosmos.bank.v1beta1 - * @interface IOutput - * @property {string|null} [address] Output address - * @property {Array.|null} [coins] Output coins - */ - - /** - * Constructs a new Output. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents an Output. - * @implements IOutput - * @constructor - * @param {cosmos.bank.v1beta1.IOutput=} [properties] Properties to set - */ - function Output(properties) { - this.coins = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Output address. - * @member {string} address - * @memberof cosmos.bank.v1beta1.Output - * @instance - */ - Output.prototype.address = ""; - - /** - * Output coins. - * @member {Array.} coins - * @memberof cosmos.bank.v1beta1.Output - * @instance - */ - Output.prototype.coins = $util.emptyArray; - - /** - * Creates a new Output instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.Output - * @static - * @param {cosmos.bank.v1beta1.IOutput=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.Output} Output instance - */ - Output.create = function create(properties) { - return new Output(properties); - }; - - /** - * Encodes the specified Output message. Does not implicitly {@link cosmos.bank.v1beta1.Output.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.Output - * @static - * @param {cosmos.bank.v1beta1.IOutput} message Output message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Output.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.address); - if (message.coins != null && message.coins.length) - for (let i = 0; i < message.coins.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.coins[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Output message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.Output.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.Output - * @static - * @param {cosmos.bank.v1beta1.IOutput} message Output message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Output.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Output message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.Output - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.Output} Output - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Output.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.Output(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.string(); - break; - case 2: - if (!(message.coins && message.coins.length)) - message.coins = []; - message.coins.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Output message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.Output - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.Output} Output - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Output.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Output message. - * @function verify - * @memberof cosmos.bank.v1beta1.Output - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Output.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!$util.isString(message.address)) - return "address: string expected"; - if (message.coins != null && message.hasOwnProperty("coins")) { - if (!Array.isArray(message.coins)) - return "coins: array expected"; - for (let i = 0; i < message.coins.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.coins[i]); - if (error) - return "coins." + error; - } - } - return null; - }; - - /** - * Creates an Output message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.Output - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.Output} Output - */ - Output.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.Output) - return object; - let message = new $root.cosmos.bank.v1beta1.Output(); - if (object.address != null) - message.address = String(object.address); - if (object.coins) { - if (!Array.isArray(object.coins)) - throw TypeError(".cosmos.bank.v1beta1.Output.coins: array expected"); - message.coins = []; - for (let i = 0; i < object.coins.length; ++i) { - if (typeof object.coins[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.Output.coins: object expected"); - message.coins[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.coins[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an Output message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.Output - * @static - * @param {cosmos.bank.v1beta1.Output} message Output - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Output.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.coins = []; - if (options.defaults) - object.address = ""; - if (message.address != null && message.hasOwnProperty("address")) - object.address = message.address; - if (message.coins && message.coins.length) { - object.coins = []; - for (let j = 0; j < message.coins.length; ++j) - object.coins[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.coins[j], options); - } - return object; - }; - - /** - * Converts this Output to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.Output - * @instance - * @returns {Object.} JSON object - */ - Output.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Output; - })(v1beta1.Output || {}); - - v1beta1.Supply = (function(Supply) { - - /** - * Properties of a Supply. - * @memberof cosmos.bank.v1beta1 - * @interface ISupply - * @property {Array.|null} [total] Supply total - */ - - /** - * Constructs a new Supply. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a Supply. - * @implements ISupply - * @constructor - * @param {cosmos.bank.v1beta1.ISupply=} [properties] Properties to set - */ - function Supply(properties) { - this.total = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Supply total. - * @member {Array.} total - * @memberof cosmos.bank.v1beta1.Supply - * @instance - */ - Supply.prototype.total = $util.emptyArray; - - /** - * Creates a new Supply instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.Supply - * @static - * @param {cosmos.bank.v1beta1.ISupply=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.Supply} Supply instance - */ - Supply.create = function create(properties) { - return new Supply(properties); - }; - - /** - * Encodes the specified Supply message. Does not implicitly {@link cosmos.bank.v1beta1.Supply.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.Supply - * @static - * @param {cosmos.bank.v1beta1.ISupply} message Supply message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Supply.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.total != null && message.total.length) - for (let i = 0; i < message.total.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.total[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Supply message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.Supply.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.Supply - * @static - * @param {cosmos.bank.v1beta1.ISupply} message Supply message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Supply.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Supply message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.Supply - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.Supply} Supply - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Supply.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.Supply(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.total && message.total.length)) - message.total = []; - message.total.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Supply message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.Supply - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.Supply} Supply - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Supply.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Supply message. - * @function verify - * @memberof cosmos.bank.v1beta1.Supply - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Supply.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.total != null && message.hasOwnProperty("total")) { - if (!Array.isArray(message.total)) - return "total: array expected"; - for (let i = 0; i < message.total.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.total[i]); - if (error) - return "total." + error; - } - } - return null; - }; - - /** - * Creates a Supply message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.Supply - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.Supply} Supply - */ - Supply.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.Supply) - return object; - let message = new $root.cosmos.bank.v1beta1.Supply(); - if (object.total) { - if (!Array.isArray(object.total)) - throw TypeError(".cosmos.bank.v1beta1.Supply.total: array expected"); - message.total = []; - for (let i = 0; i < object.total.length; ++i) { - if (typeof object.total[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.Supply.total: object expected"); - message.total[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.total[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a Supply message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.Supply - * @static - * @param {cosmos.bank.v1beta1.Supply} message Supply - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Supply.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.total = []; - if (message.total && message.total.length) { - object.total = []; - for (let j = 0; j < message.total.length; ++j) - object.total[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.total[j], options); - } - return object; - }; - - /** - * Converts this Supply to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.Supply - * @instance - * @returns {Object.} JSON object - */ - Supply.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Supply; - })(v1beta1.Supply || {}); - - v1beta1.DenomUnit = (function(DenomUnit) { - - /** - * Properties of a DenomUnit. - * @memberof cosmos.bank.v1beta1 - * @interface IDenomUnit - * @property {string|null} [denom] DenomUnit denom - * @property {number|null} [exponent] DenomUnit exponent - * @property {Array.|null} [aliases] DenomUnit aliases - */ - - /** - * Constructs a new DenomUnit. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a DenomUnit. - * @implements IDenomUnit - * @constructor - * @param {cosmos.bank.v1beta1.IDenomUnit=} [properties] Properties to set - */ - function DenomUnit(properties) { - this.aliases = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DenomUnit denom. - * @member {string} denom - * @memberof cosmos.bank.v1beta1.DenomUnit - * @instance - */ - DenomUnit.prototype.denom = ""; - - /** - * DenomUnit exponent. - * @member {number} exponent - * @memberof cosmos.bank.v1beta1.DenomUnit - * @instance - */ - DenomUnit.prototype.exponent = 0; - - /** - * DenomUnit aliases. - * @member {Array.} aliases - * @memberof cosmos.bank.v1beta1.DenomUnit - * @instance - */ - DenomUnit.prototype.aliases = $util.emptyArray; - - /** - * Creates a new DenomUnit instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.DenomUnit - * @static - * @param {cosmos.bank.v1beta1.IDenomUnit=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.DenomUnit} DenomUnit instance - */ - DenomUnit.create = function create(properties) { - return new DenomUnit(properties); - }; - - /** - * Encodes the specified DenomUnit message. Does not implicitly {@link cosmos.bank.v1beta1.DenomUnit.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.DenomUnit - * @static - * @param {cosmos.bank.v1beta1.IDenomUnit} message DenomUnit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DenomUnit.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.denom != null && Object.hasOwnProperty.call(message, "denom")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.denom); - if (message.exponent != null && Object.hasOwnProperty.call(message, "exponent")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.exponent); - if (message.aliases != null && message.aliases.length) - for (let i = 0; i < message.aliases.length; ++i) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.aliases[i]); - return writer; - }; - - /** - * Encodes the specified DenomUnit message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.DenomUnit.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.DenomUnit - * @static - * @param {cosmos.bank.v1beta1.IDenomUnit} message DenomUnit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DenomUnit.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DenomUnit message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.DenomUnit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.DenomUnit} DenomUnit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DenomUnit.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.DenomUnit(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.denom = reader.string(); - break; - case 2: - message.exponent = reader.uint32(); - break; - case 3: - if (!(message.aliases && message.aliases.length)) - message.aliases = []; - message.aliases.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DenomUnit message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.DenomUnit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.DenomUnit} DenomUnit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DenomUnit.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DenomUnit message. - * @function verify - * @memberof cosmos.bank.v1beta1.DenomUnit - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DenomUnit.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.denom != null && message.hasOwnProperty("denom")) - if (!$util.isString(message.denom)) - return "denom: string expected"; - if (message.exponent != null && message.hasOwnProperty("exponent")) - if (!$util.isInteger(message.exponent)) - return "exponent: integer expected"; - if (message.aliases != null && message.hasOwnProperty("aliases")) { - if (!Array.isArray(message.aliases)) - return "aliases: array expected"; - for (let i = 0; i < message.aliases.length; ++i) - if (!$util.isString(message.aliases[i])) - return "aliases: string[] expected"; - } - return null; - }; - - /** - * Creates a DenomUnit message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.DenomUnit - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.DenomUnit} DenomUnit - */ - DenomUnit.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.DenomUnit) - return object; - let message = new $root.cosmos.bank.v1beta1.DenomUnit(); - if (object.denom != null) - message.denom = String(object.denom); - if (object.exponent != null) - message.exponent = object.exponent >>> 0; - if (object.aliases) { - if (!Array.isArray(object.aliases)) - throw TypeError(".cosmos.bank.v1beta1.DenomUnit.aliases: array expected"); - message.aliases = []; - for (let i = 0; i < object.aliases.length; ++i) - message.aliases[i] = String(object.aliases[i]); - } - return message; - }; - - /** - * Creates a plain object from a DenomUnit message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.DenomUnit - * @static - * @param {cosmos.bank.v1beta1.DenomUnit} message DenomUnit - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DenomUnit.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.aliases = []; - if (options.defaults) { - object.denom = ""; - object.exponent = 0; - } - if (message.denom != null && message.hasOwnProperty("denom")) - object.denom = message.denom; - if (message.exponent != null && message.hasOwnProperty("exponent")) - object.exponent = message.exponent; - if (message.aliases && message.aliases.length) { - object.aliases = []; - for (let j = 0; j < message.aliases.length; ++j) - object.aliases[j] = message.aliases[j]; - } - return object; - }; - - /** - * Converts this DenomUnit to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.DenomUnit - * @instance - * @returns {Object.} JSON object - */ - DenomUnit.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DenomUnit; - })(v1beta1.DenomUnit || {}); - - v1beta1.Metadata = (function(Metadata) { - - /** - * Properties of a Metadata. - * @memberof cosmos.bank.v1beta1 - * @interface IMetadata - * @property {string|null} [description] Metadata description - * @property {Array.|null} [denomUnits] Metadata denomUnits - * @property {string|null} [base] Metadata base - * @property {string|null} [display] Metadata display - */ - - /** - * Constructs a new Metadata. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a Metadata. - * @implements IMetadata - * @constructor - * @param {cosmos.bank.v1beta1.IMetadata=} [properties] Properties to set - */ - function Metadata(properties) { - this.denomUnits = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Metadata description. - * @member {string} description - * @memberof cosmos.bank.v1beta1.Metadata - * @instance - */ - Metadata.prototype.description = ""; - - /** - * Metadata denomUnits. - * @member {Array.} denomUnits - * @memberof cosmos.bank.v1beta1.Metadata - * @instance - */ - Metadata.prototype.denomUnits = $util.emptyArray; - - /** - * Metadata base. - * @member {string} base - * @memberof cosmos.bank.v1beta1.Metadata - * @instance - */ - Metadata.prototype.base = ""; - - /** - * Metadata display. - * @member {string} display - * @memberof cosmos.bank.v1beta1.Metadata - * @instance - */ - Metadata.prototype.display = ""; - - /** - * Creates a new Metadata instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.Metadata - * @static - * @param {cosmos.bank.v1beta1.IMetadata=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.Metadata} Metadata instance - */ - Metadata.create = function create(properties) { - return new Metadata(properties); - }; - - /** - * Encodes the specified Metadata message. Does not implicitly {@link cosmos.bank.v1beta1.Metadata.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.Metadata - * @static - * @param {cosmos.bank.v1beta1.IMetadata} message Metadata message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Metadata.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.description); - if (message.denomUnits != null && message.denomUnits.length) - for (let i = 0; i < message.denomUnits.length; ++i) - $root.cosmos.bank.v1beta1.DenomUnit.encode(message.denomUnits[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.base != null && Object.hasOwnProperty.call(message, "base")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.base); - if (message.display != null && Object.hasOwnProperty.call(message, "display")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.display); - return writer; - }; - - /** - * Encodes the specified Metadata message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.Metadata.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.Metadata - * @static - * @param {cosmos.bank.v1beta1.IMetadata} message Metadata message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Metadata.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Metadata message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.Metadata - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.Metadata} Metadata - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Metadata.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.Metadata(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.description = reader.string(); - break; - case 2: - if (!(message.denomUnits && message.denomUnits.length)) - message.denomUnits = []; - message.denomUnits.push($root.cosmos.bank.v1beta1.DenomUnit.decode(reader, reader.uint32())); - break; - case 3: - message.base = reader.string(); - break; - case 4: - message.display = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Metadata message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.Metadata - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.Metadata} Metadata - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Metadata.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Metadata message. - * @function verify - * @memberof cosmos.bank.v1beta1.Metadata - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Metadata.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.denomUnits != null && message.hasOwnProperty("denomUnits")) { - if (!Array.isArray(message.denomUnits)) - return "denomUnits: array expected"; - for (let i = 0; i < message.denomUnits.length; ++i) { - let error = $root.cosmos.bank.v1beta1.DenomUnit.verify(message.denomUnits[i]); - if (error) - return "denomUnits." + error; - } - } - if (message.base != null && message.hasOwnProperty("base")) - if (!$util.isString(message.base)) - return "base: string expected"; - if (message.display != null && message.hasOwnProperty("display")) - if (!$util.isString(message.display)) - return "display: string expected"; - return null; - }; - - /** - * Creates a Metadata message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.Metadata - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.Metadata} Metadata - */ - Metadata.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.Metadata) - return object; - let message = new $root.cosmos.bank.v1beta1.Metadata(); - if (object.description != null) - message.description = String(object.description); - if (object.denomUnits) { - if (!Array.isArray(object.denomUnits)) - throw TypeError(".cosmos.bank.v1beta1.Metadata.denomUnits: array expected"); - message.denomUnits = []; - for (let i = 0; i < object.denomUnits.length; ++i) { - if (typeof object.denomUnits[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.Metadata.denomUnits: object expected"); - message.denomUnits[i] = $root.cosmos.bank.v1beta1.DenomUnit.fromObject(object.denomUnits[i]); - } - } - if (object.base != null) - message.base = String(object.base); - if (object.display != null) - message.display = String(object.display); - return message; - }; - - /** - * Creates a plain object from a Metadata message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.Metadata - * @static - * @param {cosmos.bank.v1beta1.Metadata} message Metadata - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Metadata.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.denomUnits = []; - if (options.defaults) { - object.description = ""; - object.base = ""; - object.display = ""; - } - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.denomUnits && message.denomUnits.length) { - object.denomUnits = []; - for (let j = 0; j < message.denomUnits.length; ++j) - object.denomUnits[j] = $root.cosmos.bank.v1beta1.DenomUnit.toObject(message.denomUnits[j], options); - } - if (message.base != null && message.hasOwnProperty("base")) - object.base = message.base; - if (message.display != null && message.hasOwnProperty("display")) - object.display = message.display; - return object; - }; - - /** - * Converts this Metadata to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.Metadata - * @instance - * @returns {Object.} JSON object - */ - Metadata.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Metadata; - })(v1beta1.Metadata || {}); - - v1beta1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof cosmos.bank.v1beta1 - * @interface IGenesisState - * @property {cosmos.bank.v1beta1.IParams|null} [params] GenesisState params - * @property {Array.|null} [balances] GenesisState balances - * @property {Array.|null} [supply] GenesisState supply - * @property {Array.|null} [denomMetadata] GenesisState denomMetadata - */ - - /** - * Constructs a new GenesisState. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {cosmos.bank.v1beta1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.balances = []; - this.supply = []; - this.denomMetadata = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState params. - * @member {cosmos.bank.v1beta1.IParams|null|undefined} params - * @memberof cosmos.bank.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.params = null; - - /** - * GenesisState balances. - * @member {Array.} balances - * @memberof cosmos.bank.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.balances = $util.emptyArray; - - /** - * GenesisState supply. - * @member {Array.} supply - * @memberof cosmos.bank.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.supply = $util.emptyArray; - - /** - * GenesisState denomMetadata. - * @member {Array.} denomMetadata - * @memberof cosmos.bank.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.denomMetadata = $util.emptyArray; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.GenesisState - * @static - * @param {cosmos.bank.v1beta1.IGenesisState=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link cosmos.bank.v1beta1.GenesisState.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.GenesisState - * @static - * @param {cosmos.bank.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.cosmos.bank.v1beta1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.balances != null && message.balances.length) - for (let i = 0; i < message.balances.length; ++i) - $root.cosmos.bank.v1beta1.Balance.encode(message.balances[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.supply != null && message.supply.length) - for (let i = 0; i < message.supply.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.supply[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.denomMetadata != null && message.denomMetadata.length) - for (let i = 0; i < message.denomMetadata.length; ++i) - $root.cosmos.bank.v1beta1.Metadata.encode(message.denomMetadata[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.GenesisState - * @static - * @param {cosmos.bank.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.cosmos.bank.v1beta1.Params.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.balances && message.balances.length)) - message.balances = []; - message.balances.push($root.cosmos.bank.v1beta1.Balance.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.supply && message.supply.length)) - message.supply = []; - message.supply.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.denomMetadata && message.denomMetadata.length)) - message.denomMetadata = []; - message.denomMetadata.push($root.cosmos.bank.v1beta1.Metadata.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof cosmos.bank.v1beta1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.cosmos.bank.v1beta1.Params.verify(message.params); - if (error) - return "params." + error; - } - if (message.balances != null && message.hasOwnProperty("balances")) { - if (!Array.isArray(message.balances)) - return "balances: array expected"; - for (let i = 0; i < message.balances.length; ++i) { - let error = $root.cosmos.bank.v1beta1.Balance.verify(message.balances[i]); - if (error) - return "balances." + error; - } - } - if (message.supply != null && message.hasOwnProperty("supply")) { - if (!Array.isArray(message.supply)) - return "supply: array expected"; - for (let i = 0; i < message.supply.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.supply[i]); - if (error) - return "supply." + error; - } - } - if (message.denomMetadata != null && message.hasOwnProperty("denomMetadata")) { - if (!Array.isArray(message.denomMetadata)) - return "denomMetadata: array expected"; - for (let i = 0; i < message.denomMetadata.length; ++i) { - let error = $root.cosmos.bank.v1beta1.Metadata.verify(message.denomMetadata[i]); - if (error) - return "denomMetadata." + error; - } - } - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.GenesisState) - return object; - let message = new $root.cosmos.bank.v1beta1.GenesisState(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".cosmos.bank.v1beta1.GenesisState.params: object expected"); - message.params = $root.cosmos.bank.v1beta1.Params.fromObject(object.params); - } - if (object.balances) { - if (!Array.isArray(object.balances)) - throw TypeError(".cosmos.bank.v1beta1.GenesisState.balances: array expected"); - message.balances = []; - for (let i = 0; i < object.balances.length; ++i) { - if (typeof object.balances[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.GenesisState.balances: object expected"); - message.balances[i] = $root.cosmos.bank.v1beta1.Balance.fromObject(object.balances[i]); - } - } - if (object.supply) { - if (!Array.isArray(object.supply)) - throw TypeError(".cosmos.bank.v1beta1.GenesisState.supply: array expected"); - message.supply = []; - for (let i = 0; i < object.supply.length; ++i) { - if (typeof object.supply[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.GenesisState.supply: object expected"); - message.supply[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.supply[i]); - } - } - if (object.denomMetadata) { - if (!Array.isArray(object.denomMetadata)) - throw TypeError(".cosmos.bank.v1beta1.GenesisState.denomMetadata: array expected"); - message.denomMetadata = []; - for (let i = 0; i < object.denomMetadata.length; ++i) { - if (typeof object.denomMetadata[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.GenesisState.denomMetadata: object expected"); - message.denomMetadata[i] = $root.cosmos.bank.v1beta1.Metadata.fromObject(object.denomMetadata[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.GenesisState - * @static - * @param {cosmos.bank.v1beta1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.balances = []; - object.supply = []; - object.denomMetadata = []; - } - if (options.defaults) - object.params = null; - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.cosmos.bank.v1beta1.Params.toObject(message.params, options); - if (message.balances && message.balances.length) { - object.balances = []; - for (let j = 0; j < message.balances.length; ++j) - object.balances[j] = $root.cosmos.bank.v1beta1.Balance.toObject(message.balances[j], options); - } - if (message.supply && message.supply.length) { - object.supply = []; - for (let j = 0; j < message.supply.length; ++j) - object.supply[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.supply[j], options); - } - if (message.denomMetadata && message.denomMetadata.length) { - object.denomMetadata = []; - for (let j = 0; j < message.denomMetadata.length; ++j) - object.denomMetadata[j] = $root.cosmos.bank.v1beta1.Metadata.toObject(message.denomMetadata[j], options); - } - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1beta1.GenesisState || {}); - - v1beta1.Balance = (function(Balance) { - - /** - * Properties of a Balance. - * @memberof cosmos.bank.v1beta1 - * @interface IBalance - * @property {string|null} [address] Balance address - * @property {Array.|null} [coins] Balance coins - */ - - /** - * Constructs a new Balance. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a Balance. - * @implements IBalance - * @constructor - * @param {cosmos.bank.v1beta1.IBalance=} [properties] Properties to set - */ - function Balance(properties) { - this.coins = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Balance address. - * @member {string} address - * @memberof cosmos.bank.v1beta1.Balance - * @instance - */ - Balance.prototype.address = ""; - - /** - * Balance coins. - * @member {Array.} coins - * @memberof cosmos.bank.v1beta1.Balance - * @instance - */ - Balance.prototype.coins = $util.emptyArray; - - /** - * Creates a new Balance instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.Balance - * @static - * @param {cosmos.bank.v1beta1.IBalance=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.Balance} Balance instance - */ - Balance.create = function create(properties) { - return new Balance(properties); - }; - - /** - * Encodes the specified Balance message. Does not implicitly {@link cosmos.bank.v1beta1.Balance.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.Balance - * @static - * @param {cosmos.bank.v1beta1.IBalance} message Balance message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Balance.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.address); - if (message.coins != null && message.coins.length) - for (let i = 0; i < message.coins.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.coins[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Balance message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.Balance.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.Balance - * @static - * @param {cosmos.bank.v1beta1.IBalance} message Balance message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Balance.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Balance message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.Balance - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.Balance} Balance - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Balance.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.Balance(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.string(); - break; - case 2: - if (!(message.coins && message.coins.length)) - message.coins = []; - message.coins.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Balance message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.Balance - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.Balance} Balance - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Balance.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Balance message. - * @function verify - * @memberof cosmos.bank.v1beta1.Balance - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Balance.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!$util.isString(message.address)) - return "address: string expected"; - if (message.coins != null && message.hasOwnProperty("coins")) { - if (!Array.isArray(message.coins)) - return "coins: array expected"; - for (let i = 0; i < message.coins.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.coins[i]); - if (error) - return "coins." + error; - } - } - return null; - }; - - /** - * Creates a Balance message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.Balance - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.Balance} Balance - */ - Balance.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.Balance) - return object; - let message = new $root.cosmos.bank.v1beta1.Balance(); - if (object.address != null) - message.address = String(object.address); - if (object.coins) { - if (!Array.isArray(object.coins)) - throw TypeError(".cosmos.bank.v1beta1.Balance.coins: array expected"); - message.coins = []; - for (let i = 0; i < object.coins.length; ++i) { - if (typeof object.coins[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.Balance.coins: object expected"); - message.coins[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.coins[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a Balance message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.Balance - * @static - * @param {cosmos.bank.v1beta1.Balance} message Balance - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Balance.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.coins = []; - if (options.defaults) - object.address = ""; - if (message.address != null && message.hasOwnProperty("address")) - object.address = message.address; - if (message.coins && message.coins.length) { - object.coins = []; - for (let j = 0; j < message.coins.length; ++j) - object.coins[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.coins[j], options); - } - return object; - }; - - /** - * Converts this Balance to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.Balance - * @instance - * @returns {Object.} JSON object - */ - Balance.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Balance; - })(v1beta1.Balance || {}); - - v1beta1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof cosmos.bank.v1beta1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.bank.v1beta1.Query#balance}. - * @memberof cosmos.bank.v1beta1.Query - * @typedef BalanceCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.bank.v1beta1.IQueryBalanceResponse} [response] QueryBalanceResponse - */ - - /** - * Calls Balance. - * @function balance - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQueryBalanceRequest} request QueryBalanceRequest message or plain object - * @param {cosmos.bank.v1beta1.Query.BalanceCallback} callback Node-style callback called with the error, if any, and QueryBalanceResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.balance = function balance(request, callback) { - return this.rpcCall(balance, $root.cosmos.bank.v1beta1.QueryBalanceRequest, $root.cosmos.bank.v1beta1.QueryBalanceResponse, request, callback); - }, "name", { value: "Balance" }); - - /** - * Calls Balance. - * @function balance - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQueryBalanceRequest} request QueryBalanceRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.bank.v1beta1.Query#allBalances}. - * @memberof cosmos.bank.v1beta1.Query - * @typedef AllBalancesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.bank.v1beta1.IQueryAllBalancesResponse} [response] QueryAllBalancesResponse - */ - - /** - * Calls AllBalances. - * @function allBalances - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQueryAllBalancesRequest} request QueryAllBalancesRequest message or plain object - * @param {cosmos.bank.v1beta1.Query.AllBalancesCallback} callback Node-style callback called with the error, if any, and QueryAllBalancesResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.allBalances = function allBalances(request, callback) { - return this.rpcCall(allBalances, $root.cosmos.bank.v1beta1.QueryAllBalancesRequest, $root.cosmos.bank.v1beta1.QueryAllBalancesResponse, request, callback); - }, "name", { value: "AllBalances" }); - - /** - * Calls AllBalances. - * @function allBalances - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQueryAllBalancesRequest} request QueryAllBalancesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.bank.v1beta1.Query#totalSupply}. - * @memberof cosmos.bank.v1beta1.Query - * @typedef TotalSupplyCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.bank.v1beta1.IQueryTotalSupplyResponse} [response] QueryTotalSupplyResponse - */ - - /** - * Calls TotalSupply. - * @function totalSupply - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQueryTotalSupplyRequest} request QueryTotalSupplyRequest message or plain object - * @param {cosmos.bank.v1beta1.Query.TotalSupplyCallback} callback Node-style callback called with the error, if any, and QueryTotalSupplyResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.totalSupply = function totalSupply(request, callback) { - return this.rpcCall(totalSupply, $root.cosmos.bank.v1beta1.QueryTotalSupplyRequest, $root.cosmos.bank.v1beta1.QueryTotalSupplyResponse, request, callback); - }, "name", { value: "TotalSupply" }); - - /** - * Calls TotalSupply. - * @function totalSupply - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQueryTotalSupplyRequest} request QueryTotalSupplyRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.bank.v1beta1.Query#supplyOf}. - * @memberof cosmos.bank.v1beta1.Query - * @typedef SupplyOfCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.bank.v1beta1.IQuerySupplyOfResponse} [response] QuerySupplyOfResponse - */ - - /** - * Calls SupplyOf. - * @function supplyOf - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQuerySupplyOfRequest} request QuerySupplyOfRequest message or plain object - * @param {cosmos.bank.v1beta1.Query.SupplyOfCallback} callback Node-style callback called with the error, if any, and QuerySupplyOfResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.supplyOf = function supplyOf(request, callback) { - return this.rpcCall(supplyOf, $root.cosmos.bank.v1beta1.QuerySupplyOfRequest, $root.cosmos.bank.v1beta1.QuerySupplyOfResponse, request, callback); - }, "name", { value: "SupplyOf" }); - - /** - * Calls SupplyOf. - * @function supplyOf - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQuerySupplyOfRequest} request QuerySupplyOfRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.bank.v1beta1.Query#params}. - * @memberof cosmos.bank.v1beta1.Query - * @typedef ParamsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.bank.v1beta1.IQueryParamsResponse} [response] QueryParamsResponse - */ - - /** - * Calls Params. - * @function params - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @param {cosmos.bank.v1beta1.Query.ParamsCallback} callback Node-style callback called with the error, if any, and QueryParamsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.params = function params(request, callback) { - return this.rpcCall(params, $root.cosmos.bank.v1beta1.QueryParamsRequest, $root.cosmos.bank.v1beta1.QueryParamsResponse, request, callback); - }, "name", { value: "Params" }); - - /** - * Calls Params. - * @function params - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.bank.v1beta1.Query#denomMetadata}. - * @memberof cosmos.bank.v1beta1.Query - * @typedef DenomMetadataCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.bank.v1beta1.IQueryDenomMetadataResponse} [response] QueryDenomMetadataResponse - */ - - /** - * Calls DenomMetadata. - * @function denomMetadata - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQueryDenomMetadataRequest} request QueryDenomMetadataRequest message or plain object - * @param {cosmos.bank.v1beta1.Query.DenomMetadataCallback} callback Node-style callback called with the error, if any, and QueryDenomMetadataResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.denomMetadata = function denomMetadata(request, callback) { - return this.rpcCall(denomMetadata, $root.cosmos.bank.v1beta1.QueryDenomMetadataRequest, $root.cosmos.bank.v1beta1.QueryDenomMetadataResponse, request, callback); - }, "name", { value: "DenomMetadata" }); - - /** - * Calls DenomMetadata. - * @function denomMetadata - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQueryDenomMetadataRequest} request QueryDenomMetadataRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.bank.v1beta1.Query#denomsMetadata}. - * @memberof cosmos.bank.v1beta1.Query - * @typedef DenomsMetadataCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.bank.v1beta1.IQueryDenomsMetadataResponse} [response] QueryDenomsMetadataResponse - */ - - /** - * Calls DenomsMetadata. - * @function denomsMetadata - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQueryDenomsMetadataRequest} request QueryDenomsMetadataRequest message or plain object - * @param {cosmos.bank.v1beta1.Query.DenomsMetadataCallback} callback Node-style callback called with the error, if any, and QueryDenomsMetadataResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.denomsMetadata = function denomsMetadata(request, callback) { - return this.rpcCall(denomsMetadata, $root.cosmos.bank.v1beta1.QueryDenomsMetadataRequest, $root.cosmos.bank.v1beta1.QueryDenomsMetadataResponse, request, callback); - }, "name", { value: "DenomsMetadata" }); - - /** - * Calls DenomsMetadata. - * @function denomsMetadata - * @memberof cosmos.bank.v1beta1.Query - * @instance - * @param {cosmos.bank.v1beta1.IQueryDenomsMetadataRequest} request QueryDenomsMetadataRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1beta1.Query || {}); - - v1beta1.QueryBalanceRequest = (function(QueryBalanceRequest) { - - /** - * Properties of a QueryBalanceRequest. - * @memberof cosmos.bank.v1beta1 - * @interface IQueryBalanceRequest - * @property {string|null} [address] QueryBalanceRequest address - * @property {string|null} [denom] QueryBalanceRequest denom - */ - - /** - * Constructs a new QueryBalanceRequest. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QueryBalanceRequest. - * @implements IQueryBalanceRequest - * @constructor - * @param {cosmos.bank.v1beta1.IQueryBalanceRequest=} [properties] Properties to set - */ - function QueryBalanceRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryBalanceRequest address. - * @member {string} address - * @memberof cosmos.bank.v1beta1.QueryBalanceRequest - * @instance - */ - QueryBalanceRequest.prototype.address = ""; - - /** - * QueryBalanceRequest denom. - * @member {string} denom - * @memberof cosmos.bank.v1beta1.QueryBalanceRequest - * @instance - */ - QueryBalanceRequest.prototype.denom = ""; - - /** - * Creates a new QueryBalanceRequest instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QueryBalanceRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryBalanceRequest=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QueryBalanceRequest} QueryBalanceRequest instance - */ - QueryBalanceRequest.create = function create(properties) { - return new QueryBalanceRequest(properties); - }; - - /** - * Encodes the specified QueryBalanceRequest message. Does not implicitly {@link cosmos.bank.v1beta1.QueryBalanceRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QueryBalanceRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryBalanceRequest} message QueryBalanceRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryBalanceRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.address); - if (message.denom != null && Object.hasOwnProperty.call(message, "denom")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.denom); - return writer; - }; - - /** - * Encodes the specified QueryBalanceRequest message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QueryBalanceRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QueryBalanceRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryBalanceRequest} message QueryBalanceRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryBalanceRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryBalanceRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QueryBalanceRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QueryBalanceRequest} QueryBalanceRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryBalanceRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QueryBalanceRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.string(); - break; - case 2: - message.denom = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryBalanceRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QueryBalanceRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QueryBalanceRequest} QueryBalanceRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryBalanceRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryBalanceRequest message. - * @function verify - * @memberof cosmos.bank.v1beta1.QueryBalanceRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryBalanceRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!$util.isString(message.address)) - return "address: string expected"; - if (message.denom != null && message.hasOwnProperty("denom")) - if (!$util.isString(message.denom)) - return "denom: string expected"; - return null; - }; - - /** - * Creates a QueryBalanceRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QueryBalanceRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QueryBalanceRequest} QueryBalanceRequest - */ - QueryBalanceRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QueryBalanceRequest) - return object; - let message = new $root.cosmos.bank.v1beta1.QueryBalanceRequest(); - if (object.address != null) - message.address = String(object.address); - if (object.denom != null) - message.denom = String(object.denom); - return message; - }; - - /** - * Creates a plain object from a QueryBalanceRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QueryBalanceRequest - * @static - * @param {cosmos.bank.v1beta1.QueryBalanceRequest} message QueryBalanceRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryBalanceRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.address = ""; - object.denom = ""; - } - if (message.address != null && message.hasOwnProperty("address")) - object.address = message.address; - if (message.denom != null && message.hasOwnProperty("denom")) - object.denom = message.denom; - return object; - }; - - /** - * Converts this QueryBalanceRequest to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QueryBalanceRequest - * @instance - * @returns {Object.} JSON object - */ - QueryBalanceRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryBalanceRequest; - })(v1beta1.QueryBalanceRequest || {}); - - v1beta1.QueryBalanceResponse = (function(QueryBalanceResponse) { - - /** - * Properties of a QueryBalanceResponse. - * @memberof cosmos.bank.v1beta1 - * @interface IQueryBalanceResponse - * @property {cosmos.base.v1beta1.ICoin|null} [balance] QueryBalanceResponse balance - */ - - /** - * Constructs a new QueryBalanceResponse. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QueryBalanceResponse. - * @implements IQueryBalanceResponse - * @constructor - * @param {cosmos.bank.v1beta1.IQueryBalanceResponse=} [properties] Properties to set - */ - function QueryBalanceResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryBalanceResponse balance. - * @member {cosmos.base.v1beta1.ICoin|null|undefined} balance - * @memberof cosmos.bank.v1beta1.QueryBalanceResponse - * @instance - */ - QueryBalanceResponse.prototype.balance = null; - - /** - * Creates a new QueryBalanceResponse instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QueryBalanceResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryBalanceResponse=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QueryBalanceResponse} QueryBalanceResponse instance - */ - QueryBalanceResponse.create = function create(properties) { - return new QueryBalanceResponse(properties); - }; - - /** - * Encodes the specified QueryBalanceResponse message. Does not implicitly {@link cosmos.bank.v1beta1.QueryBalanceResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QueryBalanceResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryBalanceResponse} message QueryBalanceResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryBalanceResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.balance != null && Object.hasOwnProperty.call(message, "balance")) - $root.cosmos.base.v1beta1.Coin.encode(message.balance, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryBalanceResponse message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QueryBalanceResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QueryBalanceResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryBalanceResponse} message QueryBalanceResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryBalanceResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryBalanceResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QueryBalanceResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QueryBalanceResponse} QueryBalanceResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryBalanceResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QueryBalanceResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.balance = $root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryBalanceResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QueryBalanceResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QueryBalanceResponse} QueryBalanceResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryBalanceResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryBalanceResponse message. - * @function verify - * @memberof cosmos.bank.v1beta1.QueryBalanceResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryBalanceResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.balance != null && message.hasOwnProperty("balance")) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.balance); - if (error) - return "balance." + error; - } - return null; - }; - - /** - * Creates a QueryBalanceResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QueryBalanceResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QueryBalanceResponse} QueryBalanceResponse - */ - QueryBalanceResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QueryBalanceResponse) - return object; - let message = new $root.cosmos.bank.v1beta1.QueryBalanceResponse(); - if (object.balance != null) { - if (typeof object.balance !== "object") - throw TypeError(".cosmos.bank.v1beta1.QueryBalanceResponse.balance: object expected"); - message.balance = $root.cosmos.base.v1beta1.Coin.fromObject(object.balance); - } - return message; - }; - - /** - * Creates a plain object from a QueryBalanceResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QueryBalanceResponse - * @static - * @param {cosmos.bank.v1beta1.QueryBalanceResponse} message QueryBalanceResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryBalanceResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.balance = null; - if (message.balance != null && message.hasOwnProperty("balance")) - object.balance = $root.cosmos.base.v1beta1.Coin.toObject(message.balance, options); - return object; - }; - - /** - * Converts this QueryBalanceResponse to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QueryBalanceResponse - * @instance - * @returns {Object.} JSON object - */ - QueryBalanceResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryBalanceResponse; - })(v1beta1.QueryBalanceResponse || {}); - - v1beta1.QueryAllBalancesRequest = (function(QueryAllBalancesRequest) { - - /** - * Properties of a QueryAllBalancesRequest. - * @memberof cosmos.bank.v1beta1 - * @interface IQueryAllBalancesRequest - * @property {string|null} [address] QueryAllBalancesRequest address - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryAllBalancesRequest pagination - */ - - /** - * Constructs a new QueryAllBalancesRequest. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QueryAllBalancesRequest. - * @implements IQueryAllBalancesRequest - * @constructor - * @param {cosmos.bank.v1beta1.IQueryAllBalancesRequest=} [properties] Properties to set - */ - function QueryAllBalancesRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryAllBalancesRequest address. - * @member {string} address - * @memberof cosmos.bank.v1beta1.QueryAllBalancesRequest - * @instance - */ - QueryAllBalancesRequest.prototype.address = ""; - - /** - * QueryAllBalancesRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.bank.v1beta1.QueryAllBalancesRequest - * @instance - */ - QueryAllBalancesRequest.prototype.pagination = null; - - /** - * Creates a new QueryAllBalancesRequest instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QueryAllBalancesRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryAllBalancesRequest=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QueryAllBalancesRequest} QueryAllBalancesRequest instance - */ - QueryAllBalancesRequest.create = function create(properties) { - return new QueryAllBalancesRequest(properties); - }; - - /** - * Encodes the specified QueryAllBalancesRequest message. Does not implicitly {@link cosmos.bank.v1beta1.QueryAllBalancesRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QueryAllBalancesRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryAllBalancesRequest} message QueryAllBalancesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAllBalancesRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.address); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryAllBalancesRequest message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QueryAllBalancesRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QueryAllBalancesRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryAllBalancesRequest} message QueryAllBalancesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAllBalancesRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryAllBalancesRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QueryAllBalancesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QueryAllBalancesRequest} QueryAllBalancesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAllBalancesRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QueryAllBalancesRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.string(); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryAllBalancesRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QueryAllBalancesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QueryAllBalancesRequest} QueryAllBalancesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAllBalancesRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryAllBalancesRequest message. - * @function verify - * @memberof cosmos.bank.v1beta1.QueryAllBalancesRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryAllBalancesRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!$util.isString(message.address)) - return "address: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryAllBalancesRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QueryAllBalancesRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QueryAllBalancesRequest} QueryAllBalancesRequest - */ - QueryAllBalancesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QueryAllBalancesRequest) - return object; - let message = new $root.cosmos.bank.v1beta1.QueryAllBalancesRequest(); - if (object.address != null) - message.address = String(object.address); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.bank.v1beta1.QueryAllBalancesRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryAllBalancesRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QueryAllBalancesRequest - * @static - * @param {cosmos.bank.v1beta1.QueryAllBalancesRequest} message QueryAllBalancesRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryAllBalancesRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.address = ""; - object.pagination = null; - } - if (message.address != null && message.hasOwnProperty("address")) - object.address = message.address; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryAllBalancesRequest to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QueryAllBalancesRequest - * @instance - * @returns {Object.} JSON object - */ - QueryAllBalancesRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryAllBalancesRequest; - })(v1beta1.QueryAllBalancesRequest || {}); - - v1beta1.QueryAllBalancesResponse = (function(QueryAllBalancesResponse) { - - /** - * Properties of a QueryAllBalancesResponse. - * @memberof cosmos.bank.v1beta1 - * @interface IQueryAllBalancesResponse - * @property {Array.|null} [balances] QueryAllBalancesResponse balances - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryAllBalancesResponse pagination - */ - - /** - * Constructs a new QueryAllBalancesResponse. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QueryAllBalancesResponse. - * @implements IQueryAllBalancesResponse - * @constructor - * @param {cosmos.bank.v1beta1.IQueryAllBalancesResponse=} [properties] Properties to set - */ - function QueryAllBalancesResponse(properties) { - this.balances = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryAllBalancesResponse balances. - * @member {Array.} balances - * @memberof cosmos.bank.v1beta1.QueryAllBalancesResponse - * @instance - */ - QueryAllBalancesResponse.prototype.balances = $util.emptyArray; - - /** - * QueryAllBalancesResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.bank.v1beta1.QueryAllBalancesResponse - * @instance - */ - QueryAllBalancesResponse.prototype.pagination = null; - - /** - * Creates a new QueryAllBalancesResponse instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QueryAllBalancesResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryAllBalancesResponse=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QueryAllBalancesResponse} QueryAllBalancesResponse instance - */ - QueryAllBalancesResponse.create = function create(properties) { - return new QueryAllBalancesResponse(properties); - }; - - /** - * Encodes the specified QueryAllBalancesResponse message. Does not implicitly {@link cosmos.bank.v1beta1.QueryAllBalancesResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QueryAllBalancesResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryAllBalancesResponse} message QueryAllBalancesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAllBalancesResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.balances != null && message.balances.length) - for (let i = 0; i < message.balances.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.balances[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryAllBalancesResponse message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QueryAllBalancesResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QueryAllBalancesResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryAllBalancesResponse} message QueryAllBalancesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAllBalancesResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryAllBalancesResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QueryAllBalancesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QueryAllBalancesResponse} QueryAllBalancesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAllBalancesResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QueryAllBalancesResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.balances && message.balances.length)) - message.balances = []; - message.balances.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryAllBalancesResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QueryAllBalancesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QueryAllBalancesResponse} QueryAllBalancesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAllBalancesResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryAllBalancesResponse message. - * @function verify - * @memberof cosmos.bank.v1beta1.QueryAllBalancesResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryAllBalancesResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.balances != null && message.hasOwnProperty("balances")) { - if (!Array.isArray(message.balances)) - return "balances: array expected"; - for (let i = 0; i < message.balances.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.balances[i]); - if (error) - return "balances." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryAllBalancesResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QueryAllBalancesResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QueryAllBalancesResponse} QueryAllBalancesResponse - */ - QueryAllBalancesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QueryAllBalancesResponse) - return object; - let message = new $root.cosmos.bank.v1beta1.QueryAllBalancesResponse(); - if (object.balances) { - if (!Array.isArray(object.balances)) - throw TypeError(".cosmos.bank.v1beta1.QueryAllBalancesResponse.balances: array expected"); - message.balances = []; - for (let i = 0; i < object.balances.length; ++i) { - if (typeof object.balances[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.QueryAllBalancesResponse.balances: object expected"); - message.balances[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.balances[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.bank.v1beta1.QueryAllBalancesResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryAllBalancesResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QueryAllBalancesResponse - * @static - * @param {cosmos.bank.v1beta1.QueryAllBalancesResponse} message QueryAllBalancesResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryAllBalancesResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.balances = []; - if (options.defaults) - object.pagination = null; - if (message.balances && message.balances.length) { - object.balances = []; - for (let j = 0; j < message.balances.length; ++j) - object.balances[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.balances[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryAllBalancesResponse to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QueryAllBalancesResponse - * @instance - * @returns {Object.} JSON object - */ - QueryAllBalancesResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryAllBalancesResponse; - })(v1beta1.QueryAllBalancesResponse || {}); - - v1beta1.QueryTotalSupplyRequest = (function(QueryTotalSupplyRequest) { - - /** - * Properties of a QueryTotalSupplyRequest. - * @memberof cosmos.bank.v1beta1 - * @interface IQueryTotalSupplyRequest - */ - - /** - * Constructs a new QueryTotalSupplyRequest. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QueryTotalSupplyRequest. - * @implements IQueryTotalSupplyRequest - * @constructor - * @param {cosmos.bank.v1beta1.IQueryTotalSupplyRequest=} [properties] Properties to set - */ - function QueryTotalSupplyRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryTotalSupplyRequest instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryTotalSupplyRequest=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QueryTotalSupplyRequest} QueryTotalSupplyRequest instance - */ - QueryTotalSupplyRequest.create = function create(properties) { - return new QueryTotalSupplyRequest(properties); - }; - - /** - * Encodes the specified QueryTotalSupplyRequest message. Does not implicitly {@link cosmos.bank.v1beta1.QueryTotalSupplyRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryTotalSupplyRequest} message QueryTotalSupplyRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryTotalSupplyRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryTotalSupplyRequest message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QueryTotalSupplyRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryTotalSupplyRequest} message QueryTotalSupplyRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryTotalSupplyRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryTotalSupplyRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QueryTotalSupplyRequest} QueryTotalSupplyRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryTotalSupplyRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QueryTotalSupplyRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryTotalSupplyRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QueryTotalSupplyRequest} QueryTotalSupplyRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryTotalSupplyRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryTotalSupplyRequest message. - * @function verify - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryTotalSupplyRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryTotalSupplyRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QueryTotalSupplyRequest} QueryTotalSupplyRequest - */ - QueryTotalSupplyRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QueryTotalSupplyRequest) - return object; - return new $root.cosmos.bank.v1beta1.QueryTotalSupplyRequest(); - }; - - /** - * Creates a plain object from a QueryTotalSupplyRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyRequest - * @static - * @param {cosmos.bank.v1beta1.QueryTotalSupplyRequest} message QueryTotalSupplyRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryTotalSupplyRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryTotalSupplyRequest to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyRequest - * @instance - * @returns {Object.} JSON object - */ - QueryTotalSupplyRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryTotalSupplyRequest; - })(v1beta1.QueryTotalSupplyRequest || {}); - - v1beta1.QueryTotalSupplyResponse = (function(QueryTotalSupplyResponse) { - - /** - * Properties of a QueryTotalSupplyResponse. - * @memberof cosmos.bank.v1beta1 - * @interface IQueryTotalSupplyResponse - * @property {Array.|null} [supply] QueryTotalSupplyResponse supply - */ - - /** - * Constructs a new QueryTotalSupplyResponse. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QueryTotalSupplyResponse. - * @implements IQueryTotalSupplyResponse - * @constructor - * @param {cosmos.bank.v1beta1.IQueryTotalSupplyResponse=} [properties] Properties to set - */ - function QueryTotalSupplyResponse(properties) { - this.supply = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryTotalSupplyResponse supply. - * @member {Array.} supply - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyResponse - * @instance - */ - QueryTotalSupplyResponse.prototype.supply = $util.emptyArray; - - /** - * Creates a new QueryTotalSupplyResponse instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryTotalSupplyResponse=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QueryTotalSupplyResponse} QueryTotalSupplyResponse instance - */ - QueryTotalSupplyResponse.create = function create(properties) { - return new QueryTotalSupplyResponse(properties); - }; - - /** - * Encodes the specified QueryTotalSupplyResponse message. Does not implicitly {@link cosmos.bank.v1beta1.QueryTotalSupplyResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryTotalSupplyResponse} message QueryTotalSupplyResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryTotalSupplyResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.supply != null && message.supply.length) - for (let i = 0; i < message.supply.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.supply[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryTotalSupplyResponse message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QueryTotalSupplyResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryTotalSupplyResponse} message QueryTotalSupplyResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryTotalSupplyResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryTotalSupplyResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QueryTotalSupplyResponse} QueryTotalSupplyResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryTotalSupplyResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QueryTotalSupplyResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.supply && message.supply.length)) - message.supply = []; - message.supply.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryTotalSupplyResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QueryTotalSupplyResponse} QueryTotalSupplyResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryTotalSupplyResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryTotalSupplyResponse message. - * @function verify - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryTotalSupplyResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.supply != null && message.hasOwnProperty("supply")) { - if (!Array.isArray(message.supply)) - return "supply: array expected"; - for (let i = 0; i < message.supply.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.supply[i]); - if (error) - return "supply." + error; - } - } - return null; - }; - - /** - * Creates a QueryTotalSupplyResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QueryTotalSupplyResponse} QueryTotalSupplyResponse - */ - QueryTotalSupplyResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QueryTotalSupplyResponse) - return object; - let message = new $root.cosmos.bank.v1beta1.QueryTotalSupplyResponse(); - if (object.supply) { - if (!Array.isArray(object.supply)) - throw TypeError(".cosmos.bank.v1beta1.QueryTotalSupplyResponse.supply: array expected"); - message.supply = []; - for (let i = 0; i < object.supply.length; ++i) { - if (typeof object.supply[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.QueryTotalSupplyResponse.supply: object expected"); - message.supply[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.supply[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a QueryTotalSupplyResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyResponse - * @static - * @param {cosmos.bank.v1beta1.QueryTotalSupplyResponse} message QueryTotalSupplyResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryTotalSupplyResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.supply = []; - if (message.supply && message.supply.length) { - object.supply = []; - for (let j = 0; j < message.supply.length; ++j) - object.supply[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.supply[j], options); - } - return object; - }; - - /** - * Converts this QueryTotalSupplyResponse to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QueryTotalSupplyResponse - * @instance - * @returns {Object.} JSON object - */ - QueryTotalSupplyResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryTotalSupplyResponse; - })(v1beta1.QueryTotalSupplyResponse || {}); - - v1beta1.QuerySupplyOfRequest = (function(QuerySupplyOfRequest) { - - /** - * Properties of a QuerySupplyOfRequest. - * @memberof cosmos.bank.v1beta1 - * @interface IQuerySupplyOfRequest - * @property {string|null} [denom] QuerySupplyOfRequest denom - */ - - /** - * Constructs a new QuerySupplyOfRequest. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QuerySupplyOfRequest. - * @implements IQuerySupplyOfRequest - * @constructor - * @param {cosmos.bank.v1beta1.IQuerySupplyOfRequest=} [properties] Properties to set - */ - function QuerySupplyOfRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QuerySupplyOfRequest denom. - * @member {string} denom - * @memberof cosmos.bank.v1beta1.QuerySupplyOfRequest - * @instance - */ - QuerySupplyOfRequest.prototype.denom = ""; - - /** - * Creates a new QuerySupplyOfRequest instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QuerySupplyOfRequest - * @static - * @param {cosmos.bank.v1beta1.IQuerySupplyOfRequest=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QuerySupplyOfRequest} QuerySupplyOfRequest instance - */ - QuerySupplyOfRequest.create = function create(properties) { - return new QuerySupplyOfRequest(properties); - }; - - /** - * Encodes the specified QuerySupplyOfRequest message. Does not implicitly {@link cosmos.bank.v1beta1.QuerySupplyOfRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QuerySupplyOfRequest - * @static - * @param {cosmos.bank.v1beta1.IQuerySupplyOfRequest} message QuerySupplyOfRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuerySupplyOfRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.denom != null && Object.hasOwnProperty.call(message, "denom")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.denom); - return writer; - }; - - /** - * Encodes the specified QuerySupplyOfRequest message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QuerySupplyOfRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QuerySupplyOfRequest - * @static - * @param {cosmos.bank.v1beta1.IQuerySupplyOfRequest} message QuerySupplyOfRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuerySupplyOfRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QuerySupplyOfRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QuerySupplyOfRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QuerySupplyOfRequest} QuerySupplyOfRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuerySupplyOfRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QuerySupplyOfRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.denom = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QuerySupplyOfRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QuerySupplyOfRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QuerySupplyOfRequest} QuerySupplyOfRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuerySupplyOfRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QuerySupplyOfRequest message. - * @function verify - * @memberof cosmos.bank.v1beta1.QuerySupplyOfRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QuerySupplyOfRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.denom != null && message.hasOwnProperty("denom")) - if (!$util.isString(message.denom)) - return "denom: string expected"; - return null; - }; - - /** - * Creates a QuerySupplyOfRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QuerySupplyOfRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QuerySupplyOfRequest} QuerySupplyOfRequest - */ - QuerySupplyOfRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QuerySupplyOfRequest) - return object; - let message = new $root.cosmos.bank.v1beta1.QuerySupplyOfRequest(); - if (object.denom != null) - message.denom = String(object.denom); - return message; - }; - - /** - * Creates a plain object from a QuerySupplyOfRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QuerySupplyOfRequest - * @static - * @param {cosmos.bank.v1beta1.QuerySupplyOfRequest} message QuerySupplyOfRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QuerySupplyOfRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.denom = ""; - if (message.denom != null && message.hasOwnProperty("denom")) - object.denom = message.denom; - return object; - }; - - /** - * Converts this QuerySupplyOfRequest to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QuerySupplyOfRequest - * @instance - * @returns {Object.} JSON object - */ - QuerySupplyOfRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QuerySupplyOfRequest; - })(v1beta1.QuerySupplyOfRequest || {}); - - v1beta1.QuerySupplyOfResponse = (function(QuerySupplyOfResponse) { - - /** - * Properties of a QuerySupplyOfResponse. - * @memberof cosmos.bank.v1beta1 - * @interface IQuerySupplyOfResponse - * @property {cosmos.base.v1beta1.ICoin|null} [amount] QuerySupplyOfResponse amount - */ - - /** - * Constructs a new QuerySupplyOfResponse. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QuerySupplyOfResponse. - * @implements IQuerySupplyOfResponse - * @constructor - * @param {cosmos.bank.v1beta1.IQuerySupplyOfResponse=} [properties] Properties to set - */ - function QuerySupplyOfResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QuerySupplyOfResponse amount. - * @member {cosmos.base.v1beta1.ICoin|null|undefined} amount - * @memberof cosmos.bank.v1beta1.QuerySupplyOfResponse - * @instance - */ - QuerySupplyOfResponse.prototype.amount = null; - - /** - * Creates a new QuerySupplyOfResponse instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QuerySupplyOfResponse - * @static - * @param {cosmos.bank.v1beta1.IQuerySupplyOfResponse=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QuerySupplyOfResponse} QuerySupplyOfResponse instance - */ - QuerySupplyOfResponse.create = function create(properties) { - return new QuerySupplyOfResponse(properties); - }; - - /** - * Encodes the specified QuerySupplyOfResponse message. Does not implicitly {@link cosmos.bank.v1beta1.QuerySupplyOfResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QuerySupplyOfResponse - * @static - * @param {cosmos.bank.v1beta1.IQuerySupplyOfResponse} message QuerySupplyOfResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuerySupplyOfResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) - $root.cosmos.base.v1beta1.Coin.encode(message.amount, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QuerySupplyOfResponse message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QuerySupplyOfResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QuerySupplyOfResponse - * @static - * @param {cosmos.bank.v1beta1.IQuerySupplyOfResponse} message QuerySupplyOfResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuerySupplyOfResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QuerySupplyOfResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QuerySupplyOfResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QuerySupplyOfResponse} QuerySupplyOfResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuerySupplyOfResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QuerySupplyOfResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.amount = $root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QuerySupplyOfResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QuerySupplyOfResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QuerySupplyOfResponse} QuerySupplyOfResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuerySupplyOfResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QuerySupplyOfResponse message. - * @function verify - * @memberof cosmos.bank.v1beta1.QuerySupplyOfResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QuerySupplyOfResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.amount); - if (error) - return "amount." + error; - } - return null; - }; - - /** - * Creates a QuerySupplyOfResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QuerySupplyOfResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QuerySupplyOfResponse} QuerySupplyOfResponse - */ - QuerySupplyOfResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QuerySupplyOfResponse) - return object; - let message = new $root.cosmos.bank.v1beta1.QuerySupplyOfResponse(); - if (object.amount != null) { - if (typeof object.amount !== "object") - throw TypeError(".cosmos.bank.v1beta1.QuerySupplyOfResponse.amount: object expected"); - message.amount = $root.cosmos.base.v1beta1.Coin.fromObject(object.amount); - } - return message; - }; - - /** - * Creates a plain object from a QuerySupplyOfResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QuerySupplyOfResponse - * @static - * @param {cosmos.bank.v1beta1.QuerySupplyOfResponse} message QuerySupplyOfResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QuerySupplyOfResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.amount = null; - if (message.amount != null && message.hasOwnProperty("amount")) - object.amount = $root.cosmos.base.v1beta1.Coin.toObject(message.amount, options); - return object; - }; - - /** - * Converts this QuerySupplyOfResponse to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QuerySupplyOfResponse - * @instance - * @returns {Object.} JSON object - */ - QuerySupplyOfResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QuerySupplyOfResponse; - })(v1beta1.QuerySupplyOfResponse || {}); - - v1beta1.QueryParamsRequest = (function(QueryParamsRequest) { - - /** - * Properties of a QueryParamsRequest. - * @memberof cosmos.bank.v1beta1 - * @interface IQueryParamsRequest - */ - - /** - * Constructs a new QueryParamsRequest. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QueryParamsRequest. - * @implements IQueryParamsRequest - * @constructor - * @param {cosmos.bank.v1beta1.IQueryParamsRequest=} [properties] Properties to set - */ - function QueryParamsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryParamsRequest instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryParamsRequest=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QueryParamsRequest} QueryParamsRequest instance - */ - QueryParamsRequest.create = function create(properties) { - return new QueryParamsRequest(properties); - }; - - /** - * Encodes the specified QueryParamsRequest message. Does not implicitly {@link cosmos.bank.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryParamsRequest message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QueryParamsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsRequest message. - * @function verify - * @memberof cosmos.bank.v1beta1.QueryParamsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryParamsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QueryParamsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QueryParamsRequest} QueryParamsRequest - */ - QueryParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QueryParamsRequest) - return object; - return new $root.cosmos.bank.v1beta1.QueryParamsRequest(); - }; - - /** - * Creates a plain object from a QueryParamsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.bank.v1beta1.QueryParamsRequest} message QueryParamsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryParamsRequest to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QueryParamsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryParamsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsRequest; - })(v1beta1.QueryParamsRequest || {}); - - v1beta1.QueryParamsResponse = (function(QueryParamsResponse) { - - /** - * Properties of a QueryParamsResponse. - * @memberof cosmos.bank.v1beta1 - * @interface IQueryParamsResponse - * @property {cosmos.bank.v1beta1.IParams|null} [params] QueryParamsResponse params - */ - - /** - * Constructs a new QueryParamsResponse. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QueryParamsResponse. - * @implements IQueryParamsResponse - * @constructor - * @param {cosmos.bank.v1beta1.IQueryParamsResponse=} [properties] Properties to set - */ - function QueryParamsResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryParamsResponse params. - * @member {cosmos.bank.v1beta1.IParams|null|undefined} params - * @memberof cosmos.bank.v1beta1.QueryParamsResponse - * @instance - */ - QueryParamsResponse.prototype.params = null; - - /** - * Creates a new QueryParamsResponse instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryParamsResponse=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QueryParamsResponse} QueryParamsResponse instance - */ - QueryParamsResponse.create = function create(properties) { - return new QueryParamsResponse(properties); - }; - - /** - * Encodes the specified QueryParamsResponse message. Does not implicitly {@link cosmos.bank.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.cosmos.bank.v1beta1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryParamsResponse message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QueryParamsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.cosmos.bank.v1beta1.Params.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsResponse message. - * @function verify - * @memberof cosmos.bank.v1beta1.QueryParamsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.cosmos.bank.v1beta1.Params.verify(message.params); - if (error) - return "params." + error; - } - return null; - }; - - /** - * Creates a QueryParamsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QueryParamsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QueryParamsResponse} QueryParamsResponse - */ - QueryParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QueryParamsResponse) - return object; - let message = new $root.cosmos.bank.v1beta1.QueryParamsResponse(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".cosmos.bank.v1beta1.QueryParamsResponse.params: object expected"); - message.params = $root.cosmos.bank.v1beta1.Params.fromObject(object.params); - } - return message; - }; - - /** - * Creates a plain object from a QueryParamsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.bank.v1beta1.QueryParamsResponse} message QueryParamsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.params = null; - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.cosmos.bank.v1beta1.Params.toObject(message.params, options); - return object; - }; - - /** - * Converts this QueryParamsResponse to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QueryParamsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryParamsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsResponse; - })(v1beta1.QueryParamsResponse || {}); - - v1beta1.QueryDenomsMetadataRequest = (function(QueryDenomsMetadataRequest) { - - /** - * Properties of a QueryDenomsMetadataRequest. - * @memberof cosmos.bank.v1beta1 - * @interface IQueryDenomsMetadataRequest - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryDenomsMetadataRequest pagination - */ - - /** - * Constructs a new QueryDenomsMetadataRequest. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QueryDenomsMetadataRequest. - * @implements IQueryDenomsMetadataRequest - * @constructor - * @param {cosmos.bank.v1beta1.IQueryDenomsMetadataRequest=} [properties] Properties to set - */ - function QueryDenomsMetadataRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDenomsMetadataRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataRequest - * @instance - */ - QueryDenomsMetadataRequest.prototype.pagination = null; - - /** - * Creates a new QueryDenomsMetadataRequest instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryDenomsMetadataRequest=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QueryDenomsMetadataRequest} QueryDenomsMetadataRequest instance - */ - QueryDenomsMetadataRequest.create = function create(properties) { - return new QueryDenomsMetadataRequest(properties); - }; - - /** - * Encodes the specified QueryDenomsMetadataRequest message. Does not implicitly {@link cosmos.bank.v1beta1.QueryDenomsMetadataRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryDenomsMetadataRequest} message QueryDenomsMetadataRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomsMetadataRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDenomsMetadataRequest message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QueryDenomsMetadataRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryDenomsMetadataRequest} message QueryDenomsMetadataRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomsMetadataRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDenomsMetadataRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QueryDenomsMetadataRequest} QueryDenomsMetadataRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomsMetadataRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QueryDenomsMetadataRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDenomsMetadataRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QueryDenomsMetadataRequest} QueryDenomsMetadataRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomsMetadataRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDenomsMetadataRequest message. - * @function verify - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDenomsMetadataRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryDenomsMetadataRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QueryDenomsMetadataRequest} QueryDenomsMetadataRequest - */ - QueryDenomsMetadataRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QueryDenomsMetadataRequest) - return object; - let message = new $root.cosmos.bank.v1beta1.QueryDenomsMetadataRequest(); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.bank.v1beta1.QueryDenomsMetadataRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryDenomsMetadataRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataRequest - * @static - * @param {cosmos.bank.v1beta1.QueryDenomsMetadataRequest} message QueryDenomsMetadataRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDenomsMetadataRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.pagination = null; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryDenomsMetadataRequest to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDenomsMetadataRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDenomsMetadataRequest; - })(v1beta1.QueryDenomsMetadataRequest || {}); - - v1beta1.QueryDenomsMetadataResponse = (function(QueryDenomsMetadataResponse) { - - /** - * Properties of a QueryDenomsMetadataResponse. - * @memberof cosmos.bank.v1beta1 - * @interface IQueryDenomsMetadataResponse - * @property {Array.|null} [metadatas] QueryDenomsMetadataResponse metadatas - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryDenomsMetadataResponse pagination - */ - - /** - * Constructs a new QueryDenomsMetadataResponse. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QueryDenomsMetadataResponse. - * @implements IQueryDenomsMetadataResponse - * @constructor - * @param {cosmos.bank.v1beta1.IQueryDenomsMetadataResponse=} [properties] Properties to set - */ - function QueryDenomsMetadataResponse(properties) { - this.metadatas = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDenomsMetadataResponse metadatas. - * @member {Array.} metadatas - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataResponse - * @instance - */ - QueryDenomsMetadataResponse.prototype.metadatas = $util.emptyArray; - - /** - * QueryDenomsMetadataResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataResponse - * @instance - */ - QueryDenomsMetadataResponse.prototype.pagination = null; - - /** - * Creates a new QueryDenomsMetadataResponse instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryDenomsMetadataResponse=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QueryDenomsMetadataResponse} QueryDenomsMetadataResponse instance - */ - QueryDenomsMetadataResponse.create = function create(properties) { - return new QueryDenomsMetadataResponse(properties); - }; - - /** - * Encodes the specified QueryDenomsMetadataResponse message. Does not implicitly {@link cosmos.bank.v1beta1.QueryDenomsMetadataResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryDenomsMetadataResponse} message QueryDenomsMetadataResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomsMetadataResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.metadatas != null && message.metadatas.length) - for (let i = 0; i < message.metadatas.length; ++i) - $root.cosmos.bank.v1beta1.Metadata.encode(message.metadatas[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDenomsMetadataResponse message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QueryDenomsMetadataResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryDenomsMetadataResponse} message QueryDenomsMetadataResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomsMetadataResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDenomsMetadataResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QueryDenomsMetadataResponse} QueryDenomsMetadataResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomsMetadataResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QueryDenomsMetadataResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.metadatas && message.metadatas.length)) - message.metadatas = []; - message.metadatas.push($root.cosmos.bank.v1beta1.Metadata.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDenomsMetadataResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QueryDenomsMetadataResponse} QueryDenomsMetadataResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomsMetadataResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDenomsMetadataResponse message. - * @function verify - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDenomsMetadataResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.metadatas != null && message.hasOwnProperty("metadatas")) { - if (!Array.isArray(message.metadatas)) - return "metadatas: array expected"; - for (let i = 0; i < message.metadatas.length; ++i) { - let error = $root.cosmos.bank.v1beta1.Metadata.verify(message.metadatas[i]); - if (error) - return "metadatas." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryDenomsMetadataResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QueryDenomsMetadataResponse} QueryDenomsMetadataResponse - */ - QueryDenomsMetadataResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QueryDenomsMetadataResponse) - return object; - let message = new $root.cosmos.bank.v1beta1.QueryDenomsMetadataResponse(); - if (object.metadatas) { - if (!Array.isArray(object.metadatas)) - throw TypeError(".cosmos.bank.v1beta1.QueryDenomsMetadataResponse.metadatas: array expected"); - message.metadatas = []; - for (let i = 0; i < object.metadatas.length; ++i) { - if (typeof object.metadatas[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.QueryDenomsMetadataResponse.metadatas: object expected"); - message.metadatas[i] = $root.cosmos.bank.v1beta1.Metadata.fromObject(object.metadatas[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.bank.v1beta1.QueryDenomsMetadataResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryDenomsMetadataResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataResponse - * @static - * @param {cosmos.bank.v1beta1.QueryDenomsMetadataResponse} message QueryDenomsMetadataResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDenomsMetadataResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.metadatas = []; - if (options.defaults) - object.pagination = null; - if (message.metadatas && message.metadatas.length) { - object.metadatas = []; - for (let j = 0; j < message.metadatas.length; ++j) - object.metadatas[j] = $root.cosmos.bank.v1beta1.Metadata.toObject(message.metadatas[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryDenomsMetadataResponse to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QueryDenomsMetadataResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDenomsMetadataResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDenomsMetadataResponse; - })(v1beta1.QueryDenomsMetadataResponse || {}); - - v1beta1.QueryDenomMetadataRequest = (function(QueryDenomMetadataRequest) { - - /** - * Properties of a QueryDenomMetadataRequest. - * @memberof cosmos.bank.v1beta1 - * @interface IQueryDenomMetadataRequest - * @property {string|null} [denom] QueryDenomMetadataRequest denom - */ - - /** - * Constructs a new QueryDenomMetadataRequest. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QueryDenomMetadataRequest. - * @implements IQueryDenomMetadataRequest - * @constructor - * @param {cosmos.bank.v1beta1.IQueryDenomMetadataRequest=} [properties] Properties to set - */ - function QueryDenomMetadataRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDenomMetadataRequest denom. - * @member {string} denom - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataRequest - * @instance - */ - QueryDenomMetadataRequest.prototype.denom = ""; - - /** - * Creates a new QueryDenomMetadataRequest instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryDenomMetadataRequest=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QueryDenomMetadataRequest} QueryDenomMetadataRequest instance - */ - QueryDenomMetadataRequest.create = function create(properties) { - return new QueryDenomMetadataRequest(properties); - }; - - /** - * Encodes the specified QueryDenomMetadataRequest message. Does not implicitly {@link cosmos.bank.v1beta1.QueryDenomMetadataRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryDenomMetadataRequest} message QueryDenomMetadataRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomMetadataRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.denom != null && Object.hasOwnProperty.call(message, "denom")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.denom); - return writer; - }; - - /** - * Encodes the specified QueryDenomMetadataRequest message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QueryDenomMetadataRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataRequest - * @static - * @param {cosmos.bank.v1beta1.IQueryDenomMetadataRequest} message QueryDenomMetadataRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomMetadataRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDenomMetadataRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QueryDenomMetadataRequest} QueryDenomMetadataRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomMetadataRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QueryDenomMetadataRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.denom = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDenomMetadataRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QueryDenomMetadataRequest} QueryDenomMetadataRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomMetadataRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDenomMetadataRequest message. - * @function verify - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDenomMetadataRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.denom != null && message.hasOwnProperty("denom")) - if (!$util.isString(message.denom)) - return "denom: string expected"; - return null; - }; - - /** - * Creates a QueryDenomMetadataRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QueryDenomMetadataRequest} QueryDenomMetadataRequest - */ - QueryDenomMetadataRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QueryDenomMetadataRequest) - return object; - let message = new $root.cosmos.bank.v1beta1.QueryDenomMetadataRequest(); - if (object.denom != null) - message.denom = String(object.denom); - return message; - }; - - /** - * Creates a plain object from a QueryDenomMetadataRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataRequest - * @static - * @param {cosmos.bank.v1beta1.QueryDenomMetadataRequest} message QueryDenomMetadataRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDenomMetadataRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.denom = ""; - if (message.denom != null && message.hasOwnProperty("denom")) - object.denom = message.denom; - return object; - }; - - /** - * Converts this QueryDenomMetadataRequest to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDenomMetadataRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDenomMetadataRequest; - })(v1beta1.QueryDenomMetadataRequest || {}); - - v1beta1.QueryDenomMetadataResponse = (function(QueryDenomMetadataResponse) { - - /** - * Properties of a QueryDenomMetadataResponse. - * @memberof cosmos.bank.v1beta1 - * @interface IQueryDenomMetadataResponse - * @property {cosmos.bank.v1beta1.IMetadata|null} [metadata] QueryDenomMetadataResponse metadata - */ - - /** - * Constructs a new QueryDenomMetadataResponse. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a QueryDenomMetadataResponse. - * @implements IQueryDenomMetadataResponse - * @constructor - * @param {cosmos.bank.v1beta1.IQueryDenomMetadataResponse=} [properties] Properties to set - */ - function QueryDenomMetadataResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDenomMetadataResponse metadata. - * @member {cosmos.bank.v1beta1.IMetadata|null|undefined} metadata - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataResponse - * @instance - */ - QueryDenomMetadataResponse.prototype.metadata = null; - - /** - * Creates a new QueryDenomMetadataResponse instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryDenomMetadataResponse=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.QueryDenomMetadataResponse} QueryDenomMetadataResponse instance - */ - QueryDenomMetadataResponse.create = function create(properties) { - return new QueryDenomMetadataResponse(properties); - }; - - /** - * Encodes the specified QueryDenomMetadataResponse message. Does not implicitly {@link cosmos.bank.v1beta1.QueryDenomMetadataResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryDenomMetadataResponse} message QueryDenomMetadataResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomMetadataResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.cosmos.bank.v1beta1.Metadata.encode(message.metadata, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDenomMetadataResponse message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.QueryDenomMetadataResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataResponse - * @static - * @param {cosmos.bank.v1beta1.IQueryDenomMetadataResponse} message QueryDenomMetadataResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomMetadataResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDenomMetadataResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.QueryDenomMetadataResponse} QueryDenomMetadataResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomMetadataResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.QueryDenomMetadataResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.metadata = $root.cosmos.bank.v1beta1.Metadata.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDenomMetadataResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.QueryDenomMetadataResponse} QueryDenomMetadataResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomMetadataResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDenomMetadataResponse message. - * @function verify - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDenomMetadataResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.metadata != null && message.hasOwnProperty("metadata")) { - let error = $root.cosmos.bank.v1beta1.Metadata.verify(message.metadata); - if (error) - return "metadata." + error; - } - return null; - }; - - /** - * Creates a QueryDenomMetadataResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.QueryDenomMetadataResponse} QueryDenomMetadataResponse - */ - QueryDenomMetadataResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.QueryDenomMetadataResponse) - return object; - let message = new $root.cosmos.bank.v1beta1.QueryDenomMetadataResponse(); - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".cosmos.bank.v1beta1.QueryDenomMetadataResponse.metadata: object expected"); - message.metadata = $root.cosmos.bank.v1beta1.Metadata.fromObject(object.metadata); - } - return message; - }; - - /** - * Creates a plain object from a QueryDenomMetadataResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataResponse - * @static - * @param {cosmos.bank.v1beta1.QueryDenomMetadataResponse} message QueryDenomMetadataResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDenomMetadataResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.metadata = null; - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.cosmos.bank.v1beta1.Metadata.toObject(message.metadata, options); - return object; - }; - - /** - * Converts this QueryDenomMetadataResponse to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.QueryDenomMetadataResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDenomMetadataResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDenomMetadataResponse; - })(v1beta1.QueryDenomMetadataResponse || {}); - - v1beta1.Msg = (function(Msg) { - - /** - * Constructs a new Msg service. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a Msg - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Msg(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Msg.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Msg; - - /** - * Creates new Msg service using the specified rpc implementation. - * @function create - * @memberof cosmos.bank.v1beta1.Msg - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Msg} RPC service. Useful where requests and/or responses are streamed. - */ - Msg.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.bank.v1beta1.Msg#send}. - * @memberof cosmos.bank.v1beta1.Msg - * @typedef SendCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.bank.v1beta1.IMsgSendResponse} [response] MsgSendResponse - */ - - /** - * Calls Send. - * @function send - * @memberof cosmos.bank.v1beta1.Msg - * @instance - * @param {cosmos.bank.v1beta1.IMsgSend} request MsgSend message or plain object - * @param {cosmos.bank.v1beta1.Msg.SendCallback} callback Node-style callback called with the error, if any, and MsgSendResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.send = function send(request, callback) { - return this.rpcCall(send, $root.cosmos.bank.v1beta1.MsgSend, $root.cosmos.bank.v1beta1.MsgSendResponse, request, callback); - }, "name", { value: "Send" }); - - /** - * Calls Send. - * @function send - * @memberof cosmos.bank.v1beta1.Msg - * @instance - * @param {cosmos.bank.v1beta1.IMsgSend} request MsgSend message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.bank.v1beta1.Msg#multiSend}. - * @memberof cosmos.bank.v1beta1.Msg - * @typedef MultiSendCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.bank.v1beta1.IMsgMultiSendResponse} [response] MsgMultiSendResponse - */ - - /** - * Calls MultiSend. - * @function multiSend - * @memberof cosmos.bank.v1beta1.Msg - * @instance - * @param {cosmos.bank.v1beta1.IMsgMultiSend} request MsgMultiSend message or plain object - * @param {cosmos.bank.v1beta1.Msg.MultiSendCallback} callback Node-style callback called with the error, if any, and MsgMultiSendResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.multiSend = function multiSend(request, callback) { - return this.rpcCall(multiSend, $root.cosmos.bank.v1beta1.MsgMultiSend, $root.cosmos.bank.v1beta1.MsgMultiSendResponse, request, callback); - }, "name", { value: "MultiSend" }); - - /** - * Calls MultiSend. - * @function multiSend - * @memberof cosmos.bank.v1beta1.Msg - * @instance - * @param {cosmos.bank.v1beta1.IMsgMultiSend} request MsgMultiSend message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Msg; - })(v1beta1.Msg || {}); - - v1beta1.MsgSend = (function(MsgSend) { - - /** - * Properties of a MsgSend. - * @memberof cosmos.bank.v1beta1 - * @interface IMsgSend - * @property {string|null} [fromAddress] MsgSend fromAddress - * @property {string|null} [toAddress] MsgSend toAddress - * @property {Array.|null} [amount] MsgSend amount - */ - - /** - * Constructs a new MsgSend. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a MsgSend. - * @implements IMsgSend - * @constructor - * @param {cosmos.bank.v1beta1.IMsgSend=} [properties] Properties to set - */ - function MsgSend(properties) { - this.amount = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgSend fromAddress. - * @member {string} fromAddress - * @memberof cosmos.bank.v1beta1.MsgSend - * @instance - */ - MsgSend.prototype.fromAddress = ""; - - /** - * MsgSend toAddress. - * @member {string} toAddress - * @memberof cosmos.bank.v1beta1.MsgSend - * @instance - */ - MsgSend.prototype.toAddress = ""; - - /** - * MsgSend amount. - * @member {Array.} amount - * @memberof cosmos.bank.v1beta1.MsgSend - * @instance - */ - MsgSend.prototype.amount = $util.emptyArray; - - /** - * Creates a new MsgSend instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.MsgSend - * @static - * @param {cosmos.bank.v1beta1.IMsgSend=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.MsgSend} MsgSend instance - */ - MsgSend.create = function create(properties) { - return new MsgSend(properties); - }; - - /** - * Encodes the specified MsgSend message. Does not implicitly {@link cosmos.bank.v1beta1.MsgSend.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.MsgSend - * @static - * @param {cosmos.bank.v1beta1.IMsgSend} message MsgSend message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSend.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.fromAddress != null && Object.hasOwnProperty.call(message, "fromAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.fromAddress); - if (message.toAddress != null && Object.hasOwnProperty.call(message, "toAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.toAddress); - if (message.amount != null && message.amount.length) - for (let i = 0; i < message.amount.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.amount[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MsgSend message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.MsgSend.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.MsgSend - * @static - * @param {cosmos.bank.v1beta1.IMsgSend} message MsgSend message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSend.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgSend message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.MsgSend - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.MsgSend} MsgSend - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSend.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.MsgSend(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.fromAddress = reader.string(); - break; - case 2: - message.toAddress = reader.string(); - break; - case 3: - if (!(message.amount && message.amount.length)) - message.amount = []; - message.amount.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgSend message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.MsgSend - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.MsgSend} MsgSend - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSend.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgSend message. - * @function verify - * @memberof cosmos.bank.v1beta1.MsgSend - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgSend.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.fromAddress != null && message.hasOwnProperty("fromAddress")) - if (!$util.isString(message.fromAddress)) - return "fromAddress: string expected"; - if (message.toAddress != null && message.hasOwnProperty("toAddress")) - if (!$util.isString(message.toAddress)) - return "toAddress: string expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - if (!Array.isArray(message.amount)) - return "amount: array expected"; - for (let i = 0; i < message.amount.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.amount[i]); - if (error) - return "amount." + error; - } - } - return null; - }; - - /** - * Creates a MsgSend message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.MsgSend - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.MsgSend} MsgSend - */ - MsgSend.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.MsgSend) - return object; - let message = new $root.cosmos.bank.v1beta1.MsgSend(); - if (object.fromAddress != null) - message.fromAddress = String(object.fromAddress); - if (object.toAddress != null) - message.toAddress = String(object.toAddress); - if (object.amount) { - if (!Array.isArray(object.amount)) - throw TypeError(".cosmos.bank.v1beta1.MsgSend.amount: array expected"); - message.amount = []; - for (let i = 0; i < object.amount.length; ++i) { - if (typeof object.amount[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.MsgSend.amount: object expected"); - message.amount[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.amount[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a MsgSend message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.MsgSend - * @static - * @param {cosmos.bank.v1beta1.MsgSend} message MsgSend - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgSend.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.amount = []; - if (options.defaults) { - object.fromAddress = ""; - object.toAddress = ""; - } - if (message.fromAddress != null && message.hasOwnProperty("fromAddress")) - object.fromAddress = message.fromAddress; - if (message.toAddress != null && message.hasOwnProperty("toAddress")) - object.toAddress = message.toAddress; - if (message.amount && message.amount.length) { - object.amount = []; - for (let j = 0; j < message.amount.length; ++j) - object.amount[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.amount[j], options); - } - return object; - }; - - /** - * Converts this MsgSend to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.MsgSend - * @instance - * @returns {Object.} JSON object - */ - MsgSend.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgSend; - })(v1beta1.MsgSend || {}); - - v1beta1.MsgSendResponse = (function(MsgSendResponse) { - - /** - * Properties of a MsgSendResponse. - * @memberof cosmos.bank.v1beta1 - * @interface IMsgSendResponse - */ - - /** - * Constructs a new MsgSendResponse. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a MsgSendResponse. - * @implements IMsgSendResponse - * @constructor - * @param {cosmos.bank.v1beta1.IMsgSendResponse=} [properties] Properties to set - */ - function MsgSendResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgSendResponse instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.MsgSendResponse - * @static - * @param {cosmos.bank.v1beta1.IMsgSendResponse=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.MsgSendResponse} MsgSendResponse instance - */ - MsgSendResponse.create = function create(properties) { - return new MsgSendResponse(properties); - }; - - /** - * Encodes the specified MsgSendResponse message. Does not implicitly {@link cosmos.bank.v1beta1.MsgSendResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.MsgSendResponse - * @static - * @param {cosmos.bank.v1beta1.IMsgSendResponse} message MsgSendResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSendResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgSendResponse message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.MsgSendResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.MsgSendResponse - * @static - * @param {cosmos.bank.v1beta1.IMsgSendResponse} message MsgSendResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSendResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgSendResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.MsgSendResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.MsgSendResponse} MsgSendResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSendResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.MsgSendResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgSendResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.MsgSendResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.MsgSendResponse} MsgSendResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSendResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgSendResponse message. - * @function verify - * @memberof cosmos.bank.v1beta1.MsgSendResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgSendResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgSendResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.MsgSendResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.MsgSendResponse} MsgSendResponse - */ - MsgSendResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.MsgSendResponse) - return object; - return new $root.cosmos.bank.v1beta1.MsgSendResponse(); - }; - - /** - * Creates a plain object from a MsgSendResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.MsgSendResponse - * @static - * @param {cosmos.bank.v1beta1.MsgSendResponse} message MsgSendResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgSendResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgSendResponse to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.MsgSendResponse - * @instance - * @returns {Object.} JSON object - */ - MsgSendResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgSendResponse; - })(v1beta1.MsgSendResponse || {}); - - v1beta1.MsgMultiSend = (function(MsgMultiSend) { - - /** - * Properties of a MsgMultiSend. - * @memberof cosmos.bank.v1beta1 - * @interface IMsgMultiSend - * @property {Array.|null} [inputs] MsgMultiSend inputs - * @property {Array.|null} [outputs] MsgMultiSend outputs - */ - - /** - * Constructs a new MsgMultiSend. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a MsgMultiSend. - * @implements IMsgMultiSend - * @constructor - * @param {cosmos.bank.v1beta1.IMsgMultiSend=} [properties] Properties to set - */ - function MsgMultiSend(properties) { - this.inputs = []; - this.outputs = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgMultiSend inputs. - * @member {Array.} inputs - * @memberof cosmos.bank.v1beta1.MsgMultiSend - * @instance - */ - MsgMultiSend.prototype.inputs = $util.emptyArray; - - /** - * MsgMultiSend outputs. - * @member {Array.} outputs - * @memberof cosmos.bank.v1beta1.MsgMultiSend - * @instance - */ - MsgMultiSend.prototype.outputs = $util.emptyArray; - - /** - * Creates a new MsgMultiSend instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.MsgMultiSend - * @static - * @param {cosmos.bank.v1beta1.IMsgMultiSend=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.MsgMultiSend} MsgMultiSend instance - */ - MsgMultiSend.create = function create(properties) { - return new MsgMultiSend(properties); - }; - - /** - * Encodes the specified MsgMultiSend message. Does not implicitly {@link cosmos.bank.v1beta1.MsgMultiSend.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.MsgMultiSend - * @static - * @param {cosmos.bank.v1beta1.IMsgMultiSend} message MsgMultiSend message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgMultiSend.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.inputs != null && message.inputs.length) - for (let i = 0; i < message.inputs.length; ++i) - $root.cosmos.bank.v1beta1.Input.encode(message.inputs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.outputs != null && message.outputs.length) - for (let i = 0; i < message.outputs.length; ++i) - $root.cosmos.bank.v1beta1.Output.encode(message.outputs[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MsgMultiSend message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.MsgMultiSend.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.MsgMultiSend - * @static - * @param {cosmos.bank.v1beta1.IMsgMultiSend} message MsgMultiSend message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgMultiSend.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgMultiSend message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.MsgMultiSend - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.MsgMultiSend} MsgMultiSend - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgMultiSend.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.MsgMultiSend(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.inputs && message.inputs.length)) - message.inputs = []; - message.inputs.push($root.cosmos.bank.v1beta1.Input.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.outputs && message.outputs.length)) - message.outputs = []; - message.outputs.push($root.cosmos.bank.v1beta1.Output.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgMultiSend message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.MsgMultiSend - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.MsgMultiSend} MsgMultiSend - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgMultiSend.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgMultiSend message. - * @function verify - * @memberof cosmos.bank.v1beta1.MsgMultiSend - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgMultiSend.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.inputs != null && message.hasOwnProperty("inputs")) { - if (!Array.isArray(message.inputs)) - return "inputs: array expected"; - for (let i = 0; i < message.inputs.length; ++i) { - let error = $root.cosmos.bank.v1beta1.Input.verify(message.inputs[i]); - if (error) - return "inputs." + error; - } - } - if (message.outputs != null && message.hasOwnProperty("outputs")) { - if (!Array.isArray(message.outputs)) - return "outputs: array expected"; - for (let i = 0; i < message.outputs.length; ++i) { - let error = $root.cosmos.bank.v1beta1.Output.verify(message.outputs[i]); - if (error) - return "outputs." + error; - } - } - return null; - }; - - /** - * Creates a MsgMultiSend message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.MsgMultiSend - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.MsgMultiSend} MsgMultiSend - */ - MsgMultiSend.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.MsgMultiSend) - return object; - let message = new $root.cosmos.bank.v1beta1.MsgMultiSend(); - if (object.inputs) { - if (!Array.isArray(object.inputs)) - throw TypeError(".cosmos.bank.v1beta1.MsgMultiSend.inputs: array expected"); - message.inputs = []; - for (let i = 0; i < object.inputs.length; ++i) { - if (typeof object.inputs[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.MsgMultiSend.inputs: object expected"); - message.inputs[i] = $root.cosmos.bank.v1beta1.Input.fromObject(object.inputs[i]); - } - } - if (object.outputs) { - if (!Array.isArray(object.outputs)) - throw TypeError(".cosmos.bank.v1beta1.MsgMultiSend.outputs: array expected"); - message.outputs = []; - for (let i = 0; i < object.outputs.length; ++i) { - if (typeof object.outputs[i] !== "object") - throw TypeError(".cosmos.bank.v1beta1.MsgMultiSend.outputs: object expected"); - message.outputs[i] = $root.cosmos.bank.v1beta1.Output.fromObject(object.outputs[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a MsgMultiSend message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.MsgMultiSend - * @static - * @param {cosmos.bank.v1beta1.MsgMultiSend} message MsgMultiSend - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgMultiSend.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.inputs = []; - object.outputs = []; - } - if (message.inputs && message.inputs.length) { - object.inputs = []; - for (let j = 0; j < message.inputs.length; ++j) - object.inputs[j] = $root.cosmos.bank.v1beta1.Input.toObject(message.inputs[j], options); - } - if (message.outputs && message.outputs.length) { - object.outputs = []; - for (let j = 0; j < message.outputs.length; ++j) - object.outputs[j] = $root.cosmos.bank.v1beta1.Output.toObject(message.outputs[j], options); - } - return object; - }; - - /** - * Converts this MsgMultiSend to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.MsgMultiSend - * @instance - * @returns {Object.} JSON object - */ - MsgMultiSend.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgMultiSend; - })(v1beta1.MsgMultiSend || {}); - - v1beta1.MsgMultiSendResponse = (function(MsgMultiSendResponse) { - - /** - * Properties of a MsgMultiSendResponse. - * @memberof cosmos.bank.v1beta1 - * @interface IMsgMultiSendResponse - */ - - /** - * Constructs a new MsgMultiSendResponse. - * @memberof cosmos.bank.v1beta1 - * @classdesc Represents a MsgMultiSendResponse. - * @implements IMsgMultiSendResponse - * @constructor - * @param {cosmos.bank.v1beta1.IMsgMultiSendResponse=} [properties] Properties to set - */ - function MsgMultiSendResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgMultiSendResponse instance using the specified properties. - * @function create - * @memberof cosmos.bank.v1beta1.MsgMultiSendResponse - * @static - * @param {cosmos.bank.v1beta1.IMsgMultiSendResponse=} [properties] Properties to set - * @returns {cosmos.bank.v1beta1.MsgMultiSendResponse} MsgMultiSendResponse instance - */ - MsgMultiSendResponse.create = function create(properties) { - return new MsgMultiSendResponse(properties); - }; - - /** - * Encodes the specified MsgMultiSendResponse message. Does not implicitly {@link cosmos.bank.v1beta1.MsgMultiSendResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.bank.v1beta1.MsgMultiSendResponse - * @static - * @param {cosmos.bank.v1beta1.IMsgMultiSendResponse} message MsgMultiSendResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgMultiSendResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgMultiSendResponse message, length delimited. Does not implicitly {@link cosmos.bank.v1beta1.MsgMultiSendResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.bank.v1beta1.MsgMultiSendResponse - * @static - * @param {cosmos.bank.v1beta1.IMsgMultiSendResponse} message MsgMultiSendResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgMultiSendResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgMultiSendResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.bank.v1beta1.MsgMultiSendResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.bank.v1beta1.MsgMultiSendResponse} MsgMultiSendResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgMultiSendResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.bank.v1beta1.MsgMultiSendResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgMultiSendResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.bank.v1beta1.MsgMultiSendResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.bank.v1beta1.MsgMultiSendResponse} MsgMultiSendResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgMultiSendResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgMultiSendResponse message. - * @function verify - * @memberof cosmos.bank.v1beta1.MsgMultiSendResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgMultiSendResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgMultiSendResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.bank.v1beta1.MsgMultiSendResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.bank.v1beta1.MsgMultiSendResponse} MsgMultiSendResponse - */ - MsgMultiSendResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.bank.v1beta1.MsgMultiSendResponse) - return object; - return new $root.cosmos.bank.v1beta1.MsgMultiSendResponse(); - }; - - /** - * Creates a plain object from a MsgMultiSendResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.bank.v1beta1.MsgMultiSendResponse - * @static - * @param {cosmos.bank.v1beta1.MsgMultiSendResponse} message MsgMultiSendResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgMultiSendResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgMultiSendResponse to JSON. - * @function toJSON - * @memberof cosmos.bank.v1beta1.MsgMultiSendResponse - * @instance - * @returns {Object.} JSON object - */ - MsgMultiSendResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgMultiSendResponse; - })(v1beta1.MsgMultiSendResponse || {}); - - return v1beta1; - })(bank.v1beta1 || {}); - - return bank; - })(cosmos.bank || {}); - - /** - * Namespace base. - * @memberof cosmos - * @namespace - */ - - cosmos.base = (function(base) { - - /** - * Namespace abci. - * @memberof cosmos.base - * @namespace - */ - - base.abci = (function(abci) { - - /** - * Namespace v1beta1. - * @memberof cosmos.base.abci - * @namespace - */ - - abci.v1beta1 = (function(v1beta1) { - - v1beta1.TxResponse = (function(TxResponse) { - - /** - * Properties of a TxResponse. - * @memberof cosmos.base.abci.v1beta1 - * @interface ITxResponse - * @property {number|Long|null} [height] TxResponse height - * @property {string|null} [txhash] TxResponse txhash - * @property {string|null} [codespace] TxResponse codespace - * @property {number|null} [code] TxResponse code - * @property {string|null} [data] TxResponse data - * @property {string|null} [rawLog] TxResponse rawLog - * @property {Array.|null} [logs] TxResponse logs - * @property {string|null} [info] TxResponse info - * @property {number|Long|null} [gasWanted] TxResponse gasWanted - * @property {number|Long|null} [gasUsed] TxResponse gasUsed - * @property {google.protobuf.IAny|null} [tx] TxResponse tx - * @property {string|null} [timestamp] TxResponse timestamp - */ - - /** - * Constructs a new TxResponse. - * @memberof cosmos.base.abci.v1beta1 - * @classdesc Represents a TxResponse. - * @implements ITxResponse - * @constructor - * @param {cosmos.base.abci.v1beta1.ITxResponse=} [properties] Properties to set - */ - function TxResponse(properties) { - this.logs = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * TxResponse height. - * @member {number|Long} height - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - */ - TxResponse.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * TxResponse txhash. - * @member {string} txhash - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - */ - TxResponse.prototype.txhash = ""; - - /** - * TxResponse codespace. - * @member {string} codespace - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - */ - TxResponse.prototype.codespace = ""; - - /** - * TxResponse code. - * @member {number} code - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - */ - TxResponse.prototype.code = 0; - - /** - * TxResponse data. - * @member {string} data - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - */ - TxResponse.prototype.data = ""; - - /** - * TxResponse rawLog. - * @member {string} rawLog - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - */ - TxResponse.prototype.rawLog = ""; - - /** - * TxResponse logs. - * @member {Array.} logs - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - */ - TxResponse.prototype.logs = $util.emptyArray; - - /** - * TxResponse info. - * @member {string} info - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - */ - TxResponse.prototype.info = ""; - - /** - * TxResponse gasWanted. - * @member {number|Long} gasWanted - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - */ - TxResponse.prototype.gasWanted = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * TxResponse gasUsed. - * @member {number|Long} gasUsed - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - */ - TxResponse.prototype.gasUsed = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * TxResponse tx. - * @member {google.protobuf.IAny|null|undefined} tx - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - */ - TxResponse.prototype.tx = null; - - /** - * TxResponse timestamp. - * @member {string} timestamp - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - */ - TxResponse.prototype.timestamp = ""; - - /** - * Creates a new TxResponse instance using the specified properties. - * @function create - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @static - * @param {cosmos.base.abci.v1beta1.ITxResponse=} [properties] Properties to set - * @returns {cosmos.base.abci.v1beta1.TxResponse} TxResponse instance - */ - TxResponse.create = function create(properties) { - return new TxResponse(properties); - }; - - /** - * Encodes the specified TxResponse message. Does not implicitly {@link cosmos.base.abci.v1beta1.TxResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @static - * @param {cosmos.base.abci.v1beta1.ITxResponse} message TxResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TxResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); - if (message.txhash != null && Object.hasOwnProperty.call(message, "txhash")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.txhash); - if (message.codespace != null && Object.hasOwnProperty.call(message, "codespace")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.codespace); - if (message.code != null && Object.hasOwnProperty.call(message, "code")) - writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.code); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.data); - if (message.rawLog != null && Object.hasOwnProperty.call(message, "rawLog")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.rawLog); - if (message.logs != null && message.logs.length) - for (let i = 0; i < message.logs.length; ++i) - $root.cosmos.base.abci.v1beta1.ABCIMessageLog.encode(message.logs[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.info != null && Object.hasOwnProperty.call(message, "info")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.info); - if (message.gasWanted != null && Object.hasOwnProperty.call(message, "gasWanted")) - writer.uint32(/* id 9, wireType 0 =*/72).int64(message.gasWanted); - if (message.gasUsed != null && Object.hasOwnProperty.call(message, "gasUsed")) - writer.uint32(/* id 10, wireType 0 =*/80).int64(message.gasUsed); - if (message.tx != null && Object.hasOwnProperty.call(message, "tx")) - $root.google.protobuf.Any.encode(message.tx, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) - writer.uint32(/* id 12, wireType 2 =*/98).string(message.timestamp); - return writer; - }; - - /** - * Encodes the specified TxResponse message, length delimited. Does not implicitly {@link cosmos.base.abci.v1beta1.TxResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @static - * @param {cosmos.base.abci.v1beta1.ITxResponse} message TxResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TxResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TxResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.abci.v1beta1.TxResponse} TxResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TxResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.abci.v1beta1.TxResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.int64(); - break; - case 2: - message.txhash = reader.string(); - break; - case 3: - message.codespace = reader.string(); - break; - case 4: - message.code = reader.uint32(); - break; - case 5: - message.data = reader.string(); - break; - case 6: - message.rawLog = reader.string(); - break; - case 7: - if (!(message.logs && message.logs.length)) - message.logs = []; - message.logs.push($root.cosmos.base.abci.v1beta1.ABCIMessageLog.decode(reader, reader.uint32())); - break; - case 8: - message.info = reader.string(); - break; - case 9: - message.gasWanted = reader.int64(); - break; - case 10: - message.gasUsed = reader.int64(); - break; - case 11: - message.tx = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 12: - message.timestamp = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TxResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.abci.v1beta1.TxResponse} TxResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TxResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TxResponse message. - * @function verify - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TxResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.txhash != null && message.hasOwnProperty("txhash")) - if (!$util.isString(message.txhash)) - return "txhash: string expected"; - if (message.codespace != null && message.hasOwnProperty("codespace")) - if (!$util.isString(message.codespace)) - return "codespace: string expected"; - if (message.code != null && message.hasOwnProperty("code")) - if (!$util.isInteger(message.code)) - return "code: integer expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!$util.isString(message.data)) - return "data: string expected"; - if (message.rawLog != null && message.hasOwnProperty("rawLog")) - if (!$util.isString(message.rawLog)) - return "rawLog: string expected"; - if (message.logs != null && message.hasOwnProperty("logs")) { - if (!Array.isArray(message.logs)) - return "logs: array expected"; - for (let i = 0; i < message.logs.length; ++i) { - let error = $root.cosmos.base.abci.v1beta1.ABCIMessageLog.verify(message.logs[i]); - if (error) - return "logs." + error; - } - } - if (message.info != null && message.hasOwnProperty("info")) - if (!$util.isString(message.info)) - return "info: string expected"; - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - if (!$util.isInteger(message.gasWanted) && !(message.gasWanted && $util.isInteger(message.gasWanted.low) && $util.isInteger(message.gasWanted.high))) - return "gasWanted: integer|Long expected"; - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - if (!$util.isInteger(message.gasUsed) && !(message.gasUsed && $util.isInteger(message.gasUsed.low) && $util.isInteger(message.gasUsed.high))) - return "gasUsed: integer|Long expected"; - if (message.tx != null && message.hasOwnProperty("tx")) { - let error = $root.google.protobuf.Any.verify(message.tx); - if (error) - return "tx." + error; - } - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - if (!$util.isString(message.timestamp)) - return "timestamp: string expected"; - return null; - }; - - /** - * Creates a TxResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.abci.v1beta1.TxResponse} TxResponse - */ - TxResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.abci.v1beta1.TxResponse) - return object; - let message = new $root.cosmos.base.abci.v1beta1.TxResponse(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.txhash != null) - message.txhash = String(object.txhash); - if (object.codespace != null) - message.codespace = String(object.codespace); - if (object.code != null) - message.code = object.code >>> 0; - if (object.data != null) - message.data = String(object.data); - if (object.rawLog != null) - message.rawLog = String(object.rawLog); - if (object.logs) { - if (!Array.isArray(object.logs)) - throw TypeError(".cosmos.base.abci.v1beta1.TxResponse.logs: array expected"); - message.logs = []; - for (let i = 0; i < object.logs.length; ++i) { - if (typeof object.logs[i] !== "object") - throw TypeError(".cosmos.base.abci.v1beta1.TxResponse.logs: object expected"); - message.logs[i] = $root.cosmos.base.abci.v1beta1.ABCIMessageLog.fromObject(object.logs[i]); - } - } - if (object.info != null) - message.info = String(object.info); - if (object.gasWanted != null) - if ($util.Long) - (message.gasWanted = $util.Long.fromValue(object.gasWanted)).unsigned = false; - else if (typeof object.gasWanted === "string") - message.gasWanted = parseInt(object.gasWanted, 10); - else if (typeof object.gasWanted === "number") - message.gasWanted = object.gasWanted; - else if (typeof object.gasWanted === "object") - message.gasWanted = new $util.LongBits(object.gasWanted.low >>> 0, object.gasWanted.high >>> 0).toNumber(); - if (object.gasUsed != null) - if ($util.Long) - (message.gasUsed = $util.Long.fromValue(object.gasUsed)).unsigned = false; - else if (typeof object.gasUsed === "string") - message.gasUsed = parseInt(object.gasUsed, 10); - else if (typeof object.gasUsed === "number") - message.gasUsed = object.gasUsed; - else if (typeof object.gasUsed === "object") - message.gasUsed = new $util.LongBits(object.gasUsed.low >>> 0, object.gasUsed.high >>> 0).toNumber(); - if (object.tx != null) { - if (typeof object.tx !== "object") - throw TypeError(".cosmos.base.abci.v1beta1.TxResponse.tx: object expected"); - message.tx = $root.google.protobuf.Any.fromObject(object.tx); - } - if (object.timestamp != null) - message.timestamp = String(object.timestamp); - return message; - }; - - /** - * Creates a plain object from a TxResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @static - * @param {cosmos.base.abci.v1beta1.TxResponse} message TxResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TxResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.logs = []; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.txhash = ""; - object.codespace = ""; - object.code = 0; - object.data = ""; - object.rawLog = ""; - object.info = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.gasWanted = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasWanted = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.gasUsed = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasUsed = options.longs === String ? "0" : 0; - object.tx = null; - object.timestamp = ""; - } - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.txhash != null && message.hasOwnProperty("txhash")) - object.txhash = message.txhash; - if (message.codespace != null && message.hasOwnProperty("codespace")) - object.codespace = message.codespace; - if (message.code != null && message.hasOwnProperty("code")) - object.code = message.code; - if (message.data != null && message.hasOwnProperty("data")) - object.data = message.data; - if (message.rawLog != null && message.hasOwnProperty("rawLog")) - object.rawLog = message.rawLog; - if (message.logs && message.logs.length) { - object.logs = []; - for (let j = 0; j < message.logs.length; ++j) - object.logs[j] = $root.cosmos.base.abci.v1beta1.ABCIMessageLog.toObject(message.logs[j], options); - } - if (message.info != null && message.hasOwnProperty("info")) - object.info = message.info; - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - if (typeof message.gasWanted === "number") - object.gasWanted = options.longs === String ? String(message.gasWanted) : message.gasWanted; - else - object.gasWanted = options.longs === String ? $util.Long.prototype.toString.call(message.gasWanted) : options.longs === Number ? new $util.LongBits(message.gasWanted.low >>> 0, message.gasWanted.high >>> 0).toNumber() : message.gasWanted; - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - if (typeof message.gasUsed === "number") - object.gasUsed = options.longs === String ? String(message.gasUsed) : message.gasUsed; - else - object.gasUsed = options.longs === String ? $util.Long.prototype.toString.call(message.gasUsed) : options.longs === Number ? new $util.LongBits(message.gasUsed.low >>> 0, message.gasUsed.high >>> 0).toNumber() : message.gasUsed; - if (message.tx != null && message.hasOwnProperty("tx")) - object.tx = $root.google.protobuf.Any.toObject(message.tx, options); - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - object.timestamp = message.timestamp; - return object; - }; - - /** - * Converts this TxResponse to JSON. - * @function toJSON - * @memberof cosmos.base.abci.v1beta1.TxResponse - * @instance - * @returns {Object.} JSON object - */ - TxResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return TxResponse; - })(v1beta1.TxResponse || {}); - - v1beta1.ABCIMessageLog = (function(ABCIMessageLog) { - - /** - * Properties of a ABCIMessageLog. - * @memberof cosmos.base.abci.v1beta1 - * @interface IABCIMessageLog - * @property {number|null} [msgIndex] ABCIMessageLog msgIndex - * @property {string|null} [log] ABCIMessageLog log - * @property {Array.|null} [events] ABCIMessageLog events - */ - - /** - * Constructs a new ABCIMessageLog. - * @memberof cosmos.base.abci.v1beta1 - * @classdesc Represents a ABCIMessageLog. - * @implements IABCIMessageLog - * @constructor - * @param {cosmos.base.abci.v1beta1.IABCIMessageLog=} [properties] Properties to set - */ - function ABCIMessageLog(properties) { - this.events = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ABCIMessageLog msgIndex. - * @member {number} msgIndex - * @memberof cosmos.base.abci.v1beta1.ABCIMessageLog - * @instance - */ - ABCIMessageLog.prototype.msgIndex = 0; - - /** - * ABCIMessageLog log. - * @member {string} log - * @memberof cosmos.base.abci.v1beta1.ABCIMessageLog - * @instance - */ - ABCIMessageLog.prototype.log = ""; - - /** - * ABCIMessageLog events. - * @member {Array.} events - * @memberof cosmos.base.abci.v1beta1.ABCIMessageLog - * @instance - */ - ABCIMessageLog.prototype.events = $util.emptyArray; - - /** - * Creates a new ABCIMessageLog instance using the specified properties. - * @function create - * @memberof cosmos.base.abci.v1beta1.ABCIMessageLog - * @static - * @param {cosmos.base.abci.v1beta1.IABCIMessageLog=} [properties] Properties to set - * @returns {cosmos.base.abci.v1beta1.ABCIMessageLog} ABCIMessageLog instance - */ - ABCIMessageLog.create = function create(properties) { - return new ABCIMessageLog(properties); - }; - - /** - * Encodes the specified ABCIMessageLog message. Does not implicitly {@link cosmos.base.abci.v1beta1.ABCIMessageLog.verify|verify} messages. - * @function encode - * @memberof cosmos.base.abci.v1beta1.ABCIMessageLog - * @static - * @param {cosmos.base.abci.v1beta1.IABCIMessageLog} message ABCIMessageLog message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ABCIMessageLog.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.msgIndex != null && Object.hasOwnProperty.call(message, "msgIndex")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.msgIndex); - if (message.log != null && Object.hasOwnProperty.call(message, "log")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.log); - if (message.events != null && message.events.length) - for (let i = 0; i < message.events.length; ++i) - $root.cosmos.base.abci.v1beta1.StringEvent.encode(message.events[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ABCIMessageLog message, length delimited. Does not implicitly {@link cosmos.base.abci.v1beta1.ABCIMessageLog.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.abci.v1beta1.ABCIMessageLog - * @static - * @param {cosmos.base.abci.v1beta1.IABCIMessageLog} message ABCIMessageLog message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ABCIMessageLog.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ABCIMessageLog message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.abci.v1beta1.ABCIMessageLog - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.abci.v1beta1.ABCIMessageLog} ABCIMessageLog - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ABCIMessageLog.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.abci.v1beta1.ABCIMessageLog(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.msgIndex = reader.uint32(); - break; - case 2: - message.log = reader.string(); - break; - case 3: - if (!(message.events && message.events.length)) - message.events = []; - message.events.push($root.cosmos.base.abci.v1beta1.StringEvent.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ABCIMessageLog message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.abci.v1beta1.ABCIMessageLog - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.abci.v1beta1.ABCIMessageLog} ABCIMessageLog - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ABCIMessageLog.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ABCIMessageLog message. - * @function verify - * @memberof cosmos.base.abci.v1beta1.ABCIMessageLog - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ABCIMessageLog.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.msgIndex != null && message.hasOwnProperty("msgIndex")) - if (!$util.isInteger(message.msgIndex)) - return "msgIndex: integer expected"; - if (message.log != null && message.hasOwnProperty("log")) - if (!$util.isString(message.log)) - return "log: string expected"; - if (message.events != null && message.hasOwnProperty("events")) { - if (!Array.isArray(message.events)) - return "events: array expected"; - for (let i = 0; i < message.events.length; ++i) { - let error = $root.cosmos.base.abci.v1beta1.StringEvent.verify(message.events[i]); - if (error) - return "events." + error; - } - } - return null; - }; - - /** - * Creates a ABCIMessageLog message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.abci.v1beta1.ABCIMessageLog - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.abci.v1beta1.ABCIMessageLog} ABCIMessageLog - */ - ABCIMessageLog.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.abci.v1beta1.ABCIMessageLog) - return object; - let message = new $root.cosmos.base.abci.v1beta1.ABCIMessageLog(); - if (object.msgIndex != null) - message.msgIndex = object.msgIndex >>> 0; - if (object.log != null) - message.log = String(object.log); - if (object.events) { - if (!Array.isArray(object.events)) - throw TypeError(".cosmos.base.abci.v1beta1.ABCIMessageLog.events: array expected"); - message.events = []; - for (let i = 0; i < object.events.length; ++i) { - if (typeof object.events[i] !== "object") - throw TypeError(".cosmos.base.abci.v1beta1.ABCIMessageLog.events: object expected"); - message.events[i] = $root.cosmos.base.abci.v1beta1.StringEvent.fromObject(object.events[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ABCIMessageLog message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.abci.v1beta1.ABCIMessageLog - * @static - * @param {cosmos.base.abci.v1beta1.ABCIMessageLog} message ABCIMessageLog - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ABCIMessageLog.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.events = []; - if (options.defaults) { - object.msgIndex = 0; - object.log = ""; - } - if (message.msgIndex != null && message.hasOwnProperty("msgIndex")) - object.msgIndex = message.msgIndex; - if (message.log != null && message.hasOwnProperty("log")) - object.log = message.log; - if (message.events && message.events.length) { - object.events = []; - for (let j = 0; j < message.events.length; ++j) - object.events[j] = $root.cosmos.base.abci.v1beta1.StringEvent.toObject(message.events[j], options); - } - return object; - }; - - /** - * Converts this ABCIMessageLog to JSON. - * @function toJSON - * @memberof cosmos.base.abci.v1beta1.ABCIMessageLog - * @instance - * @returns {Object.} JSON object - */ - ABCIMessageLog.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ABCIMessageLog; - })(v1beta1.ABCIMessageLog || {}); - - v1beta1.StringEvent = (function(StringEvent) { - - /** - * Properties of a StringEvent. - * @memberof cosmos.base.abci.v1beta1 - * @interface IStringEvent - * @property {string|null} [type] StringEvent type - * @property {Array.|null} [attributes] StringEvent attributes - */ - - /** - * Constructs a new StringEvent. - * @memberof cosmos.base.abci.v1beta1 - * @classdesc Represents a StringEvent. - * @implements IStringEvent - * @constructor - * @param {cosmos.base.abci.v1beta1.IStringEvent=} [properties] Properties to set - */ - function StringEvent(properties) { - this.attributes = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * StringEvent type. - * @member {string} type - * @memberof cosmos.base.abci.v1beta1.StringEvent - * @instance - */ - StringEvent.prototype.type = ""; - - /** - * StringEvent attributes. - * @member {Array.} attributes - * @memberof cosmos.base.abci.v1beta1.StringEvent - * @instance - */ - StringEvent.prototype.attributes = $util.emptyArray; - - /** - * Creates a new StringEvent instance using the specified properties. - * @function create - * @memberof cosmos.base.abci.v1beta1.StringEvent - * @static - * @param {cosmos.base.abci.v1beta1.IStringEvent=} [properties] Properties to set - * @returns {cosmos.base.abci.v1beta1.StringEvent} StringEvent instance - */ - StringEvent.create = function create(properties) { - return new StringEvent(properties); - }; - - /** - * Encodes the specified StringEvent message. Does not implicitly {@link cosmos.base.abci.v1beta1.StringEvent.verify|verify} messages. - * @function encode - * @memberof cosmos.base.abci.v1beta1.StringEvent - * @static - * @param {cosmos.base.abci.v1beta1.IStringEvent} message StringEvent message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - StringEvent.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); - if (message.attributes != null && message.attributes.length) - for (let i = 0; i < message.attributes.length; ++i) - $root.cosmos.base.abci.v1beta1.Attribute.encode(message.attributes[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified StringEvent message, length delimited. Does not implicitly {@link cosmos.base.abci.v1beta1.StringEvent.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.abci.v1beta1.StringEvent - * @static - * @param {cosmos.base.abci.v1beta1.IStringEvent} message StringEvent message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - StringEvent.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a StringEvent message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.abci.v1beta1.StringEvent - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.abci.v1beta1.StringEvent} StringEvent - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - StringEvent.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.abci.v1beta1.StringEvent(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.string(); - break; - case 2: - if (!(message.attributes && message.attributes.length)) - message.attributes = []; - message.attributes.push($root.cosmos.base.abci.v1beta1.Attribute.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a StringEvent message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.abci.v1beta1.StringEvent - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.abci.v1beta1.StringEvent} StringEvent - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - StringEvent.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a StringEvent message. - * @function verify - * @memberof cosmos.base.abci.v1beta1.StringEvent - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - StringEvent.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - if (!$util.isString(message.type)) - return "type: string expected"; - if (message.attributes != null && message.hasOwnProperty("attributes")) { - if (!Array.isArray(message.attributes)) - return "attributes: array expected"; - for (let i = 0; i < message.attributes.length; ++i) { - let error = $root.cosmos.base.abci.v1beta1.Attribute.verify(message.attributes[i]); - if (error) - return "attributes." + error; - } - } - return null; - }; - - /** - * Creates a StringEvent message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.abci.v1beta1.StringEvent - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.abci.v1beta1.StringEvent} StringEvent - */ - StringEvent.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.abci.v1beta1.StringEvent) - return object; - let message = new $root.cosmos.base.abci.v1beta1.StringEvent(); - if (object.type != null) - message.type = String(object.type); - if (object.attributes) { - if (!Array.isArray(object.attributes)) - throw TypeError(".cosmos.base.abci.v1beta1.StringEvent.attributes: array expected"); - message.attributes = []; - for (let i = 0; i < object.attributes.length; ++i) { - if (typeof object.attributes[i] !== "object") - throw TypeError(".cosmos.base.abci.v1beta1.StringEvent.attributes: object expected"); - message.attributes[i] = $root.cosmos.base.abci.v1beta1.Attribute.fromObject(object.attributes[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a StringEvent message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.abci.v1beta1.StringEvent - * @static - * @param {cosmos.base.abci.v1beta1.StringEvent} message StringEvent - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - StringEvent.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.attributes = []; - if (options.defaults) - object.type = ""; - if (message.type != null && message.hasOwnProperty("type")) - object.type = message.type; - if (message.attributes && message.attributes.length) { - object.attributes = []; - for (let j = 0; j < message.attributes.length; ++j) - object.attributes[j] = $root.cosmos.base.abci.v1beta1.Attribute.toObject(message.attributes[j], options); - } - return object; - }; - - /** - * Converts this StringEvent to JSON. - * @function toJSON - * @memberof cosmos.base.abci.v1beta1.StringEvent - * @instance - * @returns {Object.} JSON object - */ - StringEvent.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return StringEvent; - })(v1beta1.StringEvent || {}); - - v1beta1.Attribute = (function(Attribute) { - - /** - * Properties of an Attribute. - * @memberof cosmos.base.abci.v1beta1 - * @interface IAttribute - * @property {string|null} [key] Attribute key - * @property {string|null} [value] Attribute value - */ - - /** - * Constructs a new Attribute. - * @memberof cosmos.base.abci.v1beta1 - * @classdesc Represents an Attribute. - * @implements IAttribute - * @constructor - * @param {cosmos.base.abci.v1beta1.IAttribute=} [properties] Properties to set - */ - function Attribute(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Attribute key. - * @member {string} key - * @memberof cosmos.base.abci.v1beta1.Attribute - * @instance - */ - Attribute.prototype.key = ""; - - /** - * Attribute value. - * @member {string} value - * @memberof cosmos.base.abci.v1beta1.Attribute - * @instance - */ - Attribute.prototype.value = ""; - - /** - * Creates a new Attribute instance using the specified properties. - * @function create - * @memberof cosmos.base.abci.v1beta1.Attribute - * @static - * @param {cosmos.base.abci.v1beta1.IAttribute=} [properties] Properties to set - * @returns {cosmos.base.abci.v1beta1.Attribute} Attribute instance - */ - Attribute.create = function create(properties) { - return new Attribute(properties); - }; - - /** - * Encodes the specified Attribute message. Does not implicitly {@link cosmos.base.abci.v1beta1.Attribute.verify|verify} messages. - * @function encode - * @memberof cosmos.base.abci.v1beta1.Attribute - * @static - * @param {cosmos.base.abci.v1beta1.IAttribute} message Attribute message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Attribute.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - return writer; - }; - - /** - * Encodes the specified Attribute message, length delimited. Does not implicitly {@link cosmos.base.abci.v1beta1.Attribute.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.abci.v1beta1.Attribute - * @static - * @param {cosmos.base.abci.v1beta1.IAttribute} message Attribute message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Attribute.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Attribute message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.abci.v1beta1.Attribute - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.abci.v1beta1.Attribute} Attribute - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Attribute.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.abci.v1beta1.Attribute(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 2: - message.value = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Attribute message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.abci.v1beta1.Attribute - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.abci.v1beta1.Attribute} Attribute - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Attribute.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Attribute message. - * @function verify - * @memberof cosmos.base.abci.v1beta1.Attribute - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Attribute.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!$util.isString(message.key)) - return "key: string expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isString(message.value)) - return "value: string expected"; - return null; - }; - - /** - * Creates an Attribute message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.abci.v1beta1.Attribute - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.abci.v1beta1.Attribute} Attribute - */ - Attribute.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.abci.v1beta1.Attribute) - return object; - let message = new $root.cosmos.base.abci.v1beta1.Attribute(); - if (object.key != null) - message.key = String(object.key); - if (object.value != null) - message.value = String(object.value); - return message; - }; - - /** - * Creates a plain object from an Attribute message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.abci.v1beta1.Attribute - * @static - * @param {cosmos.base.abci.v1beta1.Attribute} message Attribute - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Attribute.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.key = ""; - object.value = ""; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - return object; - }; - - /** - * Converts this Attribute to JSON. - * @function toJSON - * @memberof cosmos.base.abci.v1beta1.Attribute - * @instance - * @returns {Object.} JSON object - */ - Attribute.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Attribute; - })(v1beta1.Attribute || {}); - - v1beta1.GasInfo = (function(GasInfo) { - - /** - * Properties of a GasInfo. - * @memberof cosmos.base.abci.v1beta1 - * @interface IGasInfo - * @property {number|Long|null} [gasWanted] GasInfo gasWanted - * @property {number|Long|null} [gasUsed] GasInfo gasUsed - */ - - /** - * Constructs a new GasInfo. - * @memberof cosmos.base.abci.v1beta1 - * @classdesc Represents a GasInfo. - * @implements IGasInfo - * @constructor - * @param {cosmos.base.abci.v1beta1.IGasInfo=} [properties] Properties to set - */ - function GasInfo(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GasInfo gasWanted. - * @member {number|Long} gasWanted - * @memberof cosmos.base.abci.v1beta1.GasInfo - * @instance - */ - GasInfo.prototype.gasWanted = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * GasInfo gasUsed. - * @member {number|Long} gasUsed - * @memberof cosmos.base.abci.v1beta1.GasInfo - * @instance - */ - GasInfo.prototype.gasUsed = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new GasInfo instance using the specified properties. - * @function create - * @memberof cosmos.base.abci.v1beta1.GasInfo - * @static - * @param {cosmos.base.abci.v1beta1.IGasInfo=} [properties] Properties to set - * @returns {cosmos.base.abci.v1beta1.GasInfo} GasInfo instance - */ - GasInfo.create = function create(properties) { - return new GasInfo(properties); - }; - - /** - * Encodes the specified GasInfo message. Does not implicitly {@link cosmos.base.abci.v1beta1.GasInfo.verify|verify} messages. - * @function encode - * @memberof cosmos.base.abci.v1beta1.GasInfo - * @static - * @param {cosmos.base.abci.v1beta1.IGasInfo} message GasInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GasInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.gasWanted != null && Object.hasOwnProperty.call(message, "gasWanted")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.gasWanted); - if (message.gasUsed != null && Object.hasOwnProperty.call(message, "gasUsed")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.gasUsed); - return writer; - }; - - /** - * Encodes the specified GasInfo message, length delimited. Does not implicitly {@link cosmos.base.abci.v1beta1.GasInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.abci.v1beta1.GasInfo - * @static - * @param {cosmos.base.abci.v1beta1.IGasInfo} message GasInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GasInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GasInfo message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.abci.v1beta1.GasInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.abci.v1beta1.GasInfo} GasInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GasInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.abci.v1beta1.GasInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.gasWanted = reader.uint64(); - break; - case 2: - message.gasUsed = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GasInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.abci.v1beta1.GasInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.abci.v1beta1.GasInfo} GasInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GasInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GasInfo message. - * @function verify - * @memberof cosmos.base.abci.v1beta1.GasInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GasInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - if (!$util.isInteger(message.gasWanted) && !(message.gasWanted && $util.isInteger(message.gasWanted.low) && $util.isInteger(message.gasWanted.high))) - return "gasWanted: integer|Long expected"; - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - if (!$util.isInteger(message.gasUsed) && !(message.gasUsed && $util.isInteger(message.gasUsed.low) && $util.isInteger(message.gasUsed.high))) - return "gasUsed: integer|Long expected"; - return null; - }; - - /** - * Creates a GasInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.abci.v1beta1.GasInfo - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.abci.v1beta1.GasInfo} GasInfo - */ - GasInfo.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.abci.v1beta1.GasInfo) - return object; - let message = new $root.cosmos.base.abci.v1beta1.GasInfo(); - if (object.gasWanted != null) - if ($util.Long) - (message.gasWanted = $util.Long.fromValue(object.gasWanted)).unsigned = true; - else if (typeof object.gasWanted === "string") - message.gasWanted = parseInt(object.gasWanted, 10); - else if (typeof object.gasWanted === "number") - message.gasWanted = object.gasWanted; - else if (typeof object.gasWanted === "object") - message.gasWanted = new $util.LongBits(object.gasWanted.low >>> 0, object.gasWanted.high >>> 0).toNumber(true); - if (object.gasUsed != null) - if ($util.Long) - (message.gasUsed = $util.Long.fromValue(object.gasUsed)).unsigned = true; - else if (typeof object.gasUsed === "string") - message.gasUsed = parseInt(object.gasUsed, 10); - else if (typeof object.gasUsed === "number") - message.gasUsed = object.gasUsed; - else if (typeof object.gasUsed === "object") - message.gasUsed = new $util.LongBits(object.gasUsed.low >>> 0, object.gasUsed.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a GasInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.abci.v1beta1.GasInfo - * @static - * @param {cosmos.base.abci.v1beta1.GasInfo} message GasInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GasInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.gasWanted = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasWanted = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.gasUsed = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasUsed = options.longs === String ? "0" : 0; - } - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - if (typeof message.gasWanted === "number") - object.gasWanted = options.longs === String ? String(message.gasWanted) : message.gasWanted; - else - object.gasWanted = options.longs === String ? $util.Long.prototype.toString.call(message.gasWanted) : options.longs === Number ? new $util.LongBits(message.gasWanted.low >>> 0, message.gasWanted.high >>> 0).toNumber(true) : message.gasWanted; - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - if (typeof message.gasUsed === "number") - object.gasUsed = options.longs === String ? String(message.gasUsed) : message.gasUsed; - else - object.gasUsed = options.longs === String ? $util.Long.prototype.toString.call(message.gasUsed) : options.longs === Number ? new $util.LongBits(message.gasUsed.low >>> 0, message.gasUsed.high >>> 0).toNumber(true) : message.gasUsed; - return object; - }; - - /** - * Converts this GasInfo to JSON. - * @function toJSON - * @memberof cosmos.base.abci.v1beta1.GasInfo - * @instance - * @returns {Object.} JSON object - */ - GasInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GasInfo; - })(v1beta1.GasInfo || {}); - - v1beta1.Result = (function(Result) { - - /** - * Properties of a Result. - * @memberof cosmos.base.abci.v1beta1 - * @interface IResult - * @property {Uint8Array|null} [data] Result data - * @property {string|null} [log] Result log - * @property {Array.|null} [events] Result events - */ - - /** - * Constructs a new Result. - * @memberof cosmos.base.abci.v1beta1 - * @classdesc Represents a Result. - * @implements IResult - * @constructor - * @param {cosmos.base.abci.v1beta1.IResult=} [properties] Properties to set - */ - function Result(properties) { - this.events = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Result data. - * @member {Uint8Array} data - * @memberof cosmos.base.abci.v1beta1.Result - * @instance - */ - Result.prototype.data = $util.newBuffer([]); - - /** - * Result log. - * @member {string} log - * @memberof cosmos.base.abci.v1beta1.Result - * @instance - */ - Result.prototype.log = ""; - - /** - * Result events. - * @member {Array.} events - * @memberof cosmos.base.abci.v1beta1.Result - * @instance - */ - Result.prototype.events = $util.emptyArray; - - /** - * Creates a new Result instance using the specified properties. - * @function create - * @memberof cosmos.base.abci.v1beta1.Result - * @static - * @param {cosmos.base.abci.v1beta1.IResult=} [properties] Properties to set - * @returns {cosmos.base.abci.v1beta1.Result} Result instance - */ - Result.create = function create(properties) { - return new Result(properties); - }; - - /** - * Encodes the specified Result message. Does not implicitly {@link cosmos.base.abci.v1beta1.Result.verify|verify} messages. - * @function encode - * @memberof cosmos.base.abci.v1beta1.Result - * @static - * @param {cosmos.base.abci.v1beta1.IResult} message Result message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Result.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); - if (message.log != null && Object.hasOwnProperty.call(message, "log")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.log); - if (message.events != null && message.events.length) - for (let i = 0; i < message.events.length; ++i) - $root.tendermint.abci.Event.encode(message.events[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Result message, length delimited. Does not implicitly {@link cosmos.base.abci.v1beta1.Result.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.abci.v1beta1.Result - * @static - * @param {cosmos.base.abci.v1beta1.IResult} message Result message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Result.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Result message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.abci.v1beta1.Result - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.abci.v1beta1.Result} Result - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Result.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.abci.v1beta1.Result(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.bytes(); - break; - case 2: - message.log = reader.string(); - break; - case 3: - if (!(message.events && message.events.length)) - message.events = []; - message.events.push($root.tendermint.abci.Event.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Result message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.abci.v1beta1.Result - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.abci.v1beta1.Result} Result - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Result.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Result message. - * @function verify - * @memberof cosmos.base.abci.v1beta1.Result - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Result.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - if (message.log != null && message.hasOwnProperty("log")) - if (!$util.isString(message.log)) - return "log: string expected"; - if (message.events != null && message.hasOwnProperty("events")) { - if (!Array.isArray(message.events)) - return "events: array expected"; - for (let i = 0; i < message.events.length; ++i) { - let error = $root.tendermint.abci.Event.verify(message.events[i]); - if (error) - return "events." + error; - } - } - return null; - }; - - /** - * Creates a Result message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.abci.v1beta1.Result - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.abci.v1beta1.Result} Result - */ - Result.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.abci.v1beta1.Result) - return object; - let message = new $root.cosmos.base.abci.v1beta1.Result(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - if (object.log != null) - message.log = String(object.log); - if (object.events) { - if (!Array.isArray(object.events)) - throw TypeError(".cosmos.base.abci.v1beta1.Result.events: array expected"); - message.events = []; - for (let i = 0; i < object.events.length; ++i) { - if (typeof object.events[i] !== "object") - throw TypeError(".cosmos.base.abci.v1beta1.Result.events: object expected"); - message.events[i] = $root.tendermint.abci.Event.fromObject(object.events[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a Result message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.abci.v1beta1.Result - * @static - * @param {cosmos.base.abci.v1beta1.Result} message Result - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Result.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.events = []; - if (options.defaults) { - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - object.log = ""; - } - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (message.log != null && message.hasOwnProperty("log")) - object.log = message.log; - if (message.events && message.events.length) { - object.events = []; - for (let j = 0; j < message.events.length; ++j) - object.events[j] = $root.tendermint.abci.Event.toObject(message.events[j], options); - } - return object; - }; - - /** - * Converts this Result to JSON. - * @function toJSON - * @memberof cosmos.base.abci.v1beta1.Result - * @instance - * @returns {Object.} JSON object - */ - Result.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Result; - })(v1beta1.Result || {}); - - v1beta1.SimulationResponse = (function(SimulationResponse) { - - /** - * Properties of a SimulationResponse. - * @memberof cosmos.base.abci.v1beta1 - * @interface ISimulationResponse - * @property {cosmos.base.abci.v1beta1.IGasInfo|null} [gasInfo] SimulationResponse gasInfo - * @property {cosmos.base.abci.v1beta1.IResult|null} [result] SimulationResponse result - */ - - /** - * Constructs a new SimulationResponse. - * @memberof cosmos.base.abci.v1beta1 - * @classdesc Represents a SimulationResponse. - * @implements ISimulationResponse - * @constructor - * @param {cosmos.base.abci.v1beta1.ISimulationResponse=} [properties] Properties to set - */ - function SimulationResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SimulationResponse gasInfo. - * @member {cosmos.base.abci.v1beta1.IGasInfo|null|undefined} gasInfo - * @memberof cosmos.base.abci.v1beta1.SimulationResponse - * @instance - */ - SimulationResponse.prototype.gasInfo = null; - - /** - * SimulationResponse result. - * @member {cosmos.base.abci.v1beta1.IResult|null|undefined} result - * @memberof cosmos.base.abci.v1beta1.SimulationResponse - * @instance - */ - SimulationResponse.prototype.result = null; - - /** - * Creates a new SimulationResponse instance using the specified properties. - * @function create - * @memberof cosmos.base.abci.v1beta1.SimulationResponse - * @static - * @param {cosmos.base.abci.v1beta1.ISimulationResponse=} [properties] Properties to set - * @returns {cosmos.base.abci.v1beta1.SimulationResponse} SimulationResponse instance - */ - SimulationResponse.create = function create(properties) { - return new SimulationResponse(properties); - }; - - /** - * Encodes the specified SimulationResponse message. Does not implicitly {@link cosmos.base.abci.v1beta1.SimulationResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.base.abci.v1beta1.SimulationResponse - * @static - * @param {cosmos.base.abci.v1beta1.ISimulationResponse} message SimulationResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SimulationResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.gasInfo != null && Object.hasOwnProperty.call(message, "gasInfo")) - $root.cosmos.base.abci.v1beta1.GasInfo.encode(message.gasInfo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.result != null && Object.hasOwnProperty.call(message, "result")) - $root.cosmos.base.abci.v1beta1.Result.encode(message.result, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SimulationResponse message, length delimited. Does not implicitly {@link cosmos.base.abci.v1beta1.SimulationResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.abci.v1beta1.SimulationResponse - * @static - * @param {cosmos.base.abci.v1beta1.ISimulationResponse} message SimulationResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SimulationResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SimulationResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.abci.v1beta1.SimulationResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.abci.v1beta1.SimulationResponse} SimulationResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SimulationResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.abci.v1beta1.SimulationResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.gasInfo = $root.cosmos.base.abci.v1beta1.GasInfo.decode(reader, reader.uint32()); - break; - case 2: - message.result = $root.cosmos.base.abci.v1beta1.Result.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SimulationResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.abci.v1beta1.SimulationResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.abci.v1beta1.SimulationResponse} SimulationResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SimulationResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SimulationResponse message. - * @function verify - * @memberof cosmos.base.abci.v1beta1.SimulationResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SimulationResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.gasInfo != null && message.hasOwnProperty("gasInfo")) { - let error = $root.cosmos.base.abci.v1beta1.GasInfo.verify(message.gasInfo); - if (error) - return "gasInfo." + error; - } - if (message.result != null && message.hasOwnProperty("result")) { - let error = $root.cosmos.base.abci.v1beta1.Result.verify(message.result); - if (error) - return "result." + error; - } - return null; - }; - - /** - * Creates a SimulationResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.abci.v1beta1.SimulationResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.abci.v1beta1.SimulationResponse} SimulationResponse - */ - SimulationResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.abci.v1beta1.SimulationResponse) - return object; - let message = new $root.cosmos.base.abci.v1beta1.SimulationResponse(); - if (object.gasInfo != null) { - if (typeof object.gasInfo !== "object") - throw TypeError(".cosmos.base.abci.v1beta1.SimulationResponse.gasInfo: object expected"); - message.gasInfo = $root.cosmos.base.abci.v1beta1.GasInfo.fromObject(object.gasInfo); - } - if (object.result != null) { - if (typeof object.result !== "object") - throw TypeError(".cosmos.base.abci.v1beta1.SimulationResponse.result: object expected"); - message.result = $root.cosmos.base.abci.v1beta1.Result.fromObject(object.result); - } - return message; - }; - - /** - * Creates a plain object from a SimulationResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.abci.v1beta1.SimulationResponse - * @static - * @param {cosmos.base.abci.v1beta1.SimulationResponse} message SimulationResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SimulationResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.gasInfo = null; - object.result = null; - } - if (message.gasInfo != null && message.hasOwnProperty("gasInfo")) - object.gasInfo = $root.cosmos.base.abci.v1beta1.GasInfo.toObject(message.gasInfo, options); - if (message.result != null && message.hasOwnProperty("result")) - object.result = $root.cosmos.base.abci.v1beta1.Result.toObject(message.result, options); - return object; - }; - - /** - * Converts this SimulationResponse to JSON. - * @function toJSON - * @memberof cosmos.base.abci.v1beta1.SimulationResponse - * @instance - * @returns {Object.} JSON object - */ - SimulationResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SimulationResponse; - })(v1beta1.SimulationResponse || {}); - - v1beta1.MsgData = (function(MsgData) { - - /** - * Properties of a MsgData. - * @memberof cosmos.base.abci.v1beta1 - * @interface IMsgData - * @property {string|null} [msgType] MsgData msgType - * @property {Uint8Array|null} [data] MsgData data - */ - - /** - * Constructs a new MsgData. - * @memberof cosmos.base.abci.v1beta1 - * @classdesc Represents a MsgData. - * @implements IMsgData - * @constructor - * @param {cosmos.base.abci.v1beta1.IMsgData=} [properties] Properties to set - */ - function MsgData(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgData msgType. - * @member {string} msgType - * @memberof cosmos.base.abci.v1beta1.MsgData - * @instance - */ - MsgData.prototype.msgType = ""; - - /** - * MsgData data. - * @member {Uint8Array} data - * @memberof cosmos.base.abci.v1beta1.MsgData - * @instance - */ - MsgData.prototype.data = $util.newBuffer([]); - - /** - * Creates a new MsgData instance using the specified properties. - * @function create - * @memberof cosmos.base.abci.v1beta1.MsgData - * @static - * @param {cosmos.base.abci.v1beta1.IMsgData=} [properties] Properties to set - * @returns {cosmos.base.abci.v1beta1.MsgData} MsgData instance - */ - MsgData.create = function create(properties) { - return new MsgData(properties); - }; - - /** - * Encodes the specified MsgData message. Does not implicitly {@link cosmos.base.abci.v1beta1.MsgData.verify|verify} messages. - * @function encode - * @memberof cosmos.base.abci.v1beta1.MsgData - * @static - * @param {cosmos.base.abci.v1beta1.IMsgData} message MsgData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgData.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.msgType != null && Object.hasOwnProperty.call(message, "msgType")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.msgType); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified MsgData message, length delimited. Does not implicitly {@link cosmos.base.abci.v1beta1.MsgData.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.abci.v1beta1.MsgData - * @static - * @param {cosmos.base.abci.v1beta1.IMsgData} message MsgData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgData.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgData message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.abci.v1beta1.MsgData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.abci.v1beta1.MsgData} MsgData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgData.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.abci.v1beta1.MsgData(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.msgType = reader.string(); - break; - case 2: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgData message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.abci.v1beta1.MsgData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.abci.v1beta1.MsgData} MsgData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgData.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgData message. - * @function verify - * @memberof cosmos.base.abci.v1beta1.MsgData - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgData.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.msgType != null && message.hasOwnProperty("msgType")) - if (!$util.isString(message.msgType)) - return "msgType: string expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates a MsgData message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.abci.v1beta1.MsgData - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.abci.v1beta1.MsgData} MsgData - */ - MsgData.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.abci.v1beta1.MsgData) - return object; - let message = new $root.cosmos.base.abci.v1beta1.MsgData(); - if (object.msgType != null) - message.msgType = String(object.msgType); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from a MsgData message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.abci.v1beta1.MsgData - * @static - * @param {cosmos.base.abci.v1beta1.MsgData} message MsgData - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgData.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.msgType = ""; - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - } - if (message.msgType != null && message.hasOwnProperty("msgType")) - object.msgType = message.msgType; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this MsgData to JSON. - * @function toJSON - * @memberof cosmos.base.abci.v1beta1.MsgData - * @instance - * @returns {Object.} JSON object - */ - MsgData.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgData; - })(v1beta1.MsgData || {}); - - v1beta1.TxMsgData = (function(TxMsgData) { - - /** - * Properties of a TxMsgData. - * @memberof cosmos.base.abci.v1beta1 - * @interface ITxMsgData - * @property {Array.|null} [data] TxMsgData data - */ - - /** - * Constructs a new TxMsgData. - * @memberof cosmos.base.abci.v1beta1 - * @classdesc Represents a TxMsgData. - * @implements ITxMsgData - * @constructor - * @param {cosmos.base.abci.v1beta1.ITxMsgData=} [properties] Properties to set - */ - function TxMsgData(properties) { - this.data = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * TxMsgData data. - * @member {Array.} data - * @memberof cosmos.base.abci.v1beta1.TxMsgData - * @instance - */ - TxMsgData.prototype.data = $util.emptyArray; - - /** - * Creates a new TxMsgData instance using the specified properties. - * @function create - * @memberof cosmos.base.abci.v1beta1.TxMsgData - * @static - * @param {cosmos.base.abci.v1beta1.ITxMsgData=} [properties] Properties to set - * @returns {cosmos.base.abci.v1beta1.TxMsgData} TxMsgData instance - */ - TxMsgData.create = function create(properties) { - return new TxMsgData(properties); - }; - - /** - * Encodes the specified TxMsgData message. Does not implicitly {@link cosmos.base.abci.v1beta1.TxMsgData.verify|verify} messages. - * @function encode - * @memberof cosmos.base.abci.v1beta1.TxMsgData - * @static - * @param {cosmos.base.abci.v1beta1.ITxMsgData} message TxMsgData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TxMsgData.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && message.data.length) - for (let i = 0; i < message.data.length; ++i) - $root.cosmos.base.abci.v1beta1.MsgData.encode(message.data[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified TxMsgData message, length delimited. Does not implicitly {@link cosmos.base.abci.v1beta1.TxMsgData.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.abci.v1beta1.TxMsgData - * @static - * @param {cosmos.base.abci.v1beta1.ITxMsgData} message TxMsgData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TxMsgData.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TxMsgData message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.abci.v1beta1.TxMsgData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.abci.v1beta1.TxMsgData} TxMsgData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TxMsgData.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.abci.v1beta1.TxMsgData(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.data && message.data.length)) - message.data = []; - message.data.push($root.cosmos.base.abci.v1beta1.MsgData.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TxMsgData message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.abci.v1beta1.TxMsgData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.abci.v1beta1.TxMsgData} TxMsgData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TxMsgData.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TxMsgData message. - * @function verify - * @memberof cosmos.base.abci.v1beta1.TxMsgData - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TxMsgData.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) { - if (!Array.isArray(message.data)) - return "data: array expected"; - for (let i = 0; i < message.data.length; ++i) { - let error = $root.cosmos.base.abci.v1beta1.MsgData.verify(message.data[i]); - if (error) - return "data." + error; - } - } - return null; - }; - - /** - * Creates a TxMsgData message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.abci.v1beta1.TxMsgData - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.abci.v1beta1.TxMsgData} TxMsgData - */ - TxMsgData.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.abci.v1beta1.TxMsgData) - return object; - let message = new $root.cosmos.base.abci.v1beta1.TxMsgData(); - if (object.data) { - if (!Array.isArray(object.data)) - throw TypeError(".cosmos.base.abci.v1beta1.TxMsgData.data: array expected"); - message.data = []; - for (let i = 0; i < object.data.length; ++i) { - if (typeof object.data[i] !== "object") - throw TypeError(".cosmos.base.abci.v1beta1.TxMsgData.data: object expected"); - message.data[i] = $root.cosmos.base.abci.v1beta1.MsgData.fromObject(object.data[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a TxMsgData message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.abci.v1beta1.TxMsgData - * @static - * @param {cosmos.base.abci.v1beta1.TxMsgData} message TxMsgData - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TxMsgData.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.data = []; - if (message.data && message.data.length) { - object.data = []; - for (let j = 0; j < message.data.length; ++j) - object.data[j] = $root.cosmos.base.abci.v1beta1.MsgData.toObject(message.data[j], options); - } - return object; - }; - - /** - * Converts this TxMsgData to JSON. - * @function toJSON - * @memberof cosmos.base.abci.v1beta1.TxMsgData - * @instance - * @returns {Object.} JSON object - */ - TxMsgData.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return TxMsgData; - })(v1beta1.TxMsgData || {}); - - v1beta1.SearchTxsResult = (function(SearchTxsResult) { - - /** - * Properties of a SearchTxsResult. - * @memberof cosmos.base.abci.v1beta1 - * @interface ISearchTxsResult - * @property {number|Long|null} [totalCount] SearchTxsResult totalCount - * @property {number|Long|null} [count] SearchTxsResult count - * @property {number|Long|null} [pageNumber] SearchTxsResult pageNumber - * @property {number|Long|null} [pageTotal] SearchTxsResult pageTotal - * @property {number|Long|null} [limit] SearchTxsResult limit - * @property {Array.|null} [txs] SearchTxsResult txs - */ - - /** - * Constructs a new SearchTxsResult. - * @memberof cosmos.base.abci.v1beta1 - * @classdesc Represents a SearchTxsResult. - * @implements ISearchTxsResult - * @constructor - * @param {cosmos.base.abci.v1beta1.ISearchTxsResult=} [properties] Properties to set - */ - function SearchTxsResult(properties) { - this.txs = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SearchTxsResult totalCount. - * @member {number|Long} totalCount - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @instance - */ - SearchTxsResult.prototype.totalCount = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * SearchTxsResult count. - * @member {number|Long} count - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @instance - */ - SearchTxsResult.prototype.count = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * SearchTxsResult pageNumber. - * @member {number|Long} pageNumber - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @instance - */ - SearchTxsResult.prototype.pageNumber = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * SearchTxsResult pageTotal. - * @member {number|Long} pageTotal - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @instance - */ - SearchTxsResult.prototype.pageTotal = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * SearchTxsResult limit. - * @member {number|Long} limit - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @instance - */ - SearchTxsResult.prototype.limit = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * SearchTxsResult txs. - * @member {Array.} txs - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @instance - */ - SearchTxsResult.prototype.txs = $util.emptyArray; - - /** - * Creates a new SearchTxsResult instance using the specified properties. - * @function create - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @static - * @param {cosmos.base.abci.v1beta1.ISearchTxsResult=} [properties] Properties to set - * @returns {cosmos.base.abci.v1beta1.SearchTxsResult} SearchTxsResult instance - */ - SearchTxsResult.create = function create(properties) { - return new SearchTxsResult(properties); - }; - - /** - * Encodes the specified SearchTxsResult message. Does not implicitly {@link cosmos.base.abci.v1beta1.SearchTxsResult.verify|verify} messages. - * @function encode - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @static - * @param {cosmos.base.abci.v1beta1.ISearchTxsResult} message SearchTxsResult message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SearchTxsResult.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.totalCount != null && Object.hasOwnProperty.call(message, "totalCount")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.totalCount); - if (message.count != null && Object.hasOwnProperty.call(message, "count")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.count); - if (message.pageNumber != null && Object.hasOwnProperty.call(message, "pageNumber")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.pageNumber); - if (message.pageTotal != null && Object.hasOwnProperty.call(message, "pageTotal")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.pageTotal); - if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) - writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.limit); - if (message.txs != null && message.txs.length) - for (let i = 0; i < message.txs.length; ++i) - $root.cosmos.base.abci.v1beta1.TxResponse.encode(message.txs[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SearchTxsResult message, length delimited. Does not implicitly {@link cosmos.base.abci.v1beta1.SearchTxsResult.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @static - * @param {cosmos.base.abci.v1beta1.ISearchTxsResult} message SearchTxsResult message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SearchTxsResult.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SearchTxsResult message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.abci.v1beta1.SearchTxsResult} SearchTxsResult - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SearchTxsResult.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.abci.v1beta1.SearchTxsResult(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.totalCount = reader.uint64(); - break; - case 2: - message.count = reader.uint64(); - break; - case 3: - message.pageNumber = reader.uint64(); - break; - case 4: - message.pageTotal = reader.uint64(); - break; - case 5: - message.limit = reader.uint64(); - break; - case 6: - if (!(message.txs && message.txs.length)) - message.txs = []; - message.txs.push($root.cosmos.base.abci.v1beta1.TxResponse.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SearchTxsResult message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.abci.v1beta1.SearchTxsResult} SearchTxsResult - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SearchTxsResult.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SearchTxsResult message. - * @function verify - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SearchTxsResult.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.totalCount != null && message.hasOwnProperty("totalCount")) - if (!$util.isInteger(message.totalCount) && !(message.totalCount && $util.isInteger(message.totalCount.low) && $util.isInteger(message.totalCount.high))) - return "totalCount: integer|Long expected"; - if (message.count != null && message.hasOwnProperty("count")) - if (!$util.isInteger(message.count) && !(message.count && $util.isInteger(message.count.low) && $util.isInteger(message.count.high))) - return "count: integer|Long expected"; - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - if (!$util.isInteger(message.pageNumber) && !(message.pageNumber && $util.isInteger(message.pageNumber.low) && $util.isInteger(message.pageNumber.high))) - return "pageNumber: integer|Long expected"; - if (message.pageTotal != null && message.hasOwnProperty("pageTotal")) - if (!$util.isInteger(message.pageTotal) && !(message.pageTotal && $util.isInteger(message.pageTotal.low) && $util.isInteger(message.pageTotal.high))) - return "pageTotal: integer|Long expected"; - if (message.limit != null && message.hasOwnProperty("limit")) - if (!$util.isInteger(message.limit) && !(message.limit && $util.isInteger(message.limit.low) && $util.isInteger(message.limit.high))) - return "limit: integer|Long expected"; - if (message.txs != null && message.hasOwnProperty("txs")) { - if (!Array.isArray(message.txs)) - return "txs: array expected"; - for (let i = 0; i < message.txs.length; ++i) { - let error = $root.cosmos.base.abci.v1beta1.TxResponse.verify(message.txs[i]); - if (error) - return "txs." + error; - } - } - return null; - }; - - /** - * Creates a SearchTxsResult message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.abci.v1beta1.SearchTxsResult} SearchTxsResult - */ - SearchTxsResult.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.abci.v1beta1.SearchTxsResult) - return object; - let message = new $root.cosmos.base.abci.v1beta1.SearchTxsResult(); - if (object.totalCount != null) - if ($util.Long) - (message.totalCount = $util.Long.fromValue(object.totalCount)).unsigned = true; - else if (typeof object.totalCount === "string") - message.totalCount = parseInt(object.totalCount, 10); - else if (typeof object.totalCount === "number") - message.totalCount = object.totalCount; - else if (typeof object.totalCount === "object") - message.totalCount = new $util.LongBits(object.totalCount.low >>> 0, object.totalCount.high >>> 0).toNumber(true); - if (object.count != null) - if ($util.Long) - (message.count = $util.Long.fromValue(object.count)).unsigned = true; - else if (typeof object.count === "string") - message.count = parseInt(object.count, 10); - else if (typeof object.count === "number") - message.count = object.count; - else if (typeof object.count === "object") - message.count = new $util.LongBits(object.count.low >>> 0, object.count.high >>> 0).toNumber(true); - if (object.pageNumber != null) - if ($util.Long) - (message.pageNumber = $util.Long.fromValue(object.pageNumber)).unsigned = true; - else if (typeof object.pageNumber === "string") - message.pageNumber = parseInt(object.pageNumber, 10); - else if (typeof object.pageNumber === "number") - message.pageNumber = object.pageNumber; - else if (typeof object.pageNumber === "object") - message.pageNumber = new $util.LongBits(object.pageNumber.low >>> 0, object.pageNumber.high >>> 0).toNumber(true); - if (object.pageTotal != null) - if ($util.Long) - (message.pageTotal = $util.Long.fromValue(object.pageTotal)).unsigned = true; - else if (typeof object.pageTotal === "string") - message.pageTotal = parseInt(object.pageTotal, 10); - else if (typeof object.pageTotal === "number") - message.pageTotal = object.pageTotal; - else if (typeof object.pageTotal === "object") - message.pageTotal = new $util.LongBits(object.pageTotal.low >>> 0, object.pageTotal.high >>> 0).toNumber(true); - if (object.limit != null) - if ($util.Long) - (message.limit = $util.Long.fromValue(object.limit)).unsigned = true; - else if (typeof object.limit === "string") - message.limit = parseInt(object.limit, 10); - else if (typeof object.limit === "number") - message.limit = object.limit; - else if (typeof object.limit === "object") - message.limit = new $util.LongBits(object.limit.low >>> 0, object.limit.high >>> 0).toNumber(true); - if (object.txs) { - if (!Array.isArray(object.txs)) - throw TypeError(".cosmos.base.abci.v1beta1.SearchTxsResult.txs: array expected"); - message.txs = []; - for (let i = 0; i < object.txs.length; ++i) { - if (typeof object.txs[i] !== "object") - throw TypeError(".cosmos.base.abci.v1beta1.SearchTxsResult.txs: object expected"); - message.txs[i] = $root.cosmos.base.abci.v1beta1.TxResponse.fromObject(object.txs[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a SearchTxsResult message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @static - * @param {cosmos.base.abci.v1beta1.SearchTxsResult} message SearchTxsResult - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SearchTxsResult.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.txs = []; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.totalCount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.totalCount = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.count = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.count = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.pageNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.pageNumber = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.pageTotal = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.pageTotal = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.limit = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.limit = options.longs === String ? "0" : 0; - } - if (message.totalCount != null && message.hasOwnProperty("totalCount")) - if (typeof message.totalCount === "number") - object.totalCount = options.longs === String ? String(message.totalCount) : message.totalCount; - else - object.totalCount = options.longs === String ? $util.Long.prototype.toString.call(message.totalCount) : options.longs === Number ? new $util.LongBits(message.totalCount.low >>> 0, message.totalCount.high >>> 0).toNumber(true) : message.totalCount; - if (message.count != null && message.hasOwnProperty("count")) - if (typeof message.count === "number") - object.count = options.longs === String ? String(message.count) : message.count; - else - object.count = options.longs === String ? $util.Long.prototype.toString.call(message.count) : options.longs === Number ? new $util.LongBits(message.count.low >>> 0, message.count.high >>> 0).toNumber(true) : message.count; - if (message.pageNumber != null && message.hasOwnProperty("pageNumber")) - if (typeof message.pageNumber === "number") - object.pageNumber = options.longs === String ? String(message.pageNumber) : message.pageNumber; - else - object.pageNumber = options.longs === String ? $util.Long.prototype.toString.call(message.pageNumber) : options.longs === Number ? new $util.LongBits(message.pageNumber.low >>> 0, message.pageNumber.high >>> 0).toNumber(true) : message.pageNumber; - if (message.pageTotal != null && message.hasOwnProperty("pageTotal")) - if (typeof message.pageTotal === "number") - object.pageTotal = options.longs === String ? String(message.pageTotal) : message.pageTotal; - else - object.pageTotal = options.longs === String ? $util.Long.prototype.toString.call(message.pageTotal) : options.longs === Number ? new $util.LongBits(message.pageTotal.low >>> 0, message.pageTotal.high >>> 0).toNumber(true) : message.pageTotal; - if (message.limit != null && message.hasOwnProperty("limit")) - if (typeof message.limit === "number") - object.limit = options.longs === String ? String(message.limit) : message.limit; - else - object.limit = options.longs === String ? $util.Long.prototype.toString.call(message.limit) : options.longs === Number ? new $util.LongBits(message.limit.low >>> 0, message.limit.high >>> 0).toNumber(true) : message.limit; - if (message.txs && message.txs.length) { - object.txs = []; - for (let j = 0; j < message.txs.length; ++j) - object.txs[j] = $root.cosmos.base.abci.v1beta1.TxResponse.toObject(message.txs[j], options); - } - return object; - }; - - /** - * Converts this SearchTxsResult to JSON. - * @function toJSON - * @memberof cosmos.base.abci.v1beta1.SearchTxsResult - * @instance - * @returns {Object.} JSON object - */ - SearchTxsResult.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SearchTxsResult; - })(v1beta1.SearchTxsResult || {}); - - return v1beta1; - })(abci.v1beta1 || {}); - - return abci; - })(base.abci || {}); - - /** - * Namespace kv. - * @memberof cosmos.base - * @namespace - */ - - base.kv = (function(kv) { - - /** - * Namespace v1beta1. - * @memberof cosmos.base.kv - * @namespace - */ - - kv.v1beta1 = (function(v1beta1) { - - v1beta1.Pairs = (function(Pairs) { - - /** - * Properties of a Pairs. - * @memberof cosmos.base.kv.v1beta1 - * @interface IPairs - * @property {Array.|null} [pairs] Pairs pairs - */ - - /** - * Constructs a new Pairs. - * @memberof cosmos.base.kv.v1beta1 - * @classdesc Represents a Pairs. - * @implements IPairs - * @constructor - * @param {cosmos.base.kv.v1beta1.IPairs=} [properties] Properties to set - */ - function Pairs(properties) { - this.pairs = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Pairs pairs. - * @member {Array.} pairs - * @memberof cosmos.base.kv.v1beta1.Pairs - * @instance - */ - Pairs.prototype.pairs = $util.emptyArray; - - /** - * Creates a new Pairs instance using the specified properties. - * @function create - * @memberof cosmos.base.kv.v1beta1.Pairs - * @static - * @param {cosmos.base.kv.v1beta1.IPairs=} [properties] Properties to set - * @returns {cosmos.base.kv.v1beta1.Pairs} Pairs instance - */ - Pairs.create = function create(properties) { - return new Pairs(properties); - }; - - /** - * Encodes the specified Pairs message. Does not implicitly {@link cosmos.base.kv.v1beta1.Pairs.verify|verify} messages. - * @function encode - * @memberof cosmos.base.kv.v1beta1.Pairs - * @static - * @param {cosmos.base.kv.v1beta1.IPairs} message Pairs message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Pairs.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pairs != null && message.pairs.length) - for (let i = 0; i < message.pairs.length; ++i) - $root.cosmos.base.kv.v1beta1.Pair.encode(message.pairs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Pairs message, length delimited. Does not implicitly {@link cosmos.base.kv.v1beta1.Pairs.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.kv.v1beta1.Pairs - * @static - * @param {cosmos.base.kv.v1beta1.IPairs} message Pairs message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Pairs.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Pairs message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.kv.v1beta1.Pairs - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.kv.v1beta1.Pairs} Pairs - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Pairs.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.kv.v1beta1.Pairs(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.pairs && message.pairs.length)) - message.pairs = []; - message.pairs.push($root.cosmos.base.kv.v1beta1.Pair.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Pairs message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.kv.v1beta1.Pairs - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.kv.v1beta1.Pairs} Pairs - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Pairs.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Pairs message. - * @function verify - * @memberof cosmos.base.kv.v1beta1.Pairs - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Pairs.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pairs != null && message.hasOwnProperty("pairs")) { - if (!Array.isArray(message.pairs)) - return "pairs: array expected"; - for (let i = 0; i < message.pairs.length; ++i) { - let error = $root.cosmos.base.kv.v1beta1.Pair.verify(message.pairs[i]); - if (error) - return "pairs." + error; - } - } - return null; - }; - - /** - * Creates a Pairs message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.kv.v1beta1.Pairs - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.kv.v1beta1.Pairs} Pairs - */ - Pairs.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.kv.v1beta1.Pairs) - return object; - let message = new $root.cosmos.base.kv.v1beta1.Pairs(); - if (object.pairs) { - if (!Array.isArray(object.pairs)) - throw TypeError(".cosmos.base.kv.v1beta1.Pairs.pairs: array expected"); - message.pairs = []; - for (let i = 0; i < object.pairs.length; ++i) { - if (typeof object.pairs[i] !== "object") - throw TypeError(".cosmos.base.kv.v1beta1.Pairs.pairs: object expected"); - message.pairs[i] = $root.cosmos.base.kv.v1beta1.Pair.fromObject(object.pairs[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a Pairs message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.kv.v1beta1.Pairs - * @static - * @param {cosmos.base.kv.v1beta1.Pairs} message Pairs - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Pairs.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.pairs = []; - if (message.pairs && message.pairs.length) { - object.pairs = []; - for (let j = 0; j < message.pairs.length; ++j) - object.pairs[j] = $root.cosmos.base.kv.v1beta1.Pair.toObject(message.pairs[j], options); - } - return object; - }; - - /** - * Converts this Pairs to JSON. - * @function toJSON - * @memberof cosmos.base.kv.v1beta1.Pairs - * @instance - * @returns {Object.} JSON object - */ - Pairs.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Pairs; - })(v1beta1.Pairs || {}); - - v1beta1.Pair = (function(Pair) { - - /** - * Properties of a Pair. - * @memberof cosmos.base.kv.v1beta1 - * @interface IPair - * @property {Uint8Array|null} [key] Pair key - * @property {Uint8Array|null} [value] Pair value - */ - - /** - * Constructs a new Pair. - * @memberof cosmos.base.kv.v1beta1 - * @classdesc Represents a Pair. - * @implements IPair - * @constructor - * @param {cosmos.base.kv.v1beta1.IPair=} [properties] Properties to set - */ - function Pair(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Pair key. - * @member {Uint8Array} key - * @memberof cosmos.base.kv.v1beta1.Pair - * @instance - */ - Pair.prototype.key = $util.newBuffer([]); - - /** - * Pair value. - * @member {Uint8Array} value - * @memberof cosmos.base.kv.v1beta1.Pair - * @instance - */ - Pair.prototype.value = $util.newBuffer([]); - - /** - * Creates a new Pair instance using the specified properties. - * @function create - * @memberof cosmos.base.kv.v1beta1.Pair - * @static - * @param {cosmos.base.kv.v1beta1.IPair=} [properties] Properties to set - * @returns {cosmos.base.kv.v1beta1.Pair} Pair instance - */ - Pair.create = function create(properties) { - return new Pair(properties); - }; - - /** - * Encodes the specified Pair message. Does not implicitly {@link cosmos.base.kv.v1beta1.Pair.verify|verify} messages. - * @function encode - * @memberof cosmos.base.kv.v1beta1.Pair - * @static - * @param {cosmos.base.kv.v1beta1.IPair} message Pair message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Pair.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); - return writer; - }; - - /** - * Encodes the specified Pair message, length delimited. Does not implicitly {@link cosmos.base.kv.v1beta1.Pair.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.kv.v1beta1.Pair - * @static - * @param {cosmos.base.kv.v1beta1.IPair} message Pair message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Pair.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Pair message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.kv.v1beta1.Pair - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.kv.v1beta1.Pair} Pair - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Pair.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.kv.v1beta1.Pair(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - case 2: - message.value = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Pair message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.kv.v1beta1.Pair - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.kv.v1beta1.Pair} Pair - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Pair.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Pair message. - * @function verify - * @memberof cosmos.base.kv.v1beta1.Pair - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Pair.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; - return null; - }; - - /** - * Creates a Pair message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.kv.v1beta1.Pair - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.kv.v1beta1.Pair} Pair - */ - Pair.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.kv.v1beta1.Pair) - return object; - let message = new $root.cosmos.base.kv.v1beta1.Pair(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) - message.value = object.value; - return message; - }; - - /** - * Creates a plain object from a Pair message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.kv.v1beta1.Pair - * @static - * @param {cosmos.base.kv.v1beta1.Pair} message Pair - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Pair.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; - return object; - }; - - /** - * Converts this Pair to JSON. - * @function toJSON - * @memberof cosmos.base.kv.v1beta1.Pair - * @instance - * @returns {Object.} JSON object - */ - Pair.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Pair; - })(v1beta1.Pair || {}); - - return v1beta1; - })(kv.v1beta1 || {}); - - return kv; - })(base.kv || {}); - - /** - * Namespace query. - * @memberof cosmos.base - * @namespace - */ - - base.query = (function(query) { - - /** - * Namespace v1beta1. - * @memberof cosmos.base.query - * @namespace - */ - - query.v1beta1 = (function(v1beta1) { - - v1beta1.PageRequest = (function(PageRequest) { - - /** - * Properties of a PageRequest. - * @memberof cosmos.base.query.v1beta1 - * @interface IPageRequest - * @property {Uint8Array|null} [key] PageRequest key - * @property {number|Long|null} [offset] PageRequest offset - * @property {number|Long|null} [limit] PageRequest limit - * @property {boolean|null} [countTotal] PageRequest countTotal - */ - - /** - * Constructs a new PageRequest. - * @memberof cosmos.base.query.v1beta1 - * @classdesc Represents a PageRequest. - * @implements IPageRequest - * @constructor - * @param {cosmos.base.query.v1beta1.IPageRequest=} [properties] Properties to set - */ - function PageRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PageRequest key. - * @member {Uint8Array} key - * @memberof cosmos.base.query.v1beta1.PageRequest - * @instance - */ - PageRequest.prototype.key = $util.newBuffer([]); - - /** - * PageRequest offset. - * @member {number|Long} offset - * @memberof cosmos.base.query.v1beta1.PageRequest - * @instance - */ - PageRequest.prototype.offset = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * PageRequest limit. - * @member {number|Long} limit - * @memberof cosmos.base.query.v1beta1.PageRequest - * @instance - */ - PageRequest.prototype.limit = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * PageRequest countTotal. - * @member {boolean} countTotal - * @memberof cosmos.base.query.v1beta1.PageRequest - * @instance - */ - PageRequest.prototype.countTotal = false; - - /** - * Creates a new PageRequest instance using the specified properties. - * @function create - * @memberof cosmos.base.query.v1beta1.PageRequest - * @static - * @param {cosmos.base.query.v1beta1.IPageRequest=} [properties] Properties to set - * @returns {cosmos.base.query.v1beta1.PageRequest} PageRequest instance - */ - PageRequest.create = function create(properties) { - return new PageRequest(properties); - }; - - /** - * Encodes the specified PageRequest message. Does not implicitly {@link cosmos.base.query.v1beta1.PageRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.base.query.v1beta1.PageRequest - * @static - * @param {cosmos.base.query.v1beta1.IPageRequest} message PageRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PageRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.offset != null && Object.hasOwnProperty.call(message, "offset")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.offset); - if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.limit); - if (message.countTotal != null && Object.hasOwnProperty.call(message, "countTotal")) - writer.uint32(/* id 4, wireType 0 =*/32).bool(message.countTotal); - return writer; - }; - - /** - * Encodes the specified PageRequest message, length delimited. Does not implicitly {@link cosmos.base.query.v1beta1.PageRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.query.v1beta1.PageRequest - * @static - * @param {cosmos.base.query.v1beta1.IPageRequest} message PageRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PageRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PageRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.query.v1beta1.PageRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.query.v1beta1.PageRequest} PageRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PageRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.query.v1beta1.PageRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - case 2: - message.offset = reader.uint64(); - break; - case 3: - message.limit = reader.uint64(); - break; - case 4: - message.countTotal = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PageRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.query.v1beta1.PageRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.query.v1beta1.PageRequest} PageRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PageRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PageRequest message. - * @function verify - * @memberof cosmos.base.query.v1beta1.PageRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PageRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.offset != null && message.hasOwnProperty("offset")) - if (!$util.isInteger(message.offset) && !(message.offset && $util.isInteger(message.offset.low) && $util.isInteger(message.offset.high))) - return "offset: integer|Long expected"; - if (message.limit != null && message.hasOwnProperty("limit")) - if (!$util.isInteger(message.limit) && !(message.limit && $util.isInteger(message.limit.low) && $util.isInteger(message.limit.high))) - return "limit: integer|Long expected"; - if (message.countTotal != null && message.hasOwnProperty("countTotal")) - if (typeof message.countTotal !== "boolean") - return "countTotal: boolean expected"; - return null; - }; - - /** - * Creates a PageRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.query.v1beta1.PageRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.query.v1beta1.PageRequest} PageRequest - */ - PageRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.query.v1beta1.PageRequest) - return object; - let message = new $root.cosmos.base.query.v1beta1.PageRequest(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.offset != null) - if ($util.Long) - (message.offset = $util.Long.fromValue(object.offset)).unsigned = true; - else if (typeof object.offset === "string") - message.offset = parseInt(object.offset, 10); - else if (typeof object.offset === "number") - message.offset = object.offset; - else if (typeof object.offset === "object") - message.offset = new $util.LongBits(object.offset.low >>> 0, object.offset.high >>> 0).toNumber(true); - if (object.limit != null) - if ($util.Long) - (message.limit = $util.Long.fromValue(object.limit)).unsigned = true; - else if (typeof object.limit === "string") - message.limit = parseInt(object.limit, 10); - else if (typeof object.limit === "number") - message.limit = object.limit; - else if (typeof object.limit === "object") - message.limit = new $util.LongBits(object.limit.low >>> 0, object.limit.high >>> 0).toNumber(true); - if (object.countTotal != null) - message.countTotal = Boolean(object.countTotal); - return message; - }; - - /** - * Creates a plain object from a PageRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.query.v1beta1.PageRequest - * @static - * @param {cosmos.base.query.v1beta1.PageRequest} message PageRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PageRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.offset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.offset = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.limit = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.limit = options.longs === String ? "0" : 0; - object.countTotal = false; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.offset != null && message.hasOwnProperty("offset")) - if (typeof message.offset === "number") - object.offset = options.longs === String ? String(message.offset) : message.offset; - else - object.offset = options.longs === String ? $util.Long.prototype.toString.call(message.offset) : options.longs === Number ? new $util.LongBits(message.offset.low >>> 0, message.offset.high >>> 0).toNumber(true) : message.offset; - if (message.limit != null && message.hasOwnProperty("limit")) - if (typeof message.limit === "number") - object.limit = options.longs === String ? String(message.limit) : message.limit; - else - object.limit = options.longs === String ? $util.Long.prototype.toString.call(message.limit) : options.longs === Number ? new $util.LongBits(message.limit.low >>> 0, message.limit.high >>> 0).toNumber(true) : message.limit; - if (message.countTotal != null && message.hasOwnProperty("countTotal")) - object.countTotal = message.countTotal; - return object; - }; - - /** - * Converts this PageRequest to JSON. - * @function toJSON - * @memberof cosmos.base.query.v1beta1.PageRequest - * @instance - * @returns {Object.} JSON object - */ - PageRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PageRequest; - })(v1beta1.PageRequest || {}); - - v1beta1.PageResponse = (function(PageResponse) { - - /** - * Properties of a PageResponse. - * @memberof cosmos.base.query.v1beta1 - * @interface IPageResponse - * @property {Uint8Array|null} [nextKey] PageResponse nextKey - * @property {number|Long|null} [total] PageResponse total - */ - - /** - * Constructs a new PageResponse. - * @memberof cosmos.base.query.v1beta1 - * @classdesc Represents a PageResponse. - * @implements IPageResponse - * @constructor - * @param {cosmos.base.query.v1beta1.IPageResponse=} [properties] Properties to set - */ - function PageResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PageResponse nextKey. - * @member {Uint8Array} nextKey - * @memberof cosmos.base.query.v1beta1.PageResponse - * @instance - */ - PageResponse.prototype.nextKey = $util.newBuffer([]); - - /** - * PageResponse total. - * @member {number|Long} total - * @memberof cosmos.base.query.v1beta1.PageResponse - * @instance - */ - PageResponse.prototype.total = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new PageResponse instance using the specified properties. - * @function create - * @memberof cosmos.base.query.v1beta1.PageResponse - * @static - * @param {cosmos.base.query.v1beta1.IPageResponse=} [properties] Properties to set - * @returns {cosmos.base.query.v1beta1.PageResponse} PageResponse instance - */ - PageResponse.create = function create(properties) { - return new PageResponse(properties); - }; - - /** - * Encodes the specified PageResponse message. Does not implicitly {@link cosmos.base.query.v1beta1.PageResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.base.query.v1beta1.PageResponse - * @static - * @param {cosmos.base.query.v1beta1.IPageResponse} message PageResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PageResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.nextKey != null && Object.hasOwnProperty.call(message, "nextKey")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.nextKey); - if (message.total != null && Object.hasOwnProperty.call(message, "total")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.total); - return writer; - }; - - /** - * Encodes the specified PageResponse message, length delimited. Does not implicitly {@link cosmos.base.query.v1beta1.PageResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.query.v1beta1.PageResponse - * @static - * @param {cosmos.base.query.v1beta1.IPageResponse} message PageResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PageResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PageResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.query.v1beta1.PageResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.query.v1beta1.PageResponse} PageResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PageResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.query.v1beta1.PageResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.nextKey = reader.bytes(); - break; - case 2: - message.total = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PageResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.query.v1beta1.PageResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.query.v1beta1.PageResponse} PageResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PageResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PageResponse message. - * @function verify - * @memberof cosmos.base.query.v1beta1.PageResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PageResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.nextKey != null && message.hasOwnProperty("nextKey")) - if (!(message.nextKey && typeof message.nextKey.length === "number" || $util.isString(message.nextKey))) - return "nextKey: buffer expected"; - if (message.total != null && message.hasOwnProperty("total")) - if (!$util.isInteger(message.total) && !(message.total && $util.isInteger(message.total.low) && $util.isInteger(message.total.high))) - return "total: integer|Long expected"; - return null; - }; - - /** - * Creates a PageResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.query.v1beta1.PageResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.query.v1beta1.PageResponse} PageResponse - */ - PageResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.query.v1beta1.PageResponse) - return object; - let message = new $root.cosmos.base.query.v1beta1.PageResponse(); - if (object.nextKey != null) - if (typeof object.nextKey === "string") - $util.base64.decode(object.nextKey, message.nextKey = $util.newBuffer($util.base64.length(object.nextKey)), 0); - else if (object.nextKey.length) - message.nextKey = object.nextKey; - if (object.total != null) - if ($util.Long) - (message.total = $util.Long.fromValue(object.total)).unsigned = true; - else if (typeof object.total === "string") - message.total = parseInt(object.total, 10); - else if (typeof object.total === "number") - message.total = object.total; - else if (typeof object.total === "object") - message.total = new $util.LongBits(object.total.low >>> 0, object.total.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a PageResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.query.v1beta1.PageResponse - * @static - * @param {cosmos.base.query.v1beta1.PageResponse} message PageResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PageResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.nextKey = ""; - else { - object.nextKey = []; - if (options.bytes !== Array) - object.nextKey = $util.newBuffer(object.nextKey); - } - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.total = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.total = options.longs === String ? "0" : 0; - } - if (message.nextKey != null && message.hasOwnProperty("nextKey")) - object.nextKey = options.bytes === String ? $util.base64.encode(message.nextKey, 0, message.nextKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.nextKey) : message.nextKey; - if (message.total != null && message.hasOwnProperty("total")) - if (typeof message.total === "number") - object.total = options.longs === String ? String(message.total) : message.total; - else - object.total = options.longs === String ? $util.Long.prototype.toString.call(message.total) : options.longs === Number ? new $util.LongBits(message.total.low >>> 0, message.total.high >>> 0).toNumber(true) : message.total; - return object; - }; - - /** - * Converts this PageResponse to JSON. - * @function toJSON - * @memberof cosmos.base.query.v1beta1.PageResponse - * @instance - * @returns {Object.} JSON object - */ - PageResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PageResponse; - })(v1beta1.PageResponse || {}); - - return v1beta1; - })(query.v1beta1 || {}); - - return query; - })(base.query || {}); - - /** - * Namespace reflection. - * @memberof cosmos.base - * @namespace - */ - - base.reflection = (function(reflection) { - - /** - * Namespace v1beta1. - * @memberof cosmos.base.reflection - * @namespace - */ - - reflection.v1beta1 = (function(v1beta1) { - - v1beta1.ReflectionService = (function(ReflectionService) { - - /** - * Constructs a new ReflectionService service. - * @memberof cosmos.base.reflection.v1beta1 - * @classdesc Represents a ReflectionService - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function ReflectionService(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (ReflectionService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ReflectionService; - - /** - * Creates new ReflectionService service using the specified rpc implementation. - * @function create - * @memberof cosmos.base.reflection.v1beta1.ReflectionService - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {ReflectionService} RPC service. Useful where requests and/or responses are streamed. - */ - ReflectionService.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.base.reflection.v1beta1.ReflectionService#listAllInterfaces}. - * @memberof cosmos.base.reflection.v1beta1.ReflectionService - * @typedef ListAllInterfacesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.base.reflection.v1beta1.IListAllInterfacesResponse} [response] ListAllInterfacesResponse - */ - - /** - * Calls ListAllInterfaces. - * @function listAllInterfaces - * @memberof cosmos.base.reflection.v1beta1.ReflectionService - * @instance - * @param {cosmos.base.reflection.v1beta1.IListAllInterfacesRequest} request ListAllInterfacesRequest message or plain object - * @param {cosmos.base.reflection.v1beta1.ReflectionService.ListAllInterfacesCallback} callback Node-style callback called with the error, if any, and ListAllInterfacesResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ReflectionService.prototype.listAllInterfaces = function listAllInterfaces(request, callback) { - return this.rpcCall(listAllInterfaces, $root.cosmos.base.reflection.v1beta1.ListAllInterfacesRequest, $root.cosmos.base.reflection.v1beta1.ListAllInterfacesResponse, request, callback); - }, "name", { value: "ListAllInterfaces" }); - - /** - * Calls ListAllInterfaces. - * @function listAllInterfaces - * @memberof cosmos.base.reflection.v1beta1.ReflectionService - * @instance - * @param {cosmos.base.reflection.v1beta1.IListAllInterfacesRequest} request ListAllInterfacesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.base.reflection.v1beta1.ReflectionService#listImplementations}. - * @memberof cosmos.base.reflection.v1beta1.ReflectionService - * @typedef ListImplementationsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.base.reflection.v1beta1.IListImplementationsResponse} [response] ListImplementationsResponse - */ - - /** - * Calls ListImplementations. - * @function listImplementations - * @memberof cosmos.base.reflection.v1beta1.ReflectionService - * @instance - * @param {cosmos.base.reflection.v1beta1.IListImplementationsRequest} request ListImplementationsRequest message or plain object - * @param {cosmos.base.reflection.v1beta1.ReflectionService.ListImplementationsCallback} callback Node-style callback called with the error, if any, and ListImplementationsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ReflectionService.prototype.listImplementations = function listImplementations(request, callback) { - return this.rpcCall(listImplementations, $root.cosmos.base.reflection.v1beta1.ListImplementationsRequest, $root.cosmos.base.reflection.v1beta1.ListImplementationsResponse, request, callback); - }, "name", { value: "ListImplementations" }); - - /** - * Calls ListImplementations. - * @function listImplementations - * @memberof cosmos.base.reflection.v1beta1.ReflectionService - * @instance - * @param {cosmos.base.reflection.v1beta1.IListImplementationsRequest} request ListImplementationsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return ReflectionService; - })(v1beta1.ReflectionService || {}); - - v1beta1.ListAllInterfacesRequest = (function(ListAllInterfacesRequest) { - - /** - * Properties of a ListAllInterfacesRequest. - * @memberof cosmos.base.reflection.v1beta1 - * @interface IListAllInterfacesRequest - */ - - /** - * Constructs a new ListAllInterfacesRequest. - * @memberof cosmos.base.reflection.v1beta1 - * @classdesc Represents a ListAllInterfacesRequest. - * @implements IListAllInterfacesRequest - * @constructor - * @param {cosmos.base.reflection.v1beta1.IListAllInterfacesRequest=} [properties] Properties to set - */ - function ListAllInterfacesRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new ListAllInterfacesRequest instance using the specified properties. - * @function create - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesRequest - * @static - * @param {cosmos.base.reflection.v1beta1.IListAllInterfacesRequest=} [properties] Properties to set - * @returns {cosmos.base.reflection.v1beta1.ListAllInterfacesRequest} ListAllInterfacesRequest instance - */ - ListAllInterfacesRequest.create = function create(properties) { - return new ListAllInterfacesRequest(properties); - }; - - /** - * Encodes the specified ListAllInterfacesRequest message. Does not implicitly {@link cosmos.base.reflection.v1beta1.ListAllInterfacesRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesRequest - * @static - * @param {cosmos.base.reflection.v1beta1.IListAllInterfacesRequest} message ListAllInterfacesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListAllInterfacesRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified ListAllInterfacesRequest message, length delimited. Does not implicitly {@link cosmos.base.reflection.v1beta1.ListAllInterfacesRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesRequest - * @static - * @param {cosmos.base.reflection.v1beta1.IListAllInterfacesRequest} message ListAllInterfacesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListAllInterfacesRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListAllInterfacesRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.reflection.v1beta1.ListAllInterfacesRequest} ListAllInterfacesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListAllInterfacesRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.reflection.v1beta1.ListAllInterfacesRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ListAllInterfacesRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.reflection.v1beta1.ListAllInterfacesRequest} ListAllInterfacesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListAllInterfacesRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListAllInterfacesRequest message. - * @function verify - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListAllInterfacesRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a ListAllInterfacesRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.reflection.v1beta1.ListAllInterfacesRequest} ListAllInterfacesRequest - */ - ListAllInterfacesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.reflection.v1beta1.ListAllInterfacesRequest) - return object; - return new $root.cosmos.base.reflection.v1beta1.ListAllInterfacesRequest(); - }; - - /** - * Creates a plain object from a ListAllInterfacesRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesRequest - * @static - * @param {cosmos.base.reflection.v1beta1.ListAllInterfacesRequest} message ListAllInterfacesRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListAllInterfacesRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this ListAllInterfacesRequest to JSON. - * @function toJSON - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesRequest - * @instance - * @returns {Object.} JSON object - */ - ListAllInterfacesRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ListAllInterfacesRequest; - })(v1beta1.ListAllInterfacesRequest || {}); - - v1beta1.ListAllInterfacesResponse = (function(ListAllInterfacesResponse) { - - /** - * Properties of a ListAllInterfacesResponse. - * @memberof cosmos.base.reflection.v1beta1 - * @interface IListAllInterfacesResponse - * @property {Array.|null} [interfaceNames] ListAllInterfacesResponse interfaceNames - */ - - /** - * Constructs a new ListAllInterfacesResponse. - * @memberof cosmos.base.reflection.v1beta1 - * @classdesc Represents a ListAllInterfacesResponse. - * @implements IListAllInterfacesResponse - * @constructor - * @param {cosmos.base.reflection.v1beta1.IListAllInterfacesResponse=} [properties] Properties to set - */ - function ListAllInterfacesResponse(properties) { - this.interfaceNames = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ListAllInterfacesResponse interfaceNames. - * @member {Array.} interfaceNames - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesResponse - * @instance - */ - ListAllInterfacesResponse.prototype.interfaceNames = $util.emptyArray; - - /** - * Creates a new ListAllInterfacesResponse instance using the specified properties. - * @function create - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesResponse - * @static - * @param {cosmos.base.reflection.v1beta1.IListAllInterfacesResponse=} [properties] Properties to set - * @returns {cosmos.base.reflection.v1beta1.ListAllInterfacesResponse} ListAllInterfacesResponse instance - */ - ListAllInterfacesResponse.create = function create(properties) { - return new ListAllInterfacesResponse(properties); - }; - - /** - * Encodes the specified ListAllInterfacesResponse message. Does not implicitly {@link cosmos.base.reflection.v1beta1.ListAllInterfacesResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesResponse - * @static - * @param {cosmos.base.reflection.v1beta1.IListAllInterfacesResponse} message ListAllInterfacesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListAllInterfacesResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.interfaceNames != null && message.interfaceNames.length) - for (let i = 0; i < message.interfaceNames.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.interfaceNames[i]); - return writer; - }; - - /** - * Encodes the specified ListAllInterfacesResponse message, length delimited. Does not implicitly {@link cosmos.base.reflection.v1beta1.ListAllInterfacesResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesResponse - * @static - * @param {cosmos.base.reflection.v1beta1.IListAllInterfacesResponse} message ListAllInterfacesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListAllInterfacesResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListAllInterfacesResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.reflection.v1beta1.ListAllInterfacesResponse} ListAllInterfacesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListAllInterfacesResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.reflection.v1beta1.ListAllInterfacesResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.interfaceNames && message.interfaceNames.length)) - message.interfaceNames = []; - message.interfaceNames.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ListAllInterfacesResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.reflection.v1beta1.ListAllInterfacesResponse} ListAllInterfacesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListAllInterfacesResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListAllInterfacesResponse message. - * @function verify - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListAllInterfacesResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.interfaceNames != null && message.hasOwnProperty("interfaceNames")) { - if (!Array.isArray(message.interfaceNames)) - return "interfaceNames: array expected"; - for (let i = 0; i < message.interfaceNames.length; ++i) - if (!$util.isString(message.interfaceNames[i])) - return "interfaceNames: string[] expected"; - } - return null; - }; - - /** - * Creates a ListAllInterfacesResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.reflection.v1beta1.ListAllInterfacesResponse} ListAllInterfacesResponse - */ - ListAllInterfacesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.reflection.v1beta1.ListAllInterfacesResponse) - return object; - let message = new $root.cosmos.base.reflection.v1beta1.ListAllInterfacesResponse(); - if (object.interfaceNames) { - if (!Array.isArray(object.interfaceNames)) - throw TypeError(".cosmos.base.reflection.v1beta1.ListAllInterfacesResponse.interfaceNames: array expected"); - message.interfaceNames = []; - for (let i = 0; i < object.interfaceNames.length; ++i) - message.interfaceNames[i] = String(object.interfaceNames[i]); - } - return message; - }; - - /** - * Creates a plain object from a ListAllInterfacesResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesResponse - * @static - * @param {cosmos.base.reflection.v1beta1.ListAllInterfacesResponse} message ListAllInterfacesResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListAllInterfacesResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.interfaceNames = []; - if (message.interfaceNames && message.interfaceNames.length) { - object.interfaceNames = []; - for (let j = 0; j < message.interfaceNames.length; ++j) - object.interfaceNames[j] = message.interfaceNames[j]; - } - return object; - }; - - /** - * Converts this ListAllInterfacesResponse to JSON. - * @function toJSON - * @memberof cosmos.base.reflection.v1beta1.ListAllInterfacesResponse - * @instance - * @returns {Object.} JSON object - */ - ListAllInterfacesResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ListAllInterfacesResponse; - })(v1beta1.ListAllInterfacesResponse || {}); - - v1beta1.ListImplementationsRequest = (function(ListImplementationsRequest) { - - /** - * Properties of a ListImplementationsRequest. - * @memberof cosmos.base.reflection.v1beta1 - * @interface IListImplementationsRequest - * @property {string|null} [interfaceName] ListImplementationsRequest interfaceName - */ - - /** - * Constructs a new ListImplementationsRequest. - * @memberof cosmos.base.reflection.v1beta1 - * @classdesc Represents a ListImplementationsRequest. - * @implements IListImplementationsRequest - * @constructor - * @param {cosmos.base.reflection.v1beta1.IListImplementationsRequest=} [properties] Properties to set - */ - function ListImplementationsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ListImplementationsRequest interfaceName. - * @member {string} interfaceName - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsRequest - * @instance - */ - ListImplementationsRequest.prototype.interfaceName = ""; - - /** - * Creates a new ListImplementationsRequest instance using the specified properties. - * @function create - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsRequest - * @static - * @param {cosmos.base.reflection.v1beta1.IListImplementationsRequest=} [properties] Properties to set - * @returns {cosmos.base.reflection.v1beta1.ListImplementationsRequest} ListImplementationsRequest instance - */ - ListImplementationsRequest.create = function create(properties) { - return new ListImplementationsRequest(properties); - }; - - /** - * Encodes the specified ListImplementationsRequest message. Does not implicitly {@link cosmos.base.reflection.v1beta1.ListImplementationsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsRequest - * @static - * @param {cosmos.base.reflection.v1beta1.IListImplementationsRequest} message ListImplementationsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListImplementationsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.interfaceName != null && Object.hasOwnProperty.call(message, "interfaceName")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.interfaceName); - return writer; - }; - - /** - * Encodes the specified ListImplementationsRequest message, length delimited. Does not implicitly {@link cosmos.base.reflection.v1beta1.ListImplementationsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsRequest - * @static - * @param {cosmos.base.reflection.v1beta1.IListImplementationsRequest} message ListImplementationsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListImplementationsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListImplementationsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.reflection.v1beta1.ListImplementationsRequest} ListImplementationsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListImplementationsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.reflection.v1beta1.ListImplementationsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.interfaceName = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ListImplementationsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.reflection.v1beta1.ListImplementationsRequest} ListImplementationsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListImplementationsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListImplementationsRequest message. - * @function verify - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListImplementationsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.interfaceName != null && message.hasOwnProperty("interfaceName")) - if (!$util.isString(message.interfaceName)) - return "interfaceName: string expected"; - return null; - }; - - /** - * Creates a ListImplementationsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.reflection.v1beta1.ListImplementationsRequest} ListImplementationsRequest - */ - ListImplementationsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.reflection.v1beta1.ListImplementationsRequest) - return object; - let message = new $root.cosmos.base.reflection.v1beta1.ListImplementationsRequest(); - if (object.interfaceName != null) - message.interfaceName = String(object.interfaceName); - return message; - }; - - /** - * Creates a plain object from a ListImplementationsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsRequest - * @static - * @param {cosmos.base.reflection.v1beta1.ListImplementationsRequest} message ListImplementationsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListImplementationsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.interfaceName = ""; - if (message.interfaceName != null && message.hasOwnProperty("interfaceName")) - object.interfaceName = message.interfaceName; - return object; - }; - - /** - * Converts this ListImplementationsRequest to JSON. - * @function toJSON - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsRequest - * @instance - * @returns {Object.} JSON object - */ - ListImplementationsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ListImplementationsRequest; - })(v1beta1.ListImplementationsRequest || {}); - - v1beta1.ListImplementationsResponse = (function(ListImplementationsResponse) { - - /** - * Properties of a ListImplementationsResponse. - * @memberof cosmos.base.reflection.v1beta1 - * @interface IListImplementationsResponse - * @property {Array.|null} [implementationMessageNames] ListImplementationsResponse implementationMessageNames - */ - - /** - * Constructs a new ListImplementationsResponse. - * @memberof cosmos.base.reflection.v1beta1 - * @classdesc Represents a ListImplementationsResponse. - * @implements IListImplementationsResponse - * @constructor - * @param {cosmos.base.reflection.v1beta1.IListImplementationsResponse=} [properties] Properties to set - */ - function ListImplementationsResponse(properties) { - this.implementationMessageNames = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ListImplementationsResponse implementationMessageNames. - * @member {Array.} implementationMessageNames - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsResponse - * @instance - */ - ListImplementationsResponse.prototype.implementationMessageNames = $util.emptyArray; - - /** - * Creates a new ListImplementationsResponse instance using the specified properties. - * @function create - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsResponse - * @static - * @param {cosmos.base.reflection.v1beta1.IListImplementationsResponse=} [properties] Properties to set - * @returns {cosmos.base.reflection.v1beta1.ListImplementationsResponse} ListImplementationsResponse instance - */ - ListImplementationsResponse.create = function create(properties) { - return new ListImplementationsResponse(properties); - }; - - /** - * Encodes the specified ListImplementationsResponse message. Does not implicitly {@link cosmos.base.reflection.v1beta1.ListImplementationsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsResponse - * @static - * @param {cosmos.base.reflection.v1beta1.IListImplementationsResponse} message ListImplementationsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListImplementationsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.implementationMessageNames != null && message.implementationMessageNames.length) - for (let i = 0; i < message.implementationMessageNames.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.implementationMessageNames[i]); - return writer; - }; - - /** - * Encodes the specified ListImplementationsResponse message, length delimited. Does not implicitly {@link cosmos.base.reflection.v1beta1.ListImplementationsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsResponse - * @static - * @param {cosmos.base.reflection.v1beta1.IListImplementationsResponse} message ListImplementationsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ListImplementationsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ListImplementationsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.reflection.v1beta1.ListImplementationsResponse} ListImplementationsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListImplementationsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.reflection.v1beta1.ListImplementationsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.implementationMessageNames && message.implementationMessageNames.length)) - message.implementationMessageNames = []; - message.implementationMessageNames.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ListImplementationsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.reflection.v1beta1.ListImplementationsResponse} ListImplementationsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ListImplementationsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ListImplementationsResponse message. - * @function verify - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ListImplementationsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.implementationMessageNames != null && message.hasOwnProperty("implementationMessageNames")) { - if (!Array.isArray(message.implementationMessageNames)) - return "implementationMessageNames: array expected"; - for (let i = 0; i < message.implementationMessageNames.length; ++i) - if (!$util.isString(message.implementationMessageNames[i])) - return "implementationMessageNames: string[] expected"; - } - return null; - }; - - /** - * Creates a ListImplementationsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.reflection.v1beta1.ListImplementationsResponse} ListImplementationsResponse - */ - ListImplementationsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.reflection.v1beta1.ListImplementationsResponse) - return object; - let message = new $root.cosmos.base.reflection.v1beta1.ListImplementationsResponse(); - if (object.implementationMessageNames) { - if (!Array.isArray(object.implementationMessageNames)) - throw TypeError(".cosmos.base.reflection.v1beta1.ListImplementationsResponse.implementationMessageNames: array expected"); - message.implementationMessageNames = []; - for (let i = 0; i < object.implementationMessageNames.length; ++i) - message.implementationMessageNames[i] = String(object.implementationMessageNames[i]); - } - return message; - }; - - /** - * Creates a plain object from a ListImplementationsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsResponse - * @static - * @param {cosmos.base.reflection.v1beta1.ListImplementationsResponse} message ListImplementationsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ListImplementationsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.implementationMessageNames = []; - if (message.implementationMessageNames && message.implementationMessageNames.length) { - object.implementationMessageNames = []; - for (let j = 0; j < message.implementationMessageNames.length; ++j) - object.implementationMessageNames[j] = message.implementationMessageNames[j]; - } - return object; - }; - - /** - * Converts this ListImplementationsResponse to JSON. - * @function toJSON - * @memberof cosmos.base.reflection.v1beta1.ListImplementationsResponse - * @instance - * @returns {Object.} JSON object - */ - ListImplementationsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ListImplementationsResponse; - })(v1beta1.ListImplementationsResponse || {}); - - return v1beta1; - })(reflection.v1beta1 || {}); - - return reflection; - })(base.reflection || {}); - - /** - * Namespace snapshots. - * @memberof cosmos.base - * @namespace - */ - - base.snapshots = (function(snapshots) { - - /** - * Namespace v1beta1. - * @memberof cosmos.base.snapshots - * @namespace - */ - - snapshots.v1beta1 = (function(v1beta1) { - - v1beta1.Snapshot = (function(Snapshot) { - - /** - * Properties of a Snapshot. - * @memberof cosmos.base.snapshots.v1beta1 - * @interface ISnapshot - * @property {number|Long|null} [height] Snapshot height - * @property {number|null} [format] Snapshot format - * @property {number|null} [chunks] Snapshot chunks - * @property {Uint8Array|null} [hash] Snapshot hash - * @property {cosmos.base.snapshots.v1beta1.IMetadata|null} [metadata] Snapshot metadata - */ - - /** - * Constructs a new Snapshot. - * @memberof cosmos.base.snapshots.v1beta1 - * @classdesc Represents a Snapshot. - * @implements ISnapshot - * @constructor - * @param {cosmos.base.snapshots.v1beta1.ISnapshot=} [properties] Properties to set - */ - function Snapshot(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Snapshot height. - * @member {number|Long} height - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @instance - */ - Snapshot.prototype.height = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Snapshot format. - * @member {number} format - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @instance - */ - Snapshot.prototype.format = 0; - - /** - * Snapshot chunks. - * @member {number} chunks - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @instance - */ - Snapshot.prototype.chunks = 0; - - /** - * Snapshot hash. - * @member {Uint8Array} hash - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @instance - */ - Snapshot.prototype.hash = $util.newBuffer([]); - - /** - * Snapshot metadata. - * @member {cosmos.base.snapshots.v1beta1.IMetadata|null|undefined} metadata - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @instance - */ - Snapshot.prototype.metadata = null; - - /** - * Creates a new Snapshot instance using the specified properties. - * @function create - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @static - * @param {cosmos.base.snapshots.v1beta1.ISnapshot=} [properties] Properties to set - * @returns {cosmos.base.snapshots.v1beta1.Snapshot} Snapshot instance - */ - Snapshot.create = function create(properties) { - return new Snapshot(properties); - }; - - /** - * Encodes the specified Snapshot message. Does not implicitly {@link cosmos.base.snapshots.v1beta1.Snapshot.verify|verify} messages. - * @function encode - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @static - * @param {cosmos.base.snapshots.v1beta1.ISnapshot} message Snapshot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Snapshot.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.height); - if (message.format != null && Object.hasOwnProperty.call(message, "format")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.format); - if (message.chunks != null && Object.hasOwnProperty.call(message, "chunks")) - writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.chunks); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.hash); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - $root.cosmos.base.snapshots.v1beta1.Metadata.encode(message.metadata, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Snapshot message, length delimited. Does not implicitly {@link cosmos.base.snapshots.v1beta1.Snapshot.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @static - * @param {cosmos.base.snapshots.v1beta1.ISnapshot} message Snapshot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Snapshot.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Snapshot message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.snapshots.v1beta1.Snapshot} Snapshot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Snapshot.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.snapshots.v1beta1.Snapshot(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.uint64(); - break; - case 2: - message.format = reader.uint32(); - break; - case 3: - message.chunks = reader.uint32(); - break; - case 4: - message.hash = reader.bytes(); - break; - case 5: - message.metadata = $root.cosmos.base.snapshots.v1beta1.Metadata.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Snapshot message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.snapshots.v1beta1.Snapshot} Snapshot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Snapshot.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Snapshot message. - * @function verify - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Snapshot.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.format != null && message.hasOwnProperty("format")) - if (!$util.isInteger(message.format)) - return "format: integer expected"; - if (message.chunks != null && message.hasOwnProperty("chunks")) - if (!$util.isInteger(message.chunks)) - return "chunks: integer expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) - return "hash: buffer expected"; - if (message.metadata != null && message.hasOwnProperty("metadata")) { - let error = $root.cosmos.base.snapshots.v1beta1.Metadata.verify(message.metadata); - if (error) - return "metadata." + error; - } - return null; - }; - - /** - * Creates a Snapshot message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.snapshots.v1beta1.Snapshot} Snapshot - */ - Snapshot.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.snapshots.v1beta1.Snapshot) - return object; - let message = new $root.cosmos.base.snapshots.v1beta1.Snapshot(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = true; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(true); - if (object.format != null) - message.format = object.format >>> 0; - if (object.chunks != null) - message.chunks = object.chunks >>> 0; - if (object.hash != null) - if (typeof object.hash === "string") - $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); - else if (object.hash.length) - message.hash = object.hash; - if (object.metadata != null) { - if (typeof object.metadata !== "object") - throw TypeError(".cosmos.base.snapshots.v1beta1.Snapshot.metadata: object expected"); - message.metadata = $root.cosmos.base.snapshots.v1beta1.Metadata.fromObject(object.metadata); - } - return message; - }; - - /** - * Creates a plain object from a Snapshot message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @static - * @param {cosmos.base.snapshots.v1beta1.Snapshot} message Snapshot - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Snapshot.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.format = 0; - object.chunks = 0; - if (options.bytes === String) - object.hash = ""; - else { - object.hash = []; - if (options.bytes !== Array) - object.hash = $util.newBuffer(object.hash); - } - object.metadata = null; - } - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber(true) : message.height; - if (message.format != null && message.hasOwnProperty("format")) - object.format = message.format; - if (message.chunks != null && message.hasOwnProperty("chunks")) - object.chunks = message.chunks; - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = $root.cosmos.base.snapshots.v1beta1.Metadata.toObject(message.metadata, options); - return object; - }; - - /** - * Converts this Snapshot to JSON. - * @function toJSON - * @memberof cosmos.base.snapshots.v1beta1.Snapshot - * @instance - * @returns {Object.} JSON object - */ - Snapshot.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Snapshot; - })(v1beta1.Snapshot || {}); - - v1beta1.Metadata = (function(Metadata) { - - /** - * Properties of a Metadata. - * @memberof cosmos.base.snapshots.v1beta1 - * @interface IMetadata - * @property {Array.|null} [chunkHashes] Metadata chunkHashes - */ - - /** - * Constructs a new Metadata. - * @memberof cosmos.base.snapshots.v1beta1 - * @classdesc Represents a Metadata. - * @implements IMetadata - * @constructor - * @param {cosmos.base.snapshots.v1beta1.IMetadata=} [properties] Properties to set - */ - function Metadata(properties) { - this.chunkHashes = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Metadata chunkHashes. - * @member {Array.} chunkHashes - * @memberof cosmos.base.snapshots.v1beta1.Metadata - * @instance - */ - Metadata.prototype.chunkHashes = $util.emptyArray; - - /** - * Creates a new Metadata instance using the specified properties. - * @function create - * @memberof cosmos.base.snapshots.v1beta1.Metadata - * @static - * @param {cosmos.base.snapshots.v1beta1.IMetadata=} [properties] Properties to set - * @returns {cosmos.base.snapshots.v1beta1.Metadata} Metadata instance - */ - Metadata.create = function create(properties) { - return new Metadata(properties); - }; - - /** - * Encodes the specified Metadata message. Does not implicitly {@link cosmos.base.snapshots.v1beta1.Metadata.verify|verify} messages. - * @function encode - * @memberof cosmos.base.snapshots.v1beta1.Metadata - * @static - * @param {cosmos.base.snapshots.v1beta1.IMetadata} message Metadata message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Metadata.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.chunkHashes != null && message.chunkHashes.length) - for (let i = 0; i < message.chunkHashes.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.chunkHashes[i]); - return writer; - }; - - /** - * Encodes the specified Metadata message, length delimited. Does not implicitly {@link cosmos.base.snapshots.v1beta1.Metadata.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.snapshots.v1beta1.Metadata - * @static - * @param {cosmos.base.snapshots.v1beta1.IMetadata} message Metadata message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Metadata.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Metadata message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.snapshots.v1beta1.Metadata - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.snapshots.v1beta1.Metadata} Metadata - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Metadata.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.snapshots.v1beta1.Metadata(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.chunkHashes && message.chunkHashes.length)) - message.chunkHashes = []; - message.chunkHashes.push(reader.bytes()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Metadata message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.snapshots.v1beta1.Metadata - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.snapshots.v1beta1.Metadata} Metadata - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Metadata.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Metadata message. - * @function verify - * @memberof cosmos.base.snapshots.v1beta1.Metadata - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Metadata.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.chunkHashes != null && message.hasOwnProperty("chunkHashes")) { - if (!Array.isArray(message.chunkHashes)) - return "chunkHashes: array expected"; - for (let i = 0; i < message.chunkHashes.length; ++i) - if (!(message.chunkHashes[i] && typeof message.chunkHashes[i].length === "number" || $util.isString(message.chunkHashes[i]))) - return "chunkHashes: buffer[] expected"; - } - return null; - }; - - /** - * Creates a Metadata message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.snapshots.v1beta1.Metadata - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.snapshots.v1beta1.Metadata} Metadata - */ - Metadata.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.snapshots.v1beta1.Metadata) - return object; - let message = new $root.cosmos.base.snapshots.v1beta1.Metadata(); - if (object.chunkHashes) { - if (!Array.isArray(object.chunkHashes)) - throw TypeError(".cosmos.base.snapshots.v1beta1.Metadata.chunkHashes: array expected"); - message.chunkHashes = []; - for (let i = 0; i < object.chunkHashes.length; ++i) - if (typeof object.chunkHashes[i] === "string") - $util.base64.decode(object.chunkHashes[i], message.chunkHashes[i] = $util.newBuffer($util.base64.length(object.chunkHashes[i])), 0); - else if (object.chunkHashes[i].length) - message.chunkHashes[i] = object.chunkHashes[i]; - } - return message; - }; - - /** - * Creates a plain object from a Metadata message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.snapshots.v1beta1.Metadata - * @static - * @param {cosmos.base.snapshots.v1beta1.Metadata} message Metadata - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Metadata.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.chunkHashes = []; - if (message.chunkHashes && message.chunkHashes.length) { - object.chunkHashes = []; - for (let j = 0; j < message.chunkHashes.length; ++j) - object.chunkHashes[j] = options.bytes === String ? $util.base64.encode(message.chunkHashes[j], 0, message.chunkHashes[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.chunkHashes[j]) : message.chunkHashes[j]; - } - return object; - }; - - /** - * Converts this Metadata to JSON. - * @function toJSON - * @memberof cosmos.base.snapshots.v1beta1.Metadata - * @instance - * @returns {Object.} JSON object - */ - Metadata.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Metadata; - })(v1beta1.Metadata || {}); - - return v1beta1; - })(snapshots.v1beta1 || {}); - - return snapshots; - })(base.snapshots || {}); - - /** - * Namespace store. - * @memberof cosmos.base - * @namespace - */ - - base.store = (function(store) { - - /** - * Namespace v1beta1. - * @memberof cosmos.base.store - * @namespace - */ - - store.v1beta1 = (function(v1beta1) { - - v1beta1.CommitInfo = (function(CommitInfo) { - - /** - * Properties of a CommitInfo. - * @memberof cosmos.base.store.v1beta1 - * @interface ICommitInfo - * @property {number|Long|null} [version] CommitInfo version - * @property {Array.|null} [storeInfos] CommitInfo storeInfos - */ - - /** - * Constructs a new CommitInfo. - * @memberof cosmos.base.store.v1beta1 - * @classdesc Represents a CommitInfo. - * @implements ICommitInfo - * @constructor - * @param {cosmos.base.store.v1beta1.ICommitInfo=} [properties] Properties to set - */ - function CommitInfo(properties) { - this.storeInfos = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CommitInfo version. - * @member {number|Long} version - * @memberof cosmos.base.store.v1beta1.CommitInfo - * @instance - */ - CommitInfo.prototype.version = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * CommitInfo storeInfos. - * @member {Array.} storeInfos - * @memberof cosmos.base.store.v1beta1.CommitInfo - * @instance - */ - CommitInfo.prototype.storeInfos = $util.emptyArray; - - /** - * Creates a new CommitInfo instance using the specified properties. - * @function create - * @memberof cosmos.base.store.v1beta1.CommitInfo - * @static - * @param {cosmos.base.store.v1beta1.ICommitInfo=} [properties] Properties to set - * @returns {cosmos.base.store.v1beta1.CommitInfo} CommitInfo instance - */ - CommitInfo.create = function create(properties) { - return new CommitInfo(properties); - }; - - /** - * Encodes the specified CommitInfo message. Does not implicitly {@link cosmos.base.store.v1beta1.CommitInfo.verify|verify} messages. - * @function encode - * @memberof cosmos.base.store.v1beta1.CommitInfo - * @static - * @param {cosmos.base.store.v1beta1.ICommitInfo} message CommitInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommitInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.version); - if (message.storeInfos != null && message.storeInfos.length) - for (let i = 0; i < message.storeInfos.length; ++i) - $root.cosmos.base.store.v1beta1.StoreInfo.encode(message.storeInfos[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CommitInfo message, length delimited. Does not implicitly {@link cosmos.base.store.v1beta1.CommitInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.store.v1beta1.CommitInfo - * @static - * @param {cosmos.base.store.v1beta1.ICommitInfo} message CommitInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommitInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CommitInfo message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.store.v1beta1.CommitInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.store.v1beta1.CommitInfo} CommitInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommitInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.store.v1beta1.CommitInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.version = reader.int64(); - break; - case 2: - if (!(message.storeInfos && message.storeInfos.length)) - message.storeInfos = []; - message.storeInfos.push($root.cosmos.base.store.v1beta1.StoreInfo.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CommitInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.store.v1beta1.CommitInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.store.v1beta1.CommitInfo} CommitInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommitInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CommitInfo message. - * @function verify - * @memberof cosmos.base.store.v1beta1.CommitInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CommitInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isInteger(message.version) && !(message.version && $util.isInteger(message.version.low) && $util.isInteger(message.version.high))) - return "version: integer|Long expected"; - if (message.storeInfos != null && message.hasOwnProperty("storeInfos")) { - if (!Array.isArray(message.storeInfos)) - return "storeInfos: array expected"; - for (let i = 0; i < message.storeInfos.length; ++i) { - let error = $root.cosmos.base.store.v1beta1.StoreInfo.verify(message.storeInfos[i]); - if (error) - return "storeInfos." + error; - } - } - return null; - }; - - /** - * Creates a CommitInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.store.v1beta1.CommitInfo - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.store.v1beta1.CommitInfo} CommitInfo - */ - CommitInfo.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.store.v1beta1.CommitInfo) - return object; - let message = new $root.cosmos.base.store.v1beta1.CommitInfo(); - if (object.version != null) - if ($util.Long) - (message.version = $util.Long.fromValue(object.version)).unsigned = false; - else if (typeof object.version === "string") - message.version = parseInt(object.version, 10); - else if (typeof object.version === "number") - message.version = object.version; - else if (typeof object.version === "object") - message.version = new $util.LongBits(object.version.low >>> 0, object.version.high >>> 0).toNumber(); - if (object.storeInfos) { - if (!Array.isArray(object.storeInfos)) - throw TypeError(".cosmos.base.store.v1beta1.CommitInfo.storeInfos: array expected"); - message.storeInfos = []; - for (let i = 0; i < object.storeInfos.length; ++i) { - if (typeof object.storeInfos[i] !== "object") - throw TypeError(".cosmos.base.store.v1beta1.CommitInfo.storeInfos: object expected"); - message.storeInfos[i] = $root.cosmos.base.store.v1beta1.StoreInfo.fromObject(object.storeInfos[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a CommitInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.store.v1beta1.CommitInfo - * @static - * @param {cosmos.base.store.v1beta1.CommitInfo} message CommitInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CommitInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.storeInfos = []; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.version = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.version = options.longs === String ? "0" : 0; - if (message.version != null && message.hasOwnProperty("version")) - if (typeof message.version === "number") - object.version = options.longs === String ? String(message.version) : message.version; - else - object.version = options.longs === String ? $util.Long.prototype.toString.call(message.version) : options.longs === Number ? new $util.LongBits(message.version.low >>> 0, message.version.high >>> 0).toNumber() : message.version; - if (message.storeInfos && message.storeInfos.length) { - object.storeInfos = []; - for (let j = 0; j < message.storeInfos.length; ++j) - object.storeInfos[j] = $root.cosmos.base.store.v1beta1.StoreInfo.toObject(message.storeInfos[j], options); - } - return object; - }; - - /** - * Converts this CommitInfo to JSON. - * @function toJSON - * @memberof cosmos.base.store.v1beta1.CommitInfo - * @instance - * @returns {Object.} JSON object - */ - CommitInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CommitInfo; - })(v1beta1.CommitInfo || {}); - - v1beta1.StoreInfo = (function(StoreInfo) { - - /** - * Properties of a StoreInfo. - * @memberof cosmos.base.store.v1beta1 - * @interface IStoreInfo - * @property {string|null} [name] StoreInfo name - * @property {cosmos.base.store.v1beta1.ICommitID|null} [commitId] StoreInfo commitId - */ - - /** - * Constructs a new StoreInfo. - * @memberof cosmos.base.store.v1beta1 - * @classdesc Represents a StoreInfo. - * @implements IStoreInfo - * @constructor - * @param {cosmos.base.store.v1beta1.IStoreInfo=} [properties] Properties to set - */ - function StoreInfo(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * StoreInfo name. - * @member {string} name - * @memberof cosmos.base.store.v1beta1.StoreInfo - * @instance - */ - StoreInfo.prototype.name = ""; - - /** - * StoreInfo commitId. - * @member {cosmos.base.store.v1beta1.ICommitID|null|undefined} commitId - * @memberof cosmos.base.store.v1beta1.StoreInfo - * @instance - */ - StoreInfo.prototype.commitId = null; - - /** - * Creates a new StoreInfo instance using the specified properties. - * @function create - * @memberof cosmos.base.store.v1beta1.StoreInfo - * @static - * @param {cosmos.base.store.v1beta1.IStoreInfo=} [properties] Properties to set - * @returns {cosmos.base.store.v1beta1.StoreInfo} StoreInfo instance - */ - StoreInfo.create = function create(properties) { - return new StoreInfo(properties); - }; - - /** - * Encodes the specified StoreInfo message. Does not implicitly {@link cosmos.base.store.v1beta1.StoreInfo.verify|verify} messages. - * @function encode - * @memberof cosmos.base.store.v1beta1.StoreInfo - * @static - * @param {cosmos.base.store.v1beta1.IStoreInfo} message StoreInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - StoreInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.commitId != null && Object.hasOwnProperty.call(message, "commitId")) - $root.cosmos.base.store.v1beta1.CommitID.encode(message.commitId, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified StoreInfo message, length delimited. Does not implicitly {@link cosmos.base.store.v1beta1.StoreInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.store.v1beta1.StoreInfo - * @static - * @param {cosmos.base.store.v1beta1.IStoreInfo} message StoreInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - StoreInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a StoreInfo message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.store.v1beta1.StoreInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.store.v1beta1.StoreInfo} StoreInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - StoreInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.store.v1beta1.StoreInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.commitId = $root.cosmos.base.store.v1beta1.CommitID.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a StoreInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.store.v1beta1.StoreInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.store.v1beta1.StoreInfo} StoreInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - StoreInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a StoreInfo message. - * @function verify - * @memberof cosmos.base.store.v1beta1.StoreInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - StoreInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.commitId != null && message.hasOwnProperty("commitId")) { - let error = $root.cosmos.base.store.v1beta1.CommitID.verify(message.commitId); - if (error) - return "commitId." + error; - } - return null; - }; - - /** - * Creates a StoreInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.store.v1beta1.StoreInfo - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.store.v1beta1.StoreInfo} StoreInfo - */ - StoreInfo.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.store.v1beta1.StoreInfo) - return object; - let message = new $root.cosmos.base.store.v1beta1.StoreInfo(); - if (object.name != null) - message.name = String(object.name); - if (object.commitId != null) { - if (typeof object.commitId !== "object") - throw TypeError(".cosmos.base.store.v1beta1.StoreInfo.commitId: object expected"); - message.commitId = $root.cosmos.base.store.v1beta1.CommitID.fromObject(object.commitId); - } - return message; - }; - - /** - * Creates a plain object from a StoreInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.store.v1beta1.StoreInfo - * @static - * @param {cosmos.base.store.v1beta1.StoreInfo} message StoreInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - StoreInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.name = ""; - object.commitId = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.commitId != null && message.hasOwnProperty("commitId")) - object.commitId = $root.cosmos.base.store.v1beta1.CommitID.toObject(message.commitId, options); - return object; - }; - - /** - * Converts this StoreInfo to JSON. - * @function toJSON - * @memberof cosmos.base.store.v1beta1.StoreInfo - * @instance - * @returns {Object.} JSON object - */ - StoreInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return StoreInfo; - })(v1beta1.StoreInfo || {}); - - v1beta1.CommitID = (function(CommitID) { - - /** - * Properties of a CommitID. - * @memberof cosmos.base.store.v1beta1 - * @interface ICommitID - * @property {number|Long|null} [version] CommitID version - * @property {Uint8Array|null} [hash] CommitID hash - */ - - /** - * Constructs a new CommitID. - * @memberof cosmos.base.store.v1beta1 - * @classdesc Represents a CommitID. - * @implements ICommitID - * @constructor - * @param {cosmos.base.store.v1beta1.ICommitID=} [properties] Properties to set - */ - function CommitID(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CommitID version. - * @member {number|Long} version - * @memberof cosmos.base.store.v1beta1.CommitID - * @instance - */ - CommitID.prototype.version = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * CommitID hash. - * @member {Uint8Array} hash - * @memberof cosmos.base.store.v1beta1.CommitID - * @instance - */ - CommitID.prototype.hash = $util.newBuffer([]); - - /** - * Creates a new CommitID instance using the specified properties. - * @function create - * @memberof cosmos.base.store.v1beta1.CommitID - * @static - * @param {cosmos.base.store.v1beta1.ICommitID=} [properties] Properties to set - * @returns {cosmos.base.store.v1beta1.CommitID} CommitID instance - */ - CommitID.create = function create(properties) { - return new CommitID(properties); - }; - - /** - * Encodes the specified CommitID message. Does not implicitly {@link cosmos.base.store.v1beta1.CommitID.verify|verify} messages. - * @function encode - * @memberof cosmos.base.store.v1beta1.CommitID - * @static - * @param {cosmos.base.store.v1beta1.ICommitID} message CommitID message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommitID.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.version); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.hash); - return writer; - }; - - /** - * Encodes the specified CommitID message, length delimited. Does not implicitly {@link cosmos.base.store.v1beta1.CommitID.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.store.v1beta1.CommitID - * @static - * @param {cosmos.base.store.v1beta1.ICommitID} message CommitID message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommitID.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CommitID message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.store.v1beta1.CommitID - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.store.v1beta1.CommitID} CommitID - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommitID.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.store.v1beta1.CommitID(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.version = reader.int64(); - break; - case 2: - message.hash = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CommitID message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.store.v1beta1.CommitID - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.store.v1beta1.CommitID} CommitID - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommitID.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CommitID message. - * @function verify - * @memberof cosmos.base.store.v1beta1.CommitID - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CommitID.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isInteger(message.version) && !(message.version && $util.isInteger(message.version.low) && $util.isInteger(message.version.high))) - return "version: integer|Long expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) - return "hash: buffer expected"; - return null; - }; - - /** - * Creates a CommitID message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.store.v1beta1.CommitID - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.store.v1beta1.CommitID} CommitID - */ - CommitID.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.store.v1beta1.CommitID) - return object; - let message = new $root.cosmos.base.store.v1beta1.CommitID(); - if (object.version != null) - if ($util.Long) - (message.version = $util.Long.fromValue(object.version)).unsigned = false; - else if (typeof object.version === "string") - message.version = parseInt(object.version, 10); - else if (typeof object.version === "number") - message.version = object.version; - else if (typeof object.version === "object") - message.version = new $util.LongBits(object.version.low >>> 0, object.version.high >>> 0).toNumber(); - if (object.hash != null) - if (typeof object.hash === "string") - $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); - else if (object.hash.length) - message.hash = object.hash; - return message; - }; - - /** - * Creates a plain object from a CommitID message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.store.v1beta1.CommitID - * @static - * @param {cosmos.base.store.v1beta1.CommitID} message CommitID - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CommitID.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.version = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.version = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.hash = ""; - else { - object.hash = []; - if (options.bytes !== Array) - object.hash = $util.newBuffer(object.hash); - } - } - if (message.version != null && message.hasOwnProperty("version")) - if (typeof message.version === "number") - object.version = options.longs === String ? String(message.version) : message.version; - else - object.version = options.longs === String ? $util.Long.prototype.toString.call(message.version) : options.longs === Number ? new $util.LongBits(message.version.low >>> 0, message.version.high >>> 0).toNumber() : message.version; - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; - return object; - }; - - /** - * Converts this CommitID to JSON. - * @function toJSON - * @memberof cosmos.base.store.v1beta1.CommitID - * @instance - * @returns {Object.} JSON object - */ - CommitID.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CommitID; - })(v1beta1.CommitID || {}); - - v1beta1.SnapshotItem = (function(SnapshotItem) { - - /** - * Properties of a SnapshotItem. - * @memberof cosmos.base.store.v1beta1 - * @interface ISnapshotItem - * @property {cosmos.base.store.v1beta1.ISnapshotStoreItem|null} [store] SnapshotItem store - * @property {cosmos.base.store.v1beta1.ISnapshotIAVLItem|null} [iavl] SnapshotItem iavl - */ - - /** - * Constructs a new SnapshotItem. - * @memberof cosmos.base.store.v1beta1 - * @classdesc Represents a SnapshotItem. - * @implements ISnapshotItem - * @constructor - * @param {cosmos.base.store.v1beta1.ISnapshotItem=} [properties] Properties to set - */ - function SnapshotItem(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SnapshotItem store. - * @member {cosmos.base.store.v1beta1.ISnapshotStoreItem|null|undefined} store - * @memberof cosmos.base.store.v1beta1.SnapshotItem - * @instance - */ - SnapshotItem.prototype.store = null; - - /** - * SnapshotItem iavl. - * @member {cosmos.base.store.v1beta1.ISnapshotIAVLItem|null|undefined} iavl - * @memberof cosmos.base.store.v1beta1.SnapshotItem - * @instance - */ - SnapshotItem.prototype.iavl = null; - - // OneOf field names bound to virtual getters and setters - let $oneOfFields; - - /** - * SnapshotItem item. - * @member {"store"|"iavl"|undefined} item - * @memberof cosmos.base.store.v1beta1.SnapshotItem - * @instance - */ - Object.defineProperty(SnapshotItem.prototype, "item", { - get: $util.oneOfGetter($oneOfFields = ["store", "iavl"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new SnapshotItem instance using the specified properties. - * @function create - * @memberof cosmos.base.store.v1beta1.SnapshotItem - * @static - * @param {cosmos.base.store.v1beta1.ISnapshotItem=} [properties] Properties to set - * @returns {cosmos.base.store.v1beta1.SnapshotItem} SnapshotItem instance - */ - SnapshotItem.create = function create(properties) { - return new SnapshotItem(properties); - }; - - /** - * Encodes the specified SnapshotItem message. Does not implicitly {@link cosmos.base.store.v1beta1.SnapshotItem.verify|verify} messages. - * @function encode - * @memberof cosmos.base.store.v1beta1.SnapshotItem - * @static - * @param {cosmos.base.store.v1beta1.ISnapshotItem} message SnapshotItem message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SnapshotItem.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.store != null && Object.hasOwnProperty.call(message, "store")) - $root.cosmos.base.store.v1beta1.SnapshotStoreItem.encode(message.store, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.iavl != null && Object.hasOwnProperty.call(message, "iavl")) - $root.cosmos.base.store.v1beta1.SnapshotIAVLItem.encode(message.iavl, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SnapshotItem message, length delimited. Does not implicitly {@link cosmos.base.store.v1beta1.SnapshotItem.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.store.v1beta1.SnapshotItem - * @static - * @param {cosmos.base.store.v1beta1.ISnapshotItem} message SnapshotItem message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SnapshotItem.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SnapshotItem message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.store.v1beta1.SnapshotItem - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.store.v1beta1.SnapshotItem} SnapshotItem - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SnapshotItem.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.store.v1beta1.SnapshotItem(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.store = $root.cosmos.base.store.v1beta1.SnapshotStoreItem.decode(reader, reader.uint32()); - break; - case 2: - message.iavl = $root.cosmos.base.store.v1beta1.SnapshotIAVLItem.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SnapshotItem message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.store.v1beta1.SnapshotItem - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.store.v1beta1.SnapshotItem} SnapshotItem - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SnapshotItem.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SnapshotItem message. - * @function verify - * @memberof cosmos.base.store.v1beta1.SnapshotItem - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SnapshotItem.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - let properties = {}; - if (message.store != null && message.hasOwnProperty("store")) { - properties.item = 1; - { - let error = $root.cosmos.base.store.v1beta1.SnapshotStoreItem.verify(message.store); - if (error) - return "store." + error; - } - } - if (message.iavl != null && message.hasOwnProperty("iavl")) { - if (properties.item === 1) - return "item: multiple values"; - properties.item = 1; - { - let error = $root.cosmos.base.store.v1beta1.SnapshotIAVLItem.verify(message.iavl); - if (error) - return "iavl." + error; - } - } - return null; - }; - - /** - * Creates a SnapshotItem message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.store.v1beta1.SnapshotItem - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.store.v1beta1.SnapshotItem} SnapshotItem - */ - SnapshotItem.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.store.v1beta1.SnapshotItem) - return object; - let message = new $root.cosmos.base.store.v1beta1.SnapshotItem(); - if (object.store != null) { - if (typeof object.store !== "object") - throw TypeError(".cosmos.base.store.v1beta1.SnapshotItem.store: object expected"); - message.store = $root.cosmos.base.store.v1beta1.SnapshotStoreItem.fromObject(object.store); - } - if (object.iavl != null) { - if (typeof object.iavl !== "object") - throw TypeError(".cosmos.base.store.v1beta1.SnapshotItem.iavl: object expected"); - message.iavl = $root.cosmos.base.store.v1beta1.SnapshotIAVLItem.fromObject(object.iavl); - } - return message; - }; - - /** - * Creates a plain object from a SnapshotItem message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.store.v1beta1.SnapshotItem - * @static - * @param {cosmos.base.store.v1beta1.SnapshotItem} message SnapshotItem - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SnapshotItem.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (message.store != null && message.hasOwnProperty("store")) { - object.store = $root.cosmos.base.store.v1beta1.SnapshotStoreItem.toObject(message.store, options); - if (options.oneofs) - object.item = "store"; - } - if (message.iavl != null && message.hasOwnProperty("iavl")) { - object.iavl = $root.cosmos.base.store.v1beta1.SnapshotIAVLItem.toObject(message.iavl, options); - if (options.oneofs) - object.item = "iavl"; - } - return object; - }; - - /** - * Converts this SnapshotItem to JSON. - * @function toJSON - * @memberof cosmos.base.store.v1beta1.SnapshotItem - * @instance - * @returns {Object.} JSON object - */ - SnapshotItem.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SnapshotItem; - })(v1beta1.SnapshotItem || {}); - - v1beta1.SnapshotStoreItem = (function(SnapshotStoreItem) { - - /** - * Properties of a SnapshotStoreItem. - * @memberof cosmos.base.store.v1beta1 - * @interface ISnapshotStoreItem - * @property {string|null} [name] SnapshotStoreItem name - */ - - /** - * Constructs a new SnapshotStoreItem. - * @memberof cosmos.base.store.v1beta1 - * @classdesc Represents a SnapshotStoreItem. - * @implements ISnapshotStoreItem - * @constructor - * @param {cosmos.base.store.v1beta1.ISnapshotStoreItem=} [properties] Properties to set - */ - function SnapshotStoreItem(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SnapshotStoreItem name. - * @member {string} name - * @memberof cosmos.base.store.v1beta1.SnapshotStoreItem - * @instance - */ - SnapshotStoreItem.prototype.name = ""; - - /** - * Creates a new SnapshotStoreItem instance using the specified properties. - * @function create - * @memberof cosmos.base.store.v1beta1.SnapshotStoreItem - * @static - * @param {cosmos.base.store.v1beta1.ISnapshotStoreItem=} [properties] Properties to set - * @returns {cosmos.base.store.v1beta1.SnapshotStoreItem} SnapshotStoreItem instance - */ - SnapshotStoreItem.create = function create(properties) { - return new SnapshotStoreItem(properties); - }; - - /** - * Encodes the specified SnapshotStoreItem message. Does not implicitly {@link cosmos.base.store.v1beta1.SnapshotStoreItem.verify|verify} messages. - * @function encode - * @memberof cosmos.base.store.v1beta1.SnapshotStoreItem - * @static - * @param {cosmos.base.store.v1beta1.ISnapshotStoreItem} message SnapshotStoreItem message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SnapshotStoreItem.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - return writer; - }; - - /** - * Encodes the specified SnapshotStoreItem message, length delimited. Does not implicitly {@link cosmos.base.store.v1beta1.SnapshotStoreItem.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.store.v1beta1.SnapshotStoreItem - * @static - * @param {cosmos.base.store.v1beta1.ISnapshotStoreItem} message SnapshotStoreItem message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SnapshotStoreItem.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SnapshotStoreItem message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.store.v1beta1.SnapshotStoreItem - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.store.v1beta1.SnapshotStoreItem} SnapshotStoreItem - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SnapshotStoreItem.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.store.v1beta1.SnapshotStoreItem(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SnapshotStoreItem message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.store.v1beta1.SnapshotStoreItem - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.store.v1beta1.SnapshotStoreItem} SnapshotStoreItem - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SnapshotStoreItem.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SnapshotStoreItem message. - * @function verify - * @memberof cosmos.base.store.v1beta1.SnapshotStoreItem - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SnapshotStoreItem.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - return null; - }; - - /** - * Creates a SnapshotStoreItem message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.store.v1beta1.SnapshotStoreItem - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.store.v1beta1.SnapshotStoreItem} SnapshotStoreItem - */ - SnapshotStoreItem.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.store.v1beta1.SnapshotStoreItem) - return object; - let message = new $root.cosmos.base.store.v1beta1.SnapshotStoreItem(); - if (object.name != null) - message.name = String(object.name); - return message; - }; - - /** - * Creates a plain object from a SnapshotStoreItem message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.store.v1beta1.SnapshotStoreItem - * @static - * @param {cosmos.base.store.v1beta1.SnapshotStoreItem} message SnapshotStoreItem - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SnapshotStoreItem.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.name = ""; - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - return object; - }; - - /** - * Converts this SnapshotStoreItem to JSON. - * @function toJSON - * @memberof cosmos.base.store.v1beta1.SnapshotStoreItem - * @instance - * @returns {Object.} JSON object - */ - SnapshotStoreItem.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SnapshotStoreItem; - })(v1beta1.SnapshotStoreItem || {}); - - v1beta1.SnapshotIAVLItem = (function(SnapshotIAVLItem) { - - /** - * Properties of a SnapshotIAVLItem. - * @memberof cosmos.base.store.v1beta1 - * @interface ISnapshotIAVLItem - * @property {Uint8Array|null} [key] SnapshotIAVLItem key - * @property {Uint8Array|null} [value] SnapshotIAVLItem value - * @property {number|Long|null} [version] SnapshotIAVLItem version - * @property {number|null} [height] SnapshotIAVLItem height - */ - - /** - * Constructs a new SnapshotIAVLItem. - * @memberof cosmos.base.store.v1beta1 - * @classdesc Represents a SnapshotIAVLItem. - * @implements ISnapshotIAVLItem - * @constructor - * @param {cosmos.base.store.v1beta1.ISnapshotIAVLItem=} [properties] Properties to set - */ - function SnapshotIAVLItem(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SnapshotIAVLItem key. - * @member {Uint8Array} key - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @instance - */ - SnapshotIAVLItem.prototype.key = $util.newBuffer([]); - - /** - * SnapshotIAVLItem value. - * @member {Uint8Array} value - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @instance - */ - SnapshotIAVLItem.prototype.value = $util.newBuffer([]); - - /** - * SnapshotIAVLItem version. - * @member {number|Long} version - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @instance - */ - SnapshotIAVLItem.prototype.version = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * SnapshotIAVLItem height. - * @member {number} height - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @instance - */ - SnapshotIAVLItem.prototype.height = 0; - - /** - * Creates a new SnapshotIAVLItem instance using the specified properties. - * @function create - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @static - * @param {cosmos.base.store.v1beta1.ISnapshotIAVLItem=} [properties] Properties to set - * @returns {cosmos.base.store.v1beta1.SnapshotIAVLItem} SnapshotIAVLItem instance - */ - SnapshotIAVLItem.create = function create(properties) { - return new SnapshotIAVLItem(properties); - }; - - /** - * Encodes the specified SnapshotIAVLItem message. Does not implicitly {@link cosmos.base.store.v1beta1.SnapshotIAVLItem.verify|verify} messages. - * @function encode - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @static - * @param {cosmos.base.store.v1beta1.ISnapshotIAVLItem} message SnapshotIAVLItem message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SnapshotIAVLItem.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.version); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.height); - return writer; - }; - - /** - * Encodes the specified SnapshotIAVLItem message, length delimited. Does not implicitly {@link cosmos.base.store.v1beta1.SnapshotIAVLItem.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @static - * @param {cosmos.base.store.v1beta1.ISnapshotIAVLItem} message SnapshotIAVLItem message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SnapshotIAVLItem.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SnapshotIAVLItem message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.store.v1beta1.SnapshotIAVLItem} SnapshotIAVLItem - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SnapshotIAVLItem.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.store.v1beta1.SnapshotIAVLItem(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - case 2: - message.value = reader.bytes(); - break; - case 3: - message.version = reader.int64(); - break; - case 4: - message.height = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SnapshotIAVLItem message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.store.v1beta1.SnapshotIAVLItem} SnapshotIAVLItem - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SnapshotIAVLItem.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SnapshotIAVLItem message. - * @function verify - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SnapshotIAVLItem.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isInteger(message.version) && !(message.version && $util.isInteger(message.version.low) && $util.isInteger(message.version.high))) - return "version: integer|Long expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height)) - return "height: integer expected"; - return null; - }; - - /** - * Creates a SnapshotIAVLItem message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.store.v1beta1.SnapshotIAVLItem} SnapshotIAVLItem - */ - SnapshotIAVLItem.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.store.v1beta1.SnapshotIAVLItem) - return object; - let message = new $root.cosmos.base.store.v1beta1.SnapshotIAVLItem(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) - message.value = object.value; - if (object.version != null) - if ($util.Long) - (message.version = $util.Long.fromValue(object.version)).unsigned = false; - else if (typeof object.version === "string") - message.version = parseInt(object.version, 10); - else if (typeof object.version === "number") - message.version = object.version; - else if (typeof object.version === "object") - message.version = new $util.LongBits(object.version.low >>> 0, object.version.high >>> 0).toNumber(); - if (object.height != null) - message.height = object.height | 0; - return message; - }; - - /** - * Creates a plain object from a SnapshotIAVLItem message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @static - * @param {cosmos.base.store.v1beta1.SnapshotIAVLItem} message SnapshotIAVLItem - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SnapshotIAVLItem.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.version = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.version = options.longs === String ? "0" : 0; - object.height = 0; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; - if (message.version != null && message.hasOwnProperty("version")) - if (typeof message.version === "number") - object.version = options.longs === String ? String(message.version) : message.version; - else - object.version = options.longs === String ? $util.Long.prototype.toString.call(message.version) : options.longs === Number ? new $util.LongBits(message.version.low >>> 0, message.version.high >>> 0).toNumber() : message.version; - if (message.height != null && message.hasOwnProperty("height")) - object.height = message.height; - return object; - }; - - /** - * Converts this SnapshotIAVLItem to JSON. - * @function toJSON - * @memberof cosmos.base.store.v1beta1.SnapshotIAVLItem - * @instance - * @returns {Object.} JSON object - */ - SnapshotIAVLItem.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SnapshotIAVLItem; - })(v1beta1.SnapshotIAVLItem || {}); - - return v1beta1; - })(store.v1beta1 || {}); - - return store; - })(base.store || {}); - - /** - * Namespace tendermint. - * @memberof cosmos.base - * @namespace - */ - - base.tendermint = (function(tendermint) { - - /** - * Namespace v1beta1. - * @memberof cosmos.base.tendermint - * @namespace - */ - - tendermint.v1beta1 = (function(v1beta1) { - - v1beta1.Service = (function(Service) { - - /** - * Constructs a new Service service. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a Service - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Service(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Service.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Service; - - /** - * Creates new Service service using the specified rpc implementation. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.Service - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Service} RPC service. Useful where requests and/or responses are streamed. - */ - Service.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.base.tendermint.v1beta1.Service#getNodeInfo}. - * @memberof cosmos.base.tendermint.v1beta1.Service - * @typedef GetNodeInfoCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.base.tendermint.v1beta1.IGetNodeInfoResponse} [response] GetNodeInfoResponse - */ - - /** - * Calls GetNodeInfo. - * @function getNodeInfo - * @memberof cosmos.base.tendermint.v1beta1.Service - * @instance - * @param {cosmos.base.tendermint.v1beta1.IGetNodeInfoRequest} request GetNodeInfoRequest message or plain object - * @param {cosmos.base.tendermint.v1beta1.Service.GetNodeInfoCallback} callback Node-style callback called with the error, if any, and GetNodeInfoResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Service.prototype.getNodeInfo = function getNodeInfo(request, callback) { - return this.rpcCall(getNodeInfo, $root.cosmos.base.tendermint.v1beta1.GetNodeInfoRequest, $root.cosmos.base.tendermint.v1beta1.GetNodeInfoResponse, request, callback); - }, "name", { value: "GetNodeInfo" }); - - /** - * Calls GetNodeInfo. - * @function getNodeInfo - * @memberof cosmos.base.tendermint.v1beta1.Service - * @instance - * @param {cosmos.base.tendermint.v1beta1.IGetNodeInfoRequest} request GetNodeInfoRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.base.tendermint.v1beta1.Service#getSyncing}. - * @memberof cosmos.base.tendermint.v1beta1.Service - * @typedef GetSyncingCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.base.tendermint.v1beta1.IGetSyncingResponse} [response] GetSyncingResponse - */ - - /** - * Calls GetSyncing. - * @function getSyncing - * @memberof cosmos.base.tendermint.v1beta1.Service - * @instance - * @param {cosmos.base.tendermint.v1beta1.IGetSyncingRequest} request GetSyncingRequest message or plain object - * @param {cosmos.base.tendermint.v1beta1.Service.GetSyncingCallback} callback Node-style callback called with the error, if any, and GetSyncingResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Service.prototype.getSyncing = function getSyncing(request, callback) { - return this.rpcCall(getSyncing, $root.cosmos.base.tendermint.v1beta1.GetSyncingRequest, $root.cosmos.base.tendermint.v1beta1.GetSyncingResponse, request, callback); - }, "name", { value: "GetSyncing" }); - - /** - * Calls GetSyncing. - * @function getSyncing - * @memberof cosmos.base.tendermint.v1beta1.Service - * @instance - * @param {cosmos.base.tendermint.v1beta1.IGetSyncingRequest} request GetSyncingRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.base.tendermint.v1beta1.Service#getLatestBlock}. - * @memberof cosmos.base.tendermint.v1beta1.Service - * @typedef GetLatestBlockCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.base.tendermint.v1beta1.IGetLatestBlockResponse} [response] GetLatestBlockResponse - */ - - /** - * Calls GetLatestBlock. - * @function getLatestBlock - * @memberof cosmos.base.tendermint.v1beta1.Service - * @instance - * @param {cosmos.base.tendermint.v1beta1.IGetLatestBlockRequest} request GetLatestBlockRequest message or plain object - * @param {cosmos.base.tendermint.v1beta1.Service.GetLatestBlockCallback} callback Node-style callback called with the error, if any, and GetLatestBlockResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Service.prototype.getLatestBlock = function getLatestBlock(request, callback) { - return this.rpcCall(getLatestBlock, $root.cosmos.base.tendermint.v1beta1.GetLatestBlockRequest, $root.cosmos.base.tendermint.v1beta1.GetLatestBlockResponse, request, callback); - }, "name", { value: "GetLatestBlock" }); - - /** - * Calls GetLatestBlock. - * @function getLatestBlock - * @memberof cosmos.base.tendermint.v1beta1.Service - * @instance - * @param {cosmos.base.tendermint.v1beta1.IGetLatestBlockRequest} request GetLatestBlockRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.base.tendermint.v1beta1.Service#getBlockByHeight}. - * @memberof cosmos.base.tendermint.v1beta1.Service - * @typedef GetBlockByHeightCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.base.tendermint.v1beta1.IGetBlockByHeightResponse} [response] GetBlockByHeightResponse - */ - - /** - * Calls GetBlockByHeight. - * @function getBlockByHeight - * @memberof cosmos.base.tendermint.v1beta1.Service - * @instance - * @param {cosmos.base.tendermint.v1beta1.IGetBlockByHeightRequest} request GetBlockByHeightRequest message or plain object - * @param {cosmos.base.tendermint.v1beta1.Service.GetBlockByHeightCallback} callback Node-style callback called with the error, if any, and GetBlockByHeightResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Service.prototype.getBlockByHeight = function getBlockByHeight(request, callback) { - return this.rpcCall(getBlockByHeight, $root.cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest, $root.cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse, request, callback); - }, "name", { value: "GetBlockByHeight" }); - - /** - * Calls GetBlockByHeight. - * @function getBlockByHeight - * @memberof cosmos.base.tendermint.v1beta1.Service - * @instance - * @param {cosmos.base.tendermint.v1beta1.IGetBlockByHeightRequest} request GetBlockByHeightRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.base.tendermint.v1beta1.Service#getLatestValidatorSet}. - * @memberof cosmos.base.tendermint.v1beta1.Service - * @typedef GetLatestValidatorSetCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.base.tendermint.v1beta1.IGetLatestValidatorSetResponse} [response] GetLatestValidatorSetResponse - */ - - /** - * Calls GetLatestValidatorSet. - * @function getLatestValidatorSet - * @memberof cosmos.base.tendermint.v1beta1.Service - * @instance - * @param {cosmos.base.tendermint.v1beta1.IGetLatestValidatorSetRequest} request GetLatestValidatorSetRequest message or plain object - * @param {cosmos.base.tendermint.v1beta1.Service.GetLatestValidatorSetCallback} callback Node-style callback called with the error, if any, and GetLatestValidatorSetResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Service.prototype.getLatestValidatorSet = function getLatestValidatorSet(request, callback) { - return this.rpcCall(getLatestValidatorSet, $root.cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest, $root.cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse, request, callback); - }, "name", { value: "GetLatestValidatorSet" }); - - /** - * Calls GetLatestValidatorSet. - * @function getLatestValidatorSet - * @memberof cosmos.base.tendermint.v1beta1.Service - * @instance - * @param {cosmos.base.tendermint.v1beta1.IGetLatestValidatorSetRequest} request GetLatestValidatorSetRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.base.tendermint.v1beta1.Service#getValidatorSetByHeight}. - * @memberof cosmos.base.tendermint.v1beta1.Service - * @typedef GetValidatorSetByHeightCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.base.tendermint.v1beta1.IGetValidatorSetByHeightResponse} [response] GetValidatorSetByHeightResponse - */ - - /** - * Calls GetValidatorSetByHeight. - * @function getValidatorSetByHeight - * @memberof cosmos.base.tendermint.v1beta1.Service - * @instance - * @param {cosmos.base.tendermint.v1beta1.IGetValidatorSetByHeightRequest} request GetValidatorSetByHeightRequest message or plain object - * @param {cosmos.base.tendermint.v1beta1.Service.GetValidatorSetByHeightCallback} callback Node-style callback called with the error, if any, and GetValidatorSetByHeightResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Service.prototype.getValidatorSetByHeight = function getValidatorSetByHeight(request, callback) { - return this.rpcCall(getValidatorSetByHeight, $root.cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest, $root.cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse, request, callback); - }, "name", { value: "GetValidatorSetByHeight" }); - - /** - * Calls GetValidatorSetByHeight. - * @function getValidatorSetByHeight - * @memberof cosmos.base.tendermint.v1beta1.Service - * @instance - * @param {cosmos.base.tendermint.v1beta1.IGetValidatorSetByHeightRequest} request GetValidatorSetByHeightRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Service; - })(v1beta1.Service || {}); - - v1beta1.GetValidatorSetByHeightRequest = (function(GetValidatorSetByHeightRequest) { - - /** - * Properties of a GetValidatorSetByHeightRequest. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IGetValidatorSetByHeightRequest - * @property {number|Long|null} [height] GetValidatorSetByHeightRequest height - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] GetValidatorSetByHeightRequest pagination - */ - - /** - * Constructs a new GetValidatorSetByHeightRequest. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a GetValidatorSetByHeightRequest. - * @implements IGetValidatorSetByHeightRequest - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IGetValidatorSetByHeightRequest=} [properties] Properties to set - */ - function GetValidatorSetByHeightRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetValidatorSetByHeightRequest height. - * @member {number|Long} height - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest - * @instance - */ - GetValidatorSetByHeightRequest.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * GetValidatorSetByHeightRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest - * @instance - */ - GetValidatorSetByHeightRequest.prototype.pagination = null; - - /** - * Creates a new GetValidatorSetByHeightRequest instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetValidatorSetByHeightRequest=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest} GetValidatorSetByHeightRequest instance - */ - GetValidatorSetByHeightRequest.create = function create(properties) { - return new GetValidatorSetByHeightRequest(properties); - }; - - /** - * Encodes the specified GetValidatorSetByHeightRequest message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetValidatorSetByHeightRequest} message GetValidatorSetByHeightRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetValidatorSetByHeightRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GetValidatorSetByHeightRequest message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetValidatorSetByHeightRequest} message GetValidatorSetByHeightRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetValidatorSetByHeightRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetValidatorSetByHeightRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest} GetValidatorSetByHeightRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetValidatorSetByHeightRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.int64(); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetValidatorSetByHeightRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest} GetValidatorSetByHeightRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetValidatorSetByHeightRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetValidatorSetByHeightRequest message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetValidatorSetByHeightRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a GetValidatorSetByHeightRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest} GetValidatorSetByHeightRequest - */ - GetValidatorSetByHeightRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest) - return object; - let message = new $root.cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a GetValidatorSetByHeightRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest} message GetValidatorSetByHeightRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetValidatorSetByHeightRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.pagination = null; - } - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this GetValidatorSetByHeightRequest to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest - * @instance - * @returns {Object.} JSON object - */ - GetValidatorSetByHeightRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetValidatorSetByHeightRequest; - })(v1beta1.GetValidatorSetByHeightRequest || {}); - - v1beta1.GetValidatorSetByHeightResponse = (function(GetValidatorSetByHeightResponse) { - - /** - * Properties of a GetValidatorSetByHeightResponse. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IGetValidatorSetByHeightResponse - * @property {number|Long|null} [blockHeight] GetValidatorSetByHeightResponse blockHeight - * @property {Array.|null} [validators] GetValidatorSetByHeightResponse validators - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] GetValidatorSetByHeightResponse pagination - */ - - /** - * Constructs a new GetValidatorSetByHeightResponse. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a GetValidatorSetByHeightResponse. - * @implements IGetValidatorSetByHeightResponse - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IGetValidatorSetByHeightResponse=} [properties] Properties to set - */ - function GetValidatorSetByHeightResponse(properties) { - this.validators = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetValidatorSetByHeightResponse blockHeight. - * @member {number|Long} blockHeight - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse - * @instance - */ - GetValidatorSetByHeightResponse.prototype.blockHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * GetValidatorSetByHeightResponse validators. - * @member {Array.} validators - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse - * @instance - */ - GetValidatorSetByHeightResponse.prototype.validators = $util.emptyArray; - - /** - * GetValidatorSetByHeightResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse - * @instance - */ - GetValidatorSetByHeightResponse.prototype.pagination = null; - - /** - * Creates a new GetValidatorSetByHeightResponse instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetValidatorSetByHeightResponse=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse} GetValidatorSetByHeightResponse instance - */ - GetValidatorSetByHeightResponse.create = function create(properties) { - return new GetValidatorSetByHeightResponse(properties); - }; - - /** - * Encodes the specified GetValidatorSetByHeightResponse message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetValidatorSetByHeightResponse} message GetValidatorSetByHeightResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetValidatorSetByHeightResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.blockHeight != null && Object.hasOwnProperty.call(message, "blockHeight")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.blockHeight); - if (message.validators != null && message.validators.length) - for (let i = 0; i < message.validators.length; ++i) - $root.cosmos.base.tendermint.v1beta1.Validator.encode(message.validators[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GetValidatorSetByHeightResponse message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetValidatorSetByHeightResponse} message GetValidatorSetByHeightResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetValidatorSetByHeightResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetValidatorSetByHeightResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse} GetValidatorSetByHeightResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetValidatorSetByHeightResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.blockHeight = reader.int64(); - break; - case 2: - if (!(message.validators && message.validators.length)) - message.validators = []; - message.validators.push($root.cosmos.base.tendermint.v1beta1.Validator.decode(reader, reader.uint32())); - break; - case 3: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetValidatorSetByHeightResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse} GetValidatorSetByHeightResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetValidatorSetByHeightResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetValidatorSetByHeightResponse message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetValidatorSetByHeightResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.blockHeight != null && message.hasOwnProperty("blockHeight")) - if (!$util.isInteger(message.blockHeight) && !(message.blockHeight && $util.isInteger(message.blockHeight.low) && $util.isInteger(message.blockHeight.high))) - return "blockHeight: integer|Long expected"; - if (message.validators != null && message.hasOwnProperty("validators")) { - if (!Array.isArray(message.validators)) - return "validators: array expected"; - for (let i = 0; i < message.validators.length; ++i) { - let error = $root.cosmos.base.tendermint.v1beta1.Validator.verify(message.validators[i]); - if (error) - return "validators." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a GetValidatorSetByHeightResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse} GetValidatorSetByHeightResponse - */ - GetValidatorSetByHeightResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse) - return object; - let message = new $root.cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse(); - if (object.blockHeight != null) - if ($util.Long) - (message.blockHeight = $util.Long.fromValue(object.blockHeight)).unsigned = false; - else if (typeof object.blockHeight === "string") - message.blockHeight = parseInt(object.blockHeight, 10); - else if (typeof object.blockHeight === "number") - message.blockHeight = object.blockHeight; - else if (typeof object.blockHeight === "object") - message.blockHeight = new $util.LongBits(object.blockHeight.low >>> 0, object.blockHeight.high >>> 0).toNumber(); - if (object.validators) { - if (!Array.isArray(object.validators)) - throw TypeError(".cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse.validators: array expected"); - message.validators = []; - for (let i = 0; i < object.validators.length; ++i) { - if (typeof object.validators[i] !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse.validators: object expected"); - message.validators[i] = $root.cosmos.base.tendermint.v1beta1.Validator.fromObject(object.validators[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a GetValidatorSetByHeightResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse} message GetValidatorSetByHeightResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetValidatorSetByHeightResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.validators = []; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.blockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.blockHeight = options.longs === String ? "0" : 0; - object.pagination = null; - } - if (message.blockHeight != null && message.hasOwnProperty("blockHeight")) - if (typeof message.blockHeight === "number") - object.blockHeight = options.longs === String ? String(message.blockHeight) : message.blockHeight; - else - object.blockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.blockHeight) : options.longs === Number ? new $util.LongBits(message.blockHeight.low >>> 0, message.blockHeight.high >>> 0).toNumber() : message.blockHeight; - if (message.validators && message.validators.length) { - object.validators = []; - for (let j = 0; j < message.validators.length; ++j) - object.validators[j] = $root.cosmos.base.tendermint.v1beta1.Validator.toObject(message.validators[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this GetValidatorSetByHeightResponse to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse - * @instance - * @returns {Object.} JSON object - */ - GetValidatorSetByHeightResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetValidatorSetByHeightResponse; - })(v1beta1.GetValidatorSetByHeightResponse || {}); - - v1beta1.GetLatestValidatorSetRequest = (function(GetLatestValidatorSetRequest) { - - /** - * Properties of a GetLatestValidatorSetRequest. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IGetLatestValidatorSetRequest - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] GetLatestValidatorSetRequest pagination - */ - - /** - * Constructs a new GetLatestValidatorSetRequest. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a GetLatestValidatorSetRequest. - * @implements IGetLatestValidatorSetRequest - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IGetLatestValidatorSetRequest=} [properties] Properties to set - */ - function GetLatestValidatorSetRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetLatestValidatorSetRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest - * @instance - */ - GetLatestValidatorSetRequest.prototype.pagination = null; - - /** - * Creates a new GetLatestValidatorSetRequest instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetLatestValidatorSetRequest=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest} GetLatestValidatorSetRequest instance - */ - GetLatestValidatorSetRequest.create = function create(properties) { - return new GetLatestValidatorSetRequest(properties); - }; - - /** - * Encodes the specified GetLatestValidatorSetRequest message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetLatestValidatorSetRequest} message GetLatestValidatorSetRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetLatestValidatorSetRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GetLatestValidatorSetRequest message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetLatestValidatorSetRequest} message GetLatestValidatorSetRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetLatestValidatorSetRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetLatestValidatorSetRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest} GetLatestValidatorSetRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetLatestValidatorSetRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetLatestValidatorSetRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest} GetLatestValidatorSetRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetLatestValidatorSetRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetLatestValidatorSetRequest message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetLatestValidatorSetRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a GetLatestValidatorSetRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest} GetLatestValidatorSetRequest - */ - GetLatestValidatorSetRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest) - return object; - let message = new $root.cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest(); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a GetLatestValidatorSetRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest} message GetLatestValidatorSetRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetLatestValidatorSetRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.pagination = null; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this GetLatestValidatorSetRequest to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetRequest - * @instance - * @returns {Object.} JSON object - */ - GetLatestValidatorSetRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetLatestValidatorSetRequest; - })(v1beta1.GetLatestValidatorSetRequest || {}); - - v1beta1.GetLatestValidatorSetResponse = (function(GetLatestValidatorSetResponse) { - - /** - * Properties of a GetLatestValidatorSetResponse. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IGetLatestValidatorSetResponse - * @property {number|Long|null} [blockHeight] GetLatestValidatorSetResponse blockHeight - * @property {Array.|null} [validators] GetLatestValidatorSetResponse validators - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] GetLatestValidatorSetResponse pagination - */ - - /** - * Constructs a new GetLatestValidatorSetResponse. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a GetLatestValidatorSetResponse. - * @implements IGetLatestValidatorSetResponse - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IGetLatestValidatorSetResponse=} [properties] Properties to set - */ - function GetLatestValidatorSetResponse(properties) { - this.validators = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetLatestValidatorSetResponse blockHeight. - * @member {number|Long} blockHeight - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse - * @instance - */ - GetLatestValidatorSetResponse.prototype.blockHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * GetLatestValidatorSetResponse validators. - * @member {Array.} validators - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse - * @instance - */ - GetLatestValidatorSetResponse.prototype.validators = $util.emptyArray; - - /** - * GetLatestValidatorSetResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse - * @instance - */ - GetLatestValidatorSetResponse.prototype.pagination = null; - - /** - * Creates a new GetLatestValidatorSetResponse instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetLatestValidatorSetResponse=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse} GetLatestValidatorSetResponse instance - */ - GetLatestValidatorSetResponse.create = function create(properties) { - return new GetLatestValidatorSetResponse(properties); - }; - - /** - * Encodes the specified GetLatestValidatorSetResponse message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetLatestValidatorSetResponse} message GetLatestValidatorSetResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetLatestValidatorSetResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.blockHeight != null && Object.hasOwnProperty.call(message, "blockHeight")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.blockHeight); - if (message.validators != null && message.validators.length) - for (let i = 0; i < message.validators.length; ++i) - $root.cosmos.base.tendermint.v1beta1.Validator.encode(message.validators[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GetLatestValidatorSetResponse message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetLatestValidatorSetResponse} message GetLatestValidatorSetResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetLatestValidatorSetResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetLatestValidatorSetResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse} GetLatestValidatorSetResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetLatestValidatorSetResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.blockHeight = reader.int64(); - break; - case 2: - if (!(message.validators && message.validators.length)) - message.validators = []; - message.validators.push($root.cosmos.base.tendermint.v1beta1.Validator.decode(reader, reader.uint32())); - break; - case 3: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetLatestValidatorSetResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse} GetLatestValidatorSetResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetLatestValidatorSetResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetLatestValidatorSetResponse message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetLatestValidatorSetResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.blockHeight != null && message.hasOwnProperty("blockHeight")) - if (!$util.isInteger(message.blockHeight) && !(message.blockHeight && $util.isInteger(message.blockHeight.low) && $util.isInteger(message.blockHeight.high))) - return "blockHeight: integer|Long expected"; - if (message.validators != null && message.hasOwnProperty("validators")) { - if (!Array.isArray(message.validators)) - return "validators: array expected"; - for (let i = 0; i < message.validators.length; ++i) { - let error = $root.cosmos.base.tendermint.v1beta1.Validator.verify(message.validators[i]); - if (error) - return "validators." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a GetLatestValidatorSetResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse} GetLatestValidatorSetResponse - */ - GetLatestValidatorSetResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse) - return object; - let message = new $root.cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse(); - if (object.blockHeight != null) - if ($util.Long) - (message.blockHeight = $util.Long.fromValue(object.blockHeight)).unsigned = false; - else if (typeof object.blockHeight === "string") - message.blockHeight = parseInt(object.blockHeight, 10); - else if (typeof object.blockHeight === "number") - message.blockHeight = object.blockHeight; - else if (typeof object.blockHeight === "object") - message.blockHeight = new $util.LongBits(object.blockHeight.low >>> 0, object.blockHeight.high >>> 0).toNumber(); - if (object.validators) { - if (!Array.isArray(object.validators)) - throw TypeError(".cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse.validators: array expected"); - message.validators = []; - for (let i = 0; i < object.validators.length; ++i) { - if (typeof object.validators[i] !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse.validators: object expected"); - message.validators[i] = $root.cosmos.base.tendermint.v1beta1.Validator.fromObject(object.validators[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a GetLatestValidatorSetResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse} message GetLatestValidatorSetResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetLatestValidatorSetResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.validators = []; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.blockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.blockHeight = options.longs === String ? "0" : 0; - object.pagination = null; - } - if (message.blockHeight != null && message.hasOwnProperty("blockHeight")) - if (typeof message.blockHeight === "number") - object.blockHeight = options.longs === String ? String(message.blockHeight) : message.blockHeight; - else - object.blockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.blockHeight) : options.longs === Number ? new $util.LongBits(message.blockHeight.low >>> 0, message.blockHeight.high >>> 0).toNumber() : message.blockHeight; - if (message.validators && message.validators.length) { - object.validators = []; - for (let j = 0; j < message.validators.length; ++j) - object.validators[j] = $root.cosmos.base.tendermint.v1beta1.Validator.toObject(message.validators[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this GetLatestValidatorSetResponse to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse - * @instance - * @returns {Object.} JSON object - */ - GetLatestValidatorSetResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetLatestValidatorSetResponse; - })(v1beta1.GetLatestValidatorSetResponse || {}); - - v1beta1.Validator = (function(Validator) { - - /** - * Properties of a Validator. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IValidator - * @property {string|null} [address] Validator address - * @property {google.protobuf.IAny|null} [pubKey] Validator pubKey - * @property {number|Long|null} [votingPower] Validator votingPower - * @property {number|Long|null} [proposerPriority] Validator proposerPriority - */ - - /** - * Constructs a new Validator. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a Validator. - * @implements IValidator - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IValidator=} [properties] Properties to set - */ - function Validator(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Validator address. - * @member {string} address - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @instance - */ - Validator.prototype.address = ""; - - /** - * Validator pubKey. - * @member {google.protobuf.IAny|null|undefined} pubKey - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @instance - */ - Validator.prototype.pubKey = null; - - /** - * Validator votingPower. - * @member {number|Long} votingPower - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @instance - */ - Validator.prototype.votingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Validator proposerPriority. - * @member {number|Long} proposerPriority - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @instance - */ - Validator.prototype.proposerPriority = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new Validator instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @static - * @param {cosmos.base.tendermint.v1beta1.IValidator=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.Validator} Validator instance - */ - Validator.create = function create(properties) { - return new Validator(properties); - }; - - /** - * Encodes the specified Validator message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.Validator.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @static - * @param {cosmos.base.tendermint.v1beta1.IValidator} message Validator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Validator.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.address); - if (message.pubKey != null && Object.hasOwnProperty.call(message, "pubKey")) - $root.google.protobuf.Any.encode(message.pubKey, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.votingPower != null && Object.hasOwnProperty.call(message, "votingPower")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.votingPower); - if (message.proposerPriority != null && Object.hasOwnProperty.call(message, "proposerPriority")) - writer.uint32(/* id 4, wireType 0 =*/32).int64(message.proposerPriority); - return writer; - }; - - /** - * Encodes the specified Validator message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.Validator.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @static - * @param {cosmos.base.tendermint.v1beta1.IValidator} message Validator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Validator.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Validator message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.Validator} Validator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Validator.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.Validator(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.string(); - break; - case 2: - message.pubKey = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 3: - message.votingPower = reader.int64(); - break; - case 4: - message.proposerPriority = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Validator message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.Validator} Validator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Validator.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Validator message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Validator.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!$util.isString(message.address)) - return "address: string expected"; - if (message.pubKey != null && message.hasOwnProperty("pubKey")) { - let error = $root.google.protobuf.Any.verify(message.pubKey); - if (error) - return "pubKey." + error; - } - if (message.votingPower != null && message.hasOwnProperty("votingPower")) - if (!$util.isInteger(message.votingPower) && !(message.votingPower && $util.isInteger(message.votingPower.low) && $util.isInteger(message.votingPower.high))) - return "votingPower: integer|Long expected"; - if (message.proposerPriority != null && message.hasOwnProperty("proposerPriority")) - if (!$util.isInteger(message.proposerPriority) && !(message.proposerPriority && $util.isInteger(message.proposerPriority.low) && $util.isInteger(message.proposerPriority.high))) - return "proposerPriority: integer|Long expected"; - return null; - }; - - /** - * Creates a Validator message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.Validator} Validator - */ - Validator.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.Validator) - return object; - let message = new $root.cosmos.base.tendermint.v1beta1.Validator(); - if (object.address != null) - message.address = String(object.address); - if (object.pubKey != null) { - if (typeof object.pubKey !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.Validator.pubKey: object expected"); - message.pubKey = $root.google.protobuf.Any.fromObject(object.pubKey); - } - if (object.votingPower != null) - if ($util.Long) - (message.votingPower = $util.Long.fromValue(object.votingPower)).unsigned = false; - else if (typeof object.votingPower === "string") - message.votingPower = parseInt(object.votingPower, 10); - else if (typeof object.votingPower === "number") - message.votingPower = object.votingPower; - else if (typeof object.votingPower === "object") - message.votingPower = new $util.LongBits(object.votingPower.low >>> 0, object.votingPower.high >>> 0).toNumber(); - if (object.proposerPriority != null) - if ($util.Long) - (message.proposerPriority = $util.Long.fromValue(object.proposerPriority)).unsigned = false; - else if (typeof object.proposerPriority === "string") - message.proposerPriority = parseInt(object.proposerPriority, 10); - else if (typeof object.proposerPriority === "number") - message.proposerPriority = object.proposerPriority; - else if (typeof object.proposerPriority === "object") - message.proposerPriority = new $util.LongBits(object.proposerPriority.low >>> 0, object.proposerPriority.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a Validator message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @static - * @param {cosmos.base.tendermint.v1beta1.Validator} message Validator - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Validator.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.address = ""; - object.pubKey = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.votingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.votingPower = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.proposerPriority = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposerPriority = options.longs === String ? "0" : 0; - } - if (message.address != null && message.hasOwnProperty("address")) - object.address = message.address; - if (message.pubKey != null && message.hasOwnProperty("pubKey")) - object.pubKey = $root.google.protobuf.Any.toObject(message.pubKey, options); - if (message.votingPower != null && message.hasOwnProperty("votingPower")) - if (typeof message.votingPower === "number") - object.votingPower = options.longs === String ? String(message.votingPower) : message.votingPower; - else - object.votingPower = options.longs === String ? $util.Long.prototype.toString.call(message.votingPower) : options.longs === Number ? new $util.LongBits(message.votingPower.low >>> 0, message.votingPower.high >>> 0).toNumber() : message.votingPower; - if (message.proposerPriority != null && message.hasOwnProperty("proposerPriority")) - if (typeof message.proposerPriority === "number") - object.proposerPriority = options.longs === String ? String(message.proposerPriority) : message.proposerPriority; - else - object.proposerPriority = options.longs === String ? $util.Long.prototype.toString.call(message.proposerPriority) : options.longs === Number ? new $util.LongBits(message.proposerPriority.low >>> 0, message.proposerPriority.high >>> 0).toNumber() : message.proposerPriority; - return object; - }; - - /** - * Converts this Validator to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.Validator - * @instance - * @returns {Object.} JSON object - */ - Validator.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Validator; - })(v1beta1.Validator || {}); - - v1beta1.GetBlockByHeightRequest = (function(GetBlockByHeightRequest) { - - /** - * Properties of a GetBlockByHeightRequest. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IGetBlockByHeightRequest - * @property {number|Long|null} [height] GetBlockByHeightRequest height - */ - - /** - * Constructs a new GetBlockByHeightRequest. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a GetBlockByHeightRequest. - * @implements IGetBlockByHeightRequest - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IGetBlockByHeightRequest=} [properties] Properties to set - */ - function GetBlockByHeightRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetBlockByHeightRequest height. - * @member {number|Long} height - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest - * @instance - */ - GetBlockByHeightRequest.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new GetBlockByHeightRequest instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetBlockByHeightRequest=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest} GetBlockByHeightRequest instance - */ - GetBlockByHeightRequest.create = function create(properties) { - return new GetBlockByHeightRequest(properties); - }; - - /** - * Encodes the specified GetBlockByHeightRequest message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetBlockByHeightRequest} message GetBlockByHeightRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetBlockByHeightRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); - return writer; - }; - - /** - * Encodes the specified GetBlockByHeightRequest message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetBlockByHeightRequest} message GetBlockByHeightRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetBlockByHeightRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetBlockByHeightRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest} GetBlockByHeightRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetBlockByHeightRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetBlockByHeightRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest} GetBlockByHeightRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetBlockByHeightRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetBlockByHeightRequest message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetBlockByHeightRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - return null; - }; - - /** - * Creates a GetBlockByHeightRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest} GetBlockByHeightRequest - */ - GetBlockByHeightRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest) - return object; - let message = new $root.cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a GetBlockByHeightRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest} message GetBlockByHeightRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetBlockByHeightRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - return object; - }; - - /** - * Converts this GetBlockByHeightRequest to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightRequest - * @instance - * @returns {Object.} JSON object - */ - GetBlockByHeightRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetBlockByHeightRequest; - })(v1beta1.GetBlockByHeightRequest || {}); - - v1beta1.GetBlockByHeightResponse = (function(GetBlockByHeightResponse) { - - /** - * Properties of a GetBlockByHeightResponse. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IGetBlockByHeightResponse - * @property {tendermint.types.IBlockID|null} [blockId] GetBlockByHeightResponse blockId - * @property {tendermint.types.IBlock|null} [block] GetBlockByHeightResponse block - */ - - /** - * Constructs a new GetBlockByHeightResponse. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a GetBlockByHeightResponse. - * @implements IGetBlockByHeightResponse - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IGetBlockByHeightResponse=} [properties] Properties to set - */ - function GetBlockByHeightResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetBlockByHeightResponse blockId. - * @member {tendermint.types.IBlockID|null|undefined} blockId - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse - * @instance - */ - GetBlockByHeightResponse.prototype.blockId = null; - - /** - * GetBlockByHeightResponse block. - * @member {tendermint.types.IBlock|null|undefined} block - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse - * @instance - */ - GetBlockByHeightResponse.prototype.block = null; - - /** - * Creates a new GetBlockByHeightResponse instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetBlockByHeightResponse=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse} GetBlockByHeightResponse instance - */ - GetBlockByHeightResponse.create = function create(properties) { - return new GetBlockByHeightResponse(properties); - }; - - /** - * Encodes the specified GetBlockByHeightResponse message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetBlockByHeightResponse} message GetBlockByHeightResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetBlockByHeightResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) - $root.tendermint.types.BlockID.encode(message.blockId, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.block != null && Object.hasOwnProperty.call(message, "block")) - $root.tendermint.types.Block.encode(message.block, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GetBlockByHeightResponse message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetBlockByHeightResponse} message GetBlockByHeightResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetBlockByHeightResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetBlockByHeightResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse} GetBlockByHeightResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetBlockByHeightResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.blockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); - break; - case 2: - message.block = $root.tendermint.types.Block.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetBlockByHeightResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse} GetBlockByHeightResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetBlockByHeightResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetBlockByHeightResponse message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetBlockByHeightResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.blockId != null && message.hasOwnProperty("blockId")) { - let error = $root.tendermint.types.BlockID.verify(message.blockId); - if (error) - return "blockId." + error; - } - if (message.block != null && message.hasOwnProperty("block")) { - let error = $root.tendermint.types.Block.verify(message.block); - if (error) - return "block." + error; - } - return null; - }; - - /** - * Creates a GetBlockByHeightResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse} GetBlockByHeightResponse - */ - GetBlockByHeightResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse) - return object; - let message = new $root.cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse(); - if (object.blockId != null) { - if (typeof object.blockId !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse.blockId: object expected"); - message.blockId = $root.tendermint.types.BlockID.fromObject(object.blockId); - } - if (object.block != null) { - if (typeof object.block !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse.block: object expected"); - message.block = $root.tendermint.types.Block.fromObject(object.block); - } - return message; - }; - - /** - * Creates a plain object from a GetBlockByHeightResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse} message GetBlockByHeightResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetBlockByHeightResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.blockId = null; - object.block = null; - } - if (message.blockId != null && message.hasOwnProperty("blockId")) - object.blockId = $root.tendermint.types.BlockID.toObject(message.blockId, options); - if (message.block != null && message.hasOwnProperty("block")) - object.block = $root.tendermint.types.Block.toObject(message.block, options); - return object; - }; - - /** - * Converts this GetBlockByHeightResponse to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse - * @instance - * @returns {Object.} JSON object - */ - GetBlockByHeightResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetBlockByHeightResponse; - })(v1beta1.GetBlockByHeightResponse || {}); - - v1beta1.GetLatestBlockRequest = (function(GetLatestBlockRequest) { - - /** - * Properties of a GetLatestBlockRequest. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IGetLatestBlockRequest - */ - - /** - * Constructs a new GetLatestBlockRequest. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a GetLatestBlockRequest. - * @implements IGetLatestBlockRequest - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IGetLatestBlockRequest=} [properties] Properties to set - */ - function GetLatestBlockRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new GetLatestBlockRequest instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetLatestBlockRequest=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.GetLatestBlockRequest} GetLatestBlockRequest instance - */ - GetLatestBlockRequest.create = function create(properties) { - return new GetLatestBlockRequest(properties); - }; - - /** - * Encodes the specified GetLatestBlockRequest message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetLatestBlockRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetLatestBlockRequest} message GetLatestBlockRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetLatestBlockRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified GetLatestBlockRequest message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetLatestBlockRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetLatestBlockRequest} message GetLatestBlockRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetLatestBlockRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetLatestBlockRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.GetLatestBlockRequest} GetLatestBlockRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetLatestBlockRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.GetLatestBlockRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetLatestBlockRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.GetLatestBlockRequest} GetLatestBlockRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetLatestBlockRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetLatestBlockRequest message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetLatestBlockRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a GetLatestBlockRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.GetLatestBlockRequest} GetLatestBlockRequest - */ - GetLatestBlockRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.GetLatestBlockRequest) - return object; - return new $root.cosmos.base.tendermint.v1beta1.GetLatestBlockRequest(); - }; - - /** - * Creates a plain object from a GetLatestBlockRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.GetLatestBlockRequest} message GetLatestBlockRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetLatestBlockRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this GetLatestBlockRequest to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockRequest - * @instance - * @returns {Object.} JSON object - */ - GetLatestBlockRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetLatestBlockRequest; - })(v1beta1.GetLatestBlockRequest || {}); - - v1beta1.GetLatestBlockResponse = (function(GetLatestBlockResponse) { - - /** - * Properties of a GetLatestBlockResponse. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IGetLatestBlockResponse - * @property {tendermint.types.IBlockID|null} [blockId] GetLatestBlockResponse blockId - * @property {tendermint.types.IBlock|null} [block] GetLatestBlockResponse block - */ - - /** - * Constructs a new GetLatestBlockResponse. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a GetLatestBlockResponse. - * @implements IGetLatestBlockResponse - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IGetLatestBlockResponse=} [properties] Properties to set - */ - function GetLatestBlockResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetLatestBlockResponse blockId. - * @member {tendermint.types.IBlockID|null|undefined} blockId - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockResponse - * @instance - */ - GetLatestBlockResponse.prototype.blockId = null; - - /** - * GetLatestBlockResponse block. - * @member {tendermint.types.IBlock|null|undefined} block - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockResponse - * @instance - */ - GetLatestBlockResponse.prototype.block = null; - - /** - * Creates a new GetLatestBlockResponse instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetLatestBlockResponse=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.GetLatestBlockResponse} GetLatestBlockResponse instance - */ - GetLatestBlockResponse.create = function create(properties) { - return new GetLatestBlockResponse(properties); - }; - - /** - * Encodes the specified GetLatestBlockResponse message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetLatestBlockResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetLatestBlockResponse} message GetLatestBlockResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetLatestBlockResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) - $root.tendermint.types.BlockID.encode(message.blockId, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.block != null && Object.hasOwnProperty.call(message, "block")) - $root.tendermint.types.Block.encode(message.block, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GetLatestBlockResponse message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetLatestBlockResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetLatestBlockResponse} message GetLatestBlockResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetLatestBlockResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetLatestBlockResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.GetLatestBlockResponse} GetLatestBlockResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetLatestBlockResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.GetLatestBlockResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.blockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); - break; - case 2: - message.block = $root.tendermint.types.Block.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetLatestBlockResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.GetLatestBlockResponse} GetLatestBlockResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetLatestBlockResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetLatestBlockResponse message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetLatestBlockResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.blockId != null && message.hasOwnProperty("blockId")) { - let error = $root.tendermint.types.BlockID.verify(message.blockId); - if (error) - return "blockId." + error; - } - if (message.block != null && message.hasOwnProperty("block")) { - let error = $root.tendermint.types.Block.verify(message.block); - if (error) - return "block." + error; - } - return null; - }; - - /** - * Creates a GetLatestBlockResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.GetLatestBlockResponse} GetLatestBlockResponse - */ - GetLatestBlockResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.GetLatestBlockResponse) - return object; - let message = new $root.cosmos.base.tendermint.v1beta1.GetLatestBlockResponse(); - if (object.blockId != null) { - if (typeof object.blockId !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.GetLatestBlockResponse.blockId: object expected"); - message.blockId = $root.tendermint.types.BlockID.fromObject(object.blockId); - } - if (object.block != null) { - if (typeof object.block !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.GetLatestBlockResponse.block: object expected"); - message.block = $root.tendermint.types.Block.fromObject(object.block); - } - return message; - }; - - /** - * Creates a plain object from a GetLatestBlockResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.GetLatestBlockResponse} message GetLatestBlockResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetLatestBlockResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.blockId = null; - object.block = null; - } - if (message.blockId != null && message.hasOwnProperty("blockId")) - object.blockId = $root.tendermint.types.BlockID.toObject(message.blockId, options); - if (message.block != null && message.hasOwnProperty("block")) - object.block = $root.tendermint.types.Block.toObject(message.block, options); - return object; - }; - - /** - * Converts this GetLatestBlockResponse to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.GetLatestBlockResponse - * @instance - * @returns {Object.} JSON object - */ - GetLatestBlockResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetLatestBlockResponse; - })(v1beta1.GetLatestBlockResponse || {}); - - v1beta1.GetSyncingRequest = (function(GetSyncingRequest) { - - /** - * Properties of a GetSyncingRequest. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IGetSyncingRequest - */ - - /** - * Constructs a new GetSyncingRequest. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a GetSyncingRequest. - * @implements IGetSyncingRequest - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IGetSyncingRequest=} [properties] Properties to set - */ - function GetSyncingRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new GetSyncingRequest instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetSyncingRequest=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.GetSyncingRequest} GetSyncingRequest instance - */ - GetSyncingRequest.create = function create(properties) { - return new GetSyncingRequest(properties); - }; - - /** - * Encodes the specified GetSyncingRequest message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetSyncingRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetSyncingRequest} message GetSyncingRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetSyncingRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified GetSyncingRequest message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetSyncingRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetSyncingRequest} message GetSyncingRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetSyncingRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetSyncingRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.GetSyncingRequest} GetSyncingRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetSyncingRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.GetSyncingRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetSyncingRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.GetSyncingRequest} GetSyncingRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetSyncingRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetSyncingRequest message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetSyncingRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a GetSyncingRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.GetSyncingRequest} GetSyncingRequest - */ - GetSyncingRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.GetSyncingRequest) - return object; - return new $root.cosmos.base.tendermint.v1beta1.GetSyncingRequest(); - }; - - /** - * Creates a plain object from a GetSyncingRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.GetSyncingRequest} message GetSyncingRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetSyncingRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this GetSyncingRequest to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingRequest - * @instance - * @returns {Object.} JSON object - */ - GetSyncingRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetSyncingRequest; - })(v1beta1.GetSyncingRequest || {}); - - v1beta1.GetSyncingResponse = (function(GetSyncingResponse) { - - /** - * Properties of a GetSyncingResponse. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IGetSyncingResponse - * @property {boolean|null} [syncing] GetSyncingResponse syncing - */ - - /** - * Constructs a new GetSyncingResponse. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a GetSyncingResponse. - * @implements IGetSyncingResponse - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IGetSyncingResponse=} [properties] Properties to set - */ - function GetSyncingResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetSyncingResponse syncing. - * @member {boolean} syncing - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingResponse - * @instance - */ - GetSyncingResponse.prototype.syncing = false; - - /** - * Creates a new GetSyncingResponse instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetSyncingResponse=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.GetSyncingResponse} GetSyncingResponse instance - */ - GetSyncingResponse.create = function create(properties) { - return new GetSyncingResponse(properties); - }; - - /** - * Encodes the specified GetSyncingResponse message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetSyncingResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetSyncingResponse} message GetSyncingResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetSyncingResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.syncing != null && Object.hasOwnProperty.call(message, "syncing")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.syncing); - return writer; - }; - - /** - * Encodes the specified GetSyncingResponse message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetSyncingResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetSyncingResponse} message GetSyncingResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetSyncingResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetSyncingResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.GetSyncingResponse} GetSyncingResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetSyncingResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.GetSyncingResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.syncing = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetSyncingResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.GetSyncingResponse} GetSyncingResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetSyncingResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetSyncingResponse message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetSyncingResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.syncing != null && message.hasOwnProperty("syncing")) - if (typeof message.syncing !== "boolean") - return "syncing: boolean expected"; - return null; - }; - - /** - * Creates a GetSyncingResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.GetSyncingResponse} GetSyncingResponse - */ - GetSyncingResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.GetSyncingResponse) - return object; - let message = new $root.cosmos.base.tendermint.v1beta1.GetSyncingResponse(); - if (object.syncing != null) - message.syncing = Boolean(object.syncing); - return message; - }; - - /** - * Creates a plain object from a GetSyncingResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.GetSyncingResponse} message GetSyncingResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetSyncingResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.syncing = false; - if (message.syncing != null && message.hasOwnProperty("syncing")) - object.syncing = message.syncing; - return object; - }; - - /** - * Converts this GetSyncingResponse to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.GetSyncingResponse - * @instance - * @returns {Object.} JSON object - */ - GetSyncingResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetSyncingResponse; - })(v1beta1.GetSyncingResponse || {}); - - v1beta1.GetNodeInfoRequest = (function(GetNodeInfoRequest) { - - /** - * Properties of a GetNodeInfoRequest. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IGetNodeInfoRequest - */ - - /** - * Constructs a new GetNodeInfoRequest. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a GetNodeInfoRequest. - * @implements IGetNodeInfoRequest - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IGetNodeInfoRequest=} [properties] Properties to set - */ - function GetNodeInfoRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new GetNodeInfoRequest instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetNodeInfoRequest=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.GetNodeInfoRequest} GetNodeInfoRequest instance - */ - GetNodeInfoRequest.create = function create(properties) { - return new GetNodeInfoRequest(properties); - }; - - /** - * Encodes the specified GetNodeInfoRequest message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetNodeInfoRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetNodeInfoRequest} message GetNodeInfoRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetNodeInfoRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified GetNodeInfoRequest message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetNodeInfoRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetNodeInfoRequest} message GetNodeInfoRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetNodeInfoRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetNodeInfoRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.GetNodeInfoRequest} GetNodeInfoRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetNodeInfoRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.GetNodeInfoRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetNodeInfoRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.GetNodeInfoRequest} GetNodeInfoRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetNodeInfoRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetNodeInfoRequest message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetNodeInfoRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a GetNodeInfoRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.GetNodeInfoRequest} GetNodeInfoRequest - */ - GetNodeInfoRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.GetNodeInfoRequest) - return object; - return new $root.cosmos.base.tendermint.v1beta1.GetNodeInfoRequest(); - }; - - /** - * Creates a plain object from a GetNodeInfoRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoRequest - * @static - * @param {cosmos.base.tendermint.v1beta1.GetNodeInfoRequest} message GetNodeInfoRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetNodeInfoRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this GetNodeInfoRequest to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoRequest - * @instance - * @returns {Object.} JSON object - */ - GetNodeInfoRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetNodeInfoRequest; - })(v1beta1.GetNodeInfoRequest || {}); - - v1beta1.GetNodeInfoResponse = (function(GetNodeInfoResponse) { - - /** - * Properties of a GetNodeInfoResponse. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IGetNodeInfoResponse - * @property {tendermint.p2p.IDefaultNodeInfo|null} [defaultNodeInfo] GetNodeInfoResponse defaultNodeInfo - * @property {cosmos.base.tendermint.v1beta1.IVersionInfo|null} [applicationVersion] GetNodeInfoResponse applicationVersion - */ - - /** - * Constructs a new GetNodeInfoResponse. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a GetNodeInfoResponse. - * @implements IGetNodeInfoResponse - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IGetNodeInfoResponse=} [properties] Properties to set - */ - function GetNodeInfoResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetNodeInfoResponse defaultNodeInfo. - * @member {tendermint.p2p.IDefaultNodeInfo|null|undefined} defaultNodeInfo - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoResponse - * @instance - */ - GetNodeInfoResponse.prototype.defaultNodeInfo = null; - - /** - * GetNodeInfoResponse applicationVersion. - * @member {cosmos.base.tendermint.v1beta1.IVersionInfo|null|undefined} applicationVersion - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoResponse - * @instance - */ - GetNodeInfoResponse.prototype.applicationVersion = null; - - /** - * Creates a new GetNodeInfoResponse instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetNodeInfoResponse=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.GetNodeInfoResponse} GetNodeInfoResponse instance - */ - GetNodeInfoResponse.create = function create(properties) { - return new GetNodeInfoResponse(properties); - }; - - /** - * Encodes the specified GetNodeInfoResponse message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetNodeInfoResponse} message GetNodeInfoResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetNodeInfoResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.defaultNodeInfo != null && Object.hasOwnProperty.call(message, "defaultNodeInfo")) - $root.tendermint.p2p.DefaultNodeInfo.encode(message.defaultNodeInfo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.applicationVersion != null && Object.hasOwnProperty.call(message, "applicationVersion")) - $root.cosmos.base.tendermint.v1beta1.VersionInfo.encode(message.applicationVersion, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GetNodeInfoResponse message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.IGetNodeInfoResponse} message GetNodeInfoResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetNodeInfoResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetNodeInfoResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.GetNodeInfoResponse} GetNodeInfoResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetNodeInfoResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.GetNodeInfoResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.defaultNodeInfo = $root.tendermint.p2p.DefaultNodeInfo.decode(reader, reader.uint32()); - break; - case 2: - message.applicationVersion = $root.cosmos.base.tendermint.v1beta1.VersionInfo.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetNodeInfoResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.GetNodeInfoResponse} GetNodeInfoResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetNodeInfoResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetNodeInfoResponse message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetNodeInfoResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.defaultNodeInfo != null && message.hasOwnProperty("defaultNodeInfo")) { - let error = $root.tendermint.p2p.DefaultNodeInfo.verify(message.defaultNodeInfo); - if (error) - return "defaultNodeInfo." + error; - } - if (message.applicationVersion != null && message.hasOwnProperty("applicationVersion")) { - let error = $root.cosmos.base.tendermint.v1beta1.VersionInfo.verify(message.applicationVersion); - if (error) - return "applicationVersion." + error; - } - return null; - }; - - /** - * Creates a GetNodeInfoResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.GetNodeInfoResponse} GetNodeInfoResponse - */ - GetNodeInfoResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.GetNodeInfoResponse) - return object; - let message = new $root.cosmos.base.tendermint.v1beta1.GetNodeInfoResponse(); - if (object.defaultNodeInfo != null) { - if (typeof object.defaultNodeInfo !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.defaultNodeInfo: object expected"); - message.defaultNodeInfo = $root.tendermint.p2p.DefaultNodeInfo.fromObject(object.defaultNodeInfo); - } - if (object.applicationVersion != null) { - if (typeof object.applicationVersion !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.applicationVersion: object expected"); - message.applicationVersion = $root.cosmos.base.tendermint.v1beta1.VersionInfo.fromObject(object.applicationVersion); - } - return message; - }; - - /** - * Creates a plain object from a GetNodeInfoResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoResponse - * @static - * @param {cosmos.base.tendermint.v1beta1.GetNodeInfoResponse} message GetNodeInfoResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetNodeInfoResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.defaultNodeInfo = null; - object.applicationVersion = null; - } - if (message.defaultNodeInfo != null && message.hasOwnProperty("defaultNodeInfo")) - object.defaultNodeInfo = $root.tendermint.p2p.DefaultNodeInfo.toObject(message.defaultNodeInfo, options); - if (message.applicationVersion != null && message.hasOwnProperty("applicationVersion")) - object.applicationVersion = $root.cosmos.base.tendermint.v1beta1.VersionInfo.toObject(message.applicationVersion, options); - return object; - }; - - /** - * Converts this GetNodeInfoResponse to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.GetNodeInfoResponse - * @instance - * @returns {Object.} JSON object - */ - GetNodeInfoResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetNodeInfoResponse; - })(v1beta1.GetNodeInfoResponse || {}); - - v1beta1.VersionInfo = (function(VersionInfo) { - - /** - * Properties of a VersionInfo. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IVersionInfo - * @property {string|null} [name] VersionInfo name - * @property {string|null} [appName] VersionInfo appName - * @property {string|null} [version] VersionInfo version - * @property {string|null} [gitCommit] VersionInfo gitCommit - * @property {string|null} [buildTags] VersionInfo buildTags - * @property {string|null} [goVersion] VersionInfo goVersion - * @property {Array.|null} [buildDeps] VersionInfo buildDeps - */ - - /** - * Constructs a new VersionInfo. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a VersionInfo. - * @implements IVersionInfo - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IVersionInfo=} [properties] Properties to set - */ - function VersionInfo(properties) { - this.buildDeps = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * VersionInfo name. - * @member {string} name - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @instance - */ - VersionInfo.prototype.name = ""; - - /** - * VersionInfo appName. - * @member {string} appName - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @instance - */ - VersionInfo.prototype.appName = ""; - - /** - * VersionInfo version. - * @member {string} version - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @instance - */ - VersionInfo.prototype.version = ""; - - /** - * VersionInfo gitCommit. - * @member {string} gitCommit - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @instance - */ - VersionInfo.prototype.gitCommit = ""; - - /** - * VersionInfo buildTags. - * @member {string} buildTags - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @instance - */ - VersionInfo.prototype.buildTags = ""; - - /** - * VersionInfo goVersion. - * @member {string} goVersion - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @instance - */ - VersionInfo.prototype.goVersion = ""; - - /** - * VersionInfo buildDeps. - * @member {Array.} buildDeps - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @instance - */ - VersionInfo.prototype.buildDeps = $util.emptyArray; - - /** - * Creates a new VersionInfo instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @static - * @param {cosmos.base.tendermint.v1beta1.IVersionInfo=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.VersionInfo} VersionInfo instance - */ - VersionInfo.create = function create(properties) { - return new VersionInfo(properties); - }; - - /** - * Encodes the specified VersionInfo message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.VersionInfo.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @static - * @param {cosmos.base.tendermint.v1beta1.IVersionInfo} message VersionInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VersionInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.appName != null && Object.hasOwnProperty.call(message, "appName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.appName); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.version); - if (message.gitCommit != null && Object.hasOwnProperty.call(message, "gitCommit")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.gitCommit); - if (message.buildTags != null && Object.hasOwnProperty.call(message, "buildTags")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.buildTags); - if (message.goVersion != null && Object.hasOwnProperty.call(message, "goVersion")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.goVersion); - if (message.buildDeps != null && message.buildDeps.length) - for (let i = 0; i < message.buildDeps.length; ++i) - $root.cosmos.base.tendermint.v1beta1.Module.encode(message.buildDeps[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified VersionInfo message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.VersionInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @static - * @param {cosmos.base.tendermint.v1beta1.IVersionInfo} message VersionInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VersionInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a VersionInfo message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.VersionInfo} VersionInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VersionInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.VersionInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.appName = reader.string(); - break; - case 3: - message.version = reader.string(); - break; - case 4: - message.gitCommit = reader.string(); - break; - case 5: - message.buildTags = reader.string(); - break; - case 6: - message.goVersion = reader.string(); - break; - case 7: - if (!(message.buildDeps && message.buildDeps.length)) - message.buildDeps = []; - message.buildDeps.push($root.cosmos.base.tendermint.v1beta1.Module.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a VersionInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.VersionInfo} VersionInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VersionInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a VersionInfo message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - VersionInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.appName != null && message.hasOwnProperty("appName")) - if (!$util.isString(message.appName)) - return "appName: string expected"; - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isString(message.version)) - return "version: string expected"; - if (message.gitCommit != null && message.hasOwnProperty("gitCommit")) - if (!$util.isString(message.gitCommit)) - return "gitCommit: string expected"; - if (message.buildTags != null && message.hasOwnProperty("buildTags")) - if (!$util.isString(message.buildTags)) - return "buildTags: string expected"; - if (message.goVersion != null && message.hasOwnProperty("goVersion")) - if (!$util.isString(message.goVersion)) - return "goVersion: string expected"; - if (message.buildDeps != null && message.hasOwnProperty("buildDeps")) { - if (!Array.isArray(message.buildDeps)) - return "buildDeps: array expected"; - for (let i = 0; i < message.buildDeps.length; ++i) { - let error = $root.cosmos.base.tendermint.v1beta1.Module.verify(message.buildDeps[i]); - if (error) - return "buildDeps." + error; - } - } - return null; - }; - - /** - * Creates a VersionInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.VersionInfo} VersionInfo - */ - VersionInfo.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.VersionInfo) - return object; - let message = new $root.cosmos.base.tendermint.v1beta1.VersionInfo(); - if (object.name != null) - message.name = String(object.name); - if (object.appName != null) - message.appName = String(object.appName); - if (object.version != null) - message.version = String(object.version); - if (object.gitCommit != null) - message.gitCommit = String(object.gitCommit); - if (object.buildTags != null) - message.buildTags = String(object.buildTags); - if (object.goVersion != null) - message.goVersion = String(object.goVersion); - if (object.buildDeps) { - if (!Array.isArray(object.buildDeps)) - throw TypeError(".cosmos.base.tendermint.v1beta1.VersionInfo.buildDeps: array expected"); - message.buildDeps = []; - for (let i = 0; i < object.buildDeps.length; ++i) { - if (typeof object.buildDeps[i] !== "object") - throw TypeError(".cosmos.base.tendermint.v1beta1.VersionInfo.buildDeps: object expected"); - message.buildDeps[i] = $root.cosmos.base.tendermint.v1beta1.Module.fromObject(object.buildDeps[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a VersionInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @static - * @param {cosmos.base.tendermint.v1beta1.VersionInfo} message VersionInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - VersionInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.buildDeps = []; - if (options.defaults) { - object.name = ""; - object.appName = ""; - object.version = ""; - object.gitCommit = ""; - object.buildTags = ""; - object.goVersion = ""; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.appName != null && message.hasOwnProperty("appName")) - object.appName = message.appName; - if (message.version != null && message.hasOwnProperty("version")) - object.version = message.version; - if (message.gitCommit != null && message.hasOwnProperty("gitCommit")) - object.gitCommit = message.gitCommit; - if (message.buildTags != null && message.hasOwnProperty("buildTags")) - object.buildTags = message.buildTags; - if (message.goVersion != null && message.hasOwnProperty("goVersion")) - object.goVersion = message.goVersion; - if (message.buildDeps && message.buildDeps.length) { - object.buildDeps = []; - for (let j = 0; j < message.buildDeps.length; ++j) - object.buildDeps[j] = $root.cosmos.base.tendermint.v1beta1.Module.toObject(message.buildDeps[j], options); - } - return object; - }; - - /** - * Converts this VersionInfo to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.VersionInfo - * @instance - * @returns {Object.} JSON object - */ - VersionInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return VersionInfo; - })(v1beta1.VersionInfo || {}); - - v1beta1.Module = (function(Module) { - - /** - * Properties of a Module. - * @memberof cosmos.base.tendermint.v1beta1 - * @interface IModule - * @property {string|null} [path] Module path - * @property {string|null} [version] Module version - * @property {string|null} [sum] Module sum - */ - - /** - * Constructs a new Module. - * @memberof cosmos.base.tendermint.v1beta1 - * @classdesc Represents a Module. - * @implements IModule - * @constructor - * @param {cosmos.base.tendermint.v1beta1.IModule=} [properties] Properties to set - */ - function Module(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Module path. - * @member {string} path - * @memberof cosmos.base.tendermint.v1beta1.Module - * @instance - */ - Module.prototype.path = ""; - - /** - * Module version. - * @member {string} version - * @memberof cosmos.base.tendermint.v1beta1.Module - * @instance - */ - Module.prototype.version = ""; - - /** - * Module sum. - * @member {string} sum - * @memberof cosmos.base.tendermint.v1beta1.Module - * @instance - */ - Module.prototype.sum = ""; - - /** - * Creates a new Module instance using the specified properties. - * @function create - * @memberof cosmos.base.tendermint.v1beta1.Module - * @static - * @param {cosmos.base.tendermint.v1beta1.IModule=} [properties] Properties to set - * @returns {cosmos.base.tendermint.v1beta1.Module} Module instance - */ - Module.create = function create(properties) { - return new Module(properties); - }; - - /** - * Encodes the specified Module message. Does not implicitly {@link cosmos.base.tendermint.v1beta1.Module.verify|verify} messages. - * @function encode - * @memberof cosmos.base.tendermint.v1beta1.Module - * @static - * @param {cosmos.base.tendermint.v1beta1.IModule} message Module message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Module.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.path != null && Object.hasOwnProperty.call(message, "path")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.path); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.version); - if (message.sum != null && Object.hasOwnProperty.call(message, "sum")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.sum); - return writer; - }; - - /** - * Encodes the specified Module message, length delimited. Does not implicitly {@link cosmos.base.tendermint.v1beta1.Module.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.Module - * @static - * @param {cosmos.base.tendermint.v1beta1.IModule} message Module message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Module.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Module message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.tendermint.v1beta1.Module - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.tendermint.v1beta1.Module} Module - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Module.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.tendermint.v1beta1.Module(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.path = reader.string(); - break; - case 2: - message.version = reader.string(); - break; - case 3: - message.sum = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Module message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.tendermint.v1beta1.Module - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.tendermint.v1beta1.Module} Module - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Module.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Module message. - * @function verify - * @memberof cosmos.base.tendermint.v1beta1.Module - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Module.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.path != null && message.hasOwnProperty("path")) - if (!$util.isString(message.path)) - return "path: string expected"; - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isString(message.version)) - return "version: string expected"; - if (message.sum != null && message.hasOwnProperty("sum")) - if (!$util.isString(message.sum)) - return "sum: string expected"; - return null; - }; - - /** - * Creates a Module message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.tendermint.v1beta1.Module - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.tendermint.v1beta1.Module} Module - */ - Module.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.tendermint.v1beta1.Module) - return object; - let message = new $root.cosmos.base.tendermint.v1beta1.Module(); - if (object.path != null) - message.path = String(object.path); - if (object.version != null) - message.version = String(object.version); - if (object.sum != null) - message.sum = String(object.sum); - return message; - }; - - /** - * Creates a plain object from a Module message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.tendermint.v1beta1.Module - * @static - * @param {cosmos.base.tendermint.v1beta1.Module} message Module - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Module.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.path = ""; - object.version = ""; - object.sum = ""; - } - if (message.path != null && message.hasOwnProperty("path")) - object.path = message.path; - if (message.version != null && message.hasOwnProperty("version")) - object.version = message.version; - if (message.sum != null && message.hasOwnProperty("sum")) - object.sum = message.sum; - return object; - }; - - /** - * Converts this Module to JSON. - * @function toJSON - * @memberof cosmos.base.tendermint.v1beta1.Module - * @instance - * @returns {Object.} JSON object - */ - Module.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Module; - })(v1beta1.Module || {}); - - return v1beta1; - })(tendermint.v1beta1 || {}); - - return tendermint; - })(base.tendermint || {}); - - /** - * Namespace v1beta1. - * @memberof cosmos.base - * @namespace - */ - - base.v1beta1 = (function(v1beta1) { - - v1beta1.Coin = (function(Coin) { - - /** - * Properties of a Coin. - * @memberof cosmos.base.v1beta1 - * @interface ICoin - * @property {string|null} [denom] Coin denom - * @property {string|null} [amount] Coin amount - */ - - /** - * Constructs a new Coin. - * @memberof cosmos.base.v1beta1 - * @classdesc Represents a Coin. - * @implements ICoin - * @constructor - * @param {cosmos.base.v1beta1.ICoin=} [properties] Properties to set - */ - function Coin(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Coin denom. - * @member {string} denom - * @memberof cosmos.base.v1beta1.Coin - * @instance - */ - Coin.prototype.denom = ""; - - /** - * Coin amount. - * @member {string} amount - * @memberof cosmos.base.v1beta1.Coin - * @instance - */ - Coin.prototype.amount = ""; - - /** - * Creates a new Coin instance using the specified properties. - * @function create - * @memberof cosmos.base.v1beta1.Coin - * @static - * @param {cosmos.base.v1beta1.ICoin=} [properties] Properties to set - * @returns {cosmos.base.v1beta1.Coin} Coin instance - */ - Coin.create = function create(properties) { - return new Coin(properties); - }; - - /** - * Encodes the specified Coin message. Does not implicitly {@link cosmos.base.v1beta1.Coin.verify|verify} messages. - * @function encode - * @memberof cosmos.base.v1beta1.Coin - * @static - * @param {cosmos.base.v1beta1.ICoin} message Coin message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Coin.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.denom != null && Object.hasOwnProperty.call(message, "denom")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.denom); - if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.amount); - return writer; - }; - - /** - * Encodes the specified Coin message, length delimited. Does not implicitly {@link cosmos.base.v1beta1.Coin.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.v1beta1.Coin - * @static - * @param {cosmos.base.v1beta1.ICoin} message Coin message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Coin.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Coin message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.v1beta1.Coin - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.v1beta1.Coin} Coin - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Coin.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.v1beta1.Coin(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.denom = reader.string(); - break; - case 2: - message.amount = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Coin message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.v1beta1.Coin - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.v1beta1.Coin} Coin - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Coin.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Coin message. - * @function verify - * @memberof cosmos.base.v1beta1.Coin - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Coin.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.denom != null && message.hasOwnProperty("denom")) - if (!$util.isString(message.denom)) - return "denom: string expected"; - if (message.amount != null && message.hasOwnProperty("amount")) - if (!$util.isString(message.amount)) - return "amount: string expected"; - return null; - }; - - /** - * Creates a Coin message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.v1beta1.Coin - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.v1beta1.Coin} Coin - */ - Coin.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.v1beta1.Coin) - return object; - let message = new $root.cosmos.base.v1beta1.Coin(); - if (object.denom != null) - message.denom = String(object.denom); - if (object.amount != null) - message.amount = String(object.amount); - return message; - }; - - /** - * Creates a plain object from a Coin message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.v1beta1.Coin - * @static - * @param {cosmos.base.v1beta1.Coin} message Coin - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Coin.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.denom = ""; - object.amount = ""; - } - if (message.denom != null && message.hasOwnProperty("denom")) - object.denom = message.denom; - if (message.amount != null && message.hasOwnProperty("amount")) - object.amount = message.amount; - return object; - }; - - /** - * Converts this Coin to JSON. - * @function toJSON - * @memberof cosmos.base.v1beta1.Coin - * @instance - * @returns {Object.} JSON object - */ - Coin.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Coin; - })(v1beta1.Coin || {}); - - v1beta1.DecCoin = (function(DecCoin) { - - /** - * Properties of a DecCoin. - * @memberof cosmos.base.v1beta1 - * @interface IDecCoin - * @property {string|null} [denom] DecCoin denom - * @property {string|null} [amount] DecCoin amount - */ - - /** - * Constructs a new DecCoin. - * @memberof cosmos.base.v1beta1 - * @classdesc Represents a DecCoin. - * @implements IDecCoin - * @constructor - * @param {cosmos.base.v1beta1.IDecCoin=} [properties] Properties to set - */ - function DecCoin(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DecCoin denom. - * @member {string} denom - * @memberof cosmos.base.v1beta1.DecCoin - * @instance - */ - DecCoin.prototype.denom = ""; - - /** - * DecCoin amount. - * @member {string} amount - * @memberof cosmos.base.v1beta1.DecCoin - * @instance - */ - DecCoin.prototype.amount = ""; - - /** - * Creates a new DecCoin instance using the specified properties. - * @function create - * @memberof cosmos.base.v1beta1.DecCoin - * @static - * @param {cosmos.base.v1beta1.IDecCoin=} [properties] Properties to set - * @returns {cosmos.base.v1beta1.DecCoin} DecCoin instance - */ - DecCoin.create = function create(properties) { - return new DecCoin(properties); - }; - - /** - * Encodes the specified DecCoin message. Does not implicitly {@link cosmos.base.v1beta1.DecCoin.verify|verify} messages. - * @function encode - * @memberof cosmos.base.v1beta1.DecCoin - * @static - * @param {cosmos.base.v1beta1.IDecCoin} message DecCoin message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DecCoin.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.denom != null && Object.hasOwnProperty.call(message, "denom")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.denom); - if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.amount); - return writer; - }; - - /** - * Encodes the specified DecCoin message, length delimited. Does not implicitly {@link cosmos.base.v1beta1.DecCoin.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.v1beta1.DecCoin - * @static - * @param {cosmos.base.v1beta1.IDecCoin} message DecCoin message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DecCoin.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DecCoin message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.v1beta1.DecCoin - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.v1beta1.DecCoin} DecCoin - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DecCoin.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.v1beta1.DecCoin(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.denom = reader.string(); - break; - case 2: - message.amount = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DecCoin message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.v1beta1.DecCoin - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.v1beta1.DecCoin} DecCoin - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DecCoin.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DecCoin message. - * @function verify - * @memberof cosmos.base.v1beta1.DecCoin - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DecCoin.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.denom != null && message.hasOwnProperty("denom")) - if (!$util.isString(message.denom)) - return "denom: string expected"; - if (message.amount != null && message.hasOwnProperty("amount")) - if (!$util.isString(message.amount)) - return "amount: string expected"; - return null; - }; - - /** - * Creates a DecCoin message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.v1beta1.DecCoin - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.v1beta1.DecCoin} DecCoin - */ - DecCoin.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.v1beta1.DecCoin) - return object; - let message = new $root.cosmos.base.v1beta1.DecCoin(); - if (object.denom != null) - message.denom = String(object.denom); - if (object.amount != null) - message.amount = String(object.amount); - return message; - }; - - /** - * Creates a plain object from a DecCoin message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.v1beta1.DecCoin - * @static - * @param {cosmos.base.v1beta1.DecCoin} message DecCoin - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DecCoin.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.denom = ""; - object.amount = ""; - } - if (message.denom != null && message.hasOwnProperty("denom")) - object.denom = message.denom; - if (message.amount != null && message.hasOwnProperty("amount")) - object.amount = message.amount; - return object; - }; - - /** - * Converts this DecCoin to JSON. - * @function toJSON - * @memberof cosmos.base.v1beta1.DecCoin - * @instance - * @returns {Object.} JSON object - */ - DecCoin.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DecCoin; - })(v1beta1.DecCoin || {}); - - v1beta1.IntProto = (function(IntProto) { - - /** - * Properties of an IntProto. - * @memberof cosmos.base.v1beta1 - * @interface IIntProto - * @property {string|null} [int] IntProto int - */ - - /** - * Constructs a new IntProto. - * @memberof cosmos.base.v1beta1 - * @classdesc Represents an IntProto. - * @implements IIntProto - * @constructor - * @param {cosmos.base.v1beta1.IIntProto=} [properties] Properties to set - */ - function IntProto(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * IntProto int. - * @member {string} int - * @memberof cosmos.base.v1beta1.IntProto - * @instance - */ - IntProto.prototype.int = ""; - - /** - * Creates a new IntProto instance using the specified properties. - * @function create - * @memberof cosmos.base.v1beta1.IntProto - * @static - * @param {cosmos.base.v1beta1.IIntProto=} [properties] Properties to set - * @returns {cosmos.base.v1beta1.IntProto} IntProto instance - */ - IntProto.create = function create(properties) { - return new IntProto(properties); - }; - - /** - * Encodes the specified IntProto message. Does not implicitly {@link cosmos.base.v1beta1.IntProto.verify|verify} messages. - * @function encode - * @memberof cosmos.base.v1beta1.IntProto - * @static - * @param {cosmos.base.v1beta1.IIntProto} message IntProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IntProto.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.int != null && Object.hasOwnProperty.call(message, "int")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.int); - return writer; - }; - - /** - * Encodes the specified IntProto message, length delimited. Does not implicitly {@link cosmos.base.v1beta1.IntProto.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.v1beta1.IntProto - * @static - * @param {cosmos.base.v1beta1.IIntProto} message IntProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IntProto.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an IntProto message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.v1beta1.IntProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.v1beta1.IntProto} IntProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IntProto.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.v1beta1.IntProto(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.int = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an IntProto message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.v1beta1.IntProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.v1beta1.IntProto} IntProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IntProto.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an IntProto message. - * @function verify - * @memberof cosmos.base.v1beta1.IntProto - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - IntProto.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.int != null && message.hasOwnProperty("int")) - if (!$util.isString(message.int)) - return "int: string expected"; - return null; - }; - - /** - * Creates an IntProto message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.v1beta1.IntProto - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.v1beta1.IntProto} IntProto - */ - IntProto.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.v1beta1.IntProto) - return object; - let message = new $root.cosmos.base.v1beta1.IntProto(); - if (object.int != null) - message.int = String(object.int); - return message; - }; - - /** - * Creates a plain object from an IntProto message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.v1beta1.IntProto - * @static - * @param {cosmos.base.v1beta1.IntProto} message IntProto - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - IntProto.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.int = ""; - if (message.int != null && message.hasOwnProperty("int")) - object.int = message.int; - return object; - }; - - /** - * Converts this IntProto to JSON. - * @function toJSON - * @memberof cosmos.base.v1beta1.IntProto - * @instance - * @returns {Object.} JSON object - */ - IntProto.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return IntProto; - })(v1beta1.IntProto || {}); - - v1beta1.DecProto = (function(DecProto) { - - /** - * Properties of a DecProto. - * @memberof cosmos.base.v1beta1 - * @interface IDecProto - * @property {string|null} [dec] DecProto dec - */ - - /** - * Constructs a new DecProto. - * @memberof cosmos.base.v1beta1 - * @classdesc Represents a DecProto. - * @implements IDecProto - * @constructor - * @param {cosmos.base.v1beta1.IDecProto=} [properties] Properties to set - */ - function DecProto(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DecProto dec. - * @member {string} dec - * @memberof cosmos.base.v1beta1.DecProto - * @instance - */ - DecProto.prototype.dec = ""; - - /** - * Creates a new DecProto instance using the specified properties. - * @function create - * @memberof cosmos.base.v1beta1.DecProto - * @static - * @param {cosmos.base.v1beta1.IDecProto=} [properties] Properties to set - * @returns {cosmos.base.v1beta1.DecProto} DecProto instance - */ - DecProto.create = function create(properties) { - return new DecProto(properties); - }; - - /** - * Encodes the specified DecProto message. Does not implicitly {@link cosmos.base.v1beta1.DecProto.verify|verify} messages. - * @function encode - * @memberof cosmos.base.v1beta1.DecProto - * @static - * @param {cosmos.base.v1beta1.IDecProto} message DecProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DecProto.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.dec != null && Object.hasOwnProperty.call(message, "dec")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.dec); - return writer; - }; - - /** - * Encodes the specified DecProto message, length delimited. Does not implicitly {@link cosmos.base.v1beta1.DecProto.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.base.v1beta1.DecProto - * @static - * @param {cosmos.base.v1beta1.IDecProto} message DecProto message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DecProto.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DecProto message from the specified reader or buffer. - * @function decode - * @memberof cosmos.base.v1beta1.DecProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.base.v1beta1.DecProto} DecProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DecProto.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.base.v1beta1.DecProto(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.dec = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DecProto message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.base.v1beta1.DecProto - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.base.v1beta1.DecProto} DecProto - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DecProto.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DecProto message. - * @function verify - * @memberof cosmos.base.v1beta1.DecProto - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DecProto.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.dec != null && message.hasOwnProperty("dec")) - if (!$util.isString(message.dec)) - return "dec: string expected"; - return null; - }; - - /** - * Creates a DecProto message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.base.v1beta1.DecProto - * @static - * @param {Object.} object Plain object - * @returns {cosmos.base.v1beta1.DecProto} DecProto - */ - DecProto.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.base.v1beta1.DecProto) - return object; - let message = new $root.cosmos.base.v1beta1.DecProto(); - if (object.dec != null) - message.dec = String(object.dec); - return message; - }; - - /** - * Creates a plain object from a DecProto message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.base.v1beta1.DecProto - * @static - * @param {cosmos.base.v1beta1.DecProto} message DecProto - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DecProto.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.dec = ""; - if (message.dec != null && message.hasOwnProperty("dec")) - object.dec = message.dec; - return object; - }; - - /** - * Converts this DecProto to JSON. - * @function toJSON - * @memberof cosmos.base.v1beta1.DecProto - * @instance - * @returns {Object.} JSON object - */ - DecProto.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DecProto; - })(v1beta1.DecProto || {}); - - return v1beta1; - })(base.v1beta1 || {}); - - return base; - })(cosmos.base || {}); - - /** - * Namespace capability. - * @memberof cosmos - * @namespace - */ - - cosmos.capability = (function(capability) { - - /** - * Namespace v1beta1. - * @memberof cosmos.capability - * @namespace - */ - - capability.v1beta1 = (function(v1beta1) { - - v1beta1.Capability = (function(Capability) { - - /** - * Properties of a Capability. - * @memberof cosmos.capability.v1beta1 - * @interface ICapability - * @property {number|Long|null} [index] Capability index - */ - - /** - * Constructs a new Capability. - * @memberof cosmos.capability.v1beta1 - * @classdesc Represents a Capability. - * @implements ICapability - * @constructor - * @param {cosmos.capability.v1beta1.ICapability=} [properties] Properties to set - */ - function Capability(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Capability index. - * @member {number|Long} index - * @memberof cosmos.capability.v1beta1.Capability - * @instance - */ - Capability.prototype.index = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new Capability instance using the specified properties. - * @function create - * @memberof cosmos.capability.v1beta1.Capability - * @static - * @param {cosmos.capability.v1beta1.ICapability=} [properties] Properties to set - * @returns {cosmos.capability.v1beta1.Capability} Capability instance - */ - Capability.create = function create(properties) { - return new Capability(properties); - }; - - /** - * Encodes the specified Capability message. Does not implicitly {@link cosmos.capability.v1beta1.Capability.verify|verify} messages. - * @function encode - * @memberof cosmos.capability.v1beta1.Capability - * @static - * @param {cosmos.capability.v1beta1.ICapability} message Capability message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Capability.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.index != null && Object.hasOwnProperty.call(message, "index")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.index); - return writer; - }; - - /** - * Encodes the specified Capability message, length delimited. Does not implicitly {@link cosmos.capability.v1beta1.Capability.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.capability.v1beta1.Capability - * @static - * @param {cosmos.capability.v1beta1.ICapability} message Capability message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Capability.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Capability message from the specified reader or buffer. - * @function decode - * @memberof cosmos.capability.v1beta1.Capability - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.capability.v1beta1.Capability} Capability - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Capability.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.capability.v1beta1.Capability(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.index = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Capability message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.capability.v1beta1.Capability - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.capability.v1beta1.Capability} Capability - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Capability.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Capability message. - * @function verify - * @memberof cosmos.capability.v1beta1.Capability - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Capability.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.index != null && message.hasOwnProperty("index")) - if (!$util.isInteger(message.index) && !(message.index && $util.isInteger(message.index.low) && $util.isInteger(message.index.high))) - return "index: integer|Long expected"; - return null; - }; - - /** - * Creates a Capability message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.capability.v1beta1.Capability - * @static - * @param {Object.} object Plain object - * @returns {cosmos.capability.v1beta1.Capability} Capability - */ - Capability.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.capability.v1beta1.Capability) - return object; - let message = new $root.cosmos.capability.v1beta1.Capability(); - if (object.index != null) - if ($util.Long) - (message.index = $util.Long.fromValue(object.index)).unsigned = true; - else if (typeof object.index === "string") - message.index = parseInt(object.index, 10); - else if (typeof object.index === "number") - message.index = object.index; - else if (typeof object.index === "object") - message.index = new $util.LongBits(object.index.low >>> 0, object.index.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a Capability message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.capability.v1beta1.Capability - * @static - * @param {cosmos.capability.v1beta1.Capability} message Capability - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Capability.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.index = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.index = options.longs === String ? "0" : 0; - if (message.index != null && message.hasOwnProperty("index")) - if (typeof message.index === "number") - object.index = options.longs === String ? String(message.index) : message.index; - else - object.index = options.longs === String ? $util.Long.prototype.toString.call(message.index) : options.longs === Number ? new $util.LongBits(message.index.low >>> 0, message.index.high >>> 0).toNumber(true) : message.index; - return object; - }; - - /** - * Converts this Capability to JSON. - * @function toJSON - * @memberof cosmos.capability.v1beta1.Capability - * @instance - * @returns {Object.} JSON object - */ - Capability.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Capability; - })(v1beta1.Capability || {}); - - v1beta1.Owner = (function(Owner) { - - /** - * Properties of an Owner. - * @memberof cosmos.capability.v1beta1 - * @interface IOwner - * @property {string|null} [module] Owner module - * @property {string|null} [name] Owner name - */ - - /** - * Constructs a new Owner. - * @memberof cosmos.capability.v1beta1 - * @classdesc Represents an Owner. - * @implements IOwner - * @constructor - * @param {cosmos.capability.v1beta1.IOwner=} [properties] Properties to set - */ - function Owner(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Owner module. - * @member {string} module - * @memberof cosmos.capability.v1beta1.Owner - * @instance - */ - Owner.prototype.module = ""; - - /** - * Owner name. - * @member {string} name - * @memberof cosmos.capability.v1beta1.Owner - * @instance - */ - Owner.prototype.name = ""; - - /** - * Creates a new Owner instance using the specified properties. - * @function create - * @memberof cosmos.capability.v1beta1.Owner - * @static - * @param {cosmos.capability.v1beta1.IOwner=} [properties] Properties to set - * @returns {cosmos.capability.v1beta1.Owner} Owner instance - */ - Owner.create = function create(properties) { - return new Owner(properties); - }; - - /** - * Encodes the specified Owner message. Does not implicitly {@link cosmos.capability.v1beta1.Owner.verify|verify} messages. - * @function encode - * @memberof cosmos.capability.v1beta1.Owner - * @static - * @param {cosmos.capability.v1beta1.IOwner} message Owner message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Owner.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.module != null && Object.hasOwnProperty.call(message, "module")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.module); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.name); - return writer; - }; - - /** - * Encodes the specified Owner message, length delimited. Does not implicitly {@link cosmos.capability.v1beta1.Owner.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.capability.v1beta1.Owner - * @static - * @param {cosmos.capability.v1beta1.IOwner} message Owner message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Owner.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Owner message from the specified reader or buffer. - * @function decode - * @memberof cosmos.capability.v1beta1.Owner - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.capability.v1beta1.Owner} Owner - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Owner.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.capability.v1beta1.Owner(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.module = reader.string(); - break; - case 2: - message.name = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Owner message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.capability.v1beta1.Owner - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.capability.v1beta1.Owner} Owner - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Owner.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Owner message. - * @function verify - * @memberof cosmos.capability.v1beta1.Owner - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Owner.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.module != null && message.hasOwnProperty("module")) - if (!$util.isString(message.module)) - return "module: string expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - return null; - }; - - /** - * Creates an Owner message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.capability.v1beta1.Owner - * @static - * @param {Object.} object Plain object - * @returns {cosmos.capability.v1beta1.Owner} Owner - */ - Owner.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.capability.v1beta1.Owner) - return object; - let message = new $root.cosmos.capability.v1beta1.Owner(); - if (object.module != null) - message.module = String(object.module); - if (object.name != null) - message.name = String(object.name); - return message; - }; - - /** - * Creates a plain object from an Owner message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.capability.v1beta1.Owner - * @static - * @param {cosmos.capability.v1beta1.Owner} message Owner - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Owner.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.module = ""; - object.name = ""; - } - if (message.module != null && message.hasOwnProperty("module")) - object.module = message.module; - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - return object; - }; - - /** - * Converts this Owner to JSON. - * @function toJSON - * @memberof cosmos.capability.v1beta1.Owner - * @instance - * @returns {Object.} JSON object - */ - Owner.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Owner; - })(v1beta1.Owner || {}); - - v1beta1.CapabilityOwners = (function(CapabilityOwners) { - - /** - * Properties of a CapabilityOwners. - * @memberof cosmos.capability.v1beta1 - * @interface ICapabilityOwners - * @property {Array.|null} [owners] CapabilityOwners owners - */ - - /** - * Constructs a new CapabilityOwners. - * @memberof cosmos.capability.v1beta1 - * @classdesc Represents a CapabilityOwners. - * @implements ICapabilityOwners - * @constructor - * @param {cosmos.capability.v1beta1.ICapabilityOwners=} [properties] Properties to set - */ - function CapabilityOwners(properties) { - this.owners = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CapabilityOwners owners. - * @member {Array.} owners - * @memberof cosmos.capability.v1beta1.CapabilityOwners - * @instance - */ - CapabilityOwners.prototype.owners = $util.emptyArray; - - /** - * Creates a new CapabilityOwners instance using the specified properties. - * @function create - * @memberof cosmos.capability.v1beta1.CapabilityOwners - * @static - * @param {cosmos.capability.v1beta1.ICapabilityOwners=} [properties] Properties to set - * @returns {cosmos.capability.v1beta1.CapabilityOwners} CapabilityOwners instance - */ - CapabilityOwners.create = function create(properties) { - return new CapabilityOwners(properties); - }; - - /** - * Encodes the specified CapabilityOwners message. Does not implicitly {@link cosmos.capability.v1beta1.CapabilityOwners.verify|verify} messages. - * @function encode - * @memberof cosmos.capability.v1beta1.CapabilityOwners - * @static - * @param {cosmos.capability.v1beta1.ICapabilityOwners} message CapabilityOwners message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CapabilityOwners.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.owners != null && message.owners.length) - for (let i = 0; i < message.owners.length; ++i) - $root.cosmos.capability.v1beta1.Owner.encode(message.owners[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CapabilityOwners message, length delimited. Does not implicitly {@link cosmos.capability.v1beta1.CapabilityOwners.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.capability.v1beta1.CapabilityOwners - * @static - * @param {cosmos.capability.v1beta1.ICapabilityOwners} message CapabilityOwners message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CapabilityOwners.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CapabilityOwners message from the specified reader or buffer. - * @function decode - * @memberof cosmos.capability.v1beta1.CapabilityOwners - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.capability.v1beta1.CapabilityOwners} CapabilityOwners - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CapabilityOwners.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.capability.v1beta1.CapabilityOwners(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.owners && message.owners.length)) - message.owners = []; - message.owners.push($root.cosmos.capability.v1beta1.Owner.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CapabilityOwners message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.capability.v1beta1.CapabilityOwners - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.capability.v1beta1.CapabilityOwners} CapabilityOwners - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CapabilityOwners.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CapabilityOwners message. - * @function verify - * @memberof cosmos.capability.v1beta1.CapabilityOwners - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CapabilityOwners.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.owners != null && message.hasOwnProperty("owners")) { - if (!Array.isArray(message.owners)) - return "owners: array expected"; - for (let i = 0; i < message.owners.length; ++i) { - let error = $root.cosmos.capability.v1beta1.Owner.verify(message.owners[i]); - if (error) - return "owners." + error; - } - } - return null; - }; - - /** - * Creates a CapabilityOwners message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.capability.v1beta1.CapabilityOwners - * @static - * @param {Object.} object Plain object - * @returns {cosmos.capability.v1beta1.CapabilityOwners} CapabilityOwners - */ - CapabilityOwners.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.capability.v1beta1.CapabilityOwners) - return object; - let message = new $root.cosmos.capability.v1beta1.CapabilityOwners(); - if (object.owners) { - if (!Array.isArray(object.owners)) - throw TypeError(".cosmos.capability.v1beta1.CapabilityOwners.owners: array expected"); - message.owners = []; - for (let i = 0; i < object.owners.length; ++i) { - if (typeof object.owners[i] !== "object") - throw TypeError(".cosmos.capability.v1beta1.CapabilityOwners.owners: object expected"); - message.owners[i] = $root.cosmos.capability.v1beta1.Owner.fromObject(object.owners[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a CapabilityOwners message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.capability.v1beta1.CapabilityOwners - * @static - * @param {cosmos.capability.v1beta1.CapabilityOwners} message CapabilityOwners - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CapabilityOwners.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.owners = []; - if (message.owners && message.owners.length) { - object.owners = []; - for (let j = 0; j < message.owners.length; ++j) - object.owners[j] = $root.cosmos.capability.v1beta1.Owner.toObject(message.owners[j], options); - } - return object; - }; - - /** - * Converts this CapabilityOwners to JSON. - * @function toJSON - * @memberof cosmos.capability.v1beta1.CapabilityOwners - * @instance - * @returns {Object.} JSON object - */ - CapabilityOwners.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CapabilityOwners; - })(v1beta1.CapabilityOwners || {}); - - v1beta1.GenesisOwners = (function(GenesisOwners) { - - /** - * Properties of a GenesisOwners. - * @memberof cosmos.capability.v1beta1 - * @interface IGenesisOwners - * @property {number|Long|null} [index] GenesisOwners index - * @property {cosmos.capability.v1beta1.ICapabilityOwners|null} [indexOwners] GenesisOwners indexOwners - */ - - /** - * Constructs a new GenesisOwners. - * @memberof cosmos.capability.v1beta1 - * @classdesc Represents a GenesisOwners. - * @implements IGenesisOwners - * @constructor - * @param {cosmos.capability.v1beta1.IGenesisOwners=} [properties] Properties to set - */ - function GenesisOwners(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisOwners index. - * @member {number|Long} index - * @memberof cosmos.capability.v1beta1.GenesisOwners - * @instance - */ - GenesisOwners.prototype.index = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * GenesisOwners indexOwners. - * @member {cosmos.capability.v1beta1.ICapabilityOwners|null|undefined} indexOwners - * @memberof cosmos.capability.v1beta1.GenesisOwners - * @instance - */ - GenesisOwners.prototype.indexOwners = null; - - /** - * Creates a new GenesisOwners instance using the specified properties. - * @function create - * @memberof cosmos.capability.v1beta1.GenesisOwners - * @static - * @param {cosmos.capability.v1beta1.IGenesisOwners=} [properties] Properties to set - * @returns {cosmos.capability.v1beta1.GenesisOwners} GenesisOwners instance - */ - GenesisOwners.create = function create(properties) { - return new GenesisOwners(properties); - }; - - /** - * Encodes the specified GenesisOwners message. Does not implicitly {@link cosmos.capability.v1beta1.GenesisOwners.verify|verify} messages. - * @function encode - * @memberof cosmos.capability.v1beta1.GenesisOwners - * @static - * @param {cosmos.capability.v1beta1.IGenesisOwners} message GenesisOwners message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisOwners.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.index != null && Object.hasOwnProperty.call(message, "index")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.index); - if (message.indexOwners != null && Object.hasOwnProperty.call(message, "indexOwners")) - $root.cosmos.capability.v1beta1.CapabilityOwners.encode(message.indexOwners, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GenesisOwners message, length delimited. Does not implicitly {@link cosmos.capability.v1beta1.GenesisOwners.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.capability.v1beta1.GenesisOwners - * @static - * @param {cosmos.capability.v1beta1.IGenesisOwners} message GenesisOwners message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisOwners.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisOwners message from the specified reader or buffer. - * @function decode - * @memberof cosmos.capability.v1beta1.GenesisOwners - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.capability.v1beta1.GenesisOwners} GenesisOwners - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisOwners.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.capability.v1beta1.GenesisOwners(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.index = reader.uint64(); - break; - case 2: - message.indexOwners = $root.cosmos.capability.v1beta1.CapabilityOwners.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisOwners message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.capability.v1beta1.GenesisOwners - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.capability.v1beta1.GenesisOwners} GenesisOwners - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisOwners.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisOwners message. - * @function verify - * @memberof cosmos.capability.v1beta1.GenesisOwners - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisOwners.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.index != null && message.hasOwnProperty("index")) - if (!$util.isInteger(message.index) && !(message.index && $util.isInteger(message.index.low) && $util.isInteger(message.index.high))) - return "index: integer|Long expected"; - if (message.indexOwners != null && message.hasOwnProperty("indexOwners")) { - let error = $root.cosmos.capability.v1beta1.CapabilityOwners.verify(message.indexOwners); - if (error) - return "indexOwners." + error; - } - return null; - }; - - /** - * Creates a GenesisOwners message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.capability.v1beta1.GenesisOwners - * @static - * @param {Object.} object Plain object - * @returns {cosmos.capability.v1beta1.GenesisOwners} GenesisOwners - */ - GenesisOwners.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.capability.v1beta1.GenesisOwners) - return object; - let message = new $root.cosmos.capability.v1beta1.GenesisOwners(); - if (object.index != null) - if ($util.Long) - (message.index = $util.Long.fromValue(object.index)).unsigned = true; - else if (typeof object.index === "string") - message.index = parseInt(object.index, 10); - else if (typeof object.index === "number") - message.index = object.index; - else if (typeof object.index === "object") - message.index = new $util.LongBits(object.index.low >>> 0, object.index.high >>> 0).toNumber(true); - if (object.indexOwners != null) { - if (typeof object.indexOwners !== "object") - throw TypeError(".cosmos.capability.v1beta1.GenesisOwners.indexOwners: object expected"); - message.indexOwners = $root.cosmos.capability.v1beta1.CapabilityOwners.fromObject(object.indexOwners); - } - return message; - }; - - /** - * Creates a plain object from a GenesisOwners message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.capability.v1beta1.GenesisOwners - * @static - * @param {cosmos.capability.v1beta1.GenesisOwners} message GenesisOwners - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisOwners.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.index = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.index = options.longs === String ? "0" : 0; - object.indexOwners = null; - } - if (message.index != null && message.hasOwnProperty("index")) - if (typeof message.index === "number") - object.index = options.longs === String ? String(message.index) : message.index; - else - object.index = options.longs === String ? $util.Long.prototype.toString.call(message.index) : options.longs === Number ? new $util.LongBits(message.index.low >>> 0, message.index.high >>> 0).toNumber(true) : message.index; - if (message.indexOwners != null && message.hasOwnProperty("indexOwners")) - object.indexOwners = $root.cosmos.capability.v1beta1.CapabilityOwners.toObject(message.indexOwners, options); - return object; - }; - - /** - * Converts this GenesisOwners to JSON. - * @function toJSON - * @memberof cosmos.capability.v1beta1.GenesisOwners - * @instance - * @returns {Object.} JSON object - */ - GenesisOwners.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisOwners; - })(v1beta1.GenesisOwners || {}); - - v1beta1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof cosmos.capability.v1beta1 - * @interface IGenesisState - * @property {number|Long|null} [index] GenesisState index - * @property {Array.|null} [owners] GenesisState owners - */ - - /** - * Constructs a new GenesisState. - * @memberof cosmos.capability.v1beta1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {cosmos.capability.v1beta1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.owners = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState index. - * @member {number|Long} index - * @memberof cosmos.capability.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.index = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * GenesisState owners. - * @member {Array.} owners - * @memberof cosmos.capability.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.owners = $util.emptyArray; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof cosmos.capability.v1beta1.GenesisState - * @static - * @param {cosmos.capability.v1beta1.IGenesisState=} [properties] Properties to set - * @returns {cosmos.capability.v1beta1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link cosmos.capability.v1beta1.GenesisState.verify|verify} messages. - * @function encode - * @memberof cosmos.capability.v1beta1.GenesisState - * @static - * @param {cosmos.capability.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.index != null && Object.hasOwnProperty.call(message, "index")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.index); - if (message.owners != null && message.owners.length) - for (let i = 0; i < message.owners.length; ++i) - $root.cosmos.capability.v1beta1.GenesisOwners.encode(message.owners[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link cosmos.capability.v1beta1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.capability.v1beta1.GenesisState - * @static - * @param {cosmos.capability.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof cosmos.capability.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.capability.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.capability.v1beta1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.index = reader.uint64(); - break; - case 2: - if (!(message.owners && message.owners.length)) - message.owners = []; - message.owners.push($root.cosmos.capability.v1beta1.GenesisOwners.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.capability.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.capability.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof cosmos.capability.v1beta1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.index != null && message.hasOwnProperty("index")) - if (!$util.isInteger(message.index) && !(message.index && $util.isInteger(message.index.low) && $util.isInteger(message.index.high))) - return "index: integer|Long expected"; - if (message.owners != null && message.hasOwnProperty("owners")) { - if (!Array.isArray(message.owners)) - return "owners: array expected"; - for (let i = 0; i < message.owners.length; ++i) { - let error = $root.cosmos.capability.v1beta1.GenesisOwners.verify(message.owners[i]); - if (error) - return "owners." + error; - } - } - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.capability.v1beta1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {cosmos.capability.v1beta1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.capability.v1beta1.GenesisState) - return object; - let message = new $root.cosmos.capability.v1beta1.GenesisState(); - if (object.index != null) - if ($util.Long) - (message.index = $util.Long.fromValue(object.index)).unsigned = true; - else if (typeof object.index === "string") - message.index = parseInt(object.index, 10); - else if (typeof object.index === "number") - message.index = object.index; - else if (typeof object.index === "object") - message.index = new $util.LongBits(object.index.low >>> 0, object.index.high >>> 0).toNumber(true); - if (object.owners) { - if (!Array.isArray(object.owners)) - throw TypeError(".cosmos.capability.v1beta1.GenesisState.owners: array expected"); - message.owners = []; - for (let i = 0; i < object.owners.length; ++i) { - if (typeof object.owners[i] !== "object") - throw TypeError(".cosmos.capability.v1beta1.GenesisState.owners: object expected"); - message.owners[i] = $root.cosmos.capability.v1beta1.GenesisOwners.fromObject(object.owners[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.capability.v1beta1.GenesisState - * @static - * @param {cosmos.capability.v1beta1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.owners = []; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.index = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.index = options.longs === String ? "0" : 0; - if (message.index != null && message.hasOwnProperty("index")) - if (typeof message.index === "number") - object.index = options.longs === String ? String(message.index) : message.index; - else - object.index = options.longs === String ? $util.Long.prototype.toString.call(message.index) : options.longs === Number ? new $util.LongBits(message.index.low >>> 0, message.index.high >>> 0).toNumber(true) : message.index; - if (message.owners && message.owners.length) { - object.owners = []; - for (let j = 0; j < message.owners.length; ++j) - object.owners[j] = $root.cosmos.capability.v1beta1.GenesisOwners.toObject(message.owners[j], options); - } - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof cosmos.capability.v1beta1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1beta1.GenesisState || {}); - - return v1beta1; - })(capability.v1beta1 || {}); - - return capability; - })(cosmos.capability || {}); - - /** - * Namespace crisis. - * @memberof cosmos - * @namespace - */ - - cosmos.crisis = (function(crisis) { - - /** - * Namespace v1beta1. - * @memberof cosmos.crisis - * @namespace - */ - - crisis.v1beta1 = (function(v1beta1) { - - v1beta1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof cosmos.crisis.v1beta1 - * @interface IGenesisState - * @property {cosmos.base.v1beta1.ICoin|null} [constantFee] GenesisState constantFee - */ - - /** - * Constructs a new GenesisState. - * @memberof cosmos.crisis.v1beta1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {cosmos.crisis.v1beta1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState constantFee. - * @member {cosmos.base.v1beta1.ICoin|null|undefined} constantFee - * @memberof cosmos.crisis.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.constantFee = null; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof cosmos.crisis.v1beta1.GenesisState - * @static - * @param {cosmos.crisis.v1beta1.IGenesisState=} [properties] Properties to set - * @returns {cosmos.crisis.v1beta1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link cosmos.crisis.v1beta1.GenesisState.verify|verify} messages. - * @function encode - * @memberof cosmos.crisis.v1beta1.GenesisState - * @static - * @param {cosmos.crisis.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.constantFee != null && Object.hasOwnProperty.call(message, "constantFee")) - $root.cosmos.base.v1beta1.Coin.encode(message.constantFee, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link cosmos.crisis.v1beta1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.crisis.v1beta1.GenesisState - * @static - * @param {cosmos.crisis.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof cosmos.crisis.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.crisis.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.crisis.v1beta1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 3: - message.constantFee = $root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.crisis.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.crisis.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof cosmos.crisis.v1beta1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.constantFee != null && message.hasOwnProperty("constantFee")) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.constantFee); - if (error) - return "constantFee." + error; - } - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.crisis.v1beta1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {cosmos.crisis.v1beta1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.crisis.v1beta1.GenesisState) - return object; - let message = new $root.cosmos.crisis.v1beta1.GenesisState(); - if (object.constantFee != null) { - if (typeof object.constantFee !== "object") - throw TypeError(".cosmos.crisis.v1beta1.GenesisState.constantFee: object expected"); - message.constantFee = $root.cosmos.base.v1beta1.Coin.fromObject(object.constantFee); - } - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.crisis.v1beta1.GenesisState - * @static - * @param {cosmos.crisis.v1beta1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.constantFee = null; - if (message.constantFee != null && message.hasOwnProperty("constantFee")) - object.constantFee = $root.cosmos.base.v1beta1.Coin.toObject(message.constantFee, options); - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof cosmos.crisis.v1beta1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1beta1.GenesisState || {}); - - v1beta1.Msg = (function(Msg) { - - /** - * Constructs a new Msg service. - * @memberof cosmos.crisis.v1beta1 - * @classdesc Represents a Msg - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Msg(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Msg.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Msg; - - /** - * Creates new Msg service using the specified rpc implementation. - * @function create - * @memberof cosmos.crisis.v1beta1.Msg - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Msg} RPC service. Useful where requests and/or responses are streamed. - */ - Msg.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.crisis.v1beta1.Msg#verifyInvariant}. - * @memberof cosmos.crisis.v1beta1.Msg - * @typedef VerifyInvariantCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.crisis.v1beta1.IMsgVerifyInvariantResponse} [response] MsgVerifyInvariantResponse - */ - - /** - * Calls VerifyInvariant. - * @function verifyInvariant - * @memberof cosmos.crisis.v1beta1.Msg - * @instance - * @param {cosmos.crisis.v1beta1.IMsgVerifyInvariant} request MsgVerifyInvariant message or plain object - * @param {cosmos.crisis.v1beta1.Msg.VerifyInvariantCallback} callback Node-style callback called with the error, if any, and MsgVerifyInvariantResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.verifyInvariant = function verifyInvariant(request, callback) { - return this.rpcCall(verifyInvariant, $root.cosmos.crisis.v1beta1.MsgVerifyInvariant, $root.cosmos.crisis.v1beta1.MsgVerifyInvariantResponse, request, callback); - }, "name", { value: "VerifyInvariant" }); - - /** - * Calls VerifyInvariant. - * @function verifyInvariant - * @memberof cosmos.crisis.v1beta1.Msg - * @instance - * @param {cosmos.crisis.v1beta1.IMsgVerifyInvariant} request MsgVerifyInvariant message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Msg; - })(v1beta1.Msg || {}); - - v1beta1.MsgVerifyInvariant = (function(MsgVerifyInvariant) { - - /** - * Properties of a MsgVerifyInvariant. - * @memberof cosmos.crisis.v1beta1 - * @interface IMsgVerifyInvariant - * @property {string|null} [sender] MsgVerifyInvariant sender - * @property {string|null} [invariantModuleName] MsgVerifyInvariant invariantModuleName - * @property {string|null} [invariantRoute] MsgVerifyInvariant invariantRoute - */ - - /** - * Constructs a new MsgVerifyInvariant. - * @memberof cosmos.crisis.v1beta1 - * @classdesc Represents a MsgVerifyInvariant. - * @implements IMsgVerifyInvariant - * @constructor - * @param {cosmos.crisis.v1beta1.IMsgVerifyInvariant=} [properties] Properties to set - */ - function MsgVerifyInvariant(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgVerifyInvariant sender. - * @member {string} sender - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariant - * @instance - */ - MsgVerifyInvariant.prototype.sender = ""; - - /** - * MsgVerifyInvariant invariantModuleName. - * @member {string} invariantModuleName - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariant - * @instance - */ - MsgVerifyInvariant.prototype.invariantModuleName = ""; - - /** - * MsgVerifyInvariant invariantRoute. - * @member {string} invariantRoute - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariant - * @instance - */ - MsgVerifyInvariant.prototype.invariantRoute = ""; - - /** - * Creates a new MsgVerifyInvariant instance using the specified properties. - * @function create - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariant - * @static - * @param {cosmos.crisis.v1beta1.IMsgVerifyInvariant=} [properties] Properties to set - * @returns {cosmos.crisis.v1beta1.MsgVerifyInvariant} MsgVerifyInvariant instance - */ - MsgVerifyInvariant.create = function create(properties) { - return new MsgVerifyInvariant(properties); - }; - - /** - * Encodes the specified MsgVerifyInvariant message. Does not implicitly {@link cosmos.crisis.v1beta1.MsgVerifyInvariant.verify|verify} messages. - * @function encode - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariant - * @static - * @param {cosmos.crisis.v1beta1.IMsgVerifyInvariant} message MsgVerifyInvariant message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgVerifyInvariant.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.sender != null && Object.hasOwnProperty.call(message, "sender")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.sender); - if (message.invariantModuleName != null && Object.hasOwnProperty.call(message, "invariantModuleName")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.invariantModuleName); - if (message.invariantRoute != null && Object.hasOwnProperty.call(message, "invariantRoute")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.invariantRoute); - return writer; - }; - - /** - * Encodes the specified MsgVerifyInvariant message, length delimited. Does not implicitly {@link cosmos.crisis.v1beta1.MsgVerifyInvariant.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariant - * @static - * @param {cosmos.crisis.v1beta1.IMsgVerifyInvariant} message MsgVerifyInvariant message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgVerifyInvariant.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgVerifyInvariant message from the specified reader or buffer. - * @function decode - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariant - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.crisis.v1beta1.MsgVerifyInvariant} MsgVerifyInvariant - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgVerifyInvariant.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.crisis.v1beta1.MsgVerifyInvariant(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.sender = reader.string(); - break; - case 2: - message.invariantModuleName = reader.string(); - break; - case 3: - message.invariantRoute = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgVerifyInvariant message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariant - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.crisis.v1beta1.MsgVerifyInvariant} MsgVerifyInvariant - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgVerifyInvariant.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgVerifyInvariant message. - * @function verify - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariant - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgVerifyInvariant.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.sender != null && message.hasOwnProperty("sender")) - if (!$util.isString(message.sender)) - return "sender: string expected"; - if (message.invariantModuleName != null && message.hasOwnProperty("invariantModuleName")) - if (!$util.isString(message.invariantModuleName)) - return "invariantModuleName: string expected"; - if (message.invariantRoute != null && message.hasOwnProperty("invariantRoute")) - if (!$util.isString(message.invariantRoute)) - return "invariantRoute: string expected"; - return null; - }; - - /** - * Creates a MsgVerifyInvariant message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariant - * @static - * @param {Object.} object Plain object - * @returns {cosmos.crisis.v1beta1.MsgVerifyInvariant} MsgVerifyInvariant - */ - MsgVerifyInvariant.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.crisis.v1beta1.MsgVerifyInvariant) - return object; - let message = new $root.cosmos.crisis.v1beta1.MsgVerifyInvariant(); - if (object.sender != null) - message.sender = String(object.sender); - if (object.invariantModuleName != null) - message.invariantModuleName = String(object.invariantModuleName); - if (object.invariantRoute != null) - message.invariantRoute = String(object.invariantRoute); - return message; - }; - - /** - * Creates a plain object from a MsgVerifyInvariant message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariant - * @static - * @param {cosmos.crisis.v1beta1.MsgVerifyInvariant} message MsgVerifyInvariant - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgVerifyInvariant.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.sender = ""; - object.invariantModuleName = ""; - object.invariantRoute = ""; - } - if (message.sender != null && message.hasOwnProperty("sender")) - object.sender = message.sender; - if (message.invariantModuleName != null && message.hasOwnProperty("invariantModuleName")) - object.invariantModuleName = message.invariantModuleName; - if (message.invariantRoute != null && message.hasOwnProperty("invariantRoute")) - object.invariantRoute = message.invariantRoute; - return object; - }; - - /** - * Converts this MsgVerifyInvariant to JSON. - * @function toJSON - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariant - * @instance - * @returns {Object.} JSON object - */ - MsgVerifyInvariant.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgVerifyInvariant; - })(v1beta1.MsgVerifyInvariant || {}); - - v1beta1.MsgVerifyInvariantResponse = (function(MsgVerifyInvariantResponse) { - - /** - * Properties of a MsgVerifyInvariantResponse. - * @memberof cosmos.crisis.v1beta1 - * @interface IMsgVerifyInvariantResponse - */ - - /** - * Constructs a new MsgVerifyInvariantResponse. - * @memberof cosmos.crisis.v1beta1 - * @classdesc Represents a MsgVerifyInvariantResponse. - * @implements IMsgVerifyInvariantResponse - * @constructor - * @param {cosmos.crisis.v1beta1.IMsgVerifyInvariantResponse=} [properties] Properties to set - */ - function MsgVerifyInvariantResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgVerifyInvariantResponse instance using the specified properties. - * @function create - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariantResponse - * @static - * @param {cosmos.crisis.v1beta1.IMsgVerifyInvariantResponse=} [properties] Properties to set - * @returns {cosmos.crisis.v1beta1.MsgVerifyInvariantResponse} MsgVerifyInvariantResponse instance - */ - MsgVerifyInvariantResponse.create = function create(properties) { - return new MsgVerifyInvariantResponse(properties); - }; - - /** - * Encodes the specified MsgVerifyInvariantResponse message. Does not implicitly {@link cosmos.crisis.v1beta1.MsgVerifyInvariantResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariantResponse - * @static - * @param {cosmos.crisis.v1beta1.IMsgVerifyInvariantResponse} message MsgVerifyInvariantResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgVerifyInvariantResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgVerifyInvariantResponse message, length delimited. Does not implicitly {@link cosmos.crisis.v1beta1.MsgVerifyInvariantResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariantResponse - * @static - * @param {cosmos.crisis.v1beta1.IMsgVerifyInvariantResponse} message MsgVerifyInvariantResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgVerifyInvariantResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgVerifyInvariantResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariantResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.crisis.v1beta1.MsgVerifyInvariantResponse} MsgVerifyInvariantResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgVerifyInvariantResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.crisis.v1beta1.MsgVerifyInvariantResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgVerifyInvariantResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariantResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.crisis.v1beta1.MsgVerifyInvariantResponse} MsgVerifyInvariantResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgVerifyInvariantResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgVerifyInvariantResponse message. - * @function verify - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariantResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgVerifyInvariantResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgVerifyInvariantResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariantResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.crisis.v1beta1.MsgVerifyInvariantResponse} MsgVerifyInvariantResponse - */ - MsgVerifyInvariantResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.crisis.v1beta1.MsgVerifyInvariantResponse) - return object; - return new $root.cosmos.crisis.v1beta1.MsgVerifyInvariantResponse(); - }; - - /** - * Creates a plain object from a MsgVerifyInvariantResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariantResponse - * @static - * @param {cosmos.crisis.v1beta1.MsgVerifyInvariantResponse} message MsgVerifyInvariantResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgVerifyInvariantResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgVerifyInvariantResponse to JSON. - * @function toJSON - * @memberof cosmos.crisis.v1beta1.MsgVerifyInvariantResponse - * @instance - * @returns {Object.} JSON object - */ - MsgVerifyInvariantResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgVerifyInvariantResponse; - })(v1beta1.MsgVerifyInvariantResponse || {}); - - return v1beta1; - })(crisis.v1beta1 || {}); - - return crisis; - })(cosmos.crisis || {}); - - /** - * Namespace crypto. - * @memberof cosmos - * @namespace - */ - - cosmos.crypto = (function(crypto) { - - /** - * Namespace ed25519. - * @memberof cosmos.crypto - * @namespace - */ - - crypto.ed25519 = (function(ed25519) { - - ed25519.PubKey = (function(PubKey) { - - /** - * Properties of a PubKey. - * @memberof cosmos.crypto.ed25519 - * @interface IPubKey - * @property {Uint8Array|null} [key] PubKey key - */ - - /** - * Constructs a new PubKey. - * @memberof cosmos.crypto.ed25519 - * @classdesc Represents a PubKey. - * @implements IPubKey - * @constructor - * @param {cosmos.crypto.ed25519.IPubKey=} [properties] Properties to set - */ - function PubKey(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PubKey key. - * @member {Uint8Array} key - * @memberof cosmos.crypto.ed25519.PubKey - * @instance - */ - PubKey.prototype.key = $util.newBuffer([]); - - /** - * Creates a new PubKey instance using the specified properties. - * @function create - * @memberof cosmos.crypto.ed25519.PubKey - * @static - * @param {cosmos.crypto.ed25519.IPubKey=} [properties] Properties to set - * @returns {cosmos.crypto.ed25519.PubKey} PubKey instance - */ - PubKey.create = function create(properties) { - return new PubKey(properties); - }; - - /** - * Encodes the specified PubKey message. Does not implicitly {@link cosmos.crypto.ed25519.PubKey.verify|verify} messages. - * @function encode - * @memberof cosmos.crypto.ed25519.PubKey - * @static - * @param {cosmos.crypto.ed25519.IPubKey} message PubKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PubKey.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - return writer; - }; - - /** - * Encodes the specified PubKey message, length delimited. Does not implicitly {@link cosmos.crypto.ed25519.PubKey.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.crypto.ed25519.PubKey - * @static - * @param {cosmos.crypto.ed25519.IPubKey} message PubKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PubKey.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PubKey message from the specified reader or buffer. - * @function decode - * @memberof cosmos.crypto.ed25519.PubKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.crypto.ed25519.PubKey} PubKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PubKey.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.crypto.ed25519.PubKey(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PubKey message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.crypto.ed25519.PubKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.crypto.ed25519.PubKey} PubKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PubKey.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PubKey message. - * @function verify - * @memberof cosmos.crypto.ed25519.PubKey - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PubKey.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - return null; - }; - - /** - * Creates a PubKey message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.crypto.ed25519.PubKey - * @static - * @param {Object.} object Plain object - * @returns {cosmos.crypto.ed25519.PubKey} PubKey - */ - PubKey.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.crypto.ed25519.PubKey) - return object; - let message = new $root.cosmos.crypto.ed25519.PubKey(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - return message; - }; - - /** - * Creates a plain object from a PubKey message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.crypto.ed25519.PubKey - * @static - * @param {cosmos.crypto.ed25519.PubKey} message PubKey - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PubKey.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - return object; - }; - - /** - * Converts this PubKey to JSON. - * @function toJSON - * @memberof cosmos.crypto.ed25519.PubKey - * @instance - * @returns {Object.} JSON object - */ - PubKey.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PubKey; - })(ed25519.PubKey || {}); - - ed25519.PrivKey = (function(PrivKey) { - - /** - * Properties of a PrivKey. - * @memberof cosmos.crypto.ed25519 - * @interface IPrivKey - * @property {Uint8Array|null} [key] PrivKey key - */ - - /** - * Constructs a new PrivKey. - * @memberof cosmos.crypto.ed25519 - * @classdesc Represents a PrivKey. - * @implements IPrivKey - * @constructor - * @param {cosmos.crypto.ed25519.IPrivKey=} [properties] Properties to set - */ - function PrivKey(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PrivKey key. - * @member {Uint8Array} key - * @memberof cosmos.crypto.ed25519.PrivKey - * @instance - */ - PrivKey.prototype.key = $util.newBuffer([]); - - /** - * Creates a new PrivKey instance using the specified properties. - * @function create - * @memberof cosmos.crypto.ed25519.PrivKey - * @static - * @param {cosmos.crypto.ed25519.IPrivKey=} [properties] Properties to set - * @returns {cosmos.crypto.ed25519.PrivKey} PrivKey instance - */ - PrivKey.create = function create(properties) { - return new PrivKey(properties); - }; - - /** - * Encodes the specified PrivKey message. Does not implicitly {@link cosmos.crypto.ed25519.PrivKey.verify|verify} messages. - * @function encode - * @memberof cosmos.crypto.ed25519.PrivKey - * @static - * @param {cosmos.crypto.ed25519.IPrivKey} message PrivKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PrivKey.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - return writer; - }; - - /** - * Encodes the specified PrivKey message, length delimited. Does not implicitly {@link cosmos.crypto.ed25519.PrivKey.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.crypto.ed25519.PrivKey - * @static - * @param {cosmos.crypto.ed25519.IPrivKey} message PrivKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PrivKey.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PrivKey message from the specified reader or buffer. - * @function decode - * @memberof cosmos.crypto.ed25519.PrivKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.crypto.ed25519.PrivKey} PrivKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PrivKey.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.crypto.ed25519.PrivKey(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PrivKey message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.crypto.ed25519.PrivKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.crypto.ed25519.PrivKey} PrivKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PrivKey.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PrivKey message. - * @function verify - * @memberof cosmos.crypto.ed25519.PrivKey - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PrivKey.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - return null; - }; - - /** - * Creates a PrivKey message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.crypto.ed25519.PrivKey - * @static - * @param {Object.} object Plain object - * @returns {cosmos.crypto.ed25519.PrivKey} PrivKey - */ - PrivKey.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.crypto.ed25519.PrivKey) - return object; - let message = new $root.cosmos.crypto.ed25519.PrivKey(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - return message; - }; - - /** - * Creates a plain object from a PrivKey message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.crypto.ed25519.PrivKey - * @static - * @param {cosmos.crypto.ed25519.PrivKey} message PrivKey - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PrivKey.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - return object; - }; - - /** - * Converts this PrivKey to JSON. - * @function toJSON - * @memberof cosmos.crypto.ed25519.PrivKey - * @instance - * @returns {Object.} JSON object - */ - PrivKey.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PrivKey; - })(ed25519.PrivKey || {}); - - return ed25519; - })(crypto.ed25519 || {}); - - /** - * Namespace multisig. - * @memberof cosmos.crypto - * @namespace - */ - - crypto.multisig = (function(multisig) { - - multisig.LegacyAminoPubKey = (function(LegacyAminoPubKey) { - - /** - * Properties of a LegacyAminoPubKey. - * @memberof cosmos.crypto.multisig - * @interface ILegacyAminoPubKey - * @property {number|null} [threshold] LegacyAminoPubKey threshold - * @property {Array.|null} [publicKeys] LegacyAminoPubKey publicKeys - */ - - /** - * Constructs a new LegacyAminoPubKey. - * @memberof cosmos.crypto.multisig - * @classdesc Represents a LegacyAminoPubKey. - * @implements ILegacyAminoPubKey - * @constructor - * @param {cosmos.crypto.multisig.ILegacyAminoPubKey=} [properties] Properties to set - */ - function LegacyAminoPubKey(properties) { - this.publicKeys = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * LegacyAminoPubKey threshold. - * @member {number} threshold - * @memberof cosmos.crypto.multisig.LegacyAminoPubKey - * @instance - */ - LegacyAminoPubKey.prototype.threshold = 0; - - /** - * LegacyAminoPubKey publicKeys. - * @member {Array.} publicKeys - * @memberof cosmos.crypto.multisig.LegacyAminoPubKey - * @instance - */ - LegacyAminoPubKey.prototype.publicKeys = $util.emptyArray; - - /** - * Creates a new LegacyAminoPubKey instance using the specified properties. - * @function create - * @memberof cosmos.crypto.multisig.LegacyAminoPubKey - * @static - * @param {cosmos.crypto.multisig.ILegacyAminoPubKey=} [properties] Properties to set - * @returns {cosmos.crypto.multisig.LegacyAminoPubKey} LegacyAminoPubKey instance - */ - LegacyAminoPubKey.create = function create(properties) { - return new LegacyAminoPubKey(properties); - }; - - /** - * Encodes the specified LegacyAminoPubKey message. Does not implicitly {@link cosmos.crypto.multisig.LegacyAminoPubKey.verify|verify} messages. - * @function encode - * @memberof cosmos.crypto.multisig.LegacyAminoPubKey - * @static - * @param {cosmos.crypto.multisig.ILegacyAminoPubKey} message LegacyAminoPubKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LegacyAminoPubKey.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.threshold != null && Object.hasOwnProperty.call(message, "threshold")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.threshold); - if (message.publicKeys != null && message.publicKeys.length) - for (let i = 0; i < message.publicKeys.length; ++i) - $root.google.protobuf.Any.encode(message.publicKeys[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified LegacyAminoPubKey message, length delimited. Does not implicitly {@link cosmos.crypto.multisig.LegacyAminoPubKey.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.crypto.multisig.LegacyAminoPubKey - * @static - * @param {cosmos.crypto.multisig.ILegacyAminoPubKey} message LegacyAminoPubKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LegacyAminoPubKey.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a LegacyAminoPubKey message from the specified reader or buffer. - * @function decode - * @memberof cosmos.crypto.multisig.LegacyAminoPubKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.crypto.multisig.LegacyAminoPubKey} LegacyAminoPubKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LegacyAminoPubKey.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.crypto.multisig.LegacyAminoPubKey(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.threshold = reader.uint32(); - break; - case 2: - if (!(message.publicKeys && message.publicKeys.length)) - message.publicKeys = []; - message.publicKeys.push($root.google.protobuf.Any.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a LegacyAminoPubKey message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.crypto.multisig.LegacyAminoPubKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.crypto.multisig.LegacyAminoPubKey} LegacyAminoPubKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LegacyAminoPubKey.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LegacyAminoPubKey message. - * @function verify - * @memberof cosmos.crypto.multisig.LegacyAminoPubKey - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LegacyAminoPubKey.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.threshold != null && message.hasOwnProperty("threshold")) - if (!$util.isInteger(message.threshold)) - return "threshold: integer expected"; - if (message.publicKeys != null && message.hasOwnProperty("publicKeys")) { - if (!Array.isArray(message.publicKeys)) - return "publicKeys: array expected"; - for (let i = 0; i < message.publicKeys.length; ++i) { - let error = $root.google.protobuf.Any.verify(message.publicKeys[i]); - if (error) - return "publicKeys." + error; - } - } - return null; - }; - - /** - * Creates a LegacyAminoPubKey message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.crypto.multisig.LegacyAminoPubKey - * @static - * @param {Object.} object Plain object - * @returns {cosmos.crypto.multisig.LegacyAminoPubKey} LegacyAminoPubKey - */ - LegacyAminoPubKey.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.crypto.multisig.LegacyAminoPubKey) - return object; - let message = new $root.cosmos.crypto.multisig.LegacyAminoPubKey(); - if (object.threshold != null) - message.threshold = object.threshold >>> 0; - if (object.publicKeys) { - if (!Array.isArray(object.publicKeys)) - throw TypeError(".cosmos.crypto.multisig.LegacyAminoPubKey.publicKeys: array expected"); - message.publicKeys = []; - for (let i = 0; i < object.publicKeys.length; ++i) { - if (typeof object.publicKeys[i] !== "object") - throw TypeError(".cosmos.crypto.multisig.LegacyAminoPubKey.publicKeys: object expected"); - message.publicKeys[i] = $root.google.protobuf.Any.fromObject(object.publicKeys[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a LegacyAminoPubKey message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.crypto.multisig.LegacyAminoPubKey - * @static - * @param {cosmos.crypto.multisig.LegacyAminoPubKey} message LegacyAminoPubKey - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LegacyAminoPubKey.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.publicKeys = []; - if (options.defaults) - object.threshold = 0; - if (message.threshold != null && message.hasOwnProperty("threshold")) - object.threshold = message.threshold; - if (message.publicKeys && message.publicKeys.length) { - object.publicKeys = []; - for (let j = 0; j < message.publicKeys.length; ++j) - object.publicKeys[j] = $root.google.protobuf.Any.toObject(message.publicKeys[j], options); - } - return object; - }; - - /** - * Converts this LegacyAminoPubKey to JSON. - * @function toJSON - * @memberof cosmos.crypto.multisig.LegacyAminoPubKey - * @instance - * @returns {Object.} JSON object - */ - LegacyAminoPubKey.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return LegacyAminoPubKey; - })(multisig.LegacyAminoPubKey || {}); - - /** - * Namespace v1beta1. - * @memberof cosmos.crypto.multisig - * @namespace - */ - - multisig.v1beta1 = (function(v1beta1) { - - v1beta1.MultiSignature = (function(MultiSignature) { - - /** - * Properties of a MultiSignature. - * @memberof cosmos.crypto.multisig.v1beta1 - * @interface IMultiSignature - * @property {Array.|null} [signatures] MultiSignature signatures - */ - - /** - * Constructs a new MultiSignature. - * @memberof cosmos.crypto.multisig.v1beta1 - * @classdesc Represents a MultiSignature. - * @implements IMultiSignature - * @constructor - * @param {cosmos.crypto.multisig.v1beta1.IMultiSignature=} [properties] Properties to set - */ - function MultiSignature(properties) { - this.signatures = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MultiSignature signatures. - * @member {Array.} signatures - * @memberof cosmos.crypto.multisig.v1beta1.MultiSignature - * @instance - */ - MultiSignature.prototype.signatures = $util.emptyArray; - - /** - * Creates a new MultiSignature instance using the specified properties. - * @function create - * @memberof cosmos.crypto.multisig.v1beta1.MultiSignature - * @static - * @param {cosmos.crypto.multisig.v1beta1.IMultiSignature=} [properties] Properties to set - * @returns {cosmos.crypto.multisig.v1beta1.MultiSignature} MultiSignature instance - */ - MultiSignature.create = function create(properties) { - return new MultiSignature(properties); - }; - - /** - * Encodes the specified MultiSignature message. Does not implicitly {@link cosmos.crypto.multisig.v1beta1.MultiSignature.verify|verify} messages. - * @function encode - * @memberof cosmos.crypto.multisig.v1beta1.MultiSignature - * @static - * @param {cosmos.crypto.multisig.v1beta1.IMultiSignature} message MultiSignature message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MultiSignature.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.signatures != null && message.signatures.length) - for (let i = 0; i < message.signatures.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.signatures[i]); - return writer; - }; - - /** - * Encodes the specified MultiSignature message, length delimited. Does not implicitly {@link cosmos.crypto.multisig.v1beta1.MultiSignature.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.crypto.multisig.v1beta1.MultiSignature - * @static - * @param {cosmos.crypto.multisig.v1beta1.IMultiSignature} message MultiSignature message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MultiSignature.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MultiSignature message from the specified reader or buffer. - * @function decode - * @memberof cosmos.crypto.multisig.v1beta1.MultiSignature - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.crypto.multisig.v1beta1.MultiSignature} MultiSignature - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MultiSignature.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.crypto.multisig.v1beta1.MultiSignature(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.signatures && message.signatures.length)) - message.signatures = []; - message.signatures.push(reader.bytes()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MultiSignature message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.crypto.multisig.v1beta1.MultiSignature - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.crypto.multisig.v1beta1.MultiSignature} MultiSignature - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MultiSignature.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MultiSignature message. - * @function verify - * @memberof cosmos.crypto.multisig.v1beta1.MultiSignature - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MultiSignature.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.signatures != null && message.hasOwnProperty("signatures")) { - if (!Array.isArray(message.signatures)) - return "signatures: array expected"; - for (let i = 0; i < message.signatures.length; ++i) - if (!(message.signatures[i] && typeof message.signatures[i].length === "number" || $util.isString(message.signatures[i]))) - return "signatures: buffer[] expected"; - } - return null; - }; - - /** - * Creates a MultiSignature message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.crypto.multisig.v1beta1.MultiSignature - * @static - * @param {Object.} object Plain object - * @returns {cosmos.crypto.multisig.v1beta1.MultiSignature} MultiSignature - */ - MultiSignature.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.crypto.multisig.v1beta1.MultiSignature) - return object; - let message = new $root.cosmos.crypto.multisig.v1beta1.MultiSignature(); - if (object.signatures) { - if (!Array.isArray(object.signatures)) - throw TypeError(".cosmos.crypto.multisig.v1beta1.MultiSignature.signatures: array expected"); - message.signatures = []; - for (let i = 0; i < object.signatures.length; ++i) - if (typeof object.signatures[i] === "string") - $util.base64.decode(object.signatures[i], message.signatures[i] = $util.newBuffer($util.base64.length(object.signatures[i])), 0); - else if (object.signatures[i].length) - message.signatures[i] = object.signatures[i]; - } - return message; - }; - - /** - * Creates a plain object from a MultiSignature message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.crypto.multisig.v1beta1.MultiSignature - * @static - * @param {cosmos.crypto.multisig.v1beta1.MultiSignature} message MultiSignature - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MultiSignature.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.signatures = []; - if (message.signatures && message.signatures.length) { - object.signatures = []; - for (let j = 0; j < message.signatures.length; ++j) - object.signatures[j] = options.bytes === String ? $util.base64.encode(message.signatures[j], 0, message.signatures[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.signatures[j]) : message.signatures[j]; - } - return object; - }; - - /** - * Converts this MultiSignature to JSON. - * @function toJSON - * @memberof cosmos.crypto.multisig.v1beta1.MultiSignature - * @instance - * @returns {Object.} JSON object - */ - MultiSignature.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MultiSignature; - })(v1beta1.MultiSignature || {}); - - v1beta1.CompactBitArray = (function(CompactBitArray) { - - /** - * Properties of a CompactBitArray. - * @memberof cosmos.crypto.multisig.v1beta1 - * @interface ICompactBitArray - * @property {number|null} [extraBitsStored] CompactBitArray extraBitsStored - * @property {Uint8Array|null} [elems] CompactBitArray elems - */ - - /** - * Constructs a new CompactBitArray. - * @memberof cosmos.crypto.multisig.v1beta1 - * @classdesc Represents a CompactBitArray. - * @implements ICompactBitArray - * @constructor - * @param {cosmos.crypto.multisig.v1beta1.ICompactBitArray=} [properties] Properties to set - */ - function CompactBitArray(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CompactBitArray extraBitsStored. - * @member {number} extraBitsStored - * @memberof cosmos.crypto.multisig.v1beta1.CompactBitArray - * @instance - */ - CompactBitArray.prototype.extraBitsStored = 0; - - /** - * CompactBitArray elems. - * @member {Uint8Array} elems - * @memberof cosmos.crypto.multisig.v1beta1.CompactBitArray - * @instance - */ - CompactBitArray.prototype.elems = $util.newBuffer([]); - - /** - * Creates a new CompactBitArray instance using the specified properties. - * @function create - * @memberof cosmos.crypto.multisig.v1beta1.CompactBitArray - * @static - * @param {cosmos.crypto.multisig.v1beta1.ICompactBitArray=} [properties] Properties to set - * @returns {cosmos.crypto.multisig.v1beta1.CompactBitArray} CompactBitArray instance - */ - CompactBitArray.create = function create(properties) { - return new CompactBitArray(properties); - }; - - /** - * Encodes the specified CompactBitArray message. Does not implicitly {@link cosmos.crypto.multisig.v1beta1.CompactBitArray.verify|verify} messages. - * @function encode - * @memberof cosmos.crypto.multisig.v1beta1.CompactBitArray - * @static - * @param {cosmos.crypto.multisig.v1beta1.ICompactBitArray} message CompactBitArray message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CompactBitArray.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.extraBitsStored != null && Object.hasOwnProperty.call(message, "extraBitsStored")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.extraBitsStored); - if (message.elems != null && Object.hasOwnProperty.call(message, "elems")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.elems); - return writer; - }; - - /** - * Encodes the specified CompactBitArray message, length delimited. Does not implicitly {@link cosmos.crypto.multisig.v1beta1.CompactBitArray.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.crypto.multisig.v1beta1.CompactBitArray - * @static - * @param {cosmos.crypto.multisig.v1beta1.ICompactBitArray} message CompactBitArray message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CompactBitArray.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CompactBitArray message from the specified reader or buffer. - * @function decode - * @memberof cosmos.crypto.multisig.v1beta1.CompactBitArray - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.crypto.multisig.v1beta1.CompactBitArray} CompactBitArray - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CompactBitArray.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.crypto.multisig.v1beta1.CompactBitArray(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.extraBitsStored = reader.uint32(); - break; - case 2: - message.elems = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CompactBitArray message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.crypto.multisig.v1beta1.CompactBitArray - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.crypto.multisig.v1beta1.CompactBitArray} CompactBitArray - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CompactBitArray.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CompactBitArray message. - * @function verify - * @memberof cosmos.crypto.multisig.v1beta1.CompactBitArray - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CompactBitArray.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.extraBitsStored != null && message.hasOwnProperty("extraBitsStored")) - if (!$util.isInteger(message.extraBitsStored)) - return "extraBitsStored: integer expected"; - if (message.elems != null && message.hasOwnProperty("elems")) - if (!(message.elems && typeof message.elems.length === "number" || $util.isString(message.elems))) - return "elems: buffer expected"; - return null; - }; - - /** - * Creates a CompactBitArray message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.crypto.multisig.v1beta1.CompactBitArray - * @static - * @param {Object.} object Plain object - * @returns {cosmos.crypto.multisig.v1beta1.CompactBitArray} CompactBitArray - */ - CompactBitArray.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.crypto.multisig.v1beta1.CompactBitArray) - return object; - let message = new $root.cosmos.crypto.multisig.v1beta1.CompactBitArray(); - if (object.extraBitsStored != null) - message.extraBitsStored = object.extraBitsStored >>> 0; - if (object.elems != null) - if (typeof object.elems === "string") - $util.base64.decode(object.elems, message.elems = $util.newBuffer($util.base64.length(object.elems)), 0); - else if (object.elems.length) - message.elems = object.elems; - return message; - }; - - /** - * Creates a plain object from a CompactBitArray message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.crypto.multisig.v1beta1.CompactBitArray - * @static - * @param {cosmos.crypto.multisig.v1beta1.CompactBitArray} message CompactBitArray - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CompactBitArray.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.extraBitsStored = 0; - if (options.bytes === String) - object.elems = ""; - else { - object.elems = []; - if (options.bytes !== Array) - object.elems = $util.newBuffer(object.elems); - } - } - if (message.extraBitsStored != null && message.hasOwnProperty("extraBitsStored")) - object.extraBitsStored = message.extraBitsStored; - if (message.elems != null && message.hasOwnProperty("elems")) - object.elems = options.bytes === String ? $util.base64.encode(message.elems, 0, message.elems.length) : options.bytes === Array ? Array.prototype.slice.call(message.elems) : message.elems; - return object; - }; - - /** - * Converts this CompactBitArray to JSON. - * @function toJSON - * @memberof cosmos.crypto.multisig.v1beta1.CompactBitArray - * @instance - * @returns {Object.} JSON object - */ - CompactBitArray.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CompactBitArray; - })(v1beta1.CompactBitArray || {}); - - return v1beta1; - })(multisig.v1beta1 || {}); - - return multisig; - })(crypto.multisig || {}); - - /** - * Namespace secp256k1. - * @memberof cosmos.crypto - * @namespace - */ - - crypto.secp256k1 = (function(secp256k1) { - - secp256k1.PubKey = (function(PubKey) { - - /** - * Properties of a PubKey. - * @memberof cosmos.crypto.secp256k1 - * @interface IPubKey - * @property {Uint8Array|null} [key] PubKey key - */ - - /** - * Constructs a new PubKey. - * @memberof cosmos.crypto.secp256k1 - * @classdesc Represents a PubKey. - * @implements IPubKey - * @constructor - * @param {cosmos.crypto.secp256k1.IPubKey=} [properties] Properties to set - */ - function PubKey(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PubKey key. - * @member {Uint8Array} key - * @memberof cosmos.crypto.secp256k1.PubKey - * @instance - */ - PubKey.prototype.key = $util.newBuffer([]); - - /** - * Creates a new PubKey instance using the specified properties. - * @function create - * @memberof cosmos.crypto.secp256k1.PubKey - * @static - * @param {cosmos.crypto.secp256k1.IPubKey=} [properties] Properties to set - * @returns {cosmos.crypto.secp256k1.PubKey} PubKey instance - */ - PubKey.create = function create(properties) { - return new PubKey(properties); - }; - - /** - * Encodes the specified PubKey message. Does not implicitly {@link cosmos.crypto.secp256k1.PubKey.verify|verify} messages. - * @function encode - * @memberof cosmos.crypto.secp256k1.PubKey - * @static - * @param {cosmos.crypto.secp256k1.IPubKey} message PubKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PubKey.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - return writer; - }; - - /** - * Encodes the specified PubKey message, length delimited. Does not implicitly {@link cosmos.crypto.secp256k1.PubKey.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.crypto.secp256k1.PubKey - * @static - * @param {cosmos.crypto.secp256k1.IPubKey} message PubKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PubKey.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PubKey message from the specified reader or buffer. - * @function decode - * @memberof cosmos.crypto.secp256k1.PubKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.crypto.secp256k1.PubKey} PubKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PubKey.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.crypto.secp256k1.PubKey(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PubKey message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.crypto.secp256k1.PubKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.crypto.secp256k1.PubKey} PubKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PubKey.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PubKey message. - * @function verify - * @memberof cosmos.crypto.secp256k1.PubKey - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PubKey.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - return null; - }; - - /** - * Creates a PubKey message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.crypto.secp256k1.PubKey - * @static - * @param {Object.} object Plain object - * @returns {cosmos.crypto.secp256k1.PubKey} PubKey - */ - PubKey.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.crypto.secp256k1.PubKey) - return object; - let message = new $root.cosmos.crypto.secp256k1.PubKey(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - return message; - }; - - /** - * Creates a plain object from a PubKey message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.crypto.secp256k1.PubKey - * @static - * @param {cosmos.crypto.secp256k1.PubKey} message PubKey - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PubKey.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - return object; - }; - - /** - * Converts this PubKey to JSON. - * @function toJSON - * @memberof cosmos.crypto.secp256k1.PubKey - * @instance - * @returns {Object.} JSON object - */ - PubKey.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PubKey; - })(secp256k1.PubKey || {}); - - secp256k1.PrivKey = (function(PrivKey) { - - /** - * Properties of a PrivKey. - * @memberof cosmos.crypto.secp256k1 - * @interface IPrivKey - * @property {Uint8Array|null} [key] PrivKey key - */ - - /** - * Constructs a new PrivKey. - * @memberof cosmos.crypto.secp256k1 - * @classdesc Represents a PrivKey. - * @implements IPrivKey - * @constructor - * @param {cosmos.crypto.secp256k1.IPrivKey=} [properties] Properties to set - */ - function PrivKey(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PrivKey key. - * @member {Uint8Array} key - * @memberof cosmos.crypto.secp256k1.PrivKey - * @instance - */ - PrivKey.prototype.key = $util.newBuffer([]); - - /** - * Creates a new PrivKey instance using the specified properties. - * @function create - * @memberof cosmos.crypto.secp256k1.PrivKey - * @static - * @param {cosmos.crypto.secp256k1.IPrivKey=} [properties] Properties to set - * @returns {cosmos.crypto.secp256k1.PrivKey} PrivKey instance - */ - PrivKey.create = function create(properties) { - return new PrivKey(properties); - }; - - /** - * Encodes the specified PrivKey message. Does not implicitly {@link cosmos.crypto.secp256k1.PrivKey.verify|verify} messages. - * @function encode - * @memberof cosmos.crypto.secp256k1.PrivKey - * @static - * @param {cosmos.crypto.secp256k1.IPrivKey} message PrivKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PrivKey.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - return writer; - }; - - /** - * Encodes the specified PrivKey message, length delimited. Does not implicitly {@link cosmos.crypto.secp256k1.PrivKey.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.crypto.secp256k1.PrivKey - * @static - * @param {cosmos.crypto.secp256k1.IPrivKey} message PrivKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PrivKey.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PrivKey message from the specified reader or buffer. - * @function decode - * @memberof cosmos.crypto.secp256k1.PrivKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.crypto.secp256k1.PrivKey} PrivKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PrivKey.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.crypto.secp256k1.PrivKey(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PrivKey message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.crypto.secp256k1.PrivKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.crypto.secp256k1.PrivKey} PrivKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PrivKey.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PrivKey message. - * @function verify - * @memberof cosmos.crypto.secp256k1.PrivKey - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PrivKey.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - return null; - }; - - /** - * Creates a PrivKey message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.crypto.secp256k1.PrivKey - * @static - * @param {Object.} object Plain object - * @returns {cosmos.crypto.secp256k1.PrivKey} PrivKey - */ - PrivKey.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.crypto.secp256k1.PrivKey) - return object; - let message = new $root.cosmos.crypto.secp256k1.PrivKey(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - return message; - }; - - /** - * Creates a plain object from a PrivKey message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.crypto.secp256k1.PrivKey - * @static - * @param {cosmos.crypto.secp256k1.PrivKey} message PrivKey - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PrivKey.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - return object; - }; - - /** - * Converts this PrivKey to JSON. - * @function toJSON - * @memberof cosmos.crypto.secp256k1.PrivKey - * @instance - * @returns {Object.} JSON object - */ - PrivKey.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PrivKey; - })(secp256k1.PrivKey || {}); - - return secp256k1; - })(crypto.secp256k1 || {}); - - return crypto; - })(cosmos.crypto || {}); - - /** - * Namespace distribution. - * @memberof cosmos - * @namespace - */ - - cosmos.distribution = (function(distribution) { - - /** - * Namespace v1beta1. - * @memberof cosmos.distribution - * @namespace - */ - - distribution.v1beta1 = (function(v1beta1) { - - v1beta1.Params = (function(Params) { - - /** - * Properties of a Params. - * @memberof cosmos.distribution.v1beta1 - * @interface IParams - * @property {string|null} [communityTax] Params communityTax - * @property {string|null} [baseProposerReward] Params baseProposerReward - * @property {string|null} [bonusProposerReward] Params bonusProposerReward - * @property {boolean|null} [withdrawAddrEnabled] Params withdrawAddrEnabled - */ - - /** - * Constructs a new Params. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a Params. - * @implements IParams - * @constructor - * @param {cosmos.distribution.v1beta1.IParams=} [properties] Properties to set - */ - function Params(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Params communityTax. - * @member {string} communityTax - * @memberof cosmos.distribution.v1beta1.Params - * @instance - */ - Params.prototype.communityTax = ""; - - /** - * Params baseProposerReward. - * @member {string} baseProposerReward - * @memberof cosmos.distribution.v1beta1.Params - * @instance - */ - Params.prototype.baseProposerReward = ""; - - /** - * Params bonusProposerReward. - * @member {string} bonusProposerReward - * @memberof cosmos.distribution.v1beta1.Params - * @instance - */ - Params.prototype.bonusProposerReward = ""; - - /** - * Params withdrawAddrEnabled. - * @member {boolean} withdrawAddrEnabled - * @memberof cosmos.distribution.v1beta1.Params - * @instance - */ - Params.prototype.withdrawAddrEnabled = false; - - /** - * Creates a new Params instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.Params - * @static - * @param {cosmos.distribution.v1beta1.IParams=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.Params} Params instance - */ - Params.create = function create(properties) { - return new Params(properties); - }; - - /** - * Encodes the specified Params message. Does not implicitly {@link cosmos.distribution.v1beta1.Params.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.Params - * @static - * @param {cosmos.distribution.v1beta1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.communityTax != null && Object.hasOwnProperty.call(message, "communityTax")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.communityTax); - if (message.baseProposerReward != null && Object.hasOwnProperty.call(message, "baseProposerReward")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.baseProposerReward); - if (message.bonusProposerReward != null && Object.hasOwnProperty.call(message, "bonusProposerReward")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.bonusProposerReward); - if (message.withdrawAddrEnabled != null && Object.hasOwnProperty.call(message, "withdrawAddrEnabled")) - writer.uint32(/* id 4, wireType 0 =*/32).bool(message.withdrawAddrEnabled); - return writer; - }; - - /** - * Encodes the specified Params message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.Params.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.Params - * @static - * @param {cosmos.distribution.v1beta1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Params message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.Params(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.communityTax = reader.string(); - break; - case 2: - message.baseProposerReward = reader.string(); - break; - case 3: - message.bonusProposerReward = reader.string(); - break; - case 4: - message.withdrawAddrEnabled = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Params message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Params message. - * @function verify - * @memberof cosmos.distribution.v1beta1.Params - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Params.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.communityTax != null && message.hasOwnProperty("communityTax")) - if (!$util.isString(message.communityTax)) - return "communityTax: string expected"; - if (message.baseProposerReward != null && message.hasOwnProperty("baseProposerReward")) - if (!$util.isString(message.baseProposerReward)) - return "baseProposerReward: string expected"; - if (message.bonusProposerReward != null && message.hasOwnProperty("bonusProposerReward")) - if (!$util.isString(message.bonusProposerReward)) - return "bonusProposerReward: string expected"; - if (message.withdrawAddrEnabled != null && message.hasOwnProperty("withdrawAddrEnabled")) - if (typeof message.withdrawAddrEnabled !== "boolean") - return "withdrawAddrEnabled: boolean expected"; - return null; - }; - - /** - * Creates a Params message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.Params - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.Params} Params - */ - Params.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.Params) - return object; - let message = new $root.cosmos.distribution.v1beta1.Params(); - if (object.communityTax != null) - message.communityTax = String(object.communityTax); - if (object.baseProposerReward != null) - message.baseProposerReward = String(object.baseProposerReward); - if (object.bonusProposerReward != null) - message.bonusProposerReward = String(object.bonusProposerReward); - if (object.withdrawAddrEnabled != null) - message.withdrawAddrEnabled = Boolean(object.withdrawAddrEnabled); - return message; - }; - - /** - * Creates a plain object from a Params message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.Params - * @static - * @param {cosmos.distribution.v1beta1.Params} message Params - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Params.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.communityTax = ""; - object.baseProposerReward = ""; - object.bonusProposerReward = ""; - object.withdrawAddrEnabled = false; - } - if (message.communityTax != null && message.hasOwnProperty("communityTax")) - object.communityTax = message.communityTax; - if (message.baseProposerReward != null && message.hasOwnProperty("baseProposerReward")) - object.baseProposerReward = message.baseProposerReward; - if (message.bonusProposerReward != null && message.hasOwnProperty("bonusProposerReward")) - object.bonusProposerReward = message.bonusProposerReward; - if (message.withdrawAddrEnabled != null && message.hasOwnProperty("withdrawAddrEnabled")) - object.withdrawAddrEnabled = message.withdrawAddrEnabled; - return object; - }; - - /** - * Converts this Params to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.Params - * @instance - * @returns {Object.} JSON object - */ - Params.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Params; - })(v1beta1.Params || {}); - - v1beta1.ValidatorHistoricalRewards = (function(ValidatorHistoricalRewards) { - - /** - * Properties of a ValidatorHistoricalRewards. - * @memberof cosmos.distribution.v1beta1 - * @interface IValidatorHistoricalRewards - * @property {Array.|null} [cumulativeRewardRatio] ValidatorHistoricalRewards cumulativeRewardRatio - * @property {number|null} [referenceCount] ValidatorHistoricalRewards referenceCount - */ - - /** - * Constructs a new ValidatorHistoricalRewards. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a ValidatorHistoricalRewards. - * @implements IValidatorHistoricalRewards - * @constructor - * @param {cosmos.distribution.v1beta1.IValidatorHistoricalRewards=} [properties] Properties to set - */ - function ValidatorHistoricalRewards(properties) { - this.cumulativeRewardRatio = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorHistoricalRewards cumulativeRewardRatio. - * @member {Array.} cumulativeRewardRatio - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewards - * @instance - */ - ValidatorHistoricalRewards.prototype.cumulativeRewardRatio = $util.emptyArray; - - /** - * ValidatorHistoricalRewards referenceCount. - * @member {number} referenceCount - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewards - * @instance - */ - ValidatorHistoricalRewards.prototype.referenceCount = 0; - - /** - * Creates a new ValidatorHistoricalRewards instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewards - * @static - * @param {cosmos.distribution.v1beta1.IValidatorHistoricalRewards=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.ValidatorHistoricalRewards} ValidatorHistoricalRewards instance - */ - ValidatorHistoricalRewards.create = function create(properties) { - return new ValidatorHistoricalRewards(properties); - }; - - /** - * Encodes the specified ValidatorHistoricalRewards message. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorHistoricalRewards.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewards - * @static - * @param {cosmos.distribution.v1beta1.IValidatorHistoricalRewards} message ValidatorHistoricalRewards message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorHistoricalRewards.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.cumulativeRewardRatio != null && message.cumulativeRewardRatio.length) - for (let i = 0; i < message.cumulativeRewardRatio.length; ++i) - $root.cosmos.base.v1beta1.DecCoin.encode(message.cumulativeRewardRatio[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.referenceCount != null && Object.hasOwnProperty.call(message, "referenceCount")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.referenceCount); - return writer; - }; - - /** - * Encodes the specified ValidatorHistoricalRewards message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorHistoricalRewards.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewards - * @static - * @param {cosmos.distribution.v1beta1.IValidatorHistoricalRewards} message ValidatorHistoricalRewards message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorHistoricalRewards.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorHistoricalRewards message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewards - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.ValidatorHistoricalRewards} ValidatorHistoricalRewards - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorHistoricalRewards.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewards(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.cumulativeRewardRatio && message.cumulativeRewardRatio.length)) - message.cumulativeRewardRatio = []; - message.cumulativeRewardRatio.push($root.cosmos.base.v1beta1.DecCoin.decode(reader, reader.uint32())); - break; - case 2: - message.referenceCount = reader.uint32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorHistoricalRewards message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewards - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.ValidatorHistoricalRewards} ValidatorHistoricalRewards - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorHistoricalRewards.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorHistoricalRewards message. - * @function verify - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewards - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorHistoricalRewards.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.cumulativeRewardRatio != null && message.hasOwnProperty("cumulativeRewardRatio")) { - if (!Array.isArray(message.cumulativeRewardRatio)) - return "cumulativeRewardRatio: array expected"; - for (let i = 0; i < message.cumulativeRewardRatio.length; ++i) { - let error = $root.cosmos.base.v1beta1.DecCoin.verify(message.cumulativeRewardRatio[i]); - if (error) - return "cumulativeRewardRatio." + error; - } - } - if (message.referenceCount != null && message.hasOwnProperty("referenceCount")) - if (!$util.isInteger(message.referenceCount)) - return "referenceCount: integer expected"; - return null; - }; - - /** - * Creates a ValidatorHistoricalRewards message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewards - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.ValidatorHistoricalRewards} ValidatorHistoricalRewards - */ - ValidatorHistoricalRewards.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewards) - return object; - let message = new $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewards(); - if (object.cumulativeRewardRatio) { - if (!Array.isArray(object.cumulativeRewardRatio)) - throw TypeError(".cosmos.distribution.v1beta1.ValidatorHistoricalRewards.cumulativeRewardRatio: array expected"); - message.cumulativeRewardRatio = []; - for (let i = 0; i < object.cumulativeRewardRatio.length; ++i) { - if (typeof object.cumulativeRewardRatio[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.ValidatorHistoricalRewards.cumulativeRewardRatio: object expected"); - message.cumulativeRewardRatio[i] = $root.cosmos.base.v1beta1.DecCoin.fromObject(object.cumulativeRewardRatio[i]); - } - } - if (object.referenceCount != null) - message.referenceCount = object.referenceCount >>> 0; - return message; - }; - - /** - * Creates a plain object from a ValidatorHistoricalRewards message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewards - * @static - * @param {cosmos.distribution.v1beta1.ValidatorHistoricalRewards} message ValidatorHistoricalRewards - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorHistoricalRewards.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.cumulativeRewardRatio = []; - if (options.defaults) - object.referenceCount = 0; - if (message.cumulativeRewardRatio && message.cumulativeRewardRatio.length) { - object.cumulativeRewardRatio = []; - for (let j = 0; j < message.cumulativeRewardRatio.length; ++j) - object.cumulativeRewardRatio[j] = $root.cosmos.base.v1beta1.DecCoin.toObject(message.cumulativeRewardRatio[j], options); - } - if (message.referenceCount != null && message.hasOwnProperty("referenceCount")) - object.referenceCount = message.referenceCount; - return object; - }; - - /** - * Converts this ValidatorHistoricalRewards to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewards - * @instance - * @returns {Object.} JSON object - */ - ValidatorHistoricalRewards.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorHistoricalRewards; - })(v1beta1.ValidatorHistoricalRewards || {}); - - v1beta1.ValidatorCurrentRewards = (function(ValidatorCurrentRewards) { - - /** - * Properties of a ValidatorCurrentRewards. - * @memberof cosmos.distribution.v1beta1 - * @interface IValidatorCurrentRewards - * @property {Array.|null} [rewards] ValidatorCurrentRewards rewards - * @property {number|Long|null} [period] ValidatorCurrentRewards period - */ - - /** - * Constructs a new ValidatorCurrentRewards. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a ValidatorCurrentRewards. - * @implements IValidatorCurrentRewards - * @constructor - * @param {cosmos.distribution.v1beta1.IValidatorCurrentRewards=} [properties] Properties to set - */ - function ValidatorCurrentRewards(properties) { - this.rewards = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorCurrentRewards rewards. - * @member {Array.} rewards - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewards - * @instance - */ - ValidatorCurrentRewards.prototype.rewards = $util.emptyArray; - - /** - * ValidatorCurrentRewards period. - * @member {number|Long} period - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewards - * @instance - */ - ValidatorCurrentRewards.prototype.period = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new ValidatorCurrentRewards instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewards - * @static - * @param {cosmos.distribution.v1beta1.IValidatorCurrentRewards=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.ValidatorCurrentRewards} ValidatorCurrentRewards instance - */ - ValidatorCurrentRewards.create = function create(properties) { - return new ValidatorCurrentRewards(properties); - }; - - /** - * Encodes the specified ValidatorCurrentRewards message. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorCurrentRewards.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewards - * @static - * @param {cosmos.distribution.v1beta1.IValidatorCurrentRewards} message ValidatorCurrentRewards message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorCurrentRewards.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.rewards != null && message.rewards.length) - for (let i = 0; i < message.rewards.length; ++i) - $root.cosmos.base.v1beta1.DecCoin.encode(message.rewards[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.period != null && Object.hasOwnProperty.call(message, "period")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.period); - return writer; - }; - - /** - * Encodes the specified ValidatorCurrentRewards message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorCurrentRewards.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewards - * @static - * @param {cosmos.distribution.v1beta1.IValidatorCurrentRewards} message ValidatorCurrentRewards message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorCurrentRewards.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorCurrentRewards message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewards - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.ValidatorCurrentRewards} ValidatorCurrentRewards - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorCurrentRewards.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.ValidatorCurrentRewards(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.rewards && message.rewards.length)) - message.rewards = []; - message.rewards.push($root.cosmos.base.v1beta1.DecCoin.decode(reader, reader.uint32())); - break; - case 2: - message.period = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorCurrentRewards message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewards - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.ValidatorCurrentRewards} ValidatorCurrentRewards - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorCurrentRewards.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorCurrentRewards message. - * @function verify - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewards - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorCurrentRewards.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.rewards != null && message.hasOwnProperty("rewards")) { - if (!Array.isArray(message.rewards)) - return "rewards: array expected"; - for (let i = 0; i < message.rewards.length; ++i) { - let error = $root.cosmos.base.v1beta1.DecCoin.verify(message.rewards[i]); - if (error) - return "rewards." + error; - } - } - if (message.period != null && message.hasOwnProperty("period")) - if (!$util.isInteger(message.period) && !(message.period && $util.isInteger(message.period.low) && $util.isInteger(message.period.high))) - return "period: integer|Long expected"; - return null; - }; - - /** - * Creates a ValidatorCurrentRewards message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewards - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.ValidatorCurrentRewards} ValidatorCurrentRewards - */ - ValidatorCurrentRewards.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.ValidatorCurrentRewards) - return object; - let message = new $root.cosmos.distribution.v1beta1.ValidatorCurrentRewards(); - if (object.rewards) { - if (!Array.isArray(object.rewards)) - throw TypeError(".cosmos.distribution.v1beta1.ValidatorCurrentRewards.rewards: array expected"); - message.rewards = []; - for (let i = 0; i < object.rewards.length; ++i) { - if (typeof object.rewards[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.ValidatorCurrentRewards.rewards: object expected"); - message.rewards[i] = $root.cosmos.base.v1beta1.DecCoin.fromObject(object.rewards[i]); - } - } - if (object.period != null) - if ($util.Long) - (message.period = $util.Long.fromValue(object.period)).unsigned = true; - else if (typeof object.period === "string") - message.period = parseInt(object.period, 10); - else if (typeof object.period === "number") - message.period = object.period; - else if (typeof object.period === "object") - message.period = new $util.LongBits(object.period.low >>> 0, object.period.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a ValidatorCurrentRewards message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewards - * @static - * @param {cosmos.distribution.v1beta1.ValidatorCurrentRewards} message ValidatorCurrentRewards - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorCurrentRewards.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.rewards = []; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.period = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.period = options.longs === String ? "0" : 0; - if (message.rewards && message.rewards.length) { - object.rewards = []; - for (let j = 0; j < message.rewards.length; ++j) - object.rewards[j] = $root.cosmos.base.v1beta1.DecCoin.toObject(message.rewards[j], options); - } - if (message.period != null && message.hasOwnProperty("period")) - if (typeof message.period === "number") - object.period = options.longs === String ? String(message.period) : message.period; - else - object.period = options.longs === String ? $util.Long.prototype.toString.call(message.period) : options.longs === Number ? new $util.LongBits(message.period.low >>> 0, message.period.high >>> 0).toNumber(true) : message.period; - return object; - }; - - /** - * Converts this ValidatorCurrentRewards to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewards - * @instance - * @returns {Object.} JSON object - */ - ValidatorCurrentRewards.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorCurrentRewards; - })(v1beta1.ValidatorCurrentRewards || {}); - - v1beta1.ValidatorAccumulatedCommission = (function(ValidatorAccumulatedCommission) { - - /** - * Properties of a ValidatorAccumulatedCommission. - * @memberof cosmos.distribution.v1beta1 - * @interface IValidatorAccumulatedCommission - * @property {Array.|null} [commission] ValidatorAccumulatedCommission commission - */ - - /** - * Constructs a new ValidatorAccumulatedCommission. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a ValidatorAccumulatedCommission. - * @implements IValidatorAccumulatedCommission - * @constructor - * @param {cosmos.distribution.v1beta1.IValidatorAccumulatedCommission=} [properties] Properties to set - */ - function ValidatorAccumulatedCommission(properties) { - this.commission = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorAccumulatedCommission commission. - * @member {Array.} commission - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommission - * @instance - */ - ValidatorAccumulatedCommission.prototype.commission = $util.emptyArray; - - /** - * Creates a new ValidatorAccumulatedCommission instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommission - * @static - * @param {cosmos.distribution.v1beta1.IValidatorAccumulatedCommission=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.ValidatorAccumulatedCommission} ValidatorAccumulatedCommission instance - */ - ValidatorAccumulatedCommission.create = function create(properties) { - return new ValidatorAccumulatedCommission(properties); - }; - - /** - * Encodes the specified ValidatorAccumulatedCommission message. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommission - * @static - * @param {cosmos.distribution.v1beta1.IValidatorAccumulatedCommission} message ValidatorAccumulatedCommission message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorAccumulatedCommission.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.commission != null && message.commission.length) - for (let i = 0; i < message.commission.length; ++i) - $root.cosmos.base.v1beta1.DecCoin.encode(message.commission[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ValidatorAccumulatedCommission message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommission - * @static - * @param {cosmos.distribution.v1beta1.IValidatorAccumulatedCommission} message ValidatorAccumulatedCommission message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorAccumulatedCommission.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorAccumulatedCommission message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommission - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.ValidatorAccumulatedCommission} ValidatorAccumulatedCommission - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorAccumulatedCommission.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.commission && message.commission.length)) - message.commission = []; - message.commission.push($root.cosmos.base.v1beta1.DecCoin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorAccumulatedCommission message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommission - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.ValidatorAccumulatedCommission} ValidatorAccumulatedCommission - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorAccumulatedCommission.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorAccumulatedCommission message. - * @function verify - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommission - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorAccumulatedCommission.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.commission != null && message.hasOwnProperty("commission")) { - if (!Array.isArray(message.commission)) - return "commission: array expected"; - for (let i = 0; i < message.commission.length; ++i) { - let error = $root.cosmos.base.v1beta1.DecCoin.verify(message.commission[i]); - if (error) - return "commission." + error; - } - } - return null; - }; - - /** - * Creates a ValidatorAccumulatedCommission message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommission - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.ValidatorAccumulatedCommission} ValidatorAccumulatedCommission - */ - ValidatorAccumulatedCommission.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission) - return object; - let message = new $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission(); - if (object.commission) { - if (!Array.isArray(object.commission)) - throw TypeError(".cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.commission: array expected"); - message.commission = []; - for (let i = 0; i < object.commission.length; ++i) { - if (typeof object.commission[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.commission: object expected"); - message.commission[i] = $root.cosmos.base.v1beta1.DecCoin.fromObject(object.commission[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ValidatorAccumulatedCommission message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommission - * @static - * @param {cosmos.distribution.v1beta1.ValidatorAccumulatedCommission} message ValidatorAccumulatedCommission - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorAccumulatedCommission.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.commission = []; - if (message.commission && message.commission.length) { - object.commission = []; - for (let j = 0; j < message.commission.length; ++j) - object.commission[j] = $root.cosmos.base.v1beta1.DecCoin.toObject(message.commission[j], options); - } - return object; - }; - - /** - * Converts this ValidatorAccumulatedCommission to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommission - * @instance - * @returns {Object.} JSON object - */ - ValidatorAccumulatedCommission.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorAccumulatedCommission; - })(v1beta1.ValidatorAccumulatedCommission || {}); - - v1beta1.ValidatorOutstandingRewards = (function(ValidatorOutstandingRewards) { - - /** - * Properties of a ValidatorOutstandingRewards. - * @memberof cosmos.distribution.v1beta1 - * @interface IValidatorOutstandingRewards - * @property {Array.|null} [rewards] ValidatorOutstandingRewards rewards - */ - - /** - * Constructs a new ValidatorOutstandingRewards. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a ValidatorOutstandingRewards. - * @implements IValidatorOutstandingRewards - * @constructor - * @param {cosmos.distribution.v1beta1.IValidatorOutstandingRewards=} [properties] Properties to set - */ - function ValidatorOutstandingRewards(properties) { - this.rewards = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorOutstandingRewards rewards. - * @member {Array.} rewards - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewards - * @instance - */ - ValidatorOutstandingRewards.prototype.rewards = $util.emptyArray; - - /** - * Creates a new ValidatorOutstandingRewards instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewards - * @static - * @param {cosmos.distribution.v1beta1.IValidatorOutstandingRewards=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.ValidatorOutstandingRewards} ValidatorOutstandingRewards instance - */ - ValidatorOutstandingRewards.create = function create(properties) { - return new ValidatorOutstandingRewards(properties); - }; - - /** - * Encodes the specified ValidatorOutstandingRewards message. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorOutstandingRewards.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewards - * @static - * @param {cosmos.distribution.v1beta1.IValidatorOutstandingRewards} message ValidatorOutstandingRewards message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorOutstandingRewards.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.rewards != null && message.rewards.length) - for (let i = 0; i < message.rewards.length; ++i) - $root.cosmos.base.v1beta1.DecCoin.encode(message.rewards[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ValidatorOutstandingRewards message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorOutstandingRewards.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewards - * @static - * @param {cosmos.distribution.v1beta1.IValidatorOutstandingRewards} message ValidatorOutstandingRewards message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorOutstandingRewards.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorOutstandingRewards message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewards - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.ValidatorOutstandingRewards} ValidatorOutstandingRewards - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorOutstandingRewards.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewards(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.rewards && message.rewards.length)) - message.rewards = []; - message.rewards.push($root.cosmos.base.v1beta1.DecCoin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorOutstandingRewards message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewards - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.ValidatorOutstandingRewards} ValidatorOutstandingRewards - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorOutstandingRewards.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorOutstandingRewards message. - * @function verify - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewards - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorOutstandingRewards.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.rewards != null && message.hasOwnProperty("rewards")) { - if (!Array.isArray(message.rewards)) - return "rewards: array expected"; - for (let i = 0; i < message.rewards.length; ++i) { - let error = $root.cosmos.base.v1beta1.DecCoin.verify(message.rewards[i]); - if (error) - return "rewards." + error; - } - } - return null; - }; - - /** - * Creates a ValidatorOutstandingRewards message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewards - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.ValidatorOutstandingRewards} ValidatorOutstandingRewards - */ - ValidatorOutstandingRewards.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewards) - return object; - let message = new $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewards(); - if (object.rewards) { - if (!Array.isArray(object.rewards)) - throw TypeError(".cosmos.distribution.v1beta1.ValidatorOutstandingRewards.rewards: array expected"); - message.rewards = []; - for (let i = 0; i < object.rewards.length; ++i) { - if (typeof object.rewards[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.ValidatorOutstandingRewards.rewards: object expected"); - message.rewards[i] = $root.cosmos.base.v1beta1.DecCoin.fromObject(object.rewards[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ValidatorOutstandingRewards message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewards - * @static - * @param {cosmos.distribution.v1beta1.ValidatorOutstandingRewards} message ValidatorOutstandingRewards - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorOutstandingRewards.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.rewards = []; - if (message.rewards && message.rewards.length) { - object.rewards = []; - for (let j = 0; j < message.rewards.length; ++j) - object.rewards[j] = $root.cosmos.base.v1beta1.DecCoin.toObject(message.rewards[j], options); - } - return object; - }; - - /** - * Converts this ValidatorOutstandingRewards to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewards - * @instance - * @returns {Object.} JSON object - */ - ValidatorOutstandingRewards.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorOutstandingRewards; - })(v1beta1.ValidatorOutstandingRewards || {}); - - v1beta1.ValidatorSlashEvent = (function(ValidatorSlashEvent) { - - /** - * Properties of a ValidatorSlashEvent. - * @memberof cosmos.distribution.v1beta1 - * @interface IValidatorSlashEvent - * @property {number|Long|null} [validatorPeriod] ValidatorSlashEvent validatorPeriod - * @property {string|null} [fraction] ValidatorSlashEvent fraction - */ - - /** - * Constructs a new ValidatorSlashEvent. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a ValidatorSlashEvent. - * @implements IValidatorSlashEvent - * @constructor - * @param {cosmos.distribution.v1beta1.IValidatorSlashEvent=} [properties] Properties to set - */ - function ValidatorSlashEvent(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorSlashEvent validatorPeriod. - * @member {number|Long} validatorPeriod - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvent - * @instance - */ - ValidatorSlashEvent.prototype.validatorPeriod = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * ValidatorSlashEvent fraction. - * @member {string} fraction - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvent - * @instance - */ - ValidatorSlashEvent.prototype.fraction = ""; - - /** - * Creates a new ValidatorSlashEvent instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvent - * @static - * @param {cosmos.distribution.v1beta1.IValidatorSlashEvent=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.ValidatorSlashEvent} ValidatorSlashEvent instance - */ - ValidatorSlashEvent.create = function create(properties) { - return new ValidatorSlashEvent(properties); - }; - - /** - * Encodes the specified ValidatorSlashEvent message. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorSlashEvent.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvent - * @static - * @param {cosmos.distribution.v1beta1.IValidatorSlashEvent} message ValidatorSlashEvent message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorSlashEvent.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorPeriod != null && Object.hasOwnProperty.call(message, "validatorPeriod")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.validatorPeriod); - if (message.fraction != null && Object.hasOwnProperty.call(message, "fraction")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.fraction); - return writer; - }; - - /** - * Encodes the specified ValidatorSlashEvent message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorSlashEvent.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvent - * @static - * @param {cosmos.distribution.v1beta1.IValidatorSlashEvent} message ValidatorSlashEvent message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorSlashEvent.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorSlashEvent message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvent - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.ValidatorSlashEvent} ValidatorSlashEvent - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorSlashEvent.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.ValidatorSlashEvent(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorPeriod = reader.uint64(); - break; - case 2: - message.fraction = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorSlashEvent message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvent - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.ValidatorSlashEvent} ValidatorSlashEvent - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorSlashEvent.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorSlashEvent message. - * @function verify - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvent - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorSlashEvent.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorPeriod != null && message.hasOwnProperty("validatorPeriod")) - if (!$util.isInteger(message.validatorPeriod) && !(message.validatorPeriod && $util.isInteger(message.validatorPeriod.low) && $util.isInteger(message.validatorPeriod.high))) - return "validatorPeriod: integer|Long expected"; - if (message.fraction != null && message.hasOwnProperty("fraction")) - if (!$util.isString(message.fraction)) - return "fraction: string expected"; - return null; - }; - - /** - * Creates a ValidatorSlashEvent message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvent - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.ValidatorSlashEvent} ValidatorSlashEvent - */ - ValidatorSlashEvent.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.ValidatorSlashEvent) - return object; - let message = new $root.cosmos.distribution.v1beta1.ValidatorSlashEvent(); - if (object.validatorPeriod != null) - if ($util.Long) - (message.validatorPeriod = $util.Long.fromValue(object.validatorPeriod)).unsigned = true; - else if (typeof object.validatorPeriod === "string") - message.validatorPeriod = parseInt(object.validatorPeriod, 10); - else if (typeof object.validatorPeriod === "number") - message.validatorPeriod = object.validatorPeriod; - else if (typeof object.validatorPeriod === "object") - message.validatorPeriod = new $util.LongBits(object.validatorPeriod.low >>> 0, object.validatorPeriod.high >>> 0).toNumber(true); - if (object.fraction != null) - message.fraction = String(object.fraction); - return message; - }; - - /** - * Creates a plain object from a ValidatorSlashEvent message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvent - * @static - * @param {cosmos.distribution.v1beta1.ValidatorSlashEvent} message ValidatorSlashEvent - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorSlashEvent.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.validatorPeriod = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.validatorPeriod = options.longs === String ? "0" : 0; - object.fraction = ""; - } - if (message.validatorPeriod != null && message.hasOwnProperty("validatorPeriod")) - if (typeof message.validatorPeriod === "number") - object.validatorPeriod = options.longs === String ? String(message.validatorPeriod) : message.validatorPeriod; - else - object.validatorPeriod = options.longs === String ? $util.Long.prototype.toString.call(message.validatorPeriod) : options.longs === Number ? new $util.LongBits(message.validatorPeriod.low >>> 0, message.validatorPeriod.high >>> 0).toNumber(true) : message.validatorPeriod; - if (message.fraction != null && message.hasOwnProperty("fraction")) - object.fraction = message.fraction; - return object; - }; - - /** - * Converts this ValidatorSlashEvent to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvent - * @instance - * @returns {Object.} JSON object - */ - ValidatorSlashEvent.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorSlashEvent; - })(v1beta1.ValidatorSlashEvent || {}); - - v1beta1.ValidatorSlashEvents = (function(ValidatorSlashEvents) { - - /** - * Properties of a ValidatorSlashEvents. - * @memberof cosmos.distribution.v1beta1 - * @interface IValidatorSlashEvents - * @property {Array.|null} [validatorSlashEvents] ValidatorSlashEvents validatorSlashEvents - */ - - /** - * Constructs a new ValidatorSlashEvents. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a ValidatorSlashEvents. - * @implements IValidatorSlashEvents - * @constructor - * @param {cosmos.distribution.v1beta1.IValidatorSlashEvents=} [properties] Properties to set - */ - function ValidatorSlashEvents(properties) { - this.validatorSlashEvents = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorSlashEvents validatorSlashEvents. - * @member {Array.} validatorSlashEvents - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvents - * @instance - */ - ValidatorSlashEvents.prototype.validatorSlashEvents = $util.emptyArray; - - /** - * Creates a new ValidatorSlashEvents instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvents - * @static - * @param {cosmos.distribution.v1beta1.IValidatorSlashEvents=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.ValidatorSlashEvents} ValidatorSlashEvents instance - */ - ValidatorSlashEvents.create = function create(properties) { - return new ValidatorSlashEvents(properties); - }; - - /** - * Encodes the specified ValidatorSlashEvents message. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorSlashEvents.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvents - * @static - * @param {cosmos.distribution.v1beta1.IValidatorSlashEvents} message ValidatorSlashEvents message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorSlashEvents.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorSlashEvents != null && message.validatorSlashEvents.length) - for (let i = 0; i < message.validatorSlashEvents.length; ++i) - $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.encode(message.validatorSlashEvents[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ValidatorSlashEvents message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorSlashEvents.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvents - * @static - * @param {cosmos.distribution.v1beta1.IValidatorSlashEvents} message ValidatorSlashEvents message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorSlashEvents.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorSlashEvents message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvents - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.ValidatorSlashEvents} ValidatorSlashEvents - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorSlashEvents.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.ValidatorSlashEvents(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.validatorSlashEvents && message.validatorSlashEvents.length)) - message.validatorSlashEvents = []; - message.validatorSlashEvents.push($root.cosmos.distribution.v1beta1.ValidatorSlashEvent.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorSlashEvents message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvents - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.ValidatorSlashEvents} ValidatorSlashEvents - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorSlashEvents.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorSlashEvents message. - * @function verify - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvents - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorSlashEvents.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorSlashEvents != null && message.hasOwnProperty("validatorSlashEvents")) { - if (!Array.isArray(message.validatorSlashEvents)) - return "validatorSlashEvents: array expected"; - for (let i = 0; i < message.validatorSlashEvents.length; ++i) { - let error = $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.verify(message.validatorSlashEvents[i]); - if (error) - return "validatorSlashEvents." + error; - } - } - return null; - }; - - /** - * Creates a ValidatorSlashEvents message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvents - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.ValidatorSlashEvents} ValidatorSlashEvents - */ - ValidatorSlashEvents.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.ValidatorSlashEvents) - return object; - let message = new $root.cosmos.distribution.v1beta1.ValidatorSlashEvents(); - if (object.validatorSlashEvents) { - if (!Array.isArray(object.validatorSlashEvents)) - throw TypeError(".cosmos.distribution.v1beta1.ValidatorSlashEvents.validatorSlashEvents: array expected"); - message.validatorSlashEvents = []; - for (let i = 0; i < object.validatorSlashEvents.length; ++i) { - if (typeof object.validatorSlashEvents[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.ValidatorSlashEvents.validatorSlashEvents: object expected"); - message.validatorSlashEvents[i] = $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.fromObject(object.validatorSlashEvents[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ValidatorSlashEvents message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvents - * @static - * @param {cosmos.distribution.v1beta1.ValidatorSlashEvents} message ValidatorSlashEvents - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorSlashEvents.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.validatorSlashEvents = []; - if (message.validatorSlashEvents && message.validatorSlashEvents.length) { - object.validatorSlashEvents = []; - for (let j = 0; j < message.validatorSlashEvents.length; ++j) - object.validatorSlashEvents[j] = $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.toObject(message.validatorSlashEvents[j], options); - } - return object; - }; - - /** - * Converts this ValidatorSlashEvents to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEvents - * @instance - * @returns {Object.} JSON object - */ - ValidatorSlashEvents.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorSlashEvents; - })(v1beta1.ValidatorSlashEvents || {}); - - v1beta1.FeePool = (function(FeePool) { - - /** - * Properties of a FeePool. - * @memberof cosmos.distribution.v1beta1 - * @interface IFeePool - * @property {Array.|null} [communityPool] FeePool communityPool - */ - - /** - * Constructs a new FeePool. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a FeePool. - * @implements IFeePool - * @constructor - * @param {cosmos.distribution.v1beta1.IFeePool=} [properties] Properties to set - */ - function FeePool(properties) { - this.communityPool = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FeePool communityPool. - * @member {Array.} communityPool - * @memberof cosmos.distribution.v1beta1.FeePool - * @instance - */ - FeePool.prototype.communityPool = $util.emptyArray; - - /** - * Creates a new FeePool instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.FeePool - * @static - * @param {cosmos.distribution.v1beta1.IFeePool=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.FeePool} FeePool instance - */ - FeePool.create = function create(properties) { - return new FeePool(properties); - }; - - /** - * Encodes the specified FeePool message. Does not implicitly {@link cosmos.distribution.v1beta1.FeePool.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.FeePool - * @static - * @param {cosmos.distribution.v1beta1.IFeePool} message FeePool message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FeePool.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.communityPool != null && message.communityPool.length) - for (let i = 0; i < message.communityPool.length; ++i) - $root.cosmos.base.v1beta1.DecCoin.encode(message.communityPool[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified FeePool message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.FeePool.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.FeePool - * @static - * @param {cosmos.distribution.v1beta1.IFeePool} message FeePool message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FeePool.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FeePool message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.FeePool - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.FeePool} FeePool - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FeePool.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.FeePool(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.communityPool && message.communityPool.length)) - message.communityPool = []; - message.communityPool.push($root.cosmos.base.v1beta1.DecCoin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FeePool message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.FeePool - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.FeePool} FeePool - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FeePool.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FeePool message. - * @function verify - * @memberof cosmos.distribution.v1beta1.FeePool - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FeePool.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.communityPool != null && message.hasOwnProperty("communityPool")) { - if (!Array.isArray(message.communityPool)) - return "communityPool: array expected"; - for (let i = 0; i < message.communityPool.length; ++i) { - let error = $root.cosmos.base.v1beta1.DecCoin.verify(message.communityPool[i]); - if (error) - return "communityPool." + error; - } - } - return null; - }; - - /** - * Creates a FeePool message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.FeePool - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.FeePool} FeePool - */ - FeePool.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.FeePool) - return object; - let message = new $root.cosmos.distribution.v1beta1.FeePool(); - if (object.communityPool) { - if (!Array.isArray(object.communityPool)) - throw TypeError(".cosmos.distribution.v1beta1.FeePool.communityPool: array expected"); - message.communityPool = []; - for (let i = 0; i < object.communityPool.length; ++i) { - if (typeof object.communityPool[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.FeePool.communityPool: object expected"); - message.communityPool[i] = $root.cosmos.base.v1beta1.DecCoin.fromObject(object.communityPool[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a FeePool message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.FeePool - * @static - * @param {cosmos.distribution.v1beta1.FeePool} message FeePool - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FeePool.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.communityPool = []; - if (message.communityPool && message.communityPool.length) { - object.communityPool = []; - for (let j = 0; j < message.communityPool.length; ++j) - object.communityPool[j] = $root.cosmos.base.v1beta1.DecCoin.toObject(message.communityPool[j], options); - } - return object; - }; - - /** - * Converts this FeePool to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.FeePool - * @instance - * @returns {Object.} JSON object - */ - FeePool.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return FeePool; - })(v1beta1.FeePool || {}); - - v1beta1.CommunityPoolSpendProposal = (function(CommunityPoolSpendProposal) { - - /** - * Properties of a CommunityPoolSpendProposal. - * @memberof cosmos.distribution.v1beta1 - * @interface ICommunityPoolSpendProposal - * @property {string|null} [title] CommunityPoolSpendProposal title - * @property {string|null} [description] CommunityPoolSpendProposal description - * @property {string|null} [recipient] CommunityPoolSpendProposal recipient - * @property {Array.|null} [amount] CommunityPoolSpendProposal amount - */ - - /** - * Constructs a new CommunityPoolSpendProposal. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a CommunityPoolSpendProposal. - * @implements ICommunityPoolSpendProposal - * @constructor - * @param {cosmos.distribution.v1beta1.ICommunityPoolSpendProposal=} [properties] Properties to set - */ - function CommunityPoolSpendProposal(properties) { - this.amount = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CommunityPoolSpendProposal title. - * @member {string} title - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @instance - */ - CommunityPoolSpendProposal.prototype.title = ""; - - /** - * CommunityPoolSpendProposal description. - * @member {string} description - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @instance - */ - CommunityPoolSpendProposal.prototype.description = ""; - - /** - * CommunityPoolSpendProposal recipient. - * @member {string} recipient - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @instance - */ - CommunityPoolSpendProposal.prototype.recipient = ""; - - /** - * CommunityPoolSpendProposal amount. - * @member {Array.} amount - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @instance - */ - CommunityPoolSpendProposal.prototype.amount = $util.emptyArray; - - /** - * Creates a new CommunityPoolSpendProposal instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @static - * @param {cosmos.distribution.v1beta1.ICommunityPoolSpendProposal=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.CommunityPoolSpendProposal} CommunityPoolSpendProposal instance - */ - CommunityPoolSpendProposal.create = function create(properties) { - return new CommunityPoolSpendProposal(properties); - }; - - /** - * Encodes the specified CommunityPoolSpendProposal message. Does not implicitly {@link cosmos.distribution.v1beta1.CommunityPoolSpendProposal.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @static - * @param {cosmos.distribution.v1beta1.ICommunityPoolSpendProposal} message CommunityPoolSpendProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommunityPoolSpendProposal.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.title != null && Object.hasOwnProperty.call(message, "title")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.title); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - if (message.recipient != null && Object.hasOwnProperty.call(message, "recipient")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.recipient); - if (message.amount != null && message.amount.length) - for (let i = 0; i < message.amount.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.amount[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CommunityPoolSpendProposal message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.CommunityPoolSpendProposal.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @static - * @param {cosmos.distribution.v1beta1.ICommunityPoolSpendProposal} message CommunityPoolSpendProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommunityPoolSpendProposal.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CommunityPoolSpendProposal message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.CommunityPoolSpendProposal} CommunityPoolSpendProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommunityPoolSpendProposal.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.CommunityPoolSpendProposal(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.title = reader.string(); - break; - case 2: - message.description = reader.string(); - break; - case 3: - message.recipient = reader.string(); - break; - case 4: - if (!(message.amount && message.amount.length)) - message.amount = []; - message.amount.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CommunityPoolSpendProposal message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.CommunityPoolSpendProposal} CommunityPoolSpendProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommunityPoolSpendProposal.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CommunityPoolSpendProposal message. - * @function verify - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CommunityPoolSpendProposal.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.title != null && message.hasOwnProperty("title")) - if (!$util.isString(message.title)) - return "title: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.recipient != null && message.hasOwnProperty("recipient")) - if (!$util.isString(message.recipient)) - return "recipient: string expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - if (!Array.isArray(message.amount)) - return "amount: array expected"; - for (let i = 0; i < message.amount.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.amount[i]); - if (error) - return "amount." + error; - } - } - return null; - }; - - /** - * Creates a CommunityPoolSpendProposal message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.CommunityPoolSpendProposal} CommunityPoolSpendProposal - */ - CommunityPoolSpendProposal.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.CommunityPoolSpendProposal) - return object; - let message = new $root.cosmos.distribution.v1beta1.CommunityPoolSpendProposal(); - if (object.title != null) - message.title = String(object.title); - if (object.description != null) - message.description = String(object.description); - if (object.recipient != null) - message.recipient = String(object.recipient); - if (object.amount) { - if (!Array.isArray(object.amount)) - throw TypeError(".cosmos.distribution.v1beta1.CommunityPoolSpendProposal.amount: array expected"); - message.amount = []; - for (let i = 0; i < object.amount.length; ++i) { - if (typeof object.amount[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.CommunityPoolSpendProposal.amount: object expected"); - message.amount[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.amount[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a CommunityPoolSpendProposal message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @static - * @param {cosmos.distribution.v1beta1.CommunityPoolSpendProposal} message CommunityPoolSpendProposal - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CommunityPoolSpendProposal.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.amount = []; - if (options.defaults) { - object.title = ""; - object.description = ""; - object.recipient = ""; - } - if (message.title != null && message.hasOwnProperty("title")) - object.title = message.title; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.recipient != null && message.hasOwnProperty("recipient")) - object.recipient = message.recipient; - if (message.amount && message.amount.length) { - object.amount = []; - for (let j = 0; j < message.amount.length; ++j) - object.amount[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.amount[j], options); - } - return object; - }; - - /** - * Converts this CommunityPoolSpendProposal to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposal - * @instance - * @returns {Object.} JSON object - */ - CommunityPoolSpendProposal.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CommunityPoolSpendProposal; - })(v1beta1.CommunityPoolSpendProposal || {}); - - v1beta1.DelegatorStartingInfo = (function(DelegatorStartingInfo) { - - /** - * Properties of a DelegatorStartingInfo. - * @memberof cosmos.distribution.v1beta1 - * @interface IDelegatorStartingInfo - * @property {number|Long|null} [previousPeriod] DelegatorStartingInfo previousPeriod - * @property {string|null} [stake] DelegatorStartingInfo stake - * @property {number|Long|null} [height] DelegatorStartingInfo height - */ - - /** - * Constructs a new DelegatorStartingInfo. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a DelegatorStartingInfo. - * @implements IDelegatorStartingInfo - * @constructor - * @param {cosmos.distribution.v1beta1.IDelegatorStartingInfo=} [properties] Properties to set - */ - function DelegatorStartingInfo(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DelegatorStartingInfo previousPeriod. - * @member {number|Long} previousPeriod - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfo - * @instance - */ - DelegatorStartingInfo.prototype.previousPeriod = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * DelegatorStartingInfo stake. - * @member {string} stake - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfo - * @instance - */ - DelegatorStartingInfo.prototype.stake = ""; - - /** - * DelegatorStartingInfo height. - * @member {number|Long} height - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfo - * @instance - */ - DelegatorStartingInfo.prototype.height = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new DelegatorStartingInfo instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfo - * @static - * @param {cosmos.distribution.v1beta1.IDelegatorStartingInfo=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.DelegatorStartingInfo} DelegatorStartingInfo instance - */ - DelegatorStartingInfo.create = function create(properties) { - return new DelegatorStartingInfo(properties); - }; - - /** - * Encodes the specified DelegatorStartingInfo message. Does not implicitly {@link cosmos.distribution.v1beta1.DelegatorStartingInfo.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfo - * @static - * @param {cosmos.distribution.v1beta1.IDelegatorStartingInfo} message DelegatorStartingInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DelegatorStartingInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.previousPeriod != null && Object.hasOwnProperty.call(message, "previousPeriod")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.previousPeriod); - if (message.stake != null && Object.hasOwnProperty.call(message, "stake")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.stake); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.height); - return writer; - }; - - /** - * Encodes the specified DelegatorStartingInfo message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.DelegatorStartingInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfo - * @static - * @param {cosmos.distribution.v1beta1.IDelegatorStartingInfo} message DelegatorStartingInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DelegatorStartingInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DelegatorStartingInfo message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.DelegatorStartingInfo} DelegatorStartingInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DelegatorStartingInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.DelegatorStartingInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.previousPeriod = reader.uint64(); - break; - case 2: - message.stake = reader.string(); - break; - case 3: - message.height = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DelegatorStartingInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.DelegatorStartingInfo} DelegatorStartingInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DelegatorStartingInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DelegatorStartingInfo message. - * @function verify - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DelegatorStartingInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.previousPeriod != null && message.hasOwnProperty("previousPeriod")) - if (!$util.isInteger(message.previousPeriod) && !(message.previousPeriod && $util.isInteger(message.previousPeriod.low) && $util.isInteger(message.previousPeriod.high))) - return "previousPeriod: integer|Long expected"; - if (message.stake != null && message.hasOwnProperty("stake")) - if (!$util.isString(message.stake)) - return "stake: string expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - return null; - }; - - /** - * Creates a DelegatorStartingInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfo - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.DelegatorStartingInfo} DelegatorStartingInfo - */ - DelegatorStartingInfo.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.DelegatorStartingInfo) - return object; - let message = new $root.cosmos.distribution.v1beta1.DelegatorStartingInfo(); - if (object.previousPeriod != null) - if ($util.Long) - (message.previousPeriod = $util.Long.fromValue(object.previousPeriod)).unsigned = true; - else if (typeof object.previousPeriod === "string") - message.previousPeriod = parseInt(object.previousPeriod, 10); - else if (typeof object.previousPeriod === "number") - message.previousPeriod = object.previousPeriod; - else if (typeof object.previousPeriod === "object") - message.previousPeriod = new $util.LongBits(object.previousPeriod.low >>> 0, object.previousPeriod.high >>> 0).toNumber(true); - if (object.stake != null) - message.stake = String(object.stake); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = true; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a DelegatorStartingInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfo - * @static - * @param {cosmos.distribution.v1beta1.DelegatorStartingInfo} message DelegatorStartingInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DelegatorStartingInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.previousPeriod = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.previousPeriod = options.longs === String ? "0" : 0; - object.stake = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - } - if (message.previousPeriod != null && message.hasOwnProperty("previousPeriod")) - if (typeof message.previousPeriod === "number") - object.previousPeriod = options.longs === String ? String(message.previousPeriod) : message.previousPeriod; - else - object.previousPeriod = options.longs === String ? $util.Long.prototype.toString.call(message.previousPeriod) : options.longs === Number ? new $util.LongBits(message.previousPeriod.low >>> 0, message.previousPeriod.high >>> 0).toNumber(true) : message.previousPeriod; - if (message.stake != null && message.hasOwnProperty("stake")) - object.stake = message.stake; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber(true) : message.height; - return object; - }; - - /** - * Converts this DelegatorStartingInfo to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfo - * @instance - * @returns {Object.} JSON object - */ - DelegatorStartingInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DelegatorStartingInfo; - })(v1beta1.DelegatorStartingInfo || {}); - - v1beta1.DelegationDelegatorReward = (function(DelegationDelegatorReward) { - - /** - * Properties of a DelegationDelegatorReward. - * @memberof cosmos.distribution.v1beta1 - * @interface IDelegationDelegatorReward - * @property {string|null} [validatorAddress] DelegationDelegatorReward validatorAddress - * @property {Array.|null} [reward] DelegationDelegatorReward reward - */ - - /** - * Constructs a new DelegationDelegatorReward. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a DelegationDelegatorReward. - * @implements IDelegationDelegatorReward - * @constructor - * @param {cosmos.distribution.v1beta1.IDelegationDelegatorReward=} [properties] Properties to set - */ - function DelegationDelegatorReward(properties) { - this.reward = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DelegationDelegatorReward validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.DelegationDelegatorReward - * @instance - */ - DelegationDelegatorReward.prototype.validatorAddress = ""; - - /** - * DelegationDelegatorReward reward. - * @member {Array.} reward - * @memberof cosmos.distribution.v1beta1.DelegationDelegatorReward - * @instance - */ - DelegationDelegatorReward.prototype.reward = $util.emptyArray; - - /** - * Creates a new DelegationDelegatorReward instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.DelegationDelegatorReward - * @static - * @param {cosmos.distribution.v1beta1.IDelegationDelegatorReward=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.DelegationDelegatorReward} DelegationDelegatorReward instance - */ - DelegationDelegatorReward.create = function create(properties) { - return new DelegationDelegatorReward(properties); - }; - - /** - * Encodes the specified DelegationDelegatorReward message. Does not implicitly {@link cosmos.distribution.v1beta1.DelegationDelegatorReward.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.DelegationDelegatorReward - * @static - * @param {cosmos.distribution.v1beta1.IDelegationDelegatorReward} message DelegationDelegatorReward message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DelegationDelegatorReward.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddress); - if (message.reward != null && message.reward.length) - for (let i = 0; i < message.reward.length; ++i) - $root.cosmos.base.v1beta1.DecCoin.encode(message.reward[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified DelegationDelegatorReward message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.DelegationDelegatorReward.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.DelegationDelegatorReward - * @static - * @param {cosmos.distribution.v1beta1.IDelegationDelegatorReward} message DelegationDelegatorReward message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DelegationDelegatorReward.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DelegationDelegatorReward message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.DelegationDelegatorReward - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.DelegationDelegatorReward} DelegationDelegatorReward - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DelegationDelegatorReward.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.DelegationDelegatorReward(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddress = reader.string(); - break; - case 2: - if (!(message.reward && message.reward.length)) - message.reward = []; - message.reward.push($root.cosmos.base.v1beta1.DecCoin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DelegationDelegatorReward message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.DelegationDelegatorReward - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.DelegationDelegatorReward} DelegationDelegatorReward - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DelegationDelegatorReward.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DelegationDelegatorReward message. - * @function verify - * @memberof cosmos.distribution.v1beta1.DelegationDelegatorReward - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DelegationDelegatorReward.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.reward != null && message.hasOwnProperty("reward")) { - if (!Array.isArray(message.reward)) - return "reward: array expected"; - for (let i = 0; i < message.reward.length; ++i) { - let error = $root.cosmos.base.v1beta1.DecCoin.verify(message.reward[i]); - if (error) - return "reward." + error; - } - } - return null; - }; - - /** - * Creates a DelegationDelegatorReward message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.DelegationDelegatorReward - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.DelegationDelegatorReward} DelegationDelegatorReward - */ - DelegationDelegatorReward.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.DelegationDelegatorReward) - return object; - let message = new $root.cosmos.distribution.v1beta1.DelegationDelegatorReward(); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.reward) { - if (!Array.isArray(object.reward)) - throw TypeError(".cosmos.distribution.v1beta1.DelegationDelegatorReward.reward: array expected"); - message.reward = []; - for (let i = 0; i < object.reward.length; ++i) { - if (typeof object.reward[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.DelegationDelegatorReward.reward: object expected"); - message.reward[i] = $root.cosmos.base.v1beta1.DecCoin.fromObject(object.reward[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a DelegationDelegatorReward message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.DelegationDelegatorReward - * @static - * @param {cosmos.distribution.v1beta1.DelegationDelegatorReward} message DelegationDelegatorReward - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DelegationDelegatorReward.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.reward = []; - if (options.defaults) - object.validatorAddress = ""; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.reward && message.reward.length) { - object.reward = []; - for (let j = 0; j < message.reward.length; ++j) - object.reward[j] = $root.cosmos.base.v1beta1.DecCoin.toObject(message.reward[j], options); - } - return object; - }; - - /** - * Converts this DelegationDelegatorReward to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.DelegationDelegatorReward - * @instance - * @returns {Object.} JSON object - */ - DelegationDelegatorReward.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DelegationDelegatorReward; - })(v1beta1.DelegationDelegatorReward || {}); - - v1beta1.CommunityPoolSpendProposalWithDeposit = (function(CommunityPoolSpendProposalWithDeposit) { - - /** - * Properties of a CommunityPoolSpendProposalWithDeposit. - * @memberof cosmos.distribution.v1beta1 - * @interface ICommunityPoolSpendProposalWithDeposit - * @property {string|null} [title] CommunityPoolSpendProposalWithDeposit title - * @property {string|null} [description] CommunityPoolSpendProposalWithDeposit description - * @property {string|null} [recipient] CommunityPoolSpendProposalWithDeposit recipient - * @property {string|null} [amount] CommunityPoolSpendProposalWithDeposit amount - * @property {string|null} [deposit] CommunityPoolSpendProposalWithDeposit deposit - */ - - /** - * Constructs a new CommunityPoolSpendProposalWithDeposit. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a CommunityPoolSpendProposalWithDeposit. - * @implements ICommunityPoolSpendProposalWithDeposit - * @constructor - * @param {cosmos.distribution.v1beta1.ICommunityPoolSpendProposalWithDeposit=} [properties] Properties to set - */ - function CommunityPoolSpendProposalWithDeposit(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CommunityPoolSpendProposalWithDeposit title. - * @member {string} title - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @instance - */ - CommunityPoolSpendProposalWithDeposit.prototype.title = ""; - - /** - * CommunityPoolSpendProposalWithDeposit description. - * @member {string} description - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @instance - */ - CommunityPoolSpendProposalWithDeposit.prototype.description = ""; - - /** - * CommunityPoolSpendProposalWithDeposit recipient. - * @member {string} recipient - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @instance - */ - CommunityPoolSpendProposalWithDeposit.prototype.recipient = ""; - - /** - * CommunityPoolSpendProposalWithDeposit amount. - * @member {string} amount - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @instance - */ - CommunityPoolSpendProposalWithDeposit.prototype.amount = ""; - - /** - * CommunityPoolSpendProposalWithDeposit deposit. - * @member {string} deposit - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @instance - */ - CommunityPoolSpendProposalWithDeposit.prototype.deposit = ""; - - /** - * Creates a new CommunityPoolSpendProposalWithDeposit instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @static - * @param {cosmos.distribution.v1beta1.ICommunityPoolSpendProposalWithDeposit=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} CommunityPoolSpendProposalWithDeposit instance - */ - CommunityPoolSpendProposalWithDeposit.create = function create(properties) { - return new CommunityPoolSpendProposalWithDeposit(properties); - }; - - /** - * Encodes the specified CommunityPoolSpendProposalWithDeposit message. Does not implicitly {@link cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @static - * @param {cosmos.distribution.v1beta1.ICommunityPoolSpendProposalWithDeposit} message CommunityPoolSpendProposalWithDeposit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommunityPoolSpendProposalWithDeposit.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.title != null && Object.hasOwnProperty.call(message, "title")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.title); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - if (message.recipient != null && Object.hasOwnProperty.call(message, "recipient")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.recipient); - if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.amount); - if (message.deposit != null && Object.hasOwnProperty.call(message, "deposit")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.deposit); - return writer; - }; - - /** - * Encodes the specified CommunityPoolSpendProposalWithDeposit message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @static - * @param {cosmos.distribution.v1beta1.ICommunityPoolSpendProposalWithDeposit} message CommunityPoolSpendProposalWithDeposit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommunityPoolSpendProposalWithDeposit.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CommunityPoolSpendProposalWithDeposit message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} CommunityPoolSpendProposalWithDeposit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommunityPoolSpendProposalWithDeposit.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.title = reader.string(); - break; - case 2: - message.description = reader.string(); - break; - case 3: - message.recipient = reader.string(); - break; - case 4: - message.amount = reader.string(); - break; - case 5: - message.deposit = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CommunityPoolSpendProposalWithDeposit message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} CommunityPoolSpendProposalWithDeposit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommunityPoolSpendProposalWithDeposit.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CommunityPoolSpendProposalWithDeposit message. - * @function verify - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CommunityPoolSpendProposalWithDeposit.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.title != null && message.hasOwnProperty("title")) - if (!$util.isString(message.title)) - return "title: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.recipient != null && message.hasOwnProperty("recipient")) - if (!$util.isString(message.recipient)) - return "recipient: string expected"; - if (message.amount != null && message.hasOwnProperty("amount")) - if (!$util.isString(message.amount)) - return "amount: string expected"; - if (message.deposit != null && message.hasOwnProperty("deposit")) - if (!$util.isString(message.deposit)) - return "deposit: string expected"; - return null; - }; - - /** - * Creates a CommunityPoolSpendProposalWithDeposit message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} CommunityPoolSpendProposalWithDeposit - */ - CommunityPoolSpendProposalWithDeposit.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit) - return object; - let message = new $root.cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit(); - if (object.title != null) - message.title = String(object.title); - if (object.description != null) - message.description = String(object.description); - if (object.recipient != null) - message.recipient = String(object.recipient); - if (object.amount != null) - message.amount = String(object.amount); - if (object.deposit != null) - message.deposit = String(object.deposit); - return message; - }; - - /** - * Creates a plain object from a CommunityPoolSpendProposalWithDeposit message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @static - * @param {cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit} message CommunityPoolSpendProposalWithDeposit - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CommunityPoolSpendProposalWithDeposit.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.title = ""; - object.description = ""; - object.recipient = ""; - object.amount = ""; - object.deposit = ""; - } - if (message.title != null && message.hasOwnProperty("title")) - object.title = message.title; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.recipient != null && message.hasOwnProperty("recipient")) - object.recipient = message.recipient; - if (message.amount != null && message.hasOwnProperty("amount")) - object.amount = message.amount; - if (message.deposit != null && message.hasOwnProperty("deposit")) - object.deposit = message.deposit; - return object; - }; - - /** - * Converts this CommunityPoolSpendProposalWithDeposit to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit - * @instance - * @returns {Object.} JSON object - */ - CommunityPoolSpendProposalWithDeposit.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CommunityPoolSpendProposalWithDeposit; - })(v1beta1.CommunityPoolSpendProposalWithDeposit || {}); - - v1beta1.DelegatorWithdrawInfo = (function(DelegatorWithdrawInfo) { - - /** - * Properties of a DelegatorWithdrawInfo. - * @memberof cosmos.distribution.v1beta1 - * @interface IDelegatorWithdrawInfo - * @property {string|null} [delegatorAddress] DelegatorWithdrawInfo delegatorAddress - * @property {string|null} [withdrawAddress] DelegatorWithdrawInfo withdrawAddress - */ - - /** - * Constructs a new DelegatorWithdrawInfo. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a DelegatorWithdrawInfo. - * @implements IDelegatorWithdrawInfo - * @constructor - * @param {cosmos.distribution.v1beta1.IDelegatorWithdrawInfo=} [properties] Properties to set - */ - function DelegatorWithdrawInfo(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DelegatorWithdrawInfo delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.distribution.v1beta1.DelegatorWithdrawInfo - * @instance - */ - DelegatorWithdrawInfo.prototype.delegatorAddress = ""; - - /** - * DelegatorWithdrawInfo withdrawAddress. - * @member {string} withdrawAddress - * @memberof cosmos.distribution.v1beta1.DelegatorWithdrawInfo - * @instance - */ - DelegatorWithdrawInfo.prototype.withdrawAddress = ""; - - /** - * Creates a new DelegatorWithdrawInfo instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.DelegatorWithdrawInfo - * @static - * @param {cosmos.distribution.v1beta1.IDelegatorWithdrawInfo=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.DelegatorWithdrawInfo} DelegatorWithdrawInfo instance - */ - DelegatorWithdrawInfo.create = function create(properties) { - return new DelegatorWithdrawInfo(properties); - }; - - /** - * Encodes the specified DelegatorWithdrawInfo message. Does not implicitly {@link cosmos.distribution.v1beta1.DelegatorWithdrawInfo.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.DelegatorWithdrawInfo - * @static - * @param {cosmos.distribution.v1beta1.IDelegatorWithdrawInfo} message DelegatorWithdrawInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DelegatorWithdrawInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.withdrawAddress != null && Object.hasOwnProperty.call(message, "withdrawAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.withdrawAddress); - return writer; - }; - - /** - * Encodes the specified DelegatorWithdrawInfo message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.DelegatorWithdrawInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.DelegatorWithdrawInfo - * @static - * @param {cosmos.distribution.v1beta1.IDelegatorWithdrawInfo} message DelegatorWithdrawInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DelegatorWithdrawInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DelegatorWithdrawInfo message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.DelegatorWithdrawInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.DelegatorWithdrawInfo} DelegatorWithdrawInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DelegatorWithdrawInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.DelegatorWithdrawInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.withdrawAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DelegatorWithdrawInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.DelegatorWithdrawInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.DelegatorWithdrawInfo} DelegatorWithdrawInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DelegatorWithdrawInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DelegatorWithdrawInfo message. - * @function verify - * @memberof cosmos.distribution.v1beta1.DelegatorWithdrawInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DelegatorWithdrawInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.withdrawAddress != null && message.hasOwnProperty("withdrawAddress")) - if (!$util.isString(message.withdrawAddress)) - return "withdrawAddress: string expected"; - return null; - }; - - /** - * Creates a DelegatorWithdrawInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.DelegatorWithdrawInfo - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.DelegatorWithdrawInfo} DelegatorWithdrawInfo - */ - DelegatorWithdrawInfo.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.DelegatorWithdrawInfo) - return object; - let message = new $root.cosmos.distribution.v1beta1.DelegatorWithdrawInfo(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.withdrawAddress != null) - message.withdrawAddress = String(object.withdrawAddress); - return message; - }; - - /** - * Creates a plain object from a DelegatorWithdrawInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.DelegatorWithdrawInfo - * @static - * @param {cosmos.distribution.v1beta1.DelegatorWithdrawInfo} message DelegatorWithdrawInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DelegatorWithdrawInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddress = ""; - object.withdrawAddress = ""; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.withdrawAddress != null && message.hasOwnProperty("withdrawAddress")) - object.withdrawAddress = message.withdrawAddress; - return object; - }; - - /** - * Converts this DelegatorWithdrawInfo to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.DelegatorWithdrawInfo - * @instance - * @returns {Object.} JSON object - */ - DelegatorWithdrawInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DelegatorWithdrawInfo; - })(v1beta1.DelegatorWithdrawInfo || {}); - - v1beta1.ValidatorOutstandingRewardsRecord = (function(ValidatorOutstandingRewardsRecord) { - - /** - * Properties of a ValidatorOutstandingRewardsRecord. - * @memberof cosmos.distribution.v1beta1 - * @interface IValidatorOutstandingRewardsRecord - * @property {string|null} [validatorAddress] ValidatorOutstandingRewardsRecord validatorAddress - * @property {Array.|null} [outstandingRewards] ValidatorOutstandingRewardsRecord outstandingRewards - */ - - /** - * Constructs a new ValidatorOutstandingRewardsRecord. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a ValidatorOutstandingRewardsRecord. - * @implements IValidatorOutstandingRewardsRecord - * @constructor - * @param {cosmos.distribution.v1beta1.IValidatorOutstandingRewardsRecord=} [properties] Properties to set - */ - function ValidatorOutstandingRewardsRecord(properties) { - this.outstandingRewards = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorOutstandingRewardsRecord validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord - * @instance - */ - ValidatorOutstandingRewardsRecord.prototype.validatorAddress = ""; - - /** - * ValidatorOutstandingRewardsRecord outstandingRewards. - * @member {Array.} outstandingRewards - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord - * @instance - */ - ValidatorOutstandingRewardsRecord.prototype.outstandingRewards = $util.emptyArray; - - /** - * Creates a new ValidatorOutstandingRewardsRecord instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorOutstandingRewardsRecord=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord} ValidatorOutstandingRewardsRecord instance - */ - ValidatorOutstandingRewardsRecord.create = function create(properties) { - return new ValidatorOutstandingRewardsRecord(properties); - }; - - /** - * Encodes the specified ValidatorOutstandingRewardsRecord message. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorOutstandingRewardsRecord} message ValidatorOutstandingRewardsRecord message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorOutstandingRewardsRecord.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddress); - if (message.outstandingRewards != null && message.outstandingRewards.length) - for (let i = 0; i < message.outstandingRewards.length; ++i) - $root.cosmos.base.v1beta1.DecCoin.encode(message.outstandingRewards[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ValidatorOutstandingRewardsRecord message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorOutstandingRewardsRecord} message ValidatorOutstandingRewardsRecord message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorOutstandingRewardsRecord.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorOutstandingRewardsRecord message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord} ValidatorOutstandingRewardsRecord - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorOutstandingRewardsRecord.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddress = reader.string(); - break; - case 2: - if (!(message.outstandingRewards && message.outstandingRewards.length)) - message.outstandingRewards = []; - message.outstandingRewards.push($root.cosmos.base.v1beta1.DecCoin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorOutstandingRewardsRecord message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord} ValidatorOutstandingRewardsRecord - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorOutstandingRewardsRecord.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorOutstandingRewardsRecord message. - * @function verify - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorOutstandingRewardsRecord.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.outstandingRewards != null && message.hasOwnProperty("outstandingRewards")) { - if (!Array.isArray(message.outstandingRewards)) - return "outstandingRewards: array expected"; - for (let i = 0; i < message.outstandingRewards.length; ++i) { - let error = $root.cosmos.base.v1beta1.DecCoin.verify(message.outstandingRewards[i]); - if (error) - return "outstandingRewards." + error; - } - } - return null; - }; - - /** - * Creates a ValidatorOutstandingRewardsRecord message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord} ValidatorOutstandingRewardsRecord - */ - ValidatorOutstandingRewardsRecord.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord) - return object; - let message = new $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord(); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.outstandingRewards) { - if (!Array.isArray(object.outstandingRewards)) - throw TypeError(".cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord.outstandingRewards: array expected"); - message.outstandingRewards = []; - for (let i = 0; i < object.outstandingRewards.length; ++i) { - if (typeof object.outstandingRewards[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord.outstandingRewards: object expected"); - message.outstandingRewards[i] = $root.cosmos.base.v1beta1.DecCoin.fromObject(object.outstandingRewards[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ValidatorOutstandingRewardsRecord message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord - * @static - * @param {cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord} message ValidatorOutstandingRewardsRecord - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorOutstandingRewardsRecord.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.outstandingRewards = []; - if (options.defaults) - object.validatorAddress = ""; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.outstandingRewards && message.outstandingRewards.length) { - object.outstandingRewards = []; - for (let j = 0; j < message.outstandingRewards.length; ++j) - object.outstandingRewards[j] = $root.cosmos.base.v1beta1.DecCoin.toObject(message.outstandingRewards[j], options); - } - return object; - }; - - /** - * Converts this ValidatorOutstandingRewardsRecord to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord - * @instance - * @returns {Object.} JSON object - */ - ValidatorOutstandingRewardsRecord.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorOutstandingRewardsRecord; - })(v1beta1.ValidatorOutstandingRewardsRecord || {}); - - v1beta1.ValidatorAccumulatedCommissionRecord = (function(ValidatorAccumulatedCommissionRecord) { - - /** - * Properties of a ValidatorAccumulatedCommissionRecord. - * @memberof cosmos.distribution.v1beta1 - * @interface IValidatorAccumulatedCommissionRecord - * @property {string|null} [validatorAddress] ValidatorAccumulatedCommissionRecord validatorAddress - * @property {cosmos.distribution.v1beta1.IValidatorAccumulatedCommission|null} [accumulated] ValidatorAccumulatedCommissionRecord accumulated - */ - - /** - * Constructs a new ValidatorAccumulatedCommissionRecord. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a ValidatorAccumulatedCommissionRecord. - * @implements IValidatorAccumulatedCommissionRecord - * @constructor - * @param {cosmos.distribution.v1beta1.IValidatorAccumulatedCommissionRecord=} [properties] Properties to set - */ - function ValidatorAccumulatedCommissionRecord(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorAccumulatedCommissionRecord validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord - * @instance - */ - ValidatorAccumulatedCommissionRecord.prototype.validatorAddress = ""; - - /** - * ValidatorAccumulatedCommissionRecord accumulated. - * @member {cosmos.distribution.v1beta1.IValidatorAccumulatedCommission|null|undefined} accumulated - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord - * @instance - */ - ValidatorAccumulatedCommissionRecord.prototype.accumulated = null; - - /** - * Creates a new ValidatorAccumulatedCommissionRecord instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorAccumulatedCommissionRecord=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord} ValidatorAccumulatedCommissionRecord instance - */ - ValidatorAccumulatedCommissionRecord.create = function create(properties) { - return new ValidatorAccumulatedCommissionRecord(properties); - }; - - /** - * Encodes the specified ValidatorAccumulatedCommissionRecord message. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorAccumulatedCommissionRecord} message ValidatorAccumulatedCommissionRecord message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorAccumulatedCommissionRecord.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddress); - if (message.accumulated != null && Object.hasOwnProperty.call(message, "accumulated")) - $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.encode(message.accumulated, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ValidatorAccumulatedCommissionRecord message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorAccumulatedCommissionRecord} message ValidatorAccumulatedCommissionRecord message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorAccumulatedCommissionRecord.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorAccumulatedCommissionRecord message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord} ValidatorAccumulatedCommissionRecord - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorAccumulatedCommissionRecord.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddress = reader.string(); - break; - case 2: - message.accumulated = $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorAccumulatedCommissionRecord message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord} ValidatorAccumulatedCommissionRecord - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorAccumulatedCommissionRecord.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorAccumulatedCommissionRecord message. - * @function verify - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorAccumulatedCommissionRecord.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.accumulated != null && message.hasOwnProperty("accumulated")) { - let error = $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.verify(message.accumulated); - if (error) - return "accumulated." + error; - } - return null; - }; - - /** - * Creates a ValidatorAccumulatedCommissionRecord message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord} ValidatorAccumulatedCommissionRecord - */ - ValidatorAccumulatedCommissionRecord.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord) - return object; - let message = new $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord(); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.accumulated != null) { - if (typeof object.accumulated !== "object") - throw TypeError(".cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord.accumulated: object expected"); - message.accumulated = $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.fromObject(object.accumulated); - } - return message; - }; - - /** - * Creates a plain object from a ValidatorAccumulatedCommissionRecord message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord - * @static - * @param {cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord} message ValidatorAccumulatedCommissionRecord - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorAccumulatedCommissionRecord.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.validatorAddress = ""; - object.accumulated = null; - } - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.accumulated != null && message.hasOwnProperty("accumulated")) - object.accumulated = $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.toObject(message.accumulated, options); - return object; - }; - - /** - * Converts this ValidatorAccumulatedCommissionRecord to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord - * @instance - * @returns {Object.} JSON object - */ - ValidatorAccumulatedCommissionRecord.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorAccumulatedCommissionRecord; - })(v1beta1.ValidatorAccumulatedCommissionRecord || {}); - - v1beta1.ValidatorHistoricalRewardsRecord = (function(ValidatorHistoricalRewardsRecord) { - - /** - * Properties of a ValidatorHistoricalRewardsRecord. - * @memberof cosmos.distribution.v1beta1 - * @interface IValidatorHistoricalRewardsRecord - * @property {string|null} [validatorAddress] ValidatorHistoricalRewardsRecord validatorAddress - * @property {number|Long|null} [period] ValidatorHistoricalRewardsRecord period - * @property {cosmos.distribution.v1beta1.IValidatorHistoricalRewards|null} [rewards] ValidatorHistoricalRewardsRecord rewards - */ - - /** - * Constructs a new ValidatorHistoricalRewardsRecord. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a ValidatorHistoricalRewardsRecord. - * @implements IValidatorHistoricalRewardsRecord - * @constructor - * @param {cosmos.distribution.v1beta1.IValidatorHistoricalRewardsRecord=} [properties] Properties to set - */ - function ValidatorHistoricalRewardsRecord(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorHistoricalRewardsRecord validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord - * @instance - */ - ValidatorHistoricalRewardsRecord.prototype.validatorAddress = ""; - - /** - * ValidatorHistoricalRewardsRecord period. - * @member {number|Long} period - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord - * @instance - */ - ValidatorHistoricalRewardsRecord.prototype.period = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * ValidatorHistoricalRewardsRecord rewards. - * @member {cosmos.distribution.v1beta1.IValidatorHistoricalRewards|null|undefined} rewards - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord - * @instance - */ - ValidatorHistoricalRewardsRecord.prototype.rewards = null; - - /** - * Creates a new ValidatorHistoricalRewardsRecord instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorHistoricalRewardsRecord=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord} ValidatorHistoricalRewardsRecord instance - */ - ValidatorHistoricalRewardsRecord.create = function create(properties) { - return new ValidatorHistoricalRewardsRecord(properties); - }; - - /** - * Encodes the specified ValidatorHistoricalRewardsRecord message. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorHistoricalRewardsRecord} message ValidatorHistoricalRewardsRecord message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorHistoricalRewardsRecord.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddress); - if (message.period != null && Object.hasOwnProperty.call(message, "period")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.period); - if (message.rewards != null && Object.hasOwnProperty.call(message, "rewards")) - $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.encode(message.rewards, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ValidatorHistoricalRewardsRecord message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorHistoricalRewardsRecord} message ValidatorHistoricalRewardsRecord message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorHistoricalRewardsRecord.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorHistoricalRewardsRecord message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord} ValidatorHistoricalRewardsRecord - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorHistoricalRewardsRecord.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddress = reader.string(); - break; - case 2: - message.period = reader.uint64(); - break; - case 3: - message.rewards = $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorHistoricalRewardsRecord message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord} ValidatorHistoricalRewardsRecord - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorHistoricalRewardsRecord.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorHistoricalRewardsRecord message. - * @function verify - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorHistoricalRewardsRecord.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.period != null && message.hasOwnProperty("period")) - if (!$util.isInteger(message.period) && !(message.period && $util.isInteger(message.period.low) && $util.isInteger(message.period.high))) - return "period: integer|Long expected"; - if (message.rewards != null && message.hasOwnProperty("rewards")) { - let error = $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.verify(message.rewards); - if (error) - return "rewards." + error; - } - return null; - }; - - /** - * Creates a ValidatorHistoricalRewardsRecord message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord} ValidatorHistoricalRewardsRecord - */ - ValidatorHistoricalRewardsRecord.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord) - return object; - let message = new $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord(); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.period != null) - if ($util.Long) - (message.period = $util.Long.fromValue(object.period)).unsigned = true; - else if (typeof object.period === "string") - message.period = parseInt(object.period, 10); - else if (typeof object.period === "number") - message.period = object.period; - else if (typeof object.period === "object") - message.period = new $util.LongBits(object.period.low >>> 0, object.period.high >>> 0).toNumber(true); - if (object.rewards != null) { - if (typeof object.rewards !== "object") - throw TypeError(".cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord.rewards: object expected"); - message.rewards = $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.fromObject(object.rewards); - } - return message; - }; - - /** - * Creates a plain object from a ValidatorHistoricalRewardsRecord message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord - * @static - * @param {cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord} message ValidatorHistoricalRewardsRecord - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorHistoricalRewardsRecord.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.validatorAddress = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.period = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.period = options.longs === String ? "0" : 0; - object.rewards = null; - } - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.period != null && message.hasOwnProperty("period")) - if (typeof message.period === "number") - object.period = options.longs === String ? String(message.period) : message.period; - else - object.period = options.longs === String ? $util.Long.prototype.toString.call(message.period) : options.longs === Number ? new $util.LongBits(message.period.low >>> 0, message.period.high >>> 0).toNumber(true) : message.period; - if (message.rewards != null && message.hasOwnProperty("rewards")) - object.rewards = $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewards.toObject(message.rewards, options); - return object; - }; - - /** - * Converts this ValidatorHistoricalRewardsRecord to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord - * @instance - * @returns {Object.} JSON object - */ - ValidatorHistoricalRewardsRecord.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorHistoricalRewardsRecord; - })(v1beta1.ValidatorHistoricalRewardsRecord || {}); - - v1beta1.ValidatorCurrentRewardsRecord = (function(ValidatorCurrentRewardsRecord) { - - /** - * Properties of a ValidatorCurrentRewardsRecord. - * @memberof cosmos.distribution.v1beta1 - * @interface IValidatorCurrentRewardsRecord - * @property {string|null} [validatorAddress] ValidatorCurrentRewardsRecord validatorAddress - * @property {cosmos.distribution.v1beta1.IValidatorCurrentRewards|null} [rewards] ValidatorCurrentRewardsRecord rewards - */ - - /** - * Constructs a new ValidatorCurrentRewardsRecord. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a ValidatorCurrentRewardsRecord. - * @implements IValidatorCurrentRewardsRecord - * @constructor - * @param {cosmos.distribution.v1beta1.IValidatorCurrentRewardsRecord=} [properties] Properties to set - */ - function ValidatorCurrentRewardsRecord(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorCurrentRewardsRecord validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord - * @instance - */ - ValidatorCurrentRewardsRecord.prototype.validatorAddress = ""; - - /** - * ValidatorCurrentRewardsRecord rewards. - * @member {cosmos.distribution.v1beta1.IValidatorCurrentRewards|null|undefined} rewards - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord - * @instance - */ - ValidatorCurrentRewardsRecord.prototype.rewards = null; - - /** - * Creates a new ValidatorCurrentRewardsRecord instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorCurrentRewardsRecord=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord} ValidatorCurrentRewardsRecord instance - */ - ValidatorCurrentRewardsRecord.create = function create(properties) { - return new ValidatorCurrentRewardsRecord(properties); - }; - - /** - * Encodes the specified ValidatorCurrentRewardsRecord message. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorCurrentRewardsRecord} message ValidatorCurrentRewardsRecord message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorCurrentRewardsRecord.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddress); - if (message.rewards != null && Object.hasOwnProperty.call(message, "rewards")) - $root.cosmos.distribution.v1beta1.ValidatorCurrentRewards.encode(message.rewards, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ValidatorCurrentRewardsRecord message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorCurrentRewardsRecord} message ValidatorCurrentRewardsRecord message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorCurrentRewardsRecord.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorCurrentRewardsRecord message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord} ValidatorCurrentRewardsRecord - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorCurrentRewardsRecord.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddress = reader.string(); - break; - case 2: - message.rewards = $root.cosmos.distribution.v1beta1.ValidatorCurrentRewards.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorCurrentRewardsRecord message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord} ValidatorCurrentRewardsRecord - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorCurrentRewardsRecord.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorCurrentRewardsRecord message. - * @function verify - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorCurrentRewardsRecord.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.rewards != null && message.hasOwnProperty("rewards")) { - let error = $root.cosmos.distribution.v1beta1.ValidatorCurrentRewards.verify(message.rewards); - if (error) - return "rewards." + error; - } - return null; - }; - - /** - * Creates a ValidatorCurrentRewardsRecord message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord} ValidatorCurrentRewardsRecord - */ - ValidatorCurrentRewardsRecord.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord) - return object; - let message = new $root.cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord(); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.rewards != null) { - if (typeof object.rewards !== "object") - throw TypeError(".cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord.rewards: object expected"); - message.rewards = $root.cosmos.distribution.v1beta1.ValidatorCurrentRewards.fromObject(object.rewards); - } - return message; - }; - - /** - * Creates a plain object from a ValidatorCurrentRewardsRecord message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord - * @static - * @param {cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord} message ValidatorCurrentRewardsRecord - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorCurrentRewardsRecord.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.validatorAddress = ""; - object.rewards = null; - } - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.rewards != null && message.hasOwnProperty("rewards")) - object.rewards = $root.cosmos.distribution.v1beta1.ValidatorCurrentRewards.toObject(message.rewards, options); - return object; - }; - - /** - * Converts this ValidatorCurrentRewardsRecord to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord - * @instance - * @returns {Object.} JSON object - */ - ValidatorCurrentRewardsRecord.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorCurrentRewardsRecord; - })(v1beta1.ValidatorCurrentRewardsRecord || {}); - - v1beta1.DelegatorStartingInfoRecord = (function(DelegatorStartingInfoRecord) { - - /** - * Properties of a DelegatorStartingInfoRecord. - * @memberof cosmos.distribution.v1beta1 - * @interface IDelegatorStartingInfoRecord - * @property {string|null} [delegatorAddress] DelegatorStartingInfoRecord delegatorAddress - * @property {string|null} [validatorAddress] DelegatorStartingInfoRecord validatorAddress - * @property {cosmos.distribution.v1beta1.IDelegatorStartingInfo|null} [startingInfo] DelegatorStartingInfoRecord startingInfo - */ - - /** - * Constructs a new DelegatorStartingInfoRecord. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a DelegatorStartingInfoRecord. - * @implements IDelegatorStartingInfoRecord - * @constructor - * @param {cosmos.distribution.v1beta1.IDelegatorStartingInfoRecord=} [properties] Properties to set - */ - function DelegatorStartingInfoRecord(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DelegatorStartingInfoRecord delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfoRecord - * @instance - */ - DelegatorStartingInfoRecord.prototype.delegatorAddress = ""; - - /** - * DelegatorStartingInfoRecord validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfoRecord - * @instance - */ - DelegatorStartingInfoRecord.prototype.validatorAddress = ""; - - /** - * DelegatorStartingInfoRecord startingInfo. - * @member {cosmos.distribution.v1beta1.IDelegatorStartingInfo|null|undefined} startingInfo - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfoRecord - * @instance - */ - DelegatorStartingInfoRecord.prototype.startingInfo = null; - - /** - * Creates a new DelegatorStartingInfoRecord instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfoRecord - * @static - * @param {cosmos.distribution.v1beta1.IDelegatorStartingInfoRecord=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.DelegatorStartingInfoRecord} DelegatorStartingInfoRecord instance - */ - DelegatorStartingInfoRecord.create = function create(properties) { - return new DelegatorStartingInfoRecord(properties); - }; - - /** - * Encodes the specified DelegatorStartingInfoRecord message. Does not implicitly {@link cosmos.distribution.v1beta1.DelegatorStartingInfoRecord.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfoRecord - * @static - * @param {cosmos.distribution.v1beta1.IDelegatorStartingInfoRecord} message DelegatorStartingInfoRecord message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DelegatorStartingInfoRecord.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorAddress); - if (message.startingInfo != null && Object.hasOwnProperty.call(message, "startingInfo")) - $root.cosmos.distribution.v1beta1.DelegatorStartingInfo.encode(message.startingInfo, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified DelegatorStartingInfoRecord message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.DelegatorStartingInfoRecord.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfoRecord - * @static - * @param {cosmos.distribution.v1beta1.IDelegatorStartingInfoRecord} message DelegatorStartingInfoRecord message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DelegatorStartingInfoRecord.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DelegatorStartingInfoRecord message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfoRecord - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.DelegatorStartingInfoRecord} DelegatorStartingInfoRecord - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DelegatorStartingInfoRecord.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.DelegatorStartingInfoRecord(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.validatorAddress = reader.string(); - break; - case 3: - message.startingInfo = $root.cosmos.distribution.v1beta1.DelegatorStartingInfo.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DelegatorStartingInfoRecord message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfoRecord - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.DelegatorStartingInfoRecord} DelegatorStartingInfoRecord - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DelegatorStartingInfoRecord.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DelegatorStartingInfoRecord message. - * @function verify - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfoRecord - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DelegatorStartingInfoRecord.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.startingInfo != null && message.hasOwnProperty("startingInfo")) { - let error = $root.cosmos.distribution.v1beta1.DelegatorStartingInfo.verify(message.startingInfo); - if (error) - return "startingInfo." + error; - } - return null; - }; - - /** - * Creates a DelegatorStartingInfoRecord message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfoRecord - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.DelegatorStartingInfoRecord} DelegatorStartingInfoRecord - */ - DelegatorStartingInfoRecord.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.DelegatorStartingInfoRecord) - return object; - let message = new $root.cosmos.distribution.v1beta1.DelegatorStartingInfoRecord(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.startingInfo != null) { - if (typeof object.startingInfo !== "object") - throw TypeError(".cosmos.distribution.v1beta1.DelegatorStartingInfoRecord.startingInfo: object expected"); - message.startingInfo = $root.cosmos.distribution.v1beta1.DelegatorStartingInfo.fromObject(object.startingInfo); - } - return message; - }; - - /** - * Creates a plain object from a DelegatorStartingInfoRecord message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfoRecord - * @static - * @param {cosmos.distribution.v1beta1.DelegatorStartingInfoRecord} message DelegatorStartingInfoRecord - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DelegatorStartingInfoRecord.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddress = ""; - object.validatorAddress = ""; - object.startingInfo = null; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.startingInfo != null && message.hasOwnProperty("startingInfo")) - object.startingInfo = $root.cosmos.distribution.v1beta1.DelegatorStartingInfo.toObject(message.startingInfo, options); - return object; - }; - - /** - * Converts this DelegatorStartingInfoRecord to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.DelegatorStartingInfoRecord - * @instance - * @returns {Object.} JSON object - */ - DelegatorStartingInfoRecord.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DelegatorStartingInfoRecord; - })(v1beta1.DelegatorStartingInfoRecord || {}); - - v1beta1.ValidatorSlashEventRecord = (function(ValidatorSlashEventRecord) { - - /** - * Properties of a ValidatorSlashEventRecord. - * @memberof cosmos.distribution.v1beta1 - * @interface IValidatorSlashEventRecord - * @property {string|null} [validatorAddress] ValidatorSlashEventRecord validatorAddress - * @property {number|Long|null} [height] ValidatorSlashEventRecord height - * @property {number|Long|null} [period] ValidatorSlashEventRecord period - * @property {cosmos.distribution.v1beta1.IValidatorSlashEvent|null} [validatorSlashEvent] ValidatorSlashEventRecord validatorSlashEvent - */ - - /** - * Constructs a new ValidatorSlashEventRecord. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a ValidatorSlashEventRecord. - * @implements IValidatorSlashEventRecord - * @constructor - * @param {cosmos.distribution.v1beta1.IValidatorSlashEventRecord=} [properties] Properties to set - */ - function ValidatorSlashEventRecord(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorSlashEventRecord validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @instance - */ - ValidatorSlashEventRecord.prototype.validatorAddress = ""; - - /** - * ValidatorSlashEventRecord height. - * @member {number|Long} height - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @instance - */ - ValidatorSlashEventRecord.prototype.height = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * ValidatorSlashEventRecord period. - * @member {number|Long} period - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @instance - */ - ValidatorSlashEventRecord.prototype.period = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * ValidatorSlashEventRecord validatorSlashEvent. - * @member {cosmos.distribution.v1beta1.IValidatorSlashEvent|null|undefined} validatorSlashEvent - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @instance - */ - ValidatorSlashEventRecord.prototype.validatorSlashEvent = null; - - /** - * Creates a new ValidatorSlashEventRecord instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorSlashEventRecord=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.ValidatorSlashEventRecord} ValidatorSlashEventRecord instance - */ - ValidatorSlashEventRecord.create = function create(properties) { - return new ValidatorSlashEventRecord(properties); - }; - - /** - * Encodes the specified ValidatorSlashEventRecord message. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorSlashEventRecord.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorSlashEventRecord} message ValidatorSlashEventRecord message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorSlashEventRecord.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddress); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.height); - if (message.period != null && Object.hasOwnProperty.call(message, "period")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.period); - if (message.validatorSlashEvent != null && Object.hasOwnProperty.call(message, "validatorSlashEvent")) - $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.encode(message.validatorSlashEvent, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ValidatorSlashEventRecord message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.ValidatorSlashEventRecord.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @static - * @param {cosmos.distribution.v1beta1.IValidatorSlashEventRecord} message ValidatorSlashEventRecord message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorSlashEventRecord.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorSlashEventRecord message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.ValidatorSlashEventRecord} ValidatorSlashEventRecord - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorSlashEventRecord.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.ValidatorSlashEventRecord(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddress = reader.string(); - break; - case 2: - message.height = reader.uint64(); - break; - case 3: - message.period = reader.uint64(); - break; - case 4: - message.validatorSlashEvent = $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorSlashEventRecord message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.ValidatorSlashEventRecord} ValidatorSlashEventRecord - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorSlashEventRecord.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorSlashEventRecord message. - * @function verify - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorSlashEventRecord.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.period != null && message.hasOwnProperty("period")) - if (!$util.isInteger(message.period) && !(message.period && $util.isInteger(message.period.low) && $util.isInteger(message.period.high))) - return "period: integer|Long expected"; - if (message.validatorSlashEvent != null && message.hasOwnProperty("validatorSlashEvent")) { - let error = $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.verify(message.validatorSlashEvent); - if (error) - return "validatorSlashEvent." + error; - } - return null; - }; - - /** - * Creates a ValidatorSlashEventRecord message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.ValidatorSlashEventRecord} ValidatorSlashEventRecord - */ - ValidatorSlashEventRecord.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.ValidatorSlashEventRecord) - return object; - let message = new $root.cosmos.distribution.v1beta1.ValidatorSlashEventRecord(); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = true; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(true); - if (object.period != null) - if ($util.Long) - (message.period = $util.Long.fromValue(object.period)).unsigned = true; - else if (typeof object.period === "string") - message.period = parseInt(object.period, 10); - else if (typeof object.period === "number") - message.period = object.period; - else if (typeof object.period === "object") - message.period = new $util.LongBits(object.period.low >>> 0, object.period.high >>> 0).toNumber(true); - if (object.validatorSlashEvent != null) { - if (typeof object.validatorSlashEvent !== "object") - throw TypeError(".cosmos.distribution.v1beta1.ValidatorSlashEventRecord.validatorSlashEvent: object expected"); - message.validatorSlashEvent = $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.fromObject(object.validatorSlashEvent); - } - return message; - }; - - /** - * Creates a plain object from a ValidatorSlashEventRecord message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @static - * @param {cosmos.distribution.v1beta1.ValidatorSlashEventRecord} message ValidatorSlashEventRecord - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorSlashEventRecord.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.validatorAddress = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.period = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.period = options.longs === String ? "0" : 0; - object.validatorSlashEvent = null; - } - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber(true) : message.height; - if (message.period != null && message.hasOwnProperty("period")) - if (typeof message.period === "number") - object.period = options.longs === String ? String(message.period) : message.period; - else - object.period = options.longs === String ? $util.Long.prototype.toString.call(message.period) : options.longs === Number ? new $util.LongBits(message.period.low >>> 0, message.period.high >>> 0).toNumber(true) : message.period; - if (message.validatorSlashEvent != null && message.hasOwnProperty("validatorSlashEvent")) - object.validatorSlashEvent = $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.toObject(message.validatorSlashEvent, options); - return object; - }; - - /** - * Converts this ValidatorSlashEventRecord to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.ValidatorSlashEventRecord - * @instance - * @returns {Object.} JSON object - */ - ValidatorSlashEventRecord.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorSlashEventRecord; - })(v1beta1.ValidatorSlashEventRecord || {}); - - v1beta1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof cosmos.distribution.v1beta1 - * @interface IGenesisState - * @property {cosmos.distribution.v1beta1.IParams|null} [params] GenesisState params - * @property {cosmos.distribution.v1beta1.IFeePool|null} [feePool] GenesisState feePool - * @property {Array.|null} [delegatorWithdrawInfos] GenesisState delegatorWithdrawInfos - * @property {string|null} [previousProposer] GenesisState previousProposer - * @property {Array.|null} [outstandingRewards] GenesisState outstandingRewards - * @property {Array.|null} [validatorAccumulatedCommissions] GenesisState validatorAccumulatedCommissions - * @property {Array.|null} [validatorHistoricalRewards] GenesisState validatorHistoricalRewards - * @property {Array.|null} [validatorCurrentRewards] GenesisState validatorCurrentRewards - * @property {Array.|null} [delegatorStartingInfos] GenesisState delegatorStartingInfos - * @property {Array.|null} [validatorSlashEvents] GenesisState validatorSlashEvents - */ - - /** - * Constructs a new GenesisState. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {cosmos.distribution.v1beta1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.delegatorWithdrawInfos = []; - this.outstandingRewards = []; - this.validatorAccumulatedCommissions = []; - this.validatorHistoricalRewards = []; - this.validatorCurrentRewards = []; - this.delegatorStartingInfos = []; - this.validatorSlashEvents = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState params. - * @member {cosmos.distribution.v1beta1.IParams|null|undefined} params - * @memberof cosmos.distribution.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.params = null; - - /** - * GenesisState feePool. - * @member {cosmos.distribution.v1beta1.IFeePool|null|undefined} feePool - * @memberof cosmos.distribution.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.feePool = null; - - /** - * GenesisState delegatorWithdrawInfos. - * @member {Array.} delegatorWithdrawInfos - * @memberof cosmos.distribution.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.delegatorWithdrawInfos = $util.emptyArray; - - /** - * GenesisState previousProposer. - * @member {string} previousProposer - * @memberof cosmos.distribution.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.previousProposer = ""; - - /** - * GenesisState outstandingRewards. - * @member {Array.} outstandingRewards - * @memberof cosmos.distribution.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.outstandingRewards = $util.emptyArray; - - /** - * GenesisState validatorAccumulatedCommissions. - * @member {Array.} validatorAccumulatedCommissions - * @memberof cosmos.distribution.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.validatorAccumulatedCommissions = $util.emptyArray; - - /** - * GenesisState validatorHistoricalRewards. - * @member {Array.} validatorHistoricalRewards - * @memberof cosmos.distribution.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.validatorHistoricalRewards = $util.emptyArray; - - /** - * GenesisState validatorCurrentRewards. - * @member {Array.} validatorCurrentRewards - * @memberof cosmos.distribution.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.validatorCurrentRewards = $util.emptyArray; - - /** - * GenesisState delegatorStartingInfos. - * @member {Array.} delegatorStartingInfos - * @memberof cosmos.distribution.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.delegatorStartingInfos = $util.emptyArray; - - /** - * GenesisState validatorSlashEvents. - * @member {Array.} validatorSlashEvents - * @memberof cosmos.distribution.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.validatorSlashEvents = $util.emptyArray; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.GenesisState - * @static - * @param {cosmos.distribution.v1beta1.IGenesisState=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link cosmos.distribution.v1beta1.GenesisState.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.GenesisState - * @static - * @param {cosmos.distribution.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.cosmos.distribution.v1beta1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.feePool != null && Object.hasOwnProperty.call(message, "feePool")) - $root.cosmos.distribution.v1beta1.FeePool.encode(message.feePool, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.delegatorWithdrawInfos != null && message.delegatorWithdrawInfos.length) - for (let i = 0; i < message.delegatorWithdrawInfos.length; ++i) - $root.cosmos.distribution.v1beta1.DelegatorWithdrawInfo.encode(message.delegatorWithdrawInfos[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.previousProposer != null && Object.hasOwnProperty.call(message, "previousProposer")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.previousProposer); - if (message.outstandingRewards != null && message.outstandingRewards.length) - for (let i = 0; i < message.outstandingRewards.length; ++i) - $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord.encode(message.outstandingRewards[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.validatorAccumulatedCommissions != null && message.validatorAccumulatedCommissions.length) - for (let i = 0; i < message.validatorAccumulatedCommissions.length; ++i) - $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord.encode(message.validatorAccumulatedCommissions[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.validatorHistoricalRewards != null && message.validatorHistoricalRewards.length) - for (let i = 0; i < message.validatorHistoricalRewards.length; ++i) - $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord.encode(message.validatorHistoricalRewards[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.validatorCurrentRewards != null && message.validatorCurrentRewards.length) - for (let i = 0; i < message.validatorCurrentRewards.length; ++i) - $root.cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord.encode(message.validatorCurrentRewards[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.delegatorStartingInfos != null && message.delegatorStartingInfos.length) - for (let i = 0; i < message.delegatorStartingInfos.length; ++i) - $root.cosmos.distribution.v1beta1.DelegatorStartingInfoRecord.encode(message.delegatorStartingInfos[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.validatorSlashEvents != null && message.validatorSlashEvents.length) - for (let i = 0; i < message.validatorSlashEvents.length; ++i) - $root.cosmos.distribution.v1beta1.ValidatorSlashEventRecord.encode(message.validatorSlashEvents[i], writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.GenesisState - * @static - * @param {cosmos.distribution.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.cosmos.distribution.v1beta1.Params.decode(reader, reader.uint32()); - break; - case 2: - message.feePool = $root.cosmos.distribution.v1beta1.FeePool.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.delegatorWithdrawInfos && message.delegatorWithdrawInfos.length)) - message.delegatorWithdrawInfos = []; - message.delegatorWithdrawInfos.push($root.cosmos.distribution.v1beta1.DelegatorWithdrawInfo.decode(reader, reader.uint32())); - break; - case 4: - message.previousProposer = reader.string(); - break; - case 5: - if (!(message.outstandingRewards && message.outstandingRewards.length)) - message.outstandingRewards = []; - message.outstandingRewards.push($root.cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.validatorAccumulatedCommissions && message.validatorAccumulatedCommissions.length)) - message.validatorAccumulatedCommissions = []; - message.validatorAccumulatedCommissions.push($root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord.decode(reader, reader.uint32())); - break; - case 7: - if (!(message.validatorHistoricalRewards && message.validatorHistoricalRewards.length)) - message.validatorHistoricalRewards = []; - message.validatorHistoricalRewards.push($root.cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord.decode(reader, reader.uint32())); - break; - case 8: - if (!(message.validatorCurrentRewards && message.validatorCurrentRewards.length)) - message.validatorCurrentRewards = []; - message.validatorCurrentRewards.push($root.cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord.decode(reader, reader.uint32())); - break; - case 9: - if (!(message.delegatorStartingInfos && message.delegatorStartingInfos.length)) - message.delegatorStartingInfos = []; - message.delegatorStartingInfos.push($root.cosmos.distribution.v1beta1.DelegatorStartingInfoRecord.decode(reader, reader.uint32())); - break; - case 10: - if (!(message.validatorSlashEvents && message.validatorSlashEvents.length)) - message.validatorSlashEvents = []; - message.validatorSlashEvents.push($root.cosmos.distribution.v1beta1.ValidatorSlashEventRecord.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof cosmos.distribution.v1beta1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.cosmos.distribution.v1beta1.Params.verify(message.params); - if (error) - return "params." + error; - } - if (message.feePool != null && message.hasOwnProperty("feePool")) { - let error = $root.cosmos.distribution.v1beta1.FeePool.verify(message.feePool); - if (error) - return "feePool." + error; - } - if (message.delegatorWithdrawInfos != null && message.hasOwnProperty("delegatorWithdrawInfos")) { - if (!Array.isArray(message.delegatorWithdrawInfos)) - return "delegatorWithdrawInfos: array expected"; - for (let i = 0; i < message.delegatorWithdrawInfos.length; ++i) { - let error = $root.cosmos.distribution.v1beta1.DelegatorWithdrawInfo.verify(message.delegatorWithdrawInfos[i]); - if (error) - return "delegatorWithdrawInfos." + error; - } - } - if (message.previousProposer != null && message.hasOwnProperty("previousProposer")) - if (!$util.isString(message.previousProposer)) - return "previousProposer: string expected"; - if (message.outstandingRewards != null && message.hasOwnProperty("outstandingRewards")) { - if (!Array.isArray(message.outstandingRewards)) - return "outstandingRewards: array expected"; - for (let i = 0; i < message.outstandingRewards.length; ++i) { - let error = $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord.verify(message.outstandingRewards[i]); - if (error) - return "outstandingRewards." + error; - } - } - if (message.validatorAccumulatedCommissions != null && message.hasOwnProperty("validatorAccumulatedCommissions")) { - if (!Array.isArray(message.validatorAccumulatedCommissions)) - return "validatorAccumulatedCommissions: array expected"; - for (let i = 0; i < message.validatorAccumulatedCommissions.length; ++i) { - let error = $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord.verify(message.validatorAccumulatedCommissions[i]); - if (error) - return "validatorAccumulatedCommissions." + error; - } - } - if (message.validatorHistoricalRewards != null && message.hasOwnProperty("validatorHistoricalRewards")) { - if (!Array.isArray(message.validatorHistoricalRewards)) - return "validatorHistoricalRewards: array expected"; - for (let i = 0; i < message.validatorHistoricalRewards.length; ++i) { - let error = $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord.verify(message.validatorHistoricalRewards[i]); - if (error) - return "validatorHistoricalRewards." + error; - } - } - if (message.validatorCurrentRewards != null && message.hasOwnProperty("validatorCurrentRewards")) { - if (!Array.isArray(message.validatorCurrentRewards)) - return "validatorCurrentRewards: array expected"; - for (let i = 0; i < message.validatorCurrentRewards.length; ++i) { - let error = $root.cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord.verify(message.validatorCurrentRewards[i]); - if (error) - return "validatorCurrentRewards." + error; - } - } - if (message.delegatorStartingInfos != null && message.hasOwnProperty("delegatorStartingInfos")) { - if (!Array.isArray(message.delegatorStartingInfos)) - return "delegatorStartingInfos: array expected"; - for (let i = 0; i < message.delegatorStartingInfos.length; ++i) { - let error = $root.cosmos.distribution.v1beta1.DelegatorStartingInfoRecord.verify(message.delegatorStartingInfos[i]); - if (error) - return "delegatorStartingInfos." + error; - } - } - if (message.validatorSlashEvents != null && message.hasOwnProperty("validatorSlashEvents")) { - if (!Array.isArray(message.validatorSlashEvents)) - return "validatorSlashEvents: array expected"; - for (let i = 0; i < message.validatorSlashEvents.length; ++i) { - let error = $root.cosmos.distribution.v1beta1.ValidatorSlashEventRecord.verify(message.validatorSlashEvents[i]); - if (error) - return "validatorSlashEvents." + error; - } - } - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.GenesisState) - return object; - let message = new $root.cosmos.distribution.v1beta1.GenesisState(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.params: object expected"); - message.params = $root.cosmos.distribution.v1beta1.Params.fromObject(object.params); - } - if (object.feePool != null) { - if (typeof object.feePool !== "object") - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.feePool: object expected"); - message.feePool = $root.cosmos.distribution.v1beta1.FeePool.fromObject(object.feePool); - } - if (object.delegatorWithdrawInfos) { - if (!Array.isArray(object.delegatorWithdrawInfos)) - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.delegatorWithdrawInfos: array expected"); - message.delegatorWithdrawInfos = []; - for (let i = 0; i < object.delegatorWithdrawInfos.length; ++i) { - if (typeof object.delegatorWithdrawInfos[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.delegatorWithdrawInfos: object expected"); - message.delegatorWithdrawInfos[i] = $root.cosmos.distribution.v1beta1.DelegatorWithdrawInfo.fromObject(object.delegatorWithdrawInfos[i]); - } - } - if (object.previousProposer != null) - message.previousProposer = String(object.previousProposer); - if (object.outstandingRewards) { - if (!Array.isArray(object.outstandingRewards)) - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.outstandingRewards: array expected"); - message.outstandingRewards = []; - for (let i = 0; i < object.outstandingRewards.length; ++i) { - if (typeof object.outstandingRewards[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.outstandingRewards: object expected"); - message.outstandingRewards[i] = $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord.fromObject(object.outstandingRewards[i]); - } - } - if (object.validatorAccumulatedCommissions) { - if (!Array.isArray(object.validatorAccumulatedCommissions)) - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.validatorAccumulatedCommissions: array expected"); - message.validatorAccumulatedCommissions = []; - for (let i = 0; i < object.validatorAccumulatedCommissions.length; ++i) { - if (typeof object.validatorAccumulatedCommissions[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.validatorAccumulatedCommissions: object expected"); - message.validatorAccumulatedCommissions[i] = $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord.fromObject(object.validatorAccumulatedCommissions[i]); - } - } - if (object.validatorHistoricalRewards) { - if (!Array.isArray(object.validatorHistoricalRewards)) - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.validatorHistoricalRewards: array expected"); - message.validatorHistoricalRewards = []; - for (let i = 0; i < object.validatorHistoricalRewards.length; ++i) { - if (typeof object.validatorHistoricalRewards[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.validatorHistoricalRewards: object expected"); - message.validatorHistoricalRewards[i] = $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord.fromObject(object.validatorHistoricalRewards[i]); - } - } - if (object.validatorCurrentRewards) { - if (!Array.isArray(object.validatorCurrentRewards)) - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.validatorCurrentRewards: array expected"); - message.validatorCurrentRewards = []; - for (let i = 0; i < object.validatorCurrentRewards.length; ++i) { - if (typeof object.validatorCurrentRewards[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.validatorCurrentRewards: object expected"); - message.validatorCurrentRewards[i] = $root.cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord.fromObject(object.validatorCurrentRewards[i]); - } - } - if (object.delegatorStartingInfos) { - if (!Array.isArray(object.delegatorStartingInfos)) - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.delegatorStartingInfos: array expected"); - message.delegatorStartingInfos = []; - for (let i = 0; i < object.delegatorStartingInfos.length; ++i) { - if (typeof object.delegatorStartingInfos[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.delegatorStartingInfos: object expected"); - message.delegatorStartingInfos[i] = $root.cosmos.distribution.v1beta1.DelegatorStartingInfoRecord.fromObject(object.delegatorStartingInfos[i]); - } - } - if (object.validatorSlashEvents) { - if (!Array.isArray(object.validatorSlashEvents)) - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.validatorSlashEvents: array expected"); - message.validatorSlashEvents = []; - for (let i = 0; i < object.validatorSlashEvents.length; ++i) { - if (typeof object.validatorSlashEvents[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.GenesisState.validatorSlashEvents: object expected"); - message.validatorSlashEvents[i] = $root.cosmos.distribution.v1beta1.ValidatorSlashEventRecord.fromObject(object.validatorSlashEvents[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.GenesisState - * @static - * @param {cosmos.distribution.v1beta1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.delegatorWithdrawInfos = []; - object.outstandingRewards = []; - object.validatorAccumulatedCommissions = []; - object.validatorHistoricalRewards = []; - object.validatorCurrentRewards = []; - object.delegatorStartingInfos = []; - object.validatorSlashEvents = []; - } - if (options.defaults) { - object.params = null; - object.feePool = null; - object.previousProposer = ""; - } - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.cosmos.distribution.v1beta1.Params.toObject(message.params, options); - if (message.feePool != null && message.hasOwnProperty("feePool")) - object.feePool = $root.cosmos.distribution.v1beta1.FeePool.toObject(message.feePool, options); - if (message.delegatorWithdrawInfos && message.delegatorWithdrawInfos.length) { - object.delegatorWithdrawInfos = []; - for (let j = 0; j < message.delegatorWithdrawInfos.length; ++j) - object.delegatorWithdrawInfos[j] = $root.cosmos.distribution.v1beta1.DelegatorWithdrawInfo.toObject(message.delegatorWithdrawInfos[j], options); - } - if (message.previousProposer != null && message.hasOwnProperty("previousProposer")) - object.previousProposer = message.previousProposer; - if (message.outstandingRewards && message.outstandingRewards.length) { - object.outstandingRewards = []; - for (let j = 0; j < message.outstandingRewards.length; ++j) - object.outstandingRewards[j] = $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewardsRecord.toObject(message.outstandingRewards[j], options); - } - if (message.validatorAccumulatedCommissions && message.validatorAccumulatedCommissions.length) { - object.validatorAccumulatedCommissions = []; - for (let j = 0; j < message.validatorAccumulatedCommissions.length; ++j) - object.validatorAccumulatedCommissions[j] = $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommissionRecord.toObject(message.validatorAccumulatedCommissions[j], options); - } - if (message.validatorHistoricalRewards && message.validatorHistoricalRewards.length) { - object.validatorHistoricalRewards = []; - for (let j = 0; j < message.validatorHistoricalRewards.length; ++j) - object.validatorHistoricalRewards[j] = $root.cosmos.distribution.v1beta1.ValidatorHistoricalRewardsRecord.toObject(message.validatorHistoricalRewards[j], options); - } - if (message.validatorCurrentRewards && message.validatorCurrentRewards.length) { - object.validatorCurrentRewards = []; - for (let j = 0; j < message.validatorCurrentRewards.length; ++j) - object.validatorCurrentRewards[j] = $root.cosmos.distribution.v1beta1.ValidatorCurrentRewardsRecord.toObject(message.validatorCurrentRewards[j], options); - } - if (message.delegatorStartingInfos && message.delegatorStartingInfos.length) { - object.delegatorStartingInfos = []; - for (let j = 0; j < message.delegatorStartingInfos.length; ++j) - object.delegatorStartingInfos[j] = $root.cosmos.distribution.v1beta1.DelegatorStartingInfoRecord.toObject(message.delegatorStartingInfos[j], options); - } - if (message.validatorSlashEvents && message.validatorSlashEvents.length) { - object.validatorSlashEvents = []; - for (let j = 0; j < message.validatorSlashEvents.length; ++j) - object.validatorSlashEvents[j] = $root.cosmos.distribution.v1beta1.ValidatorSlashEventRecord.toObject(message.validatorSlashEvents[j], options); - } - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1beta1.GenesisState || {}); - - v1beta1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof cosmos.distribution.v1beta1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Query#params}. - * @memberof cosmos.distribution.v1beta1.Query - * @typedef ParamsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IQueryParamsResponse} [response] QueryParamsResponse - */ - - /** - * Calls Params. - * @function params - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @param {cosmos.distribution.v1beta1.Query.ParamsCallback} callback Node-style callback called with the error, if any, and QueryParamsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.params = function params(request, callback) { - return this.rpcCall(params, $root.cosmos.distribution.v1beta1.QueryParamsRequest, $root.cosmos.distribution.v1beta1.QueryParamsResponse, request, callback); - }, "name", { value: "Params" }); - - /** - * Calls Params. - * @function params - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Query#validatorOutstandingRewards}. - * @memberof cosmos.distribution.v1beta1.Query - * @typedef ValidatorOutstandingRewardsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IQueryValidatorOutstandingRewardsResponse} [response] QueryValidatorOutstandingRewardsResponse - */ - - /** - * Calls ValidatorOutstandingRewards. - * @function validatorOutstandingRewards - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryValidatorOutstandingRewardsRequest} request QueryValidatorOutstandingRewardsRequest message or plain object - * @param {cosmos.distribution.v1beta1.Query.ValidatorOutstandingRewardsCallback} callback Node-style callback called with the error, if any, and QueryValidatorOutstandingRewardsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.validatorOutstandingRewards = function validatorOutstandingRewards(request, callback) { - return this.rpcCall(validatorOutstandingRewards, $root.cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest, $root.cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse, request, callback); - }, "name", { value: "ValidatorOutstandingRewards" }); - - /** - * Calls ValidatorOutstandingRewards. - * @function validatorOutstandingRewards - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryValidatorOutstandingRewardsRequest} request QueryValidatorOutstandingRewardsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Query#validatorCommission}. - * @memberof cosmos.distribution.v1beta1.Query - * @typedef ValidatorCommissionCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IQueryValidatorCommissionResponse} [response] QueryValidatorCommissionResponse - */ - - /** - * Calls ValidatorCommission. - * @function validatorCommission - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryValidatorCommissionRequest} request QueryValidatorCommissionRequest message or plain object - * @param {cosmos.distribution.v1beta1.Query.ValidatorCommissionCallback} callback Node-style callback called with the error, if any, and QueryValidatorCommissionResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.validatorCommission = function validatorCommission(request, callback) { - return this.rpcCall(validatorCommission, $root.cosmos.distribution.v1beta1.QueryValidatorCommissionRequest, $root.cosmos.distribution.v1beta1.QueryValidatorCommissionResponse, request, callback); - }, "name", { value: "ValidatorCommission" }); - - /** - * Calls ValidatorCommission. - * @function validatorCommission - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryValidatorCommissionRequest} request QueryValidatorCommissionRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Query#validatorSlashes}. - * @memberof cosmos.distribution.v1beta1.Query - * @typedef ValidatorSlashesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IQueryValidatorSlashesResponse} [response] QueryValidatorSlashesResponse - */ - - /** - * Calls ValidatorSlashes. - * @function validatorSlashes - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryValidatorSlashesRequest} request QueryValidatorSlashesRequest message or plain object - * @param {cosmos.distribution.v1beta1.Query.ValidatorSlashesCallback} callback Node-style callback called with the error, if any, and QueryValidatorSlashesResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.validatorSlashes = function validatorSlashes(request, callback) { - return this.rpcCall(validatorSlashes, $root.cosmos.distribution.v1beta1.QueryValidatorSlashesRequest, $root.cosmos.distribution.v1beta1.QueryValidatorSlashesResponse, request, callback); - }, "name", { value: "ValidatorSlashes" }); - - /** - * Calls ValidatorSlashes. - * @function validatorSlashes - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryValidatorSlashesRequest} request QueryValidatorSlashesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Query#delegationRewards}. - * @memberof cosmos.distribution.v1beta1.Query - * @typedef DelegationRewardsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IQueryDelegationRewardsResponse} [response] QueryDelegationRewardsResponse - */ - - /** - * Calls DelegationRewards. - * @function delegationRewards - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryDelegationRewardsRequest} request QueryDelegationRewardsRequest message or plain object - * @param {cosmos.distribution.v1beta1.Query.DelegationRewardsCallback} callback Node-style callback called with the error, if any, and QueryDelegationRewardsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.delegationRewards = function delegationRewards(request, callback) { - return this.rpcCall(delegationRewards, $root.cosmos.distribution.v1beta1.QueryDelegationRewardsRequest, $root.cosmos.distribution.v1beta1.QueryDelegationRewardsResponse, request, callback); - }, "name", { value: "DelegationRewards" }); - - /** - * Calls DelegationRewards. - * @function delegationRewards - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryDelegationRewardsRequest} request QueryDelegationRewardsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Query#delegationTotalRewards}. - * @memberof cosmos.distribution.v1beta1.Query - * @typedef DelegationTotalRewardsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IQueryDelegationTotalRewardsResponse} [response] QueryDelegationTotalRewardsResponse - */ - - /** - * Calls DelegationTotalRewards. - * @function delegationTotalRewards - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryDelegationTotalRewardsRequest} request QueryDelegationTotalRewardsRequest message or plain object - * @param {cosmos.distribution.v1beta1.Query.DelegationTotalRewardsCallback} callback Node-style callback called with the error, if any, and QueryDelegationTotalRewardsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.delegationTotalRewards = function delegationTotalRewards(request, callback) { - return this.rpcCall(delegationTotalRewards, $root.cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest, $root.cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse, request, callback); - }, "name", { value: "DelegationTotalRewards" }); - - /** - * Calls DelegationTotalRewards. - * @function delegationTotalRewards - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryDelegationTotalRewardsRequest} request QueryDelegationTotalRewardsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Query#delegatorValidators}. - * @memberof cosmos.distribution.v1beta1.Query - * @typedef DelegatorValidatorsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IQueryDelegatorValidatorsResponse} [response] QueryDelegatorValidatorsResponse - */ - - /** - * Calls DelegatorValidators. - * @function delegatorValidators - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryDelegatorValidatorsRequest} request QueryDelegatorValidatorsRequest message or plain object - * @param {cosmos.distribution.v1beta1.Query.DelegatorValidatorsCallback} callback Node-style callback called with the error, if any, and QueryDelegatorValidatorsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.delegatorValidators = function delegatorValidators(request, callback) { - return this.rpcCall(delegatorValidators, $root.cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest, $root.cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse, request, callback); - }, "name", { value: "DelegatorValidators" }); - - /** - * Calls DelegatorValidators. - * @function delegatorValidators - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryDelegatorValidatorsRequest} request QueryDelegatorValidatorsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Query#delegatorWithdrawAddress}. - * @memberof cosmos.distribution.v1beta1.Query - * @typedef DelegatorWithdrawAddressCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IQueryDelegatorWithdrawAddressResponse} [response] QueryDelegatorWithdrawAddressResponse - */ - - /** - * Calls DelegatorWithdrawAddress. - * @function delegatorWithdrawAddress - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryDelegatorWithdrawAddressRequest} request QueryDelegatorWithdrawAddressRequest message or plain object - * @param {cosmos.distribution.v1beta1.Query.DelegatorWithdrawAddressCallback} callback Node-style callback called with the error, if any, and QueryDelegatorWithdrawAddressResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.delegatorWithdrawAddress = function delegatorWithdrawAddress(request, callback) { - return this.rpcCall(delegatorWithdrawAddress, $root.cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest, $root.cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse, request, callback); - }, "name", { value: "DelegatorWithdrawAddress" }); - - /** - * Calls DelegatorWithdrawAddress. - * @function delegatorWithdrawAddress - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryDelegatorWithdrawAddressRequest} request QueryDelegatorWithdrawAddressRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Query#communityPool}. - * @memberof cosmos.distribution.v1beta1.Query - * @typedef CommunityPoolCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IQueryCommunityPoolResponse} [response] QueryCommunityPoolResponse - */ - - /** - * Calls CommunityPool. - * @function communityPool - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryCommunityPoolRequest} request QueryCommunityPoolRequest message or plain object - * @param {cosmos.distribution.v1beta1.Query.CommunityPoolCallback} callback Node-style callback called with the error, if any, and QueryCommunityPoolResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.communityPool = function communityPool(request, callback) { - return this.rpcCall(communityPool, $root.cosmos.distribution.v1beta1.QueryCommunityPoolRequest, $root.cosmos.distribution.v1beta1.QueryCommunityPoolResponse, request, callback); - }, "name", { value: "CommunityPool" }); - - /** - * Calls CommunityPool. - * @function communityPool - * @memberof cosmos.distribution.v1beta1.Query - * @instance - * @param {cosmos.distribution.v1beta1.IQueryCommunityPoolRequest} request QueryCommunityPoolRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1beta1.Query || {}); - - v1beta1.QueryParamsRequest = (function(QueryParamsRequest) { - - /** - * Properties of a QueryParamsRequest. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryParamsRequest - */ - - /** - * Constructs a new QueryParamsRequest. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryParamsRequest. - * @implements IQueryParamsRequest - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryParamsRequest=} [properties] Properties to set - */ - function QueryParamsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryParamsRequest instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryParamsRequest=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryParamsRequest} QueryParamsRequest instance - */ - QueryParamsRequest.create = function create(properties) { - return new QueryParamsRequest(properties); - }; - - /** - * Encodes the specified QueryParamsRequest message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryParamsRequest message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryParamsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsRequest message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryParamsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryParamsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryParamsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryParamsRequest} QueryParamsRequest - */ - QueryParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryParamsRequest) - return object; - return new $root.cosmos.distribution.v1beta1.QueryParamsRequest(); - }; - - /** - * Creates a plain object from a QueryParamsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.distribution.v1beta1.QueryParamsRequest} message QueryParamsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryParamsRequest to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryParamsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryParamsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsRequest; - })(v1beta1.QueryParamsRequest || {}); - - v1beta1.QueryParamsResponse = (function(QueryParamsResponse) { - - /** - * Properties of a QueryParamsResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryParamsResponse - * @property {cosmos.distribution.v1beta1.IParams|null} [params] QueryParamsResponse params - */ - - /** - * Constructs a new QueryParamsResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryParamsResponse. - * @implements IQueryParamsResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryParamsResponse=} [properties] Properties to set - */ - function QueryParamsResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryParamsResponse params. - * @member {cosmos.distribution.v1beta1.IParams|null|undefined} params - * @memberof cosmos.distribution.v1beta1.QueryParamsResponse - * @instance - */ - QueryParamsResponse.prototype.params = null; - - /** - * Creates a new QueryParamsResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryParamsResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryParamsResponse} QueryParamsResponse instance - */ - QueryParamsResponse.create = function create(properties) { - return new QueryParamsResponse(properties); - }; - - /** - * Encodes the specified QueryParamsResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.cosmos.distribution.v1beta1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryParamsResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryParamsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.cosmos.distribution.v1beta1.Params.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryParamsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.cosmos.distribution.v1beta1.Params.verify(message.params); - if (error) - return "params." + error; - } - return null; - }; - - /** - * Creates a QueryParamsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryParamsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryParamsResponse} QueryParamsResponse - */ - QueryParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryParamsResponse) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryParamsResponse(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".cosmos.distribution.v1beta1.QueryParamsResponse.params: object expected"); - message.params = $root.cosmos.distribution.v1beta1.Params.fromObject(object.params); - } - return message; - }; - - /** - * Creates a plain object from a QueryParamsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.distribution.v1beta1.QueryParamsResponse} message QueryParamsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.params = null; - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.cosmos.distribution.v1beta1.Params.toObject(message.params, options); - return object; - }; - - /** - * Converts this QueryParamsResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryParamsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryParamsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsResponse; - })(v1beta1.QueryParamsResponse || {}); - - v1beta1.QueryValidatorOutstandingRewardsRequest = (function(QueryValidatorOutstandingRewardsRequest) { - - /** - * Properties of a QueryValidatorOutstandingRewardsRequest. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryValidatorOutstandingRewardsRequest - * @property {string|null} [validatorAddress] QueryValidatorOutstandingRewardsRequest validatorAddress - */ - - /** - * Constructs a new QueryValidatorOutstandingRewardsRequest. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryValidatorOutstandingRewardsRequest. - * @implements IQueryValidatorOutstandingRewardsRequest - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryValidatorOutstandingRewardsRequest=} [properties] Properties to set - */ - function QueryValidatorOutstandingRewardsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorOutstandingRewardsRequest validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest - * @instance - */ - QueryValidatorOutstandingRewardsRequest.prototype.validatorAddress = ""; - - /** - * Creates a new QueryValidatorOutstandingRewardsRequest instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorOutstandingRewardsRequest=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest} QueryValidatorOutstandingRewardsRequest instance - */ - QueryValidatorOutstandingRewardsRequest.create = function create(properties) { - return new QueryValidatorOutstandingRewardsRequest(properties); - }; - - /** - * Encodes the specified QueryValidatorOutstandingRewardsRequest message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorOutstandingRewardsRequest} message QueryValidatorOutstandingRewardsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorOutstandingRewardsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddress); - return writer; - }; - - /** - * Encodes the specified QueryValidatorOutstandingRewardsRequest message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorOutstandingRewardsRequest} message QueryValidatorOutstandingRewardsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorOutstandingRewardsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorOutstandingRewardsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest} QueryValidatorOutstandingRewardsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorOutstandingRewardsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorOutstandingRewardsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest} QueryValidatorOutstandingRewardsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorOutstandingRewardsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorOutstandingRewardsRequest message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorOutstandingRewardsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - return null; - }; - - /** - * Creates a QueryValidatorOutstandingRewardsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest} QueryValidatorOutstandingRewardsRequest - */ - QueryValidatorOutstandingRewardsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest(); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - return message; - }; - - /** - * Creates a plain object from a QueryValidatorOutstandingRewardsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest - * @static - * @param {cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest} message QueryValidatorOutstandingRewardsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorOutstandingRewardsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.validatorAddress = ""; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - return object; - }; - - /** - * Converts this QueryValidatorOutstandingRewardsRequest to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorOutstandingRewardsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorOutstandingRewardsRequest; - })(v1beta1.QueryValidatorOutstandingRewardsRequest || {}); - - v1beta1.QueryValidatorOutstandingRewardsResponse = (function(QueryValidatorOutstandingRewardsResponse) { - - /** - * Properties of a QueryValidatorOutstandingRewardsResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryValidatorOutstandingRewardsResponse - * @property {cosmos.distribution.v1beta1.IValidatorOutstandingRewards|null} [rewards] QueryValidatorOutstandingRewardsResponse rewards - */ - - /** - * Constructs a new QueryValidatorOutstandingRewardsResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryValidatorOutstandingRewardsResponse. - * @implements IQueryValidatorOutstandingRewardsResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryValidatorOutstandingRewardsResponse=} [properties] Properties to set - */ - function QueryValidatorOutstandingRewardsResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorOutstandingRewardsResponse rewards. - * @member {cosmos.distribution.v1beta1.IValidatorOutstandingRewards|null|undefined} rewards - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse - * @instance - */ - QueryValidatorOutstandingRewardsResponse.prototype.rewards = null; - - /** - * Creates a new QueryValidatorOutstandingRewardsResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorOutstandingRewardsResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse} QueryValidatorOutstandingRewardsResponse instance - */ - QueryValidatorOutstandingRewardsResponse.create = function create(properties) { - return new QueryValidatorOutstandingRewardsResponse(properties); - }; - - /** - * Encodes the specified QueryValidatorOutstandingRewardsResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorOutstandingRewardsResponse} message QueryValidatorOutstandingRewardsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorOutstandingRewardsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.rewards != null && Object.hasOwnProperty.call(message, "rewards")) - $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.encode(message.rewards, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryValidatorOutstandingRewardsResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorOutstandingRewardsResponse} message QueryValidatorOutstandingRewardsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorOutstandingRewardsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorOutstandingRewardsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse} QueryValidatorOutstandingRewardsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorOutstandingRewardsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.rewards = $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorOutstandingRewardsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse} QueryValidatorOutstandingRewardsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorOutstandingRewardsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorOutstandingRewardsResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorOutstandingRewardsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.rewards != null && message.hasOwnProperty("rewards")) { - let error = $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.verify(message.rewards); - if (error) - return "rewards." + error; - } - return null; - }; - - /** - * Creates a QueryValidatorOutstandingRewardsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse} QueryValidatorOutstandingRewardsResponse - */ - QueryValidatorOutstandingRewardsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse(); - if (object.rewards != null) { - if (typeof object.rewards !== "object") - throw TypeError(".cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse.rewards: object expected"); - message.rewards = $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.fromObject(object.rewards); - } - return message; - }; - - /** - * Creates a plain object from a QueryValidatorOutstandingRewardsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse - * @static - * @param {cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse} message QueryValidatorOutstandingRewardsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorOutstandingRewardsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.rewards = null; - if (message.rewards != null && message.hasOwnProperty("rewards")) - object.rewards = $root.cosmos.distribution.v1beta1.ValidatorOutstandingRewards.toObject(message.rewards, options); - return object; - }; - - /** - * Converts this QueryValidatorOutstandingRewardsResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorOutstandingRewardsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorOutstandingRewardsResponse; - })(v1beta1.QueryValidatorOutstandingRewardsResponse || {}); - - v1beta1.QueryValidatorCommissionRequest = (function(QueryValidatorCommissionRequest) { - - /** - * Properties of a QueryValidatorCommissionRequest. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryValidatorCommissionRequest - * @property {string|null} [validatorAddress] QueryValidatorCommissionRequest validatorAddress - */ - - /** - * Constructs a new QueryValidatorCommissionRequest. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryValidatorCommissionRequest. - * @implements IQueryValidatorCommissionRequest - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryValidatorCommissionRequest=} [properties] Properties to set - */ - function QueryValidatorCommissionRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorCommissionRequest validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionRequest - * @instance - */ - QueryValidatorCommissionRequest.prototype.validatorAddress = ""; - - /** - * Creates a new QueryValidatorCommissionRequest instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorCommissionRequest=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryValidatorCommissionRequest} QueryValidatorCommissionRequest instance - */ - QueryValidatorCommissionRequest.create = function create(properties) { - return new QueryValidatorCommissionRequest(properties); - }; - - /** - * Encodes the specified QueryValidatorCommissionRequest message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryValidatorCommissionRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorCommissionRequest} message QueryValidatorCommissionRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorCommissionRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddress); - return writer; - }; - - /** - * Encodes the specified QueryValidatorCommissionRequest message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryValidatorCommissionRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorCommissionRequest} message QueryValidatorCommissionRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorCommissionRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorCommissionRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryValidatorCommissionRequest} QueryValidatorCommissionRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorCommissionRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryValidatorCommissionRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorCommissionRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryValidatorCommissionRequest} QueryValidatorCommissionRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorCommissionRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorCommissionRequest message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorCommissionRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - return null; - }; - - /** - * Creates a QueryValidatorCommissionRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryValidatorCommissionRequest} QueryValidatorCommissionRequest - */ - QueryValidatorCommissionRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryValidatorCommissionRequest) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryValidatorCommissionRequest(); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - return message; - }; - - /** - * Creates a plain object from a QueryValidatorCommissionRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionRequest - * @static - * @param {cosmos.distribution.v1beta1.QueryValidatorCommissionRequest} message QueryValidatorCommissionRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorCommissionRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.validatorAddress = ""; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - return object; - }; - - /** - * Converts this QueryValidatorCommissionRequest to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionRequest - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorCommissionRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorCommissionRequest; - })(v1beta1.QueryValidatorCommissionRequest || {}); - - v1beta1.QueryValidatorCommissionResponse = (function(QueryValidatorCommissionResponse) { - - /** - * Properties of a QueryValidatorCommissionResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryValidatorCommissionResponse - * @property {cosmos.distribution.v1beta1.IValidatorAccumulatedCommission|null} [commission] QueryValidatorCommissionResponse commission - */ - - /** - * Constructs a new QueryValidatorCommissionResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryValidatorCommissionResponse. - * @implements IQueryValidatorCommissionResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryValidatorCommissionResponse=} [properties] Properties to set - */ - function QueryValidatorCommissionResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorCommissionResponse commission. - * @member {cosmos.distribution.v1beta1.IValidatorAccumulatedCommission|null|undefined} commission - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionResponse - * @instance - */ - QueryValidatorCommissionResponse.prototype.commission = null; - - /** - * Creates a new QueryValidatorCommissionResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorCommissionResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryValidatorCommissionResponse} QueryValidatorCommissionResponse instance - */ - QueryValidatorCommissionResponse.create = function create(properties) { - return new QueryValidatorCommissionResponse(properties); - }; - - /** - * Encodes the specified QueryValidatorCommissionResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryValidatorCommissionResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorCommissionResponse} message QueryValidatorCommissionResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorCommissionResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.commission != null && Object.hasOwnProperty.call(message, "commission")) - $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.encode(message.commission, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryValidatorCommissionResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryValidatorCommissionResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorCommissionResponse} message QueryValidatorCommissionResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorCommissionResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorCommissionResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryValidatorCommissionResponse} QueryValidatorCommissionResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorCommissionResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryValidatorCommissionResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.commission = $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorCommissionResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryValidatorCommissionResponse} QueryValidatorCommissionResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorCommissionResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorCommissionResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorCommissionResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.commission != null && message.hasOwnProperty("commission")) { - let error = $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.verify(message.commission); - if (error) - return "commission." + error; - } - return null; - }; - - /** - * Creates a QueryValidatorCommissionResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryValidatorCommissionResponse} QueryValidatorCommissionResponse - */ - QueryValidatorCommissionResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryValidatorCommissionResponse) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryValidatorCommissionResponse(); - if (object.commission != null) { - if (typeof object.commission !== "object") - throw TypeError(".cosmos.distribution.v1beta1.QueryValidatorCommissionResponse.commission: object expected"); - message.commission = $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.fromObject(object.commission); - } - return message; - }; - - /** - * Creates a plain object from a QueryValidatorCommissionResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionResponse - * @static - * @param {cosmos.distribution.v1beta1.QueryValidatorCommissionResponse} message QueryValidatorCommissionResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorCommissionResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.commission = null; - if (message.commission != null && message.hasOwnProperty("commission")) - object.commission = $root.cosmos.distribution.v1beta1.ValidatorAccumulatedCommission.toObject(message.commission, options); - return object; - }; - - /** - * Converts this QueryValidatorCommissionResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryValidatorCommissionResponse - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorCommissionResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorCommissionResponse; - })(v1beta1.QueryValidatorCommissionResponse || {}); - - v1beta1.QueryValidatorSlashesRequest = (function(QueryValidatorSlashesRequest) { - - /** - * Properties of a QueryValidatorSlashesRequest. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryValidatorSlashesRequest - * @property {string|null} [validatorAddress] QueryValidatorSlashesRequest validatorAddress - * @property {number|Long|null} [startingHeight] QueryValidatorSlashesRequest startingHeight - * @property {number|Long|null} [endingHeight] QueryValidatorSlashesRequest endingHeight - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryValidatorSlashesRequest pagination - */ - - /** - * Constructs a new QueryValidatorSlashesRequest. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryValidatorSlashesRequest. - * @implements IQueryValidatorSlashesRequest - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryValidatorSlashesRequest=} [properties] Properties to set - */ - function QueryValidatorSlashesRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorSlashesRequest validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @instance - */ - QueryValidatorSlashesRequest.prototype.validatorAddress = ""; - - /** - * QueryValidatorSlashesRequest startingHeight. - * @member {number|Long} startingHeight - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @instance - */ - QueryValidatorSlashesRequest.prototype.startingHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * QueryValidatorSlashesRequest endingHeight. - * @member {number|Long} endingHeight - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @instance - */ - QueryValidatorSlashesRequest.prototype.endingHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * QueryValidatorSlashesRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @instance - */ - QueryValidatorSlashesRequest.prototype.pagination = null; - - /** - * Creates a new QueryValidatorSlashesRequest instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorSlashesRequest=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryValidatorSlashesRequest} QueryValidatorSlashesRequest instance - */ - QueryValidatorSlashesRequest.create = function create(properties) { - return new QueryValidatorSlashesRequest(properties); - }; - - /** - * Encodes the specified QueryValidatorSlashesRequest message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryValidatorSlashesRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorSlashesRequest} message QueryValidatorSlashesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorSlashesRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddress); - if (message.startingHeight != null && Object.hasOwnProperty.call(message, "startingHeight")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.startingHeight); - if (message.endingHeight != null && Object.hasOwnProperty.call(message, "endingHeight")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.endingHeight); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryValidatorSlashesRequest message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryValidatorSlashesRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorSlashesRequest} message QueryValidatorSlashesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorSlashesRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorSlashesRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryValidatorSlashesRequest} QueryValidatorSlashesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorSlashesRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryValidatorSlashesRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddress = reader.string(); - break; - case 2: - message.startingHeight = reader.uint64(); - break; - case 3: - message.endingHeight = reader.uint64(); - break; - case 4: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorSlashesRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryValidatorSlashesRequest} QueryValidatorSlashesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorSlashesRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorSlashesRequest message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorSlashesRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.startingHeight != null && message.hasOwnProperty("startingHeight")) - if (!$util.isInteger(message.startingHeight) && !(message.startingHeight && $util.isInteger(message.startingHeight.low) && $util.isInteger(message.startingHeight.high))) - return "startingHeight: integer|Long expected"; - if (message.endingHeight != null && message.hasOwnProperty("endingHeight")) - if (!$util.isInteger(message.endingHeight) && !(message.endingHeight && $util.isInteger(message.endingHeight.low) && $util.isInteger(message.endingHeight.high))) - return "endingHeight: integer|Long expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryValidatorSlashesRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryValidatorSlashesRequest} QueryValidatorSlashesRequest - */ - QueryValidatorSlashesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryValidatorSlashesRequest) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryValidatorSlashesRequest(); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.startingHeight != null) - if ($util.Long) - (message.startingHeight = $util.Long.fromValue(object.startingHeight)).unsigned = true; - else if (typeof object.startingHeight === "string") - message.startingHeight = parseInt(object.startingHeight, 10); - else if (typeof object.startingHeight === "number") - message.startingHeight = object.startingHeight; - else if (typeof object.startingHeight === "object") - message.startingHeight = new $util.LongBits(object.startingHeight.low >>> 0, object.startingHeight.high >>> 0).toNumber(true); - if (object.endingHeight != null) - if ($util.Long) - (message.endingHeight = $util.Long.fromValue(object.endingHeight)).unsigned = true; - else if (typeof object.endingHeight === "string") - message.endingHeight = parseInt(object.endingHeight, 10); - else if (typeof object.endingHeight === "number") - message.endingHeight = object.endingHeight; - else if (typeof object.endingHeight === "object") - message.endingHeight = new $util.LongBits(object.endingHeight.low >>> 0, object.endingHeight.high >>> 0).toNumber(true); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.distribution.v1beta1.QueryValidatorSlashesRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryValidatorSlashesRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @static - * @param {cosmos.distribution.v1beta1.QueryValidatorSlashesRequest} message QueryValidatorSlashesRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorSlashesRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.validatorAddress = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.startingHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.startingHeight = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.endingHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.endingHeight = options.longs === String ? "0" : 0; - object.pagination = null; - } - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.startingHeight != null && message.hasOwnProperty("startingHeight")) - if (typeof message.startingHeight === "number") - object.startingHeight = options.longs === String ? String(message.startingHeight) : message.startingHeight; - else - object.startingHeight = options.longs === String ? $util.Long.prototype.toString.call(message.startingHeight) : options.longs === Number ? new $util.LongBits(message.startingHeight.low >>> 0, message.startingHeight.high >>> 0).toNumber(true) : message.startingHeight; - if (message.endingHeight != null && message.hasOwnProperty("endingHeight")) - if (typeof message.endingHeight === "number") - object.endingHeight = options.longs === String ? String(message.endingHeight) : message.endingHeight; - else - object.endingHeight = options.longs === String ? $util.Long.prototype.toString.call(message.endingHeight) : options.longs === Number ? new $util.LongBits(message.endingHeight.low >>> 0, message.endingHeight.high >>> 0).toNumber(true) : message.endingHeight; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryValidatorSlashesRequest to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesRequest - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorSlashesRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorSlashesRequest; - })(v1beta1.QueryValidatorSlashesRequest || {}); - - v1beta1.QueryValidatorSlashesResponse = (function(QueryValidatorSlashesResponse) { - - /** - * Properties of a QueryValidatorSlashesResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryValidatorSlashesResponse - * @property {Array.|null} [slashes] QueryValidatorSlashesResponse slashes - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryValidatorSlashesResponse pagination - */ - - /** - * Constructs a new QueryValidatorSlashesResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryValidatorSlashesResponse. - * @implements IQueryValidatorSlashesResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryValidatorSlashesResponse=} [properties] Properties to set - */ - function QueryValidatorSlashesResponse(properties) { - this.slashes = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorSlashesResponse slashes. - * @member {Array.} slashes - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesResponse - * @instance - */ - QueryValidatorSlashesResponse.prototype.slashes = $util.emptyArray; - - /** - * QueryValidatorSlashesResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesResponse - * @instance - */ - QueryValidatorSlashesResponse.prototype.pagination = null; - - /** - * Creates a new QueryValidatorSlashesResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorSlashesResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryValidatorSlashesResponse} QueryValidatorSlashesResponse instance - */ - QueryValidatorSlashesResponse.create = function create(properties) { - return new QueryValidatorSlashesResponse(properties); - }; - - /** - * Encodes the specified QueryValidatorSlashesResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryValidatorSlashesResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorSlashesResponse} message QueryValidatorSlashesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorSlashesResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.slashes != null && message.slashes.length) - for (let i = 0; i < message.slashes.length; ++i) - $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.encode(message.slashes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryValidatorSlashesResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryValidatorSlashesResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryValidatorSlashesResponse} message QueryValidatorSlashesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorSlashesResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorSlashesResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryValidatorSlashesResponse} QueryValidatorSlashesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorSlashesResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryValidatorSlashesResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.slashes && message.slashes.length)) - message.slashes = []; - message.slashes.push($root.cosmos.distribution.v1beta1.ValidatorSlashEvent.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorSlashesResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryValidatorSlashesResponse} QueryValidatorSlashesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorSlashesResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorSlashesResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorSlashesResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.slashes != null && message.hasOwnProperty("slashes")) { - if (!Array.isArray(message.slashes)) - return "slashes: array expected"; - for (let i = 0; i < message.slashes.length; ++i) { - let error = $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.verify(message.slashes[i]); - if (error) - return "slashes." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryValidatorSlashesResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryValidatorSlashesResponse} QueryValidatorSlashesResponse - */ - QueryValidatorSlashesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryValidatorSlashesResponse) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryValidatorSlashesResponse(); - if (object.slashes) { - if (!Array.isArray(object.slashes)) - throw TypeError(".cosmos.distribution.v1beta1.QueryValidatorSlashesResponse.slashes: array expected"); - message.slashes = []; - for (let i = 0; i < object.slashes.length; ++i) { - if (typeof object.slashes[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.QueryValidatorSlashesResponse.slashes: object expected"); - message.slashes[i] = $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.fromObject(object.slashes[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.distribution.v1beta1.QueryValidatorSlashesResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryValidatorSlashesResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesResponse - * @static - * @param {cosmos.distribution.v1beta1.QueryValidatorSlashesResponse} message QueryValidatorSlashesResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorSlashesResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.slashes = []; - if (options.defaults) - object.pagination = null; - if (message.slashes && message.slashes.length) { - object.slashes = []; - for (let j = 0; j < message.slashes.length; ++j) - object.slashes[j] = $root.cosmos.distribution.v1beta1.ValidatorSlashEvent.toObject(message.slashes[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryValidatorSlashesResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryValidatorSlashesResponse - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorSlashesResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorSlashesResponse; - })(v1beta1.QueryValidatorSlashesResponse || {}); - - v1beta1.QueryDelegationRewardsRequest = (function(QueryDelegationRewardsRequest) { - - /** - * Properties of a QueryDelegationRewardsRequest. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryDelegationRewardsRequest - * @property {string|null} [delegatorAddress] QueryDelegationRewardsRequest delegatorAddress - * @property {string|null} [validatorAddress] QueryDelegationRewardsRequest validatorAddress - */ - - /** - * Constructs a new QueryDelegationRewardsRequest. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryDelegationRewardsRequest. - * @implements IQueryDelegationRewardsRequest - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryDelegationRewardsRequest=} [properties] Properties to set - */ - function QueryDelegationRewardsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegationRewardsRequest delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsRequest - * @instance - */ - QueryDelegationRewardsRequest.prototype.delegatorAddress = ""; - - /** - * QueryDelegationRewardsRequest validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsRequest - * @instance - */ - QueryDelegationRewardsRequest.prototype.validatorAddress = ""; - - /** - * Creates a new QueryDelegationRewardsRequest instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegationRewardsRequest=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryDelegationRewardsRequest} QueryDelegationRewardsRequest instance - */ - QueryDelegationRewardsRequest.create = function create(properties) { - return new QueryDelegationRewardsRequest(properties); - }; - - /** - * Encodes the specified QueryDelegationRewardsRequest message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegationRewardsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegationRewardsRequest} message QueryDelegationRewardsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegationRewardsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorAddress); - return writer; - }; - - /** - * Encodes the specified QueryDelegationRewardsRequest message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegationRewardsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegationRewardsRequest} message QueryDelegationRewardsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegationRewardsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegationRewardsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryDelegationRewardsRequest} QueryDelegationRewardsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegationRewardsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryDelegationRewardsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.validatorAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegationRewardsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryDelegationRewardsRequest} QueryDelegationRewardsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegationRewardsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegationRewardsRequest message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegationRewardsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - return null; - }; - - /** - * Creates a QueryDelegationRewardsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryDelegationRewardsRequest} QueryDelegationRewardsRequest - */ - QueryDelegationRewardsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryDelegationRewardsRequest) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryDelegationRewardsRequest(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - return message; - }; - - /** - * Creates a plain object from a QueryDelegationRewardsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsRequest - * @static - * @param {cosmos.distribution.v1beta1.QueryDelegationRewardsRequest} message QueryDelegationRewardsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegationRewardsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddress = ""; - object.validatorAddress = ""; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - return object; - }; - - /** - * Converts this QueryDelegationRewardsRequest to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDelegationRewardsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegationRewardsRequest; - })(v1beta1.QueryDelegationRewardsRequest || {}); - - v1beta1.QueryDelegationRewardsResponse = (function(QueryDelegationRewardsResponse) { - - /** - * Properties of a QueryDelegationRewardsResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryDelegationRewardsResponse - * @property {Array.|null} [rewards] QueryDelegationRewardsResponse rewards - */ - - /** - * Constructs a new QueryDelegationRewardsResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryDelegationRewardsResponse. - * @implements IQueryDelegationRewardsResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryDelegationRewardsResponse=} [properties] Properties to set - */ - function QueryDelegationRewardsResponse(properties) { - this.rewards = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegationRewardsResponse rewards. - * @member {Array.} rewards - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsResponse - * @instance - */ - QueryDelegationRewardsResponse.prototype.rewards = $util.emptyArray; - - /** - * Creates a new QueryDelegationRewardsResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegationRewardsResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryDelegationRewardsResponse} QueryDelegationRewardsResponse instance - */ - QueryDelegationRewardsResponse.create = function create(properties) { - return new QueryDelegationRewardsResponse(properties); - }; - - /** - * Encodes the specified QueryDelegationRewardsResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegationRewardsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegationRewardsResponse} message QueryDelegationRewardsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegationRewardsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.rewards != null && message.rewards.length) - for (let i = 0; i < message.rewards.length; ++i) - $root.cosmos.base.v1beta1.DecCoin.encode(message.rewards[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDelegationRewardsResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegationRewardsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegationRewardsResponse} message QueryDelegationRewardsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegationRewardsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegationRewardsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryDelegationRewardsResponse} QueryDelegationRewardsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegationRewardsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryDelegationRewardsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.rewards && message.rewards.length)) - message.rewards = []; - message.rewards.push($root.cosmos.base.v1beta1.DecCoin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegationRewardsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryDelegationRewardsResponse} QueryDelegationRewardsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegationRewardsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegationRewardsResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegationRewardsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.rewards != null && message.hasOwnProperty("rewards")) { - if (!Array.isArray(message.rewards)) - return "rewards: array expected"; - for (let i = 0; i < message.rewards.length; ++i) { - let error = $root.cosmos.base.v1beta1.DecCoin.verify(message.rewards[i]); - if (error) - return "rewards." + error; - } - } - return null; - }; - - /** - * Creates a QueryDelegationRewardsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryDelegationRewardsResponse} QueryDelegationRewardsResponse - */ - QueryDelegationRewardsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryDelegationRewardsResponse) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryDelegationRewardsResponse(); - if (object.rewards) { - if (!Array.isArray(object.rewards)) - throw TypeError(".cosmos.distribution.v1beta1.QueryDelegationRewardsResponse.rewards: array expected"); - message.rewards = []; - for (let i = 0; i < object.rewards.length; ++i) { - if (typeof object.rewards[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.QueryDelegationRewardsResponse.rewards: object expected"); - message.rewards[i] = $root.cosmos.base.v1beta1.DecCoin.fromObject(object.rewards[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a QueryDelegationRewardsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsResponse - * @static - * @param {cosmos.distribution.v1beta1.QueryDelegationRewardsResponse} message QueryDelegationRewardsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegationRewardsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.rewards = []; - if (message.rewards && message.rewards.length) { - object.rewards = []; - for (let j = 0; j < message.rewards.length; ++j) - object.rewards[j] = $root.cosmos.base.v1beta1.DecCoin.toObject(message.rewards[j], options); - } - return object; - }; - - /** - * Converts this QueryDelegationRewardsResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryDelegationRewardsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDelegationRewardsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegationRewardsResponse; - })(v1beta1.QueryDelegationRewardsResponse || {}); - - v1beta1.QueryDelegationTotalRewardsRequest = (function(QueryDelegationTotalRewardsRequest) { - - /** - * Properties of a QueryDelegationTotalRewardsRequest. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryDelegationTotalRewardsRequest - * @property {string|null} [delegatorAddress] QueryDelegationTotalRewardsRequest delegatorAddress - */ - - /** - * Constructs a new QueryDelegationTotalRewardsRequest. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryDelegationTotalRewardsRequest. - * @implements IQueryDelegationTotalRewardsRequest - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryDelegationTotalRewardsRequest=} [properties] Properties to set - */ - function QueryDelegationTotalRewardsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegationTotalRewardsRequest delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest - * @instance - */ - QueryDelegationTotalRewardsRequest.prototype.delegatorAddress = ""; - - /** - * Creates a new QueryDelegationTotalRewardsRequest instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegationTotalRewardsRequest=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest} QueryDelegationTotalRewardsRequest instance - */ - QueryDelegationTotalRewardsRequest.create = function create(properties) { - return new QueryDelegationTotalRewardsRequest(properties); - }; - - /** - * Encodes the specified QueryDelegationTotalRewardsRequest message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegationTotalRewardsRequest} message QueryDelegationTotalRewardsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegationTotalRewardsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - return writer; - }; - - /** - * Encodes the specified QueryDelegationTotalRewardsRequest message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegationTotalRewardsRequest} message QueryDelegationTotalRewardsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegationTotalRewardsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegationTotalRewardsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest} QueryDelegationTotalRewardsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegationTotalRewardsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegationTotalRewardsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest} QueryDelegationTotalRewardsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegationTotalRewardsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegationTotalRewardsRequest message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegationTotalRewardsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - return null; - }; - - /** - * Creates a QueryDelegationTotalRewardsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest} QueryDelegationTotalRewardsRequest - */ - QueryDelegationTotalRewardsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - return message; - }; - - /** - * Creates a plain object from a QueryDelegationTotalRewardsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest - * @static - * @param {cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest} message QueryDelegationTotalRewardsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegationTotalRewardsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.delegatorAddress = ""; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - return object; - }; - - /** - * Converts this QueryDelegationTotalRewardsRequest to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDelegationTotalRewardsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegationTotalRewardsRequest; - })(v1beta1.QueryDelegationTotalRewardsRequest || {}); - - v1beta1.QueryDelegationTotalRewardsResponse = (function(QueryDelegationTotalRewardsResponse) { - - /** - * Properties of a QueryDelegationTotalRewardsResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryDelegationTotalRewardsResponse - * @property {Array.|null} [rewards] QueryDelegationTotalRewardsResponse rewards - * @property {Array.|null} [total] QueryDelegationTotalRewardsResponse total - */ - - /** - * Constructs a new QueryDelegationTotalRewardsResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryDelegationTotalRewardsResponse. - * @implements IQueryDelegationTotalRewardsResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryDelegationTotalRewardsResponse=} [properties] Properties to set - */ - function QueryDelegationTotalRewardsResponse(properties) { - this.rewards = []; - this.total = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegationTotalRewardsResponse rewards. - * @member {Array.} rewards - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse - * @instance - */ - QueryDelegationTotalRewardsResponse.prototype.rewards = $util.emptyArray; - - /** - * QueryDelegationTotalRewardsResponse total. - * @member {Array.} total - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse - * @instance - */ - QueryDelegationTotalRewardsResponse.prototype.total = $util.emptyArray; - - /** - * Creates a new QueryDelegationTotalRewardsResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegationTotalRewardsResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse} QueryDelegationTotalRewardsResponse instance - */ - QueryDelegationTotalRewardsResponse.create = function create(properties) { - return new QueryDelegationTotalRewardsResponse(properties); - }; - - /** - * Encodes the specified QueryDelegationTotalRewardsResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegationTotalRewardsResponse} message QueryDelegationTotalRewardsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegationTotalRewardsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.rewards != null && message.rewards.length) - for (let i = 0; i < message.rewards.length; ++i) - $root.cosmos.distribution.v1beta1.DelegationDelegatorReward.encode(message.rewards[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.total != null && message.total.length) - for (let i = 0; i < message.total.length; ++i) - $root.cosmos.base.v1beta1.DecCoin.encode(message.total[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDelegationTotalRewardsResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegationTotalRewardsResponse} message QueryDelegationTotalRewardsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegationTotalRewardsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegationTotalRewardsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse} QueryDelegationTotalRewardsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegationTotalRewardsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.rewards && message.rewards.length)) - message.rewards = []; - message.rewards.push($root.cosmos.distribution.v1beta1.DelegationDelegatorReward.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.total && message.total.length)) - message.total = []; - message.total.push($root.cosmos.base.v1beta1.DecCoin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegationTotalRewardsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse} QueryDelegationTotalRewardsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegationTotalRewardsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegationTotalRewardsResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegationTotalRewardsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.rewards != null && message.hasOwnProperty("rewards")) { - if (!Array.isArray(message.rewards)) - return "rewards: array expected"; - for (let i = 0; i < message.rewards.length; ++i) { - let error = $root.cosmos.distribution.v1beta1.DelegationDelegatorReward.verify(message.rewards[i]); - if (error) - return "rewards." + error; - } - } - if (message.total != null && message.hasOwnProperty("total")) { - if (!Array.isArray(message.total)) - return "total: array expected"; - for (let i = 0; i < message.total.length; ++i) { - let error = $root.cosmos.base.v1beta1.DecCoin.verify(message.total[i]); - if (error) - return "total." + error; - } - } - return null; - }; - - /** - * Creates a QueryDelegationTotalRewardsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse} QueryDelegationTotalRewardsResponse - */ - QueryDelegationTotalRewardsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse(); - if (object.rewards) { - if (!Array.isArray(object.rewards)) - throw TypeError(".cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse.rewards: array expected"); - message.rewards = []; - for (let i = 0; i < object.rewards.length; ++i) { - if (typeof object.rewards[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse.rewards: object expected"); - message.rewards[i] = $root.cosmos.distribution.v1beta1.DelegationDelegatorReward.fromObject(object.rewards[i]); - } - } - if (object.total) { - if (!Array.isArray(object.total)) - throw TypeError(".cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse.total: array expected"); - message.total = []; - for (let i = 0; i < object.total.length; ++i) { - if (typeof object.total[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse.total: object expected"); - message.total[i] = $root.cosmos.base.v1beta1.DecCoin.fromObject(object.total[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a QueryDelegationTotalRewardsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse - * @static - * @param {cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse} message QueryDelegationTotalRewardsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegationTotalRewardsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.rewards = []; - object.total = []; - } - if (message.rewards && message.rewards.length) { - object.rewards = []; - for (let j = 0; j < message.rewards.length; ++j) - object.rewards[j] = $root.cosmos.distribution.v1beta1.DelegationDelegatorReward.toObject(message.rewards[j], options); - } - if (message.total && message.total.length) { - object.total = []; - for (let j = 0; j < message.total.length; ++j) - object.total[j] = $root.cosmos.base.v1beta1.DecCoin.toObject(message.total[j], options); - } - return object; - }; - - /** - * Converts this QueryDelegationTotalRewardsResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDelegationTotalRewardsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegationTotalRewardsResponse; - })(v1beta1.QueryDelegationTotalRewardsResponse || {}); - - v1beta1.QueryDelegatorValidatorsRequest = (function(QueryDelegatorValidatorsRequest) { - - /** - * Properties of a QueryDelegatorValidatorsRequest. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryDelegatorValidatorsRequest - * @property {string|null} [delegatorAddress] QueryDelegatorValidatorsRequest delegatorAddress - */ - - /** - * Constructs a new QueryDelegatorValidatorsRequest. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryDelegatorValidatorsRequest. - * @implements IQueryDelegatorValidatorsRequest - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryDelegatorValidatorsRequest=} [properties] Properties to set - */ - function QueryDelegatorValidatorsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegatorValidatorsRequest delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest - * @instance - */ - QueryDelegatorValidatorsRequest.prototype.delegatorAddress = ""; - - /** - * Creates a new QueryDelegatorValidatorsRequest instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegatorValidatorsRequest=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest} QueryDelegatorValidatorsRequest instance - */ - QueryDelegatorValidatorsRequest.create = function create(properties) { - return new QueryDelegatorValidatorsRequest(properties); - }; - - /** - * Encodes the specified QueryDelegatorValidatorsRequest message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegatorValidatorsRequest} message QueryDelegatorValidatorsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorValidatorsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - return writer; - }; - - /** - * Encodes the specified QueryDelegatorValidatorsRequest message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegatorValidatorsRequest} message QueryDelegatorValidatorsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorValidatorsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegatorValidatorsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest} QueryDelegatorValidatorsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorValidatorsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegatorValidatorsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest} QueryDelegatorValidatorsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorValidatorsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegatorValidatorsRequest message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegatorValidatorsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - return null; - }; - - /** - * Creates a QueryDelegatorValidatorsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest} QueryDelegatorValidatorsRequest - */ - QueryDelegatorValidatorsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - return message; - }; - - /** - * Creates a plain object from a QueryDelegatorValidatorsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest} message QueryDelegatorValidatorsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegatorValidatorsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.delegatorAddress = ""; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - return object; - }; - - /** - * Converts this QueryDelegatorValidatorsRequest to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDelegatorValidatorsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegatorValidatorsRequest; - })(v1beta1.QueryDelegatorValidatorsRequest || {}); - - v1beta1.QueryDelegatorValidatorsResponse = (function(QueryDelegatorValidatorsResponse) { - - /** - * Properties of a QueryDelegatorValidatorsResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryDelegatorValidatorsResponse - * @property {Array.|null} [validators] QueryDelegatorValidatorsResponse validators - */ - - /** - * Constructs a new QueryDelegatorValidatorsResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryDelegatorValidatorsResponse. - * @implements IQueryDelegatorValidatorsResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryDelegatorValidatorsResponse=} [properties] Properties to set - */ - function QueryDelegatorValidatorsResponse(properties) { - this.validators = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegatorValidatorsResponse validators. - * @member {Array.} validators - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse - * @instance - */ - QueryDelegatorValidatorsResponse.prototype.validators = $util.emptyArray; - - /** - * Creates a new QueryDelegatorValidatorsResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegatorValidatorsResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse} QueryDelegatorValidatorsResponse instance - */ - QueryDelegatorValidatorsResponse.create = function create(properties) { - return new QueryDelegatorValidatorsResponse(properties); - }; - - /** - * Encodes the specified QueryDelegatorValidatorsResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegatorValidatorsResponse} message QueryDelegatorValidatorsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorValidatorsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validators != null && message.validators.length) - for (let i = 0; i < message.validators.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validators[i]); - return writer; - }; - - /** - * Encodes the specified QueryDelegatorValidatorsResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegatorValidatorsResponse} message QueryDelegatorValidatorsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorValidatorsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegatorValidatorsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse} QueryDelegatorValidatorsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorValidatorsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.validators && message.validators.length)) - message.validators = []; - message.validators.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegatorValidatorsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse} QueryDelegatorValidatorsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorValidatorsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegatorValidatorsResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegatorValidatorsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validators != null && message.hasOwnProperty("validators")) { - if (!Array.isArray(message.validators)) - return "validators: array expected"; - for (let i = 0; i < message.validators.length; ++i) - if (!$util.isString(message.validators[i])) - return "validators: string[] expected"; - } - return null; - }; - - /** - * Creates a QueryDelegatorValidatorsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse} QueryDelegatorValidatorsResponse - */ - QueryDelegatorValidatorsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse(); - if (object.validators) { - if (!Array.isArray(object.validators)) - throw TypeError(".cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse.validators: array expected"); - message.validators = []; - for (let i = 0; i < object.validators.length; ++i) - message.validators[i] = String(object.validators[i]); - } - return message; - }; - - /** - * Creates a plain object from a QueryDelegatorValidatorsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse} message QueryDelegatorValidatorsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegatorValidatorsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.validators = []; - if (message.validators && message.validators.length) { - object.validators = []; - for (let j = 0; j < message.validators.length; ++j) - object.validators[j] = message.validators[j]; - } - return object; - }; - - /** - * Converts this QueryDelegatorValidatorsResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDelegatorValidatorsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegatorValidatorsResponse; - })(v1beta1.QueryDelegatorValidatorsResponse || {}); - - v1beta1.QueryDelegatorWithdrawAddressRequest = (function(QueryDelegatorWithdrawAddressRequest) { - - /** - * Properties of a QueryDelegatorWithdrawAddressRequest. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryDelegatorWithdrawAddressRequest - * @property {string|null} [delegatorAddress] QueryDelegatorWithdrawAddressRequest delegatorAddress - */ - - /** - * Constructs a new QueryDelegatorWithdrawAddressRequest. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryDelegatorWithdrawAddressRequest. - * @implements IQueryDelegatorWithdrawAddressRequest - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryDelegatorWithdrawAddressRequest=} [properties] Properties to set - */ - function QueryDelegatorWithdrawAddressRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegatorWithdrawAddressRequest delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest - * @instance - */ - QueryDelegatorWithdrawAddressRequest.prototype.delegatorAddress = ""; - - /** - * Creates a new QueryDelegatorWithdrawAddressRequest instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegatorWithdrawAddressRequest=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest} QueryDelegatorWithdrawAddressRequest instance - */ - QueryDelegatorWithdrawAddressRequest.create = function create(properties) { - return new QueryDelegatorWithdrawAddressRequest(properties); - }; - - /** - * Encodes the specified QueryDelegatorWithdrawAddressRequest message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegatorWithdrawAddressRequest} message QueryDelegatorWithdrawAddressRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorWithdrawAddressRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - return writer; - }; - - /** - * Encodes the specified QueryDelegatorWithdrawAddressRequest message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegatorWithdrawAddressRequest} message QueryDelegatorWithdrawAddressRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorWithdrawAddressRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegatorWithdrawAddressRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest} QueryDelegatorWithdrawAddressRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorWithdrawAddressRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegatorWithdrawAddressRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest} QueryDelegatorWithdrawAddressRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorWithdrawAddressRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegatorWithdrawAddressRequest message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegatorWithdrawAddressRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - return null; - }; - - /** - * Creates a QueryDelegatorWithdrawAddressRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest} QueryDelegatorWithdrawAddressRequest - */ - QueryDelegatorWithdrawAddressRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - return message; - }; - - /** - * Creates a plain object from a QueryDelegatorWithdrawAddressRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest - * @static - * @param {cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest} message QueryDelegatorWithdrawAddressRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegatorWithdrawAddressRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.delegatorAddress = ""; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - return object; - }; - - /** - * Converts this QueryDelegatorWithdrawAddressRequest to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDelegatorWithdrawAddressRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegatorWithdrawAddressRequest; - })(v1beta1.QueryDelegatorWithdrawAddressRequest || {}); - - v1beta1.QueryDelegatorWithdrawAddressResponse = (function(QueryDelegatorWithdrawAddressResponse) { - - /** - * Properties of a QueryDelegatorWithdrawAddressResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryDelegatorWithdrawAddressResponse - * @property {string|null} [withdrawAddress] QueryDelegatorWithdrawAddressResponse withdrawAddress - */ - - /** - * Constructs a new QueryDelegatorWithdrawAddressResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryDelegatorWithdrawAddressResponse. - * @implements IQueryDelegatorWithdrawAddressResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryDelegatorWithdrawAddressResponse=} [properties] Properties to set - */ - function QueryDelegatorWithdrawAddressResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegatorWithdrawAddressResponse withdrawAddress. - * @member {string} withdrawAddress - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse - * @instance - */ - QueryDelegatorWithdrawAddressResponse.prototype.withdrawAddress = ""; - - /** - * Creates a new QueryDelegatorWithdrawAddressResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegatorWithdrawAddressResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse} QueryDelegatorWithdrawAddressResponse instance - */ - QueryDelegatorWithdrawAddressResponse.create = function create(properties) { - return new QueryDelegatorWithdrawAddressResponse(properties); - }; - - /** - * Encodes the specified QueryDelegatorWithdrawAddressResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegatorWithdrawAddressResponse} message QueryDelegatorWithdrawAddressResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorWithdrawAddressResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.withdrawAddress != null && Object.hasOwnProperty.call(message, "withdrawAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.withdrawAddress); - return writer; - }; - - /** - * Encodes the specified QueryDelegatorWithdrawAddressResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryDelegatorWithdrawAddressResponse} message QueryDelegatorWithdrawAddressResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorWithdrawAddressResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegatorWithdrawAddressResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse} QueryDelegatorWithdrawAddressResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorWithdrawAddressResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.withdrawAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegatorWithdrawAddressResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse} QueryDelegatorWithdrawAddressResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorWithdrawAddressResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegatorWithdrawAddressResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegatorWithdrawAddressResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.withdrawAddress != null && message.hasOwnProperty("withdrawAddress")) - if (!$util.isString(message.withdrawAddress)) - return "withdrawAddress: string expected"; - return null; - }; - - /** - * Creates a QueryDelegatorWithdrawAddressResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse} QueryDelegatorWithdrawAddressResponse - */ - QueryDelegatorWithdrawAddressResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse(); - if (object.withdrawAddress != null) - message.withdrawAddress = String(object.withdrawAddress); - return message; - }; - - /** - * Creates a plain object from a QueryDelegatorWithdrawAddressResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse - * @static - * @param {cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse} message QueryDelegatorWithdrawAddressResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegatorWithdrawAddressResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.withdrawAddress = ""; - if (message.withdrawAddress != null && message.hasOwnProperty("withdrawAddress")) - object.withdrawAddress = message.withdrawAddress; - return object; - }; - - /** - * Converts this QueryDelegatorWithdrawAddressResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDelegatorWithdrawAddressResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegatorWithdrawAddressResponse; - })(v1beta1.QueryDelegatorWithdrawAddressResponse || {}); - - v1beta1.QueryCommunityPoolRequest = (function(QueryCommunityPoolRequest) { - - /** - * Properties of a QueryCommunityPoolRequest. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryCommunityPoolRequest - */ - - /** - * Constructs a new QueryCommunityPoolRequest. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryCommunityPoolRequest. - * @implements IQueryCommunityPoolRequest - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryCommunityPoolRequest=} [properties] Properties to set - */ - function QueryCommunityPoolRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryCommunityPoolRequest instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryCommunityPoolRequest=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryCommunityPoolRequest} QueryCommunityPoolRequest instance - */ - QueryCommunityPoolRequest.create = function create(properties) { - return new QueryCommunityPoolRequest(properties); - }; - - /** - * Encodes the specified QueryCommunityPoolRequest message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryCommunityPoolRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryCommunityPoolRequest} message QueryCommunityPoolRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryCommunityPoolRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryCommunityPoolRequest message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryCommunityPoolRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolRequest - * @static - * @param {cosmos.distribution.v1beta1.IQueryCommunityPoolRequest} message QueryCommunityPoolRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryCommunityPoolRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryCommunityPoolRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryCommunityPoolRequest} QueryCommunityPoolRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryCommunityPoolRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryCommunityPoolRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryCommunityPoolRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryCommunityPoolRequest} QueryCommunityPoolRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryCommunityPoolRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryCommunityPoolRequest message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryCommunityPoolRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryCommunityPoolRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryCommunityPoolRequest} QueryCommunityPoolRequest - */ - QueryCommunityPoolRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryCommunityPoolRequest) - return object; - return new $root.cosmos.distribution.v1beta1.QueryCommunityPoolRequest(); - }; - - /** - * Creates a plain object from a QueryCommunityPoolRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolRequest - * @static - * @param {cosmos.distribution.v1beta1.QueryCommunityPoolRequest} message QueryCommunityPoolRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryCommunityPoolRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryCommunityPoolRequest to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolRequest - * @instance - * @returns {Object.} JSON object - */ - QueryCommunityPoolRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryCommunityPoolRequest; - })(v1beta1.QueryCommunityPoolRequest || {}); - - v1beta1.QueryCommunityPoolResponse = (function(QueryCommunityPoolResponse) { - - /** - * Properties of a QueryCommunityPoolResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IQueryCommunityPoolResponse - * @property {Array.|null} [pool] QueryCommunityPoolResponse pool - */ - - /** - * Constructs a new QueryCommunityPoolResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a QueryCommunityPoolResponse. - * @implements IQueryCommunityPoolResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IQueryCommunityPoolResponse=} [properties] Properties to set - */ - function QueryCommunityPoolResponse(properties) { - this.pool = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryCommunityPoolResponse pool. - * @member {Array.} pool - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolResponse - * @instance - */ - QueryCommunityPoolResponse.prototype.pool = $util.emptyArray; - - /** - * Creates a new QueryCommunityPoolResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryCommunityPoolResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.QueryCommunityPoolResponse} QueryCommunityPoolResponse instance - */ - QueryCommunityPoolResponse.create = function create(properties) { - return new QueryCommunityPoolResponse(properties); - }; - - /** - * Encodes the specified QueryCommunityPoolResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.QueryCommunityPoolResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryCommunityPoolResponse} message QueryCommunityPoolResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryCommunityPoolResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pool != null && message.pool.length) - for (let i = 0; i < message.pool.length; ++i) - $root.cosmos.base.v1beta1.DecCoin.encode(message.pool[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryCommunityPoolResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.QueryCommunityPoolResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolResponse - * @static - * @param {cosmos.distribution.v1beta1.IQueryCommunityPoolResponse} message QueryCommunityPoolResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryCommunityPoolResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryCommunityPoolResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.QueryCommunityPoolResponse} QueryCommunityPoolResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryCommunityPoolResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.QueryCommunityPoolResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.pool && message.pool.length)) - message.pool = []; - message.pool.push($root.cosmos.base.v1beta1.DecCoin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryCommunityPoolResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.QueryCommunityPoolResponse} QueryCommunityPoolResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryCommunityPoolResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryCommunityPoolResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryCommunityPoolResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pool != null && message.hasOwnProperty("pool")) { - if (!Array.isArray(message.pool)) - return "pool: array expected"; - for (let i = 0; i < message.pool.length; ++i) { - let error = $root.cosmos.base.v1beta1.DecCoin.verify(message.pool[i]); - if (error) - return "pool." + error; - } - } - return null; - }; - - /** - * Creates a QueryCommunityPoolResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.QueryCommunityPoolResponse} QueryCommunityPoolResponse - */ - QueryCommunityPoolResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.QueryCommunityPoolResponse) - return object; - let message = new $root.cosmos.distribution.v1beta1.QueryCommunityPoolResponse(); - if (object.pool) { - if (!Array.isArray(object.pool)) - throw TypeError(".cosmos.distribution.v1beta1.QueryCommunityPoolResponse.pool: array expected"); - message.pool = []; - for (let i = 0; i < object.pool.length; ++i) { - if (typeof object.pool[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.QueryCommunityPoolResponse.pool: object expected"); - message.pool[i] = $root.cosmos.base.v1beta1.DecCoin.fromObject(object.pool[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a QueryCommunityPoolResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolResponse - * @static - * @param {cosmos.distribution.v1beta1.QueryCommunityPoolResponse} message QueryCommunityPoolResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryCommunityPoolResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.pool = []; - if (message.pool && message.pool.length) { - object.pool = []; - for (let j = 0; j < message.pool.length; ++j) - object.pool[j] = $root.cosmos.base.v1beta1.DecCoin.toObject(message.pool[j], options); - } - return object; - }; - - /** - * Converts this QueryCommunityPoolResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.QueryCommunityPoolResponse - * @instance - * @returns {Object.} JSON object - */ - QueryCommunityPoolResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryCommunityPoolResponse; - })(v1beta1.QueryCommunityPoolResponse || {}); - - v1beta1.Msg = (function(Msg) { - - /** - * Constructs a new Msg service. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a Msg - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Msg(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Msg.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Msg; - - /** - * Creates new Msg service using the specified rpc implementation. - * @function create - * @memberof cosmos.distribution.v1beta1.Msg - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Msg} RPC service. Useful where requests and/or responses are streamed. - */ - Msg.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Msg#setWithdrawAddress}. - * @memberof cosmos.distribution.v1beta1.Msg - * @typedef SetWithdrawAddressCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IMsgSetWithdrawAddressResponse} [response] MsgSetWithdrawAddressResponse - */ - - /** - * Calls SetWithdrawAddress. - * @function setWithdrawAddress - * @memberof cosmos.distribution.v1beta1.Msg - * @instance - * @param {cosmos.distribution.v1beta1.IMsgSetWithdrawAddress} request MsgSetWithdrawAddress message or plain object - * @param {cosmos.distribution.v1beta1.Msg.SetWithdrawAddressCallback} callback Node-style callback called with the error, if any, and MsgSetWithdrawAddressResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.setWithdrawAddress = function setWithdrawAddress(request, callback) { - return this.rpcCall(setWithdrawAddress, $root.cosmos.distribution.v1beta1.MsgSetWithdrawAddress, $root.cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse, request, callback); - }, "name", { value: "SetWithdrawAddress" }); - - /** - * Calls SetWithdrawAddress. - * @function setWithdrawAddress - * @memberof cosmos.distribution.v1beta1.Msg - * @instance - * @param {cosmos.distribution.v1beta1.IMsgSetWithdrawAddress} request MsgSetWithdrawAddress message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Msg#withdrawDelegatorReward}. - * @memberof cosmos.distribution.v1beta1.Msg - * @typedef WithdrawDelegatorRewardCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IMsgWithdrawDelegatorRewardResponse} [response] MsgWithdrawDelegatorRewardResponse - */ - - /** - * Calls WithdrawDelegatorReward. - * @function withdrawDelegatorReward - * @memberof cosmos.distribution.v1beta1.Msg - * @instance - * @param {cosmos.distribution.v1beta1.IMsgWithdrawDelegatorReward} request MsgWithdrawDelegatorReward message or plain object - * @param {cosmos.distribution.v1beta1.Msg.WithdrawDelegatorRewardCallback} callback Node-style callback called with the error, if any, and MsgWithdrawDelegatorRewardResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.withdrawDelegatorReward = function withdrawDelegatorReward(request, callback) { - return this.rpcCall(withdrawDelegatorReward, $root.cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward, $root.cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse, request, callback); - }, "name", { value: "WithdrawDelegatorReward" }); - - /** - * Calls WithdrawDelegatorReward. - * @function withdrawDelegatorReward - * @memberof cosmos.distribution.v1beta1.Msg - * @instance - * @param {cosmos.distribution.v1beta1.IMsgWithdrawDelegatorReward} request MsgWithdrawDelegatorReward message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Msg#withdrawValidatorCommission}. - * @memberof cosmos.distribution.v1beta1.Msg - * @typedef WithdrawValidatorCommissionCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IMsgWithdrawValidatorCommissionResponse} [response] MsgWithdrawValidatorCommissionResponse - */ - - /** - * Calls WithdrawValidatorCommission. - * @function withdrawValidatorCommission - * @memberof cosmos.distribution.v1beta1.Msg - * @instance - * @param {cosmos.distribution.v1beta1.IMsgWithdrawValidatorCommission} request MsgWithdrawValidatorCommission message or plain object - * @param {cosmos.distribution.v1beta1.Msg.WithdrawValidatorCommissionCallback} callback Node-style callback called with the error, if any, and MsgWithdrawValidatorCommissionResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.withdrawValidatorCommission = function withdrawValidatorCommission(request, callback) { - return this.rpcCall(withdrawValidatorCommission, $root.cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission, $root.cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse, request, callback); - }, "name", { value: "WithdrawValidatorCommission" }); - - /** - * Calls WithdrawValidatorCommission. - * @function withdrawValidatorCommission - * @memberof cosmos.distribution.v1beta1.Msg - * @instance - * @param {cosmos.distribution.v1beta1.IMsgWithdrawValidatorCommission} request MsgWithdrawValidatorCommission message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.distribution.v1beta1.Msg#fundCommunityPool}. - * @memberof cosmos.distribution.v1beta1.Msg - * @typedef FundCommunityPoolCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.distribution.v1beta1.IMsgFundCommunityPoolResponse} [response] MsgFundCommunityPoolResponse - */ - - /** - * Calls FundCommunityPool. - * @function fundCommunityPool - * @memberof cosmos.distribution.v1beta1.Msg - * @instance - * @param {cosmos.distribution.v1beta1.IMsgFundCommunityPool} request MsgFundCommunityPool message or plain object - * @param {cosmos.distribution.v1beta1.Msg.FundCommunityPoolCallback} callback Node-style callback called with the error, if any, and MsgFundCommunityPoolResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.fundCommunityPool = function fundCommunityPool(request, callback) { - return this.rpcCall(fundCommunityPool, $root.cosmos.distribution.v1beta1.MsgFundCommunityPool, $root.cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse, request, callback); - }, "name", { value: "FundCommunityPool" }); - - /** - * Calls FundCommunityPool. - * @function fundCommunityPool - * @memberof cosmos.distribution.v1beta1.Msg - * @instance - * @param {cosmos.distribution.v1beta1.IMsgFundCommunityPool} request MsgFundCommunityPool message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Msg; - })(v1beta1.Msg || {}); - - v1beta1.MsgSetWithdrawAddress = (function(MsgSetWithdrawAddress) { - - /** - * Properties of a MsgSetWithdrawAddress. - * @memberof cosmos.distribution.v1beta1 - * @interface IMsgSetWithdrawAddress - * @property {string|null} [delegatorAddress] MsgSetWithdrawAddress delegatorAddress - * @property {string|null} [withdrawAddress] MsgSetWithdrawAddress withdrawAddress - */ - - /** - * Constructs a new MsgSetWithdrawAddress. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a MsgSetWithdrawAddress. - * @implements IMsgSetWithdrawAddress - * @constructor - * @param {cosmos.distribution.v1beta1.IMsgSetWithdrawAddress=} [properties] Properties to set - */ - function MsgSetWithdrawAddress(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgSetWithdrawAddress delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddress - * @instance - */ - MsgSetWithdrawAddress.prototype.delegatorAddress = ""; - - /** - * MsgSetWithdrawAddress withdrawAddress. - * @member {string} withdrawAddress - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddress - * @instance - */ - MsgSetWithdrawAddress.prototype.withdrawAddress = ""; - - /** - * Creates a new MsgSetWithdrawAddress instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddress - * @static - * @param {cosmos.distribution.v1beta1.IMsgSetWithdrawAddress=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.MsgSetWithdrawAddress} MsgSetWithdrawAddress instance - */ - MsgSetWithdrawAddress.create = function create(properties) { - return new MsgSetWithdrawAddress(properties); - }; - - /** - * Encodes the specified MsgSetWithdrawAddress message. Does not implicitly {@link cosmos.distribution.v1beta1.MsgSetWithdrawAddress.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddress - * @static - * @param {cosmos.distribution.v1beta1.IMsgSetWithdrawAddress} message MsgSetWithdrawAddress message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSetWithdrawAddress.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.withdrawAddress != null && Object.hasOwnProperty.call(message, "withdrawAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.withdrawAddress); - return writer; - }; - - /** - * Encodes the specified MsgSetWithdrawAddress message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.MsgSetWithdrawAddress.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddress - * @static - * @param {cosmos.distribution.v1beta1.IMsgSetWithdrawAddress} message MsgSetWithdrawAddress message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSetWithdrawAddress.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgSetWithdrawAddress message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddress - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.MsgSetWithdrawAddress} MsgSetWithdrawAddress - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSetWithdrawAddress.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.MsgSetWithdrawAddress(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.withdrawAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgSetWithdrawAddress message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddress - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.MsgSetWithdrawAddress} MsgSetWithdrawAddress - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSetWithdrawAddress.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgSetWithdrawAddress message. - * @function verify - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddress - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgSetWithdrawAddress.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.withdrawAddress != null && message.hasOwnProperty("withdrawAddress")) - if (!$util.isString(message.withdrawAddress)) - return "withdrawAddress: string expected"; - return null; - }; - - /** - * Creates a MsgSetWithdrawAddress message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddress - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.MsgSetWithdrawAddress} MsgSetWithdrawAddress - */ - MsgSetWithdrawAddress.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.MsgSetWithdrawAddress) - return object; - let message = new $root.cosmos.distribution.v1beta1.MsgSetWithdrawAddress(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.withdrawAddress != null) - message.withdrawAddress = String(object.withdrawAddress); - return message; - }; - - /** - * Creates a plain object from a MsgSetWithdrawAddress message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddress - * @static - * @param {cosmos.distribution.v1beta1.MsgSetWithdrawAddress} message MsgSetWithdrawAddress - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgSetWithdrawAddress.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddress = ""; - object.withdrawAddress = ""; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.withdrawAddress != null && message.hasOwnProperty("withdrawAddress")) - object.withdrawAddress = message.withdrawAddress; - return object; - }; - - /** - * Converts this MsgSetWithdrawAddress to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddress - * @instance - * @returns {Object.} JSON object - */ - MsgSetWithdrawAddress.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgSetWithdrawAddress; - })(v1beta1.MsgSetWithdrawAddress || {}); - - v1beta1.MsgSetWithdrawAddressResponse = (function(MsgSetWithdrawAddressResponse) { - - /** - * Properties of a MsgSetWithdrawAddressResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IMsgSetWithdrawAddressResponse - */ - - /** - * Constructs a new MsgSetWithdrawAddressResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a MsgSetWithdrawAddressResponse. - * @implements IMsgSetWithdrawAddressResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IMsgSetWithdrawAddressResponse=} [properties] Properties to set - */ - function MsgSetWithdrawAddressResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgSetWithdrawAddressResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse - * @static - * @param {cosmos.distribution.v1beta1.IMsgSetWithdrawAddressResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse} MsgSetWithdrawAddressResponse instance - */ - MsgSetWithdrawAddressResponse.create = function create(properties) { - return new MsgSetWithdrawAddressResponse(properties); - }; - - /** - * Encodes the specified MsgSetWithdrawAddressResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse - * @static - * @param {cosmos.distribution.v1beta1.IMsgSetWithdrawAddressResponse} message MsgSetWithdrawAddressResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSetWithdrawAddressResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgSetWithdrawAddressResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse - * @static - * @param {cosmos.distribution.v1beta1.IMsgSetWithdrawAddressResponse} message MsgSetWithdrawAddressResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSetWithdrawAddressResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgSetWithdrawAddressResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse} MsgSetWithdrawAddressResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSetWithdrawAddressResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgSetWithdrawAddressResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse} MsgSetWithdrawAddressResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSetWithdrawAddressResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgSetWithdrawAddressResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgSetWithdrawAddressResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgSetWithdrawAddressResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse} MsgSetWithdrawAddressResponse - */ - MsgSetWithdrawAddressResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse) - return object; - return new $root.cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse(); - }; - - /** - * Creates a plain object from a MsgSetWithdrawAddressResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse - * @static - * @param {cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse} message MsgSetWithdrawAddressResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgSetWithdrawAddressResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgSetWithdrawAddressResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse - * @instance - * @returns {Object.} JSON object - */ - MsgSetWithdrawAddressResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgSetWithdrawAddressResponse; - })(v1beta1.MsgSetWithdrawAddressResponse || {}); - - v1beta1.MsgWithdrawDelegatorReward = (function(MsgWithdrawDelegatorReward) { - - /** - * Properties of a MsgWithdrawDelegatorReward. - * @memberof cosmos.distribution.v1beta1 - * @interface IMsgWithdrawDelegatorReward - * @property {string|null} [delegatorAddress] MsgWithdrawDelegatorReward delegatorAddress - * @property {string|null} [validatorAddress] MsgWithdrawDelegatorReward validatorAddress - */ - - /** - * Constructs a new MsgWithdrawDelegatorReward. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a MsgWithdrawDelegatorReward. - * @implements IMsgWithdrawDelegatorReward - * @constructor - * @param {cosmos.distribution.v1beta1.IMsgWithdrawDelegatorReward=} [properties] Properties to set - */ - function MsgWithdrawDelegatorReward(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgWithdrawDelegatorReward delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward - * @instance - */ - MsgWithdrawDelegatorReward.prototype.delegatorAddress = ""; - - /** - * MsgWithdrawDelegatorReward validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward - * @instance - */ - MsgWithdrawDelegatorReward.prototype.validatorAddress = ""; - - /** - * Creates a new MsgWithdrawDelegatorReward instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward - * @static - * @param {cosmos.distribution.v1beta1.IMsgWithdrawDelegatorReward=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward} MsgWithdrawDelegatorReward instance - */ - MsgWithdrawDelegatorReward.create = function create(properties) { - return new MsgWithdrawDelegatorReward(properties); - }; - - /** - * Encodes the specified MsgWithdrawDelegatorReward message. Does not implicitly {@link cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward - * @static - * @param {cosmos.distribution.v1beta1.IMsgWithdrawDelegatorReward} message MsgWithdrawDelegatorReward message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgWithdrawDelegatorReward.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorAddress); - return writer; - }; - - /** - * Encodes the specified MsgWithdrawDelegatorReward message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward - * @static - * @param {cosmos.distribution.v1beta1.IMsgWithdrawDelegatorReward} message MsgWithdrawDelegatorReward message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgWithdrawDelegatorReward.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgWithdrawDelegatorReward message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward} MsgWithdrawDelegatorReward - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgWithdrawDelegatorReward.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.validatorAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgWithdrawDelegatorReward message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward} MsgWithdrawDelegatorReward - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgWithdrawDelegatorReward.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgWithdrawDelegatorReward message. - * @function verify - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgWithdrawDelegatorReward.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - return null; - }; - - /** - * Creates a MsgWithdrawDelegatorReward message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward} MsgWithdrawDelegatorReward - */ - MsgWithdrawDelegatorReward.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward) - return object; - let message = new $root.cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - return message; - }; - - /** - * Creates a plain object from a MsgWithdrawDelegatorReward message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward - * @static - * @param {cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward} message MsgWithdrawDelegatorReward - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgWithdrawDelegatorReward.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddress = ""; - object.validatorAddress = ""; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - return object; - }; - - /** - * Converts this MsgWithdrawDelegatorReward to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward - * @instance - * @returns {Object.} JSON object - */ - MsgWithdrawDelegatorReward.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgWithdrawDelegatorReward; - })(v1beta1.MsgWithdrawDelegatorReward || {}); - - v1beta1.MsgWithdrawDelegatorRewardResponse = (function(MsgWithdrawDelegatorRewardResponse) { - - /** - * Properties of a MsgWithdrawDelegatorRewardResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IMsgWithdrawDelegatorRewardResponse - */ - - /** - * Constructs a new MsgWithdrawDelegatorRewardResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a MsgWithdrawDelegatorRewardResponse. - * @implements IMsgWithdrawDelegatorRewardResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IMsgWithdrawDelegatorRewardResponse=} [properties] Properties to set - */ - function MsgWithdrawDelegatorRewardResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgWithdrawDelegatorRewardResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse - * @static - * @param {cosmos.distribution.v1beta1.IMsgWithdrawDelegatorRewardResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse} MsgWithdrawDelegatorRewardResponse instance - */ - MsgWithdrawDelegatorRewardResponse.create = function create(properties) { - return new MsgWithdrawDelegatorRewardResponse(properties); - }; - - /** - * Encodes the specified MsgWithdrawDelegatorRewardResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse - * @static - * @param {cosmos.distribution.v1beta1.IMsgWithdrawDelegatorRewardResponse} message MsgWithdrawDelegatorRewardResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgWithdrawDelegatorRewardResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgWithdrawDelegatorRewardResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse - * @static - * @param {cosmos.distribution.v1beta1.IMsgWithdrawDelegatorRewardResponse} message MsgWithdrawDelegatorRewardResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgWithdrawDelegatorRewardResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgWithdrawDelegatorRewardResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse} MsgWithdrawDelegatorRewardResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgWithdrawDelegatorRewardResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgWithdrawDelegatorRewardResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse} MsgWithdrawDelegatorRewardResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgWithdrawDelegatorRewardResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgWithdrawDelegatorRewardResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgWithdrawDelegatorRewardResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgWithdrawDelegatorRewardResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse} MsgWithdrawDelegatorRewardResponse - */ - MsgWithdrawDelegatorRewardResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse) - return object; - return new $root.cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse(); - }; - - /** - * Creates a plain object from a MsgWithdrawDelegatorRewardResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse - * @static - * @param {cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse} message MsgWithdrawDelegatorRewardResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgWithdrawDelegatorRewardResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgWithdrawDelegatorRewardResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse - * @instance - * @returns {Object.} JSON object - */ - MsgWithdrawDelegatorRewardResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgWithdrawDelegatorRewardResponse; - })(v1beta1.MsgWithdrawDelegatorRewardResponse || {}); - - v1beta1.MsgWithdrawValidatorCommission = (function(MsgWithdrawValidatorCommission) { - - /** - * Properties of a MsgWithdrawValidatorCommission. - * @memberof cosmos.distribution.v1beta1 - * @interface IMsgWithdrawValidatorCommission - * @property {string|null} [validatorAddress] MsgWithdrawValidatorCommission validatorAddress - */ - - /** - * Constructs a new MsgWithdrawValidatorCommission. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a MsgWithdrawValidatorCommission. - * @implements IMsgWithdrawValidatorCommission - * @constructor - * @param {cosmos.distribution.v1beta1.IMsgWithdrawValidatorCommission=} [properties] Properties to set - */ - function MsgWithdrawValidatorCommission(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgWithdrawValidatorCommission validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission - * @instance - */ - MsgWithdrawValidatorCommission.prototype.validatorAddress = ""; - - /** - * Creates a new MsgWithdrawValidatorCommission instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission - * @static - * @param {cosmos.distribution.v1beta1.IMsgWithdrawValidatorCommission=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission} MsgWithdrawValidatorCommission instance - */ - MsgWithdrawValidatorCommission.create = function create(properties) { - return new MsgWithdrawValidatorCommission(properties); - }; - - /** - * Encodes the specified MsgWithdrawValidatorCommission message. Does not implicitly {@link cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission - * @static - * @param {cosmos.distribution.v1beta1.IMsgWithdrawValidatorCommission} message MsgWithdrawValidatorCommission message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgWithdrawValidatorCommission.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddress); - return writer; - }; - - /** - * Encodes the specified MsgWithdrawValidatorCommission message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission - * @static - * @param {cosmos.distribution.v1beta1.IMsgWithdrawValidatorCommission} message MsgWithdrawValidatorCommission message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgWithdrawValidatorCommission.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgWithdrawValidatorCommission message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission} MsgWithdrawValidatorCommission - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgWithdrawValidatorCommission.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgWithdrawValidatorCommission message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission} MsgWithdrawValidatorCommission - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgWithdrawValidatorCommission.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgWithdrawValidatorCommission message. - * @function verify - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgWithdrawValidatorCommission.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - return null; - }; - - /** - * Creates a MsgWithdrawValidatorCommission message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission} MsgWithdrawValidatorCommission - */ - MsgWithdrawValidatorCommission.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission) - return object; - let message = new $root.cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission(); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - return message; - }; - - /** - * Creates a plain object from a MsgWithdrawValidatorCommission message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission - * @static - * @param {cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission} message MsgWithdrawValidatorCommission - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgWithdrawValidatorCommission.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.validatorAddress = ""; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - return object; - }; - - /** - * Converts this MsgWithdrawValidatorCommission to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission - * @instance - * @returns {Object.} JSON object - */ - MsgWithdrawValidatorCommission.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgWithdrawValidatorCommission; - })(v1beta1.MsgWithdrawValidatorCommission || {}); - - v1beta1.MsgWithdrawValidatorCommissionResponse = (function(MsgWithdrawValidatorCommissionResponse) { - - /** - * Properties of a MsgWithdrawValidatorCommissionResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IMsgWithdrawValidatorCommissionResponse - */ - - /** - * Constructs a new MsgWithdrawValidatorCommissionResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a MsgWithdrawValidatorCommissionResponse. - * @implements IMsgWithdrawValidatorCommissionResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IMsgWithdrawValidatorCommissionResponse=} [properties] Properties to set - */ - function MsgWithdrawValidatorCommissionResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgWithdrawValidatorCommissionResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse - * @static - * @param {cosmos.distribution.v1beta1.IMsgWithdrawValidatorCommissionResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse} MsgWithdrawValidatorCommissionResponse instance - */ - MsgWithdrawValidatorCommissionResponse.create = function create(properties) { - return new MsgWithdrawValidatorCommissionResponse(properties); - }; - - /** - * Encodes the specified MsgWithdrawValidatorCommissionResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse - * @static - * @param {cosmos.distribution.v1beta1.IMsgWithdrawValidatorCommissionResponse} message MsgWithdrawValidatorCommissionResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgWithdrawValidatorCommissionResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgWithdrawValidatorCommissionResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse - * @static - * @param {cosmos.distribution.v1beta1.IMsgWithdrawValidatorCommissionResponse} message MsgWithdrawValidatorCommissionResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgWithdrawValidatorCommissionResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgWithdrawValidatorCommissionResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse} MsgWithdrawValidatorCommissionResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgWithdrawValidatorCommissionResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgWithdrawValidatorCommissionResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse} MsgWithdrawValidatorCommissionResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgWithdrawValidatorCommissionResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgWithdrawValidatorCommissionResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgWithdrawValidatorCommissionResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgWithdrawValidatorCommissionResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse} MsgWithdrawValidatorCommissionResponse - */ - MsgWithdrawValidatorCommissionResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse) - return object; - return new $root.cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse(); - }; - - /** - * Creates a plain object from a MsgWithdrawValidatorCommissionResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse - * @static - * @param {cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse} message MsgWithdrawValidatorCommissionResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgWithdrawValidatorCommissionResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgWithdrawValidatorCommissionResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse - * @instance - * @returns {Object.} JSON object - */ - MsgWithdrawValidatorCommissionResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgWithdrawValidatorCommissionResponse; - })(v1beta1.MsgWithdrawValidatorCommissionResponse || {}); - - v1beta1.MsgFundCommunityPool = (function(MsgFundCommunityPool) { - - /** - * Properties of a MsgFundCommunityPool. - * @memberof cosmos.distribution.v1beta1 - * @interface IMsgFundCommunityPool - * @property {Array.|null} [amount] MsgFundCommunityPool amount - * @property {string|null} [depositor] MsgFundCommunityPool depositor - */ - - /** - * Constructs a new MsgFundCommunityPool. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a MsgFundCommunityPool. - * @implements IMsgFundCommunityPool - * @constructor - * @param {cosmos.distribution.v1beta1.IMsgFundCommunityPool=} [properties] Properties to set - */ - function MsgFundCommunityPool(properties) { - this.amount = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgFundCommunityPool amount. - * @member {Array.} amount - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPool - * @instance - */ - MsgFundCommunityPool.prototype.amount = $util.emptyArray; - - /** - * MsgFundCommunityPool depositor. - * @member {string} depositor - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPool - * @instance - */ - MsgFundCommunityPool.prototype.depositor = ""; - - /** - * Creates a new MsgFundCommunityPool instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPool - * @static - * @param {cosmos.distribution.v1beta1.IMsgFundCommunityPool=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.MsgFundCommunityPool} MsgFundCommunityPool instance - */ - MsgFundCommunityPool.create = function create(properties) { - return new MsgFundCommunityPool(properties); - }; - - /** - * Encodes the specified MsgFundCommunityPool message. Does not implicitly {@link cosmos.distribution.v1beta1.MsgFundCommunityPool.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPool - * @static - * @param {cosmos.distribution.v1beta1.IMsgFundCommunityPool} message MsgFundCommunityPool message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgFundCommunityPool.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.amount != null && message.amount.length) - for (let i = 0; i < message.amount.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.amount[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.depositor != null && Object.hasOwnProperty.call(message, "depositor")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.depositor); - return writer; - }; - - /** - * Encodes the specified MsgFundCommunityPool message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.MsgFundCommunityPool.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPool - * @static - * @param {cosmos.distribution.v1beta1.IMsgFundCommunityPool} message MsgFundCommunityPool message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgFundCommunityPool.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgFundCommunityPool message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPool - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.MsgFundCommunityPool} MsgFundCommunityPool - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgFundCommunityPool.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.MsgFundCommunityPool(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.amount && message.amount.length)) - message.amount = []; - message.amount.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - case 2: - message.depositor = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgFundCommunityPool message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPool - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.MsgFundCommunityPool} MsgFundCommunityPool - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgFundCommunityPool.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgFundCommunityPool message. - * @function verify - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPool - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgFundCommunityPool.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - if (!Array.isArray(message.amount)) - return "amount: array expected"; - for (let i = 0; i < message.amount.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.amount[i]); - if (error) - return "amount." + error; - } - } - if (message.depositor != null && message.hasOwnProperty("depositor")) - if (!$util.isString(message.depositor)) - return "depositor: string expected"; - return null; - }; - - /** - * Creates a MsgFundCommunityPool message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPool - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.MsgFundCommunityPool} MsgFundCommunityPool - */ - MsgFundCommunityPool.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.MsgFundCommunityPool) - return object; - let message = new $root.cosmos.distribution.v1beta1.MsgFundCommunityPool(); - if (object.amount) { - if (!Array.isArray(object.amount)) - throw TypeError(".cosmos.distribution.v1beta1.MsgFundCommunityPool.amount: array expected"); - message.amount = []; - for (let i = 0; i < object.amount.length; ++i) { - if (typeof object.amount[i] !== "object") - throw TypeError(".cosmos.distribution.v1beta1.MsgFundCommunityPool.amount: object expected"); - message.amount[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.amount[i]); - } - } - if (object.depositor != null) - message.depositor = String(object.depositor); - return message; - }; - - /** - * Creates a plain object from a MsgFundCommunityPool message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPool - * @static - * @param {cosmos.distribution.v1beta1.MsgFundCommunityPool} message MsgFundCommunityPool - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgFundCommunityPool.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.amount = []; - if (options.defaults) - object.depositor = ""; - if (message.amount && message.amount.length) { - object.amount = []; - for (let j = 0; j < message.amount.length; ++j) - object.amount[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.amount[j], options); - } - if (message.depositor != null && message.hasOwnProperty("depositor")) - object.depositor = message.depositor; - return object; - }; - - /** - * Converts this MsgFundCommunityPool to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPool - * @instance - * @returns {Object.} JSON object - */ - MsgFundCommunityPool.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgFundCommunityPool; - })(v1beta1.MsgFundCommunityPool || {}); - - v1beta1.MsgFundCommunityPoolResponse = (function(MsgFundCommunityPoolResponse) { - - /** - * Properties of a MsgFundCommunityPoolResponse. - * @memberof cosmos.distribution.v1beta1 - * @interface IMsgFundCommunityPoolResponse - */ - - /** - * Constructs a new MsgFundCommunityPoolResponse. - * @memberof cosmos.distribution.v1beta1 - * @classdesc Represents a MsgFundCommunityPoolResponse. - * @implements IMsgFundCommunityPoolResponse - * @constructor - * @param {cosmos.distribution.v1beta1.IMsgFundCommunityPoolResponse=} [properties] Properties to set - */ - function MsgFundCommunityPoolResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgFundCommunityPoolResponse instance using the specified properties. - * @function create - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse - * @static - * @param {cosmos.distribution.v1beta1.IMsgFundCommunityPoolResponse=} [properties] Properties to set - * @returns {cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse} MsgFundCommunityPoolResponse instance - */ - MsgFundCommunityPoolResponse.create = function create(properties) { - return new MsgFundCommunityPoolResponse(properties); - }; - - /** - * Encodes the specified MsgFundCommunityPoolResponse message. Does not implicitly {@link cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse - * @static - * @param {cosmos.distribution.v1beta1.IMsgFundCommunityPoolResponse} message MsgFundCommunityPoolResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgFundCommunityPoolResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgFundCommunityPoolResponse message, length delimited. Does not implicitly {@link cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse - * @static - * @param {cosmos.distribution.v1beta1.IMsgFundCommunityPoolResponse} message MsgFundCommunityPoolResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgFundCommunityPoolResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgFundCommunityPoolResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse} MsgFundCommunityPoolResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgFundCommunityPoolResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgFundCommunityPoolResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse} MsgFundCommunityPoolResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgFundCommunityPoolResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgFundCommunityPoolResponse message. - * @function verify - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgFundCommunityPoolResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgFundCommunityPoolResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse} MsgFundCommunityPoolResponse - */ - MsgFundCommunityPoolResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse) - return object; - return new $root.cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse(); - }; - - /** - * Creates a plain object from a MsgFundCommunityPoolResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse - * @static - * @param {cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse} message MsgFundCommunityPoolResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgFundCommunityPoolResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgFundCommunityPoolResponse to JSON. - * @function toJSON - * @memberof cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse - * @instance - * @returns {Object.} JSON object - */ - MsgFundCommunityPoolResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgFundCommunityPoolResponse; - })(v1beta1.MsgFundCommunityPoolResponse || {}); - - return v1beta1; - })(distribution.v1beta1 || {}); - - return distribution; - })(cosmos.distribution || {}); - - /** - * Namespace evidence. - * @memberof cosmos - * @namespace - */ - - cosmos.evidence = (function(evidence) { - - /** - * Namespace v1beta1. - * @memberof cosmos.evidence - * @namespace - */ - - evidence.v1beta1 = (function(v1beta1) { - - v1beta1.Equivocation = (function(Equivocation) { - - /** - * Properties of an Equivocation. - * @memberof cosmos.evidence.v1beta1 - * @interface IEquivocation - * @property {number|Long|null} [height] Equivocation height - * @property {google.protobuf.ITimestamp|null} [time] Equivocation time - * @property {number|Long|null} [power] Equivocation power - * @property {string|null} [consensusAddress] Equivocation consensusAddress - */ - - /** - * Constructs a new Equivocation. - * @memberof cosmos.evidence.v1beta1 - * @classdesc Represents an Equivocation. - * @implements IEquivocation - * @constructor - * @param {cosmos.evidence.v1beta1.IEquivocation=} [properties] Properties to set - */ - function Equivocation(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Equivocation height. - * @member {number|Long} height - * @memberof cosmos.evidence.v1beta1.Equivocation - * @instance - */ - Equivocation.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Equivocation time. - * @member {google.protobuf.ITimestamp|null|undefined} time - * @memberof cosmos.evidence.v1beta1.Equivocation - * @instance - */ - Equivocation.prototype.time = null; - - /** - * Equivocation power. - * @member {number|Long} power - * @memberof cosmos.evidence.v1beta1.Equivocation - * @instance - */ - Equivocation.prototype.power = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Equivocation consensusAddress. - * @member {string} consensusAddress - * @memberof cosmos.evidence.v1beta1.Equivocation - * @instance - */ - Equivocation.prototype.consensusAddress = ""; - - /** - * Creates a new Equivocation instance using the specified properties. - * @function create - * @memberof cosmos.evidence.v1beta1.Equivocation - * @static - * @param {cosmos.evidence.v1beta1.IEquivocation=} [properties] Properties to set - * @returns {cosmos.evidence.v1beta1.Equivocation} Equivocation instance - */ - Equivocation.create = function create(properties) { - return new Equivocation(properties); - }; - - /** - * Encodes the specified Equivocation message. Does not implicitly {@link cosmos.evidence.v1beta1.Equivocation.verify|verify} messages. - * @function encode - * @memberof cosmos.evidence.v1beta1.Equivocation - * @static - * @param {cosmos.evidence.v1beta1.IEquivocation} message Equivocation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Equivocation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); - if (message.time != null && Object.hasOwnProperty.call(message, "time")) - $root.google.protobuf.Timestamp.encode(message.time, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.power != null && Object.hasOwnProperty.call(message, "power")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.power); - if (message.consensusAddress != null && Object.hasOwnProperty.call(message, "consensusAddress")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.consensusAddress); - return writer; - }; - - /** - * Encodes the specified Equivocation message, length delimited. Does not implicitly {@link cosmos.evidence.v1beta1.Equivocation.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.evidence.v1beta1.Equivocation - * @static - * @param {cosmos.evidence.v1beta1.IEquivocation} message Equivocation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Equivocation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Equivocation message from the specified reader or buffer. - * @function decode - * @memberof cosmos.evidence.v1beta1.Equivocation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.evidence.v1beta1.Equivocation} Equivocation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Equivocation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.evidence.v1beta1.Equivocation(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.int64(); - break; - case 2: - message.time = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 3: - message.power = reader.int64(); - break; - case 4: - message.consensusAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Equivocation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.evidence.v1beta1.Equivocation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.evidence.v1beta1.Equivocation} Equivocation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Equivocation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Equivocation message. - * @function verify - * @memberof cosmos.evidence.v1beta1.Equivocation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Equivocation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.time != null && message.hasOwnProperty("time")) { - let error = $root.google.protobuf.Timestamp.verify(message.time); - if (error) - return "time." + error; - } - if (message.power != null && message.hasOwnProperty("power")) - if (!$util.isInteger(message.power) && !(message.power && $util.isInteger(message.power.low) && $util.isInteger(message.power.high))) - return "power: integer|Long expected"; - if (message.consensusAddress != null && message.hasOwnProperty("consensusAddress")) - if (!$util.isString(message.consensusAddress)) - return "consensusAddress: string expected"; - return null; - }; - - /** - * Creates an Equivocation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.evidence.v1beta1.Equivocation - * @static - * @param {Object.} object Plain object - * @returns {cosmos.evidence.v1beta1.Equivocation} Equivocation - */ - Equivocation.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.evidence.v1beta1.Equivocation) - return object; - let message = new $root.cosmos.evidence.v1beta1.Equivocation(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.time != null) { - if (typeof object.time !== "object") - throw TypeError(".cosmos.evidence.v1beta1.Equivocation.time: object expected"); - message.time = $root.google.protobuf.Timestamp.fromObject(object.time); - } - if (object.power != null) - if ($util.Long) - (message.power = $util.Long.fromValue(object.power)).unsigned = false; - else if (typeof object.power === "string") - message.power = parseInt(object.power, 10); - else if (typeof object.power === "number") - message.power = object.power; - else if (typeof object.power === "object") - message.power = new $util.LongBits(object.power.low >>> 0, object.power.high >>> 0).toNumber(); - if (object.consensusAddress != null) - message.consensusAddress = String(object.consensusAddress); - return message; - }; - - /** - * Creates a plain object from an Equivocation message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.evidence.v1beta1.Equivocation - * @static - * @param {cosmos.evidence.v1beta1.Equivocation} message Equivocation - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Equivocation.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.time = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.power = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.power = options.longs === String ? "0" : 0; - object.consensusAddress = ""; - } - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.time != null && message.hasOwnProperty("time")) - object.time = $root.google.protobuf.Timestamp.toObject(message.time, options); - if (message.power != null && message.hasOwnProperty("power")) - if (typeof message.power === "number") - object.power = options.longs === String ? String(message.power) : message.power; - else - object.power = options.longs === String ? $util.Long.prototype.toString.call(message.power) : options.longs === Number ? new $util.LongBits(message.power.low >>> 0, message.power.high >>> 0).toNumber() : message.power; - if (message.consensusAddress != null && message.hasOwnProperty("consensusAddress")) - object.consensusAddress = message.consensusAddress; - return object; - }; - - /** - * Converts this Equivocation to JSON. - * @function toJSON - * @memberof cosmos.evidence.v1beta1.Equivocation - * @instance - * @returns {Object.} JSON object - */ - Equivocation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Equivocation; - })(v1beta1.Equivocation || {}); - - v1beta1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof cosmos.evidence.v1beta1 - * @interface IGenesisState - * @property {Array.|null} [evidence] GenesisState evidence - */ - - /** - * Constructs a new GenesisState. - * @memberof cosmos.evidence.v1beta1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {cosmos.evidence.v1beta1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.evidence = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState evidence. - * @member {Array.} evidence - * @memberof cosmos.evidence.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.evidence = $util.emptyArray; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof cosmos.evidence.v1beta1.GenesisState - * @static - * @param {cosmos.evidence.v1beta1.IGenesisState=} [properties] Properties to set - * @returns {cosmos.evidence.v1beta1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link cosmos.evidence.v1beta1.GenesisState.verify|verify} messages. - * @function encode - * @memberof cosmos.evidence.v1beta1.GenesisState - * @static - * @param {cosmos.evidence.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.evidence != null && message.evidence.length) - for (let i = 0; i < message.evidence.length; ++i) - $root.google.protobuf.Any.encode(message.evidence[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link cosmos.evidence.v1beta1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.evidence.v1beta1.GenesisState - * @static - * @param {cosmos.evidence.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof cosmos.evidence.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.evidence.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.evidence.v1beta1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.evidence && message.evidence.length)) - message.evidence = []; - message.evidence.push($root.google.protobuf.Any.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.evidence.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.evidence.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof cosmos.evidence.v1beta1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.evidence != null && message.hasOwnProperty("evidence")) { - if (!Array.isArray(message.evidence)) - return "evidence: array expected"; - for (let i = 0; i < message.evidence.length; ++i) { - let error = $root.google.protobuf.Any.verify(message.evidence[i]); - if (error) - return "evidence." + error; - } - } - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.evidence.v1beta1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {cosmos.evidence.v1beta1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.evidence.v1beta1.GenesisState) - return object; - let message = new $root.cosmos.evidence.v1beta1.GenesisState(); - if (object.evidence) { - if (!Array.isArray(object.evidence)) - throw TypeError(".cosmos.evidence.v1beta1.GenesisState.evidence: array expected"); - message.evidence = []; - for (let i = 0; i < object.evidence.length; ++i) { - if (typeof object.evidence[i] !== "object") - throw TypeError(".cosmos.evidence.v1beta1.GenesisState.evidence: object expected"); - message.evidence[i] = $root.google.protobuf.Any.fromObject(object.evidence[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.evidence.v1beta1.GenesisState - * @static - * @param {cosmos.evidence.v1beta1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.evidence = []; - if (message.evidence && message.evidence.length) { - object.evidence = []; - for (let j = 0; j < message.evidence.length; ++j) - object.evidence[j] = $root.google.protobuf.Any.toObject(message.evidence[j], options); - } - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof cosmos.evidence.v1beta1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1beta1.GenesisState || {}); - - v1beta1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof cosmos.evidence.v1beta1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof cosmos.evidence.v1beta1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.evidence.v1beta1.Query#evidence}. - * @memberof cosmos.evidence.v1beta1.Query - * @typedef EvidenceCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.evidence.v1beta1.IQueryEvidenceResponse} [response] QueryEvidenceResponse - */ - - /** - * Calls Evidence. - * @function evidence - * @memberof cosmos.evidence.v1beta1.Query - * @instance - * @param {cosmos.evidence.v1beta1.IQueryEvidenceRequest} request QueryEvidenceRequest message or plain object - * @param {cosmos.evidence.v1beta1.Query.EvidenceCallback} callback Node-style callback called with the error, if any, and QueryEvidenceResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.evidence = function evidence(request, callback) { - return this.rpcCall(evidence, $root.cosmos.evidence.v1beta1.QueryEvidenceRequest, $root.cosmos.evidence.v1beta1.QueryEvidenceResponse, request, callback); - }, "name", { value: "Evidence" }); - - /** - * Calls Evidence. - * @function evidence - * @memberof cosmos.evidence.v1beta1.Query - * @instance - * @param {cosmos.evidence.v1beta1.IQueryEvidenceRequest} request QueryEvidenceRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.evidence.v1beta1.Query#allEvidence}. - * @memberof cosmos.evidence.v1beta1.Query - * @typedef AllEvidenceCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.evidence.v1beta1.IQueryAllEvidenceResponse} [response] QueryAllEvidenceResponse - */ - - /** - * Calls AllEvidence. - * @function allEvidence - * @memberof cosmos.evidence.v1beta1.Query - * @instance - * @param {cosmos.evidence.v1beta1.IQueryAllEvidenceRequest} request QueryAllEvidenceRequest message or plain object - * @param {cosmos.evidence.v1beta1.Query.AllEvidenceCallback} callback Node-style callback called with the error, if any, and QueryAllEvidenceResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.allEvidence = function allEvidence(request, callback) { - return this.rpcCall(allEvidence, $root.cosmos.evidence.v1beta1.QueryAllEvidenceRequest, $root.cosmos.evidence.v1beta1.QueryAllEvidenceResponse, request, callback); - }, "name", { value: "AllEvidence" }); - - /** - * Calls AllEvidence. - * @function allEvidence - * @memberof cosmos.evidence.v1beta1.Query - * @instance - * @param {cosmos.evidence.v1beta1.IQueryAllEvidenceRequest} request QueryAllEvidenceRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1beta1.Query || {}); - - v1beta1.QueryEvidenceRequest = (function(QueryEvidenceRequest) { - - /** - * Properties of a QueryEvidenceRequest. - * @memberof cosmos.evidence.v1beta1 - * @interface IQueryEvidenceRequest - * @property {Uint8Array|null} [evidenceHash] QueryEvidenceRequest evidenceHash - */ - - /** - * Constructs a new QueryEvidenceRequest. - * @memberof cosmos.evidence.v1beta1 - * @classdesc Represents a QueryEvidenceRequest. - * @implements IQueryEvidenceRequest - * @constructor - * @param {cosmos.evidence.v1beta1.IQueryEvidenceRequest=} [properties] Properties to set - */ - function QueryEvidenceRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryEvidenceRequest evidenceHash. - * @member {Uint8Array} evidenceHash - * @memberof cosmos.evidence.v1beta1.QueryEvidenceRequest - * @instance - */ - QueryEvidenceRequest.prototype.evidenceHash = $util.newBuffer([]); - - /** - * Creates a new QueryEvidenceRequest instance using the specified properties. - * @function create - * @memberof cosmos.evidence.v1beta1.QueryEvidenceRequest - * @static - * @param {cosmos.evidence.v1beta1.IQueryEvidenceRequest=} [properties] Properties to set - * @returns {cosmos.evidence.v1beta1.QueryEvidenceRequest} QueryEvidenceRequest instance - */ - QueryEvidenceRequest.create = function create(properties) { - return new QueryEvidenceRequest(properties); - }; - - /** - * Encodes the specified QueryEvidenceRequest message. Does not implicitly {@link cosmos.evidence.v1beta1.QueryEvidenceRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.evidence.v1beta1.QueryEvidenceRequest - * @static - * @param {cosmos.evidence.v1beta1.IQueryEvidenceRequest} message QueryEvidenceRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryEvidenceRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.evidenceHash != null && Object.hasOwnProperty.call(message, "evidenceHash")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.evidenceHash); - return writer; - }; - - /** - * Encodes the specified QueryEvidenceRequest message, length delimited. Does not implicitly {@link cosmos.evidence.v1beta1.QueryEvidenceRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.evidence.v1beta1.QueryEvidenceRequest - * @static - * @param {cosmos.evidence.v1beta1.IQueryEvidenceRequest} message QueryEvidenceRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryEvidenceRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryEvidenceRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.evidence.v1beta1.QueryEvidenceRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.evidence.v1beta1.QueryEvidenceRequest} QueryEvidenceRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryEvidenceRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.evidence.v1beta1.QueryEvidenceRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.evidenceHash = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryEvidenceRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.evidence.v1beta1.QueryEvidenceRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.evidence.v1beta1.QueryEvidenceRequest} QueryEvidenceRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryEvidenceRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryEvidenceRequest message. - * @function verify - * @memberof cosmos.evidence.v1beta1.QueryEvidenceRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryEvidenceRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.evidenceHash != null && message.hasOwnProperty("evidenceHash")) - if (!(message.evidenceHash && typeof message.evidenceHash.length === "number" || $util.isString(message.evidenceHash))) - return "evidenceHash: buffer expected"; - return null; - }; - - /** - * Creates a QueryEvidenceRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.evidence.v1beta1.QueryEvidenceRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.evidence.v1beta1.QueryEvidenceRequest} QueryEvidenceRequest - */ - QueryEvidenceRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.evidence.v1beta1.QueryEvidenceRequest) - return object; - let message = new $root.cosmos.evidence.v1beta1.QueryEvidenceRequest(); - if (object.evidenceHash != null) - if (typeof object.evidenceHash === "string") - $util.base64.decode(object.evidenceHash, message.evidenceHash = $util.newBuffer($util.base64.length(object.evidenceHash)), 0); - else if (object.evidenceHash.length) - message.evidenceHash = object.evidenceHash; - return message; - }; - - /** - * Creates a plain object from a QueryEvidenceRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.evidence.v1beta1.QueryEvidenceRequest - * @static - * @param {cosmos.evidence.v1beta1.QueryEvidenceRequest} message QueryEvidenceRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryEvidenceRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if (options.bytes === String) - object.evidenceHash = ""; - else { - object.evidenceHash = []; - if (options.bytes !== Array) - object.evidenceHash = $util.newBuffer(object.evidenceHash); - } - if (message.evidenceHash != null && message.hasOwnProperty("evidenceHash")) - object.evidenceHash = options.bytes === String ? $util.base64.encode(message.evidenceHash, 0, message.evidenceHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.evidenceHash) : message.evidenceHash; - return object; - }; - - /** - * Converts this QueryEvidenceRequest to JSON. - * @function toJSON - * @memberof cosmos.evidence.v1beta1.QueryEvidenceRequest - * @instance - * @returns {Object.} JSON object - */ - QueryEvidenceRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryEvidenceRequest; - })(v1beta1.QueryEvidenceRequest || {}); - - v1beta1.QueryEvidenceResponse = (function(QueryEvidenceResponse) { - - /** - * Properties of a QueryEvidenceResponse. - * @memberof cosmos.evidence.v1beta1 - * @interface IQueryEvidenceResponse - * @property {google.protobuf.IAny|null} [evidence] QueryEvidenceResponse evidence - */ - - /** - * Constructs a new QueryEvidenceResponse. - * @memberof cosmos.evidence.v1beta1 - * @classdesc Represents a QueryEvidenceResponse. - * @implements IQueryEvidenceResponse - * @constructor - * @param {cosmos.evidence.v1beta1.IQueryEvidenceResponse=} [properties] Properties to set - */ - function QueryEvidenceResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryEvidenceResponse evidence. - * @member {google.protobuf.IAny|null|undefined} evidence - * @memberof cosmos.evidence.v1beta1.QueryEvidenceResponse - * @instance - */ - QueryEvidenceResponse.prototype.evidence = null; - - /** - * Creates a new QueryEvidenceResponse instance using the specified properties. - * @function create - * @memberof cosmos.evidence.v1beta1.QueryEvidenceResponse - * @static - * @param {cosmos.evidence.v1beta1.IQueryEvidenceResponse=} [properties] Properties to set - * @returns {cosmos.evidence.v1beta1.QueryEvidenceResponse} QueryEvidenceResponse instance - */ - QueryEvidenceResponse.create = function create(properties) { - return new QueryEvidenceResponse(properties); - }; - - /** - * Encodes the specified QueryEvidenceResponse message. Does not implicitly {@link cosmos.evidence.v1beta1.QueryEvidenceResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.evidence.v1beta1.QueryEvidenceResponse - * @static - * @param {cosmos.evidence.v1beta1.IQueryEvidenceResponse} message QueryEvidenceResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryEvidenceResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.evidence != null && Object.hasOwnProperty.call(message, "evidence")) - $root.google.protobuf.Any.encode(message.evidence, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryEvidenceResponse message, length delimited. Does not implicitly {@link cosmos.evidence.v1beta1.QueryEvidenceResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.evidence.v1beta1.QueryEvidenceResponse - * @static - * @param {cosmos.evidence.v1beta1.IQueryEvidenceResponse} message QueryEvidenceResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryEvidenceResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryEvidenceResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.evidence.v1beta1.QueryEvidenceResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.evidence.v1beta1.QueryEvidenceResponse} QueryEvidenceResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryEvidenceResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.evidence.v1beta1.QueryEvidenceResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.evidence = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryEvidenceResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.evidence.v1beta1.QueryEvidenceResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.evidence.v1beta1.QueryEvidenceResponse} QueryEvidenceResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryEvidenceResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryEvidenceResponse message. - * @function verify - * @memberof cosmos.evidence.v1beta1.QueryEvidenceResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryEvidenceResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.evidence != null && message.hasOwnProperty("evidence")) { - let error = $root.google.protobuf.Any.verify(message.evidence); - if (error) - return "evidence." + error; - } - return null; - }; - - /** - * Creates a QueryEvidenceResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.evidence.v1beta1.QueryEvidenceResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.evidence.v1beta1.QueryEvidenceResponse} QueryEvidenceResponse - */ - QueryEvidenceResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.evidence.v1beta1.QueryEvidenceResponse) - return object; - let message = new $root.cosmos.evidence.v1beta1.QueryEvidenceResponse(); - if (object.evidence != null) { - if (typeof object.evidence !== "object") - throw TypeError(".cosmos.evidence.v1beta1.QueryEvidenceResponse.evidence: object expected"); - message.evidence = $root.google.protobuf.Any.fromObject(object.evidence); - } - return message; - }; - - /** - * Creates a plain object from a QueryEvidenceResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.evidence.v1beta1.QueryEvidenceResponse - * @static - * @param {cosmos.evidence.v1beta1.QueryEvidenceResponse} message QueryEvidenceResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryEvidenceResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.evidence = null; - if (message.evidence != null && message.hasOwnProperty("evidence")) - object.evidence = $root.google.protobuf.Any.toObject(message.evidence, options); - return object; - }; - - /** - * Converts this QueryEvidenceResponse to JSON. - * @function toJSON - * @memberof cosmos.evidence.v1beta1.QueryEvidenceResponse - * @instance - * @returns {Object.} JSON object - */ - QueryEvidenceResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryEvidenceResponse; - })(v1beta1.QueryEvidenceResponse || {}); - - v1beta1.QueryAllEvidenceRequest = (function(QueryAllEvidenceRequest) { - - /** - * Properties of a QueryAllEvidenceRequest. - * @memberof cosmos.evidence.v1beta1 - * @interface IQueryAllEvidenceRequest - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryAllEvidenceRequest pagination - */ - - /** - * Constructs a new QueryAllEvidenceRequest. - * @memberof cosmos.evidence.v1beta1 - * @classdesc Represents a QueryAllEvidenceRequest. - * @implements IQueryAllEvidenceRequest - * @constructor - * @param {cosmos.evidence.v1beta1.IQueryAllEvidenceRequest=} [properties] Properties to set - */ - function QueryAllEvidenceRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryAllEvidenceRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceRequest - * @instance - */ - QueryAllEvidenceRequest.prototype.pagination = null; - - /** - * Creates a new QueryAllEvidenceRequest instance using the specified properties. - * @function create - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceRequest - * @static - * @param {cosmos.evidence.v1beta1.IQueryAllEvidenceRequest=} [properties] Properties to set - * @returns {cosmos.evidence.v1beta1.QueryAllEvidenceRequest} QueryAllEvidenceRequest instance - */ - QueryAllEvidenceRequest.create = function create(properties) { - return new QueryAllEvidenceRequest(properties); - }; - - /** - * Encodes the specified QueryAllEvidenceRequest message. Does not implicitly {@link cosmos.evidence.v1beta1.QueryAllEvidenceRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceRequest - * @static - * @param {cosmos.evidence.v1beta1.IQueryAllEvidenceRequest} message QueryAllEvidenceRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAllEvidenceRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryAllEvidenceRequest message, length delimited. Does not implicitly {@link cosmos.evidence.v1beta1.QueryAllEvidenceRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceRequest - * @static - * @param {cosmos.evidence.v1beta1.IQueryAllEvidenceRequest} message QueryAllEvidenceRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAllEvidenceRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryAllEvidenceRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.evidence.v1beta1.QueryAllEvidenceRequest} QueryAllEvidenceRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAllEvidenceRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.evidence.v1beta1.QueryAllEvidenceRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryAllEvidenceRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.evidence.v1beta1.QueryAllEvidenceRequest} QueryAllEvidenceRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAllEvidenceRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryAllEvidenceRequest message. - * @function verify - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryAllEvidenceRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryAllEvidenceRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.evidence.v1beta1.QueryAllEvidenceRequest} QueryAllEvidenceRequest - */ - QueryAllEvidenceRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.evidence.v1beta1.QueryAllEvidenceRequest) - return object; - let message = new $root.cosmos.evidence.v1beta1.QueryAllEvidenceRequest(); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.evidence.v1beta1.QueryAllEvidenceRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryAllEvidenceRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceRequest - * @static - * @param {cosmos.evidence.v1beta1.QueryAllEvidenceRequest} message QueryAllEvidenceRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryAllEvidenceRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.pagination = null; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryAllEvidenceRequest to JSON. - * @function toJSON - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceRequest - * @instance - * @returns {Object.} JSON object - */ - QueryAllEvidenceRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryAllEvidenceRequest; - })(v1beta1.QueryAllEvidenceRequest || {}); - - v1beta1.QueryAllEvidenceResponse = (function(QueryAllEvidenceResponse) { - - /** - * Properties of a QueryAllEvidenceResponse. - * @memberof cosmos.evidence.v1beta1 - * @interface IQueryAllEvidenceResponse - * @property {Array.|null} [evidence] QueryAllEvidenceResponse evidence - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryAllEvidenceResponse pagination - */ - - /** - * Constructs a new QueryAllEvidenceResponse. - * @memberof cosmos.evidence.v1beta1 - * @classdesc Represents a QueryAllEvidenceResponse. - * @implements IQueryAllEvidenceResponse - * @constructor - * @param {cosmos.evidence.v1beta1.IQueryAllEvidenceResponse=} [properties] Properties to set - */ - function QueryAllEvidenceResponse(properties) { - this.evidence = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryAllEvidenceResponse evidence. - * @member {Array.} evidence - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceResponse - * @instance - */ - QueryAllEvidenceResponse.prototype.evidence = $util.emptyArray; - - /** - * QueryAllEvidenceResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceResponse - * @instance - */ - QueryAllEvidenceResponse.prototype.pagination = null; - - /** - * Creates a new QueryAllEvidenceResponse instance using the specified properties. - * @function create - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceResponse - * @static - * @param {cosmos.evidence.v1beta1.IQueryAllEvidenceResponse=} [properties] Properties to set - * @returns {cosmos.evidence.v1beta1.QueryAllEvidenceResponse} QueryAllEvidenceResponse instance - */ - QueryAllEvidenceResponse.create = function create(properties) { - return new QueryAllEvidenceResponse(properties); - }; - - /** - * Encodes the specified QueryAllEvidenceResponse message. Does not implicitly {@link cosmos.evidence.v1beta1.QueryAllEvidenceResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceResponse - * @static - * @param {cosmos.evidence.v1beta1.IQueryAllEvidenceResponse} message QueryAllEvidenceResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAllEvidenceResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.evidence != null && message.evidence.length) - for (let i = 0; i < message.evidence.length; ++i) - $root.google.protobuf.Any.encode(message.evidence[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryAllEvidenceResponse message, length delimited. Does not implicitly {@link cosmos.evidence.v1beta1.QueryAllEvidenceResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceResponse - * @static - * @param {cosmos.evidence.v1beta1.IQueryAllEvidenceResponse} message QueryAllEvidenceResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAllEvidenceResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryAllEvidenceResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.evidence.v1beta1.QueryAllEvidenceResponse} QueryAllEvidenceResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAllEvidenceResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.evidence.v1beta1.QueryAllEvidenceResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.evidence && message.evidence.length)) - message.evidence = []; - message.evidence.push($root.google.protobuf.Any.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryAllEvidenceResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.evidence.v1beta1.QueryAllEvidenceResponse} QueryAllEvidenceResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAllEvidenceResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryAllEvidenceResponse message. - * @function verify - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryAllEvidenceResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.evidence != null && message.hasOwnProperty("evidence")) { - if (!Array.isArray(message.evidence)) - return "evidence: array expected"; - for (let i = 0; i < message.evidence.length; ++i) { - let error = $root.google.protobuf.Any.verify(message.evidence[i]); - if (error) - return "evidence." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryAllEvidenceResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.evidence.v1beta1.QueryAllEvidenceResponse} QueryAllEvidenceResponse - */ - QueryAllEvidenceResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.evidence.v1beta1.QueryAllEvidenceResponse) - return object; - let message = new $root.cosmos.evidence.v1beta1.QueryAllEvidenceResponse(); - if (object.evidence) { - if (!Array.isArray(object.evidence)) - throw TypeError(".cosmos.evidence.v1beta1.QueryAllEvidenceResponse.evidence: array expected"); - message.evidence = []; - for (let i = 0; i < object.evidence.length; ++i) { - if (typeof object.evidence[i] !== "object") - throw TypeError(".cosmos.evidence.v1beta1.QueryAllEvidenceResponse.evidence: object expected"); - message.evidence[i] = $root.google.protobuf.Any.fromObject(object.evidence[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.evidence.v1beta1.QueryAllEvidenceResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryAllEvidenceResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceResponse - * @static - * @param {cosmos.evidence.v1beta1.QueryAllEvidenceResponse} message QueryAllEvidenceResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryAllEvidenceResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.evidence = []; - if (options.defaults) - object.pagination = null; - if (message.evidence && message.evidence.length) { - object.evidence = []; - for (let j = 0; j < message.evidence.length; ++j) - object.evidence[j] = $root.google.protobuf.Any.toObject(message.evidence[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryAllEvidenceResponse to JSON. - * @function toJSON - * @memberof cosmos.evidence.v1beta1.QueryAllEvidenceResponse - * @instance - * @returns {Object.} JSON object - */ - QueryAllEvidenceResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryAllEvidenceResponse; - })(v1beta1.QueryAllEvidenceResponse || {}); - - v1beta1.Msg = (function(Msg) { - - /** - * Constructs a new Msg service. - * @memberof cosmos.evidence.v1beta1 - * @classdesc Represents a Msg - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Msg(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Msg.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Msg; - - /** - * Creates new Msg service using the specified rpc implementation. - * @function create - * @memberof cosmos.evidence.v1beta1.Msg - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Msg} RPC service. Useful where requests and/or responses are streamed. - */ - Msg.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.evidence.v1beta1.Msg#submitEvidence}. - * @memberof cosmos.evidence.v1beta1.Msg - * @typedef SubmitEvidenceCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.evidence.v1beta1.IMsgSubmitEvidenceResponse} [response] MsgSubmitEvidenceResponse - */ - - /** - * Calls SubmitEvidence. - * @function submitEvidence - * @memberof cosmos.evidence.v1beta1.Msg - * @instance - * @param {cosmos.evidence.v1beta1.IMsgSubmitEvidence} request MsgSubmitEvidence message or plain object - * @param {cosmos.evidence.v1beta1.Msg.SubmitEvidenceCallback} callback Node-style callback called with the error, if any, and MsgSubmitEvidenceResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.submitEvidence = function submitEvidence(request, callback) { - return this.rpcCall(submitEvidence, $root.cosmos.evidence.v1beta1.MsgSubmitEvidence, $root.cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse, request, callback); - }, "name", { value: "SubmitEvidence" }); - - /** - * Calls SubmitEvidence. - * @function submitEvidence - * @memberof cosmos.evidence.v1beta1.Msg - * @instance - * @param {cosmos.evidence.v1beta1.IMsgSubmitEvidence} request MsgSubmitEvidence message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Msg; - })(v1beta1.Msg || {}); - - v1beta1.MsgSubmitEvidence = (function(MsgSubmitEvidence) { - - /** - * Properties of a MsgSubmitEvidence. - * @memberof cosmos.evidence.v1beta1 - * @interface IMsgSubmitEvidence - * @property {string|null} [submitter] MsgSubmitEvidence submitter - * @property {google.protobuf.IAny|null} [evidence] MsgSubmitEvidence evidence - */ - - /** - * Constructs a new MsgSubmitEvidence. - * @memberof cosmos.evidence.v1beta1 - * @classdesc Represents a MsgSubmitEvidence. - * @implements IMsgSubmitEvidence - * @constructor - * @param {cosmos.evidence.v1beta1.IMsgSubmitEvidence=} [properties] Properties to set - */ - function MsgSubmitEvidence(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgSubmitEvidence submitter. - * @member {string} submitter - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidence - * @instance - */ - MsgSubmitEvidence.prototype.submitter = ""; - - /** - * MsgSubmitEvidence evidence. - * @member {google.protobuf.IAny|null|undefined} evidence - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidence - * @instance - */ - MsgSubmitEvidence.prototype.evidence = null; - - /** - * Creates a new MsgSubmitEvidence instance using the specified properties. - * @function create - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidence - * @static - * @param {cosmos.evidence.v1beta1.IMsgSubmitEvidence=} [properties] Properties to set - * @returns {cosmos.evidence.v1beta1.MsgSubmitEvidence} MsgSubmitEvidence instance - */ - MsgSubmitEvidence.create = function create(properties) { - return new MsgSubmitEvidence(properties); - }; - - /** - * Encodes the specified MsgSubmitEvidence message. Does not implicitly {@link cosmos.evidence.v1beta1.MsgSubmitEvidence.verify|verify} messages. - * @function encode - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidence - * @static - * @param {cosmos.evidence.v1beta1.IMsgSubmitEvidence} message MsgSubmitEvidence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSubmitEvidence.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.submitter != null && Object.hasOwnProperty.call(message, "submitter")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.submitter); - if (message.evidence != null && Object.hasOwnProperty.call(message, "evidence")) - $root.google.protobuf.Any.encode(message.evidence, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MsgSubmitEvidence message, length delimited. Does not implicitly {@link cosmos.evidence.v1beta1.MsgSubmitEvidence.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidence - * @static - * @param {cosmos.evidence.v1beta1.IMsgSubmitEvidence} message MsgSubmitEvidence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSubmitEvidence.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgSubmitEvidence message from the specified reader or buffer. - * @function decode - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.evidence.v1beta1.MsgSubmitEvidence} MsgSubmitEvidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSubmitEvidence.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.evidence.v1beta1.MsgSubmitEvidence(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.submitter = reader.string(); - break; - case 2: - message.evidence = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgSubmitEvidence message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.evidence.v1beta1.MsgSubmitEvidence} MsgSubmitEvidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSubmitEvidence.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgSubmitEvidence message. - * @function verify - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidence - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgSubmitEvidence.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.submitter != null && message.hasOwnProperty("submitter")) - if (!$util.isString(message.submitter)) - return "submitter: string expected"; - if (message.evidence != null && message.hasOwnProperty("evidence")) { - let error = $root.google.protobuf.Any.verify(message.evidence); - if (error) - return "evidence." + error; - } - return null; - }; - - /** - * Creates a MsgSubmitEvidence message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidence - * @static - * @param {Object.} object Plain object - * @returns {cosmos.evidence.v1beta1.MsgSubmitEvidence} MsgSubmitEvidence - */ - MsgSubmitEvidence.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.evidence.v1beta1.MsgSubmitEvidence) - return object; - let message = new $root.cosmos.evidence.v1beta1.MsgSubmitEvidence(); - if (object.submitter != null) - message.submitter = String(object.submitter); - if (object.evidence != null) { - if (typeof object.evidence !== "object") - throw TypeError(".cosmos.evidence.v1beta1.MsgSubmitEvidence.evidence: object expected"); - message.evidence = $root.google.protobuf.Any.fromObject(object.evidence); - } - return message; - }; - - /** - * Creates a plain object from a MsgSubmitEvidence message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidence - * @static - * @param {cosmos.evidence.v1beta1.MsgSubmitEvidence} message MsgSubmitEvidence - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgSubmitEvidence.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.submitter = ""; - object.evidence = null; - } - if (message.submitter != null && message.hasOwnProperty("submitter")) - object.submitter = message.submitter; - if (message.evidence != null && message.hasOwnProperty("evidence")) - object.evidence = $root.google.protobuf.Any.toObject(message.evidence, options); - return object; - }; - - /** - * Converts this MsgSubmitEvidence to JSON. - * @function toJSON - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidence - * @instance - * @returns {Object.} JSON object - */ - MsgSubmitEvidence.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgSubmitEvidence; - })(v1beta1.MsgSubmitEvidence || {}); - - v1beta1.MsgSubmitEvidenceResponse = (function(MsgSubmitEvidenceResponse) { - - /** - * Properties of a MsgSubmitEvidenceResponse. - * @memberof cosmos.evidence.v1beta1 - * @interface IMsgSubmitEvidenceResponse - * @property {Uint8Array|null} [hash] MsgSubmitEvidenceResponse hash - */ - - /** - * Constructs a new MsgSubmitEvidenceResponse. - * @memberof cosmos.evidence.v1beta1 - * @classdesc Represents a MsgSubmitEvidenceResponse. - * @implements IMsgSubmitEvidenceResponse - * @constructor - * @param {cosmos.evidence.v1beta1.IMsgSubmitEvidenceResponse=} [properties] Properties to set - */ - function MsgSubmitEvidenceResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgSubmitEvidenceResponse hash. - * @member {Uint8Array} hash - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse - * @instance - */ - MsgSubmitEvidenceResponse.prototype.hash = $util.newBuffer([]); - - /** - * Creates a new MsgSubmitEvidenceResponse instance using the specified properties. - * @function create - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse - * @static - * @param {cosmos.evidence.v1beta1.IMsgSubmitEvidenceResponse=} [properties] Properties to set - * @returns {cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse} MsgSubmitEvidenceResponse instance - */ - MsgSubmitEvidenceResponse.create = function create(properties) { - return new MsgSubmitEvidenceResponse(properties); - }; - - /** - * Encodes the specified MsgSubmitEvidenceResponse message. Does not implicitly {@link cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse - * @static - * @param {cosmos.evidence.v1beta1.IMsgSubmitEvidenceResponse} message MsgSubmitEvidenceResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSubmitEvidenceResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.hash); - return writer; - }; - - /** - * Encodes the specified MsgSubmitEvidenceResponse message, length delimited. Does not implicitly {@link cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse - * @static - * @param {cosmos.evidence.v1beta1.IMsgSubmitEvidenceResponse} message MsgSubmitEvidenceResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSubmitEvidenceResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgSubmitEvidenceResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse} MsgSubmitEvidenceResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSubmitEvidenceResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 4: - message.hash = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgSubmitEvidenceResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse} MsgSubmitEvidenceResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSubmitEvidenceResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgSubmitEvidenceResponse message. - * @function verify - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgSubmitEvidenceResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) - return "hash: buffer expected"; - return null; - }; - - /** - * Creates a MsgSubmitEvidenceResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse} MsgSubmitEvidenceResponse - */ - MsgSubmitEvidenceResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse) - return object; - let message = new $root.cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse(); - if (object.hash != null) - if (typeof object.hash === "string") - $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); - else if (object.hash.length) - message.hash = object.hash; - return message; - }; - - /** - * Creates a plain object from a MsgSubmitEvidenceResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse - * @static - * @param {cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse} message MsgSubmitEvidenceResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgSubmitEvidenceResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if (options.bytes === String) - object.hash = ""; - else { - object.hash = []; - if (options.bytes !== Array) - object.hash = $util.newBuffer(object.hash); - } - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; - return object; - }; - - /** - * Converts this MsgSubmitEvidenceResponse to JSON. - * @function toJSON - * @memberof cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse - * @instance - * @returns {Object.} JSON object - */ - MsgSubmitEvidenceResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgSubmitEvidenceResponse; - })(v1beta1.MsgSubmitEvidenceResponse || {}); - - return v1beta1; - })(evidence.v1beta1 || {}); - - return evidence; - })(cosmos.evidence || {}); - - /** - * Namespace genutil. - * @memberof cosmos - * @namespace - */ - - cosmos.genutil = (function(genutil) { - - /** - * Namespace v1beta1. - * @memberof cosmos.genutil - * @namespace - */ - - genutil.v1beta1 = (function(v1beta1) { - - v1beta1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof cosmos.genutil.v1beta1 - * @interface IGenesisState - * @property {Array.|null} [genTxs] GenesisState genTxs - */ - - /** - * Constructs a new GenesisState. - * @memberof cosmos.genutil.v1beta1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {cosmos.genutil.v1beta1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.genTxs = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState genTxs. - * @member {Array.} genTxs - * @memberof cosmos.genutil.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.genTxs = $util.emptyArray; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof cosmos.genutil.v1beta1.GenesisState - * @static - * @param {cosmos.genutil.v1beta1.IGenesisState=} [properties] Properties to set - * @returns {cosmos.genutil.v1beta1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link cosmos.genutil.v1beta1.GenesisState.verify|verify} messages. - * @function encode - * @memberof cosmos.genutil.v1beta1.GenesisState - * @static - * @param {cosmos.genutil.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.genTxs != null && message.genTxs.length) - for (let i = 0; i < message.genTxs.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.genTxs[i]); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link cosmos.genutil.v1beta1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.genutil.v1beta1.GenesisState - * @static - * @param {cosmos.genutil.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof cosmos.genutil.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.genutil.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.genutil.v1beta1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.genTxs && message.genTxs.length)) - message.genTxs = []; - message.genTxs.push(reader.bytes()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.genutil.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.genutil.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof cosmos.genutil.v1beta1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.genTxs != null && message.hasOwnProperty("genTxs")) { - if (!Array.isArray(message.genTxs)) - return "genTxs: array expected"; - for (let i = 0; i < message.genTxs.length; ++i) - if (!(message.genTxs[i] && typeof message.genTxs[i].length === "number" || $util.isString(message.genTxs[i]))) - return "genTxs: buffer[] expected"; - } - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.genutil.v1beta1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {cosmos.genutil.v1beta1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.genutil.v1beta1.GenesisState) - return object; - let message = new $root.cosmos.genutil.v1beta1.GenesisState(); - if (object.genTxs) { - if (!Array.isArray(object.genTxs)) - throw TypeError(".cosmos.genutil.v1beta1.GenesisState.genTxs: array expected"); - message.genTxs = []; - for (let i = 0; i < object.genTxs.length; ++i) - if (typeof object.genTxs[i] === "string") - $util.base64.decode(object.genTxs[i], message.genTxs[i] = $util.newBuffer($util.base64.length(object.genTxs[i])), 0); - else if (object.genTxs[i].length) - message.genTxs[i] = object.genTxs[i]; - } - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.genutil.v1beta1.GenesisState - * @static - * @param {cosmos.genutil.v1beta1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.genTxs = []; - if (message.genTxs && message.genTxs.length) { - object.genTxs = []; - for (let j = 0; j < message.genTxs.length; ++j) - object.genTxs[j] = options.bytes === String ? $util.base64.encode(message.genTxs[j], 0, message.genTxs[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.genTxs[j]) : message.genTxs[j]; - } - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof cosmos.genutil.v1beta1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1beta1.GenesisState || {}); - - return v1beta1; - })(genutil.v1beta1 || {}); - - return genutil; - })(cosmos.genutil || {}); - - /** - * Namespace gov. - * @memberof cosmos - * @namespace - */ - - cosmos.gov = (function(gov) { - - /** - * Namespace v1beta1. - * @memberof cosmos.gov - * @namespace - */ - - gov.v1beta1 = (function(v1beta1) { - - v1beta1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof cosmos.gov.v1beta1 - * @interface IGenesisState - * @property {number|Long|null} [startingProposalId] GenesisState startingProposalId - * @property {Array.|null} [deposits] GenesisState deposits - * @property {Array.|null} [votes] GenesisState votes - * @property {Array.|null} [proposals] GenesisState proposals - * @property {cosmos.gov.v1beta1.IDepositParams|null} [depositParams] GenesisState depositParams - * @property {cosmos.gov.v1beta1.IVotingParams|null} [votingParams] GenesisState votingParams - * @property {cosmos.gov.v1beta1.ITallyParams|null} [tallyParams] GenesisState tallyParams - */ - - /** - * Constructs a new GenesisState. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {cosmos.gov.v1beta1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.deposits = []; - this.votes = []; - this.proposals = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState startingProposalId. - * @member {number|Long} startingProposalId - * @memberof cosmos.gov.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.startingProposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * GenesisState deposits. - * @member {Array.} deposits - * @memberof cosmos.gov.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.deposits = $util.emptyArray; - - /** - * GenesisState votes. - * @member {Array.} votes - * @memberof cosmos.gov.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.votes = $util.emptyArray; - - /** - * GenesisState proposals. - * @member {Array.} proposals - * @memberof cosmos.gov.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.proposals = $util.emptyArray; - - /** - * GenesisState depositParams. - * @member {cosmos.gov.v1beta1.IDepositParams|null|undefined} depositParams - * @memberof cosmos.gov.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.depositParams = null; - - /** - * GenesisState votingParams. - * @member {cosmos.gov.v1beta1.IVotingParams|null|undefined} votingParams - * @memberof cosmos.gov.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.votingParams = null; - - /** - * GenesisState tallyParams. - * @member {cosmos.gov.v1beta1.ITallyParams|null|undefined} tallyParams - * @memberof cosmos.gov.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.tallyParams = null; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.GenesisState - * @static - * @param {cosmos.gov.v1beta1.IGenesisState=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link cosmos.gov.v1beta1.GenesisState.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.GenesisState - * @static - * @param {cosmos.gov.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.startingProposalId != null && Object.hasOwnProperty.call(message, "startingProposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.startingProposalId); - if (message.deposits != null && message.deposits.length) - for (let i = 0; i < message.deposits.length; ++i) - $root.cosmos.gov.v1beta1.Deposit.encode(message.deposits[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.votes != null && message.votes.length) - for (let i = 0; i < message.votes.length; ++i) - $root.cosmos.gov.v1beta1.Vote.encode(message.votes[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.proposals != null && message.proposals.length) - for (let i = 0; i < message.proposals.length; ++i) - $root.cosmos.gov.v1beta1.Proposal.encode(message.proposals[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.depositParams != null && Object.hasOwnProperty.call(message, "depositParams")) - $root.cosmos.gov.v1beta1.DepositParams.encode(message.depositParams, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.votingParams != null && Object.hasOwnProperty.call(message, "votingParams")) - $root.cosmos.gov.v1beta1.VotingParams.encode(message.votingParams, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.tallyParams != null && Object.hasOwnProperty.call(message, "tallyParams")) - $root.cosmos.gov.v1beta1.TallyParams.encode(message.tallyParams, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.GenesisState - * @static - * @param {cosmos.gov.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.startingProposalId = reader.uint64(); - break; - case 2: - if (!(message.deposits && message.deposits.length)) - message.deposits = []; - message.deposits.push($root.cosmos.gov.v1beta1.Deposit.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.votes && message.votes.length)) - message.votes = []; - message.votes.push($root.cosmos.gov.v1beta1.Vote.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.proposals && message.proposals.length)) - message.proposals = []; - message.proposals.push($root.cosmos.gov.v1beta1.Proposal.decode(reader, reader.uint32())); - break; - case 5: - message.depositParams = $root.cosmos.gov.v1beta1.DepositParams.decode(reader, reader.uint32()); - break; - case 6: - message.votingParams = $root.cosmos.gov.v1beta1.VotingParams.decode(reader, reader.uint32()); - break; - case 7: - message.tallyParams = $root.cosmos.gov.v1beta1.TallyParams.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof cosmos.gov.v1beta1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.startingProposalId != null && message.hasOwnProperty("startingProposalId")) - if (!$util.isInteger(message.startingProposalId) && !(message.startingProposalId && $util.isInteger(message.startingProposalId.low) && $util.isInteger(message.startingProposalId.high))) - return "startingProposalId: integer|Long expected"; - if (message.deposits != null && message.hasOwnProperty("deposits")) { - if (!Array.isArray(message.deposits)) - return "deposits: array expected"; - for (let i = 0; i < message.deposits.length; ++i) { - let error = $root.cosmos.gov.v1beta1.Deposit.verify(message.deposits[i]); - if (error) - return "deposits." + error; - } - } - if (message.votes != null && message.hasOwnProperty("votes")) { - if (!Array.isArray(message.votes)) - return "votes: array expected"; - for (let i = 0; i < message.votes.length; ++i) { - let error = $root.cosmos.gov.v1beta1.Vote.verify(message.votes[i]); - if (error) - return "votes." + error; - } - } - if (message.proposals != null && message.hasOwnProperty("proposals")) { - if (!Array.isArray(message.proposals)) - return "proposals: array expected"; - for (let i = 0; i < message.proposals.length; ++i) { - let error = $root.cosmos.gov.v1beta1.Proposal.verify(message.proposals[i]); - if (error) - return "proposals." + error; - } - } - if (message.depositParams != null && message.hasOwnProperty("depositParams")) { - let error = $root.cosmos.gov.v1beta1.DepositParams.verify(message.depositParams); - if (error) - return "depositParams." + error; - } - if (message.votingParams != null && message.hasOwnProperty("votingParams")) { - let error = $root.cosmos.gov.v1beta1.VotingParams.verify(message.votingParams); - if (error) - return "votingParams." + error; - } - if (message.tallyParams != null && message.hasOwnProperty("tallyParams")) { - let error = $root.cosmos.gov.v1beta1.TallyParams.verify(message.tallyParams); - if (error) - return "tallyParams." + error; - } - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.GenesisState) - return object; - let message = new $root.cosmos.gov.v1beta1.GenesisState(); - if (object.startingProposalId != null) - if ($util.Long) - (message.startingProposalId = $util.Long.fromValue(object.startingProposalId)).unsigned = true; - else if (typeof object.startingProposalId === "string") - message.startingProposalId = parseInt(object.startingProposalId, 10); - else if (typeof object.startingProposalId === "number") - message.startingProposalId = object.startingProposalId; - else if (typeof object.startingProposalId === "object") - message.startingProposalId = new $util.LongBits(object.startingProposalId.low >>> 0, object.startingProposalId.high >>> 0).toNumber(true); - if (object.deposits) { - if (!Array.isArray(object.deposits)) - throw TypeError(".cosmos.gov.v1beta1.GenesisState.deposits: array expected"); - message.deposits = []; - for (let i = 0; i < object.deposits.length; ++i) { - if (typeof object.deposits[i] !== "object") - throw TypeError(".cosmos.gov.v1beta1.GenesisState.deposits: object expected"); - message.deposits[i] = $root.cosmos.gov.v1beta1.Deposit.fromObject(object.deposits[i]); - } - } - if (object.votes) { - if (!Array.isArray(object.votes)) - throw TypeError(".cosmos.gov.v1beta1.GenesisState.votes: array expected"); - message.votes = []; - for (let i = 0; i < object.votes.length; ++i) { - if (typeof object.votes[i] !== "object") - throw TypeError(".cosmos.gov.v1beta1.GenesisState.votes: object expected"); - message.votes[i] = $root.cosmos.gov.v1beta1.Vote.fromObject(object.votes[i]); - } - } - if (object.proposals) { - if (!Array.isArray(object.proposals)) - throw TypeError(".cosmos.gov.v1beta1.GenesisState.proposals: array expected"); - message.proposals = []; - for (let i = 0; i < object.proposals.length; ++i) { - if (typeof object.proposals[i] !== "object") - throw TypeError(".cosmos.gov.v1beta1.GenesisState.proposals: object expected"); - message.proposals[i] = $root.cosmos.gov.v1beta1.Proposal.fromObject(object.proposals[i]); - } - } - if (object.depositParams != null) { - if (typeof object.depositParams !== "object") - throw TypeError(".cosmos.gov.v1beta1.GenesisState.depositParams: object expected"); - message.depositParams = $root.cosmos.gov.v1beta1.DepositParams.fromObject(object.depositParams); - } - if (object.votingParams != null) { - if (typeof object.votingParams !== "object") - throw TypeError(".cosmos.gov.v1beta1.GenesisState.votingParams: object expected"); - message.votingParams = $root.cosmos.gov.v1beta1.VotingParams.fromObject(object.votingParams); - } - if (object.tallyParams != null) { - if (typeof object.tallyParams !== "object") - throw TypeError(".cosmos.gov.v1beta1.GenesisState.tallyParams: object expected"); - message.tallyParams = $root.cosmos.gov.v1beta1.TallyParams.fromObject(object.tallyParams); - } - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.GenesisState - * @static - * @param {cosmos.gov.v1beta1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.deposits = []; - object.votes = []; - object.proposals = []; - } - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.startingProposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.startingProposalId = options.longs === String ? "0" : 0; - object.depositParams = null; - object.votingParams = null; - object.tallyParams = null; - } - if (message.startingProposalId != null && message.hasOwnProperty("startingProposalId")) - if (typeof message.startingProposalId === "number") - object.startingProposalId = options.longs === String ? String(message.startingProposalId) : message.startingProposalId; - else - object.startingProposalId = options.longs === String ? $util.Long.prototype.toString.call(message.startingProposalId) : options.longs === Number ? new $util.LongBits(message.startingProposalId.low >>> 0, message.startingProposalId.high >>> 0).toNumber(true) : message.startingProposalId; - if (message.deposits && message.deposits.length) { - object.deposits = []; - for (let j = 0; j < message.deposits.length; ++j) - object.deposits[j] = $root.cosmos.gov.v1beta1.Deposit.toObject(message.deposits[j], options); - } - if (message.votes && message.votes.length) { - object.votes = []; - for (let j = 0; j < message.votes.length; ++j) - object.votes[j] = $root.cosmos.gov.v1beta1.Vote.toObject(message.votes[j], options); - } - if (message.proposals && message.proposals.length) { - object.proposals = []; - for (let j = 0; j < message.proposals.length; ++j) - object.proposals[j] = $root.cosmos.gov.v1beta1.Proposal.toObject(message.proposals[j], options); - } - if (message.depositParams != null && message.hasOwnProperty("depositParams")) - object.depositParams = $root.cosmos.gov.v1beta1.DepositParams.toObject(message.depositParams, options); - if (message.votingParams != null && message.hasOwnProperty("votingParams")) - object.votingParams = $root.cosmos.gov.v1beta1.VotingParams.toObject(message.votingParams, options); - if (message.tallyParams != null && message.hasOwnProperty("tallyParams")) - object.tallyParams = $root.cosmos.gov.v1beta1.TallyParams.toObject(message.tallyParams, options); - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1beta1.GenesisState || {}); - - /** - * VoteOption enum. - * @name cosmos.gov.v1beta1.VoteOption - * @enum {string} - * @property {number} VOTE_OPTION_UNSPECIFIED=0 VOTE_OPTION_UNSPECIFIED value - * @property {number} VOTE_OPTION_YES=1 VOTE_OPTION_YES value - * @property {number} VOTE_OPTION_ABSTAIN=2 VOTE_OPTION_ABSTAIN value - * @property {number} VOTE_OPTION_NO=3 VOTE_OPTION_NO value - * @property {number} VOTE_OPTION_NO_WITH_VETO=4 VOTE_OPTION_NO_WITH_VETO value - */ - v1beta1.VoteOption = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "VOTE_OPTION_UNSPECIFIED"] = 0; - values[valuesById[1] = "VOTE_OPTION_YES"] = 1; - values[valuesById[2] = "VOTE_OPTION_ABSTAIN"] = 2; - values[valuesById[3] = "VOTE_OPTION_NO"] = 3; - values[valuesById[4] = "VOTE_OPTION_NO_WITH_VETO"] = 4; - return values; - })(); - - v1beta1.TextProposal = (function(TextProposal) { - - /** - * Properties of a TextProposal. - * @memberof cosmos.gov.v1beta1 - * @interface ITextProposal - * @property {string|null} [title] TextProposal title - * @property {string|null} [description] TextProposal description - */ - - /** - * Constructs a new TextProposal. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a TextProposal. - * @implements ITextProposal - * @constructor - * @param {cosmos.gov.v1beta1.ITextProposal=} [properties] Properties to set - */ - function TextProposal(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * TextProposal title. - * @member {string} title - * @memberof cosmos.gov.v1beta1.TextProposal - * @instance - */ - TextProposal.prototype.title = ""; - - /** - * TextProposal description. - * @member {string} description - * @memberof cosmos.gov.v1beta1.TextProposal - * @instance - */ - TextProposal.prototype.description = ""; - - /** - * Creates a new TextProposal instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.TextProposal - * @static - * @param {cosmos.gov.v1beta1.ITextProposal=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.TextProposal} TextProposal instance - */ - TextProposal.create = function create(properties) { - return new TextProposal(properties); - }; - - /** - * Encodes the specified TextProposal message. Does not implicitly {@link cosmos.gov.v1beta1.TextProposal.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.TextProposal - * @static - * @param {cosmos.gov.v1beta1.ITextProposal} message TextProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TextProposal.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.title != null && Object.hasOwnProperty.call(message, "title")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.title); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - return writer; - }; - - /** - * Encodes the specified TextProposal message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.TextProposal.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.TextProposal - * @static - * @param {cosmos.gov.v1beta1.ITextProposal} message TextProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TextProposal.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TextProposal message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.TextProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.TextProposal} TextProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TextProposal.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.TextProposal(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.title = reader.string(); - break; - case 2: - message.description = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TextProposal message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.TextProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.TextProposal} TextProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TextProposal.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TextProposal message. - * @function verify - * @memberof cosmos.gov.v1beta1.TextProposal - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TextProposal.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.title != null && message.hasOwnProperty("title")) - if (!$util.isString(message.title)) - return "title: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - return null; - }; - - /** - * Creates a TextProposal message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.TextProposal - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.TextProposal} TextProposal - */ - TextProposal.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.TextProposal) - return object; - let message = new $root.cosmos.gov.v1beta1.TextProposal(); - if (object.title != null) - message.title = String(object.title); - if (object.description != null) - message.description = String(object.description); - return message; - }; - - /** - * Creates a plain object from a TextProposal message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.TextProposal - * @static - * @param {cosmos.gov.v1beta1.TextProposal} message TextProposal - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TextProposal.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.title = ""; - object.description = ""; - } - if (message.title != null && message.hasOwnProperty("title")) - object.title = message.title; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - return object; - }; - - /** - * Converts this TextProposal to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.TextProposal - * @instance - * @returns {Object.} JSON object - */ - TextProposal.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return TextProposal; - })(v1beta1.TextProposal || {}); - - v1beta1.Deposit = (function(Deposit) { - - /** - * Properties of a Deposit. - * @memberof cosmos.gov.v1beta1 - * @interface IDeposit - * @property {number|Long|null} [proposalId] Deposit proposalId - * @property {string|null} [depositor] Deposit depositor - * @property {Array.|null} [amount] Deposit amount - */ - - /** - * Constructs a new Deposit. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a Deposit. - * @implements IDeposit - * @constructor - * @param {cosmos.gov.v1beta1.IDeposit=} [properties] Properties to set - */ - function Deposit(properties) { - this.amount = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Deposit proposalId. - * @member {number|Long} proposalId - * @memberof cosmos.gov.v1beta1.Deposit - * @instance - */ - Deposit.prototype.proposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Deposit depositor. - * @member {string} depositor - * @memberof cosmos.gov.v1beta1.Deposit - * @instance - */ - Deposit.prototype.depositor = ""; - - /** - * Deposit amount. - * @member {Array.} amount - * @memberof cosmos.gov.v1beta1.Deposit - * @instance - */ - Deposit.prototype.amount = $util.emptyArray; - - /** - * Creates a new Deposit instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.Deposit - * @static - * @param {cosmos.gov.v1beta1.IDeposit=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.Deposit} Deposit instance - */ - Deposit.create = function create(properties) { - return new Deposit(properties); - }; - - /** - * Encodes the specified Deposit message. Does not implicitly {@link cosmos.gov.v1beta1.Deposit.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.Deposit - * @static - * @param {cosmos.gov.v1beta1.IDeposit} message Deposit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Deposit.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalId != null && Object.hasOwnProperty.call(message, "proposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.proposalId); - if (message.depositor != null && Object.hasOwnProperty.call(message, "depositor")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.depositor); - if (message.amount != null && message.amount.length) - for (let i = 0; i < message.amount.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.amount[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Deposit message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.Deposit.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.Deposit - * @static - * @param {cosmos.gov.v1beta1.IDeposit} message Deposit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Deposit.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Deposit message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.Deposit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.Deposit} Deposit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Deposit.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.Deposit(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalId = reader.uint64(); - break; - case 2: - message.depositor = reader.string(); - break; - case 3: - if (!(message.amount && message.amount.length)) - message.amount = []; - message.amount.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Deposit message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.Deposit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.Deposit} Deposit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Deposit.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Deposit message. - * @function verify - * @memberof cosmos.gov.v1beta1.Deposit - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Deposit.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (!$util.isInteger(message.proposalId) && !(message.proposalId && $util.isInteger(message.proposalId.low) && $util.isInteger(message.proposalId.high))) - return "proposalId: integer|Long expected"; - if (message.depositor != null && message.hasOwnProperty("depositor")) - if (!$util.isString(message.depositor)) - return "depositor: string expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - if (!Array.isArray(message.amount)) - return "amount: array expected"; - for (let i = 0; i < message.amount.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.amount[i]); - if (error) - return "amount." + error; - } - } - return null; - }; - - /** - * Creates a Deposit message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.Deposit - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.Deposit} Deposit - */ - Deposit.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.Deposit) - return object; - let message = new $root.cosmos.gov.v1beta1.Deposit(); - if (object.proposalId != null) - if ($util.Long) - (message.proposalId = $util.Long.fromValue(object.proposalId)).unsigned = true; - else if (typeof object.proposalId === "string") - message.proposalId = parseInt(object.proposalId, 10); - else if (typeof object.proposalId === "number") - message.proposalId = object.proposalId; - else if (typeof object.proposalId === "object") - message.proposalId = new $util.LongBits(object.proposalId.low >>> 0, object.proposalId.high >>> 0).toNumber(true); - if (object.depositor != null) - message.depositor = String(object.depositor); - if (object.amount) { - if (!Array.isArray(object.amount)) - throw TypeError(".cosmos.gov.v1beta1.Deposit.amount: array expected"); - message.amount = []; - for (let i = 0; i < object.amount.length; ++i) { - if (typeof object.amount[i] !== "object") - throw TypeError(".cosmos.gov.v1beta1.Deposit.amount: object expected"); - message.amount[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.amount[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a Deposit message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.Deposit - * @static - * @param {cosmos.gov.v1beta1.Deposit} message Deposit - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Deposit.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.amount = []; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.proposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposalId = options.longs === String ? "0" : 0; - object.depositor = ""; - } - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (typeof message.proposalId === "number") - object.proposalId = options.longs === String ? String(message.proposalId) : message.proposalId; - else - object.proposalId = options.longs === String ? $util.Long.prototype.toString.call(message.proposalId) : options.longs === Number ? new $util.LongBits(message.proposalId.low >>> 0, message.proposalId.high >>> 0).toNumber(true) : message.proposalId; - if (message.depositor != null && message.hasOwnProperty("depositor")) - object.depositor = message.depositor; - if (message.amount && message.amount.length) { - object.amount = []; - for (let j = 0; j < message.amount.length; ++j) - object.amount[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.amount[j], options); - } - return object; - }; - - /** - * Converts this Deposit to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.Deposit - * @instance - * @returns {Object.} JSON object - */ - Deposit.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Deposit; - })(v1beta1.Deposit || {}); - - v1beta1.Proposal = (function(Proposal) { - - /** - * Properties of a Proposal. - * @memberof cosmos.gov.v1beta1 - * @interface IProposal - * @property {number|Long|null} [proposalId] Proposal proposalId - * @property {google.protobuf.IAny|null} [content] Proposal content - * @property {cosmos.gov.v1beta1.ProposalStatus|null} [status] Proposal status - * @property {cosmos.gov.v1beta1.ITallyResult|null} [finalTallyResult] Proposal finalTallyResult - * @property {google.protobuf.ITimestamp|null} [submitTime] Proposal submitTime - * @property {google.protobuf.ITimestamp|null} [depositEndTime] Proposal depositEndTime - * @property {Array.|null} [totalDeposit] Proposal totalDeposit - * @property {google.protobuf.ITimestamp|null} [votingStartTime] Proposal votingStartTime - * @property {google.protobuf.ITimestamp|null} [votingEndTime] Proposal votingEndTime - */ - - /** - * Constructs a new Proposal. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a Proposal. - * @implements IProposal - * @constructor - * @param {cosmos.gov.v1beta1.IProposal=} [properties] Properties to set - */ - function Proposal(properties) { - this.totalDeposit = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Proposal proposalId. - * @member {number|Long} proposalId - * @memberof cosmos.gov.v1beta1.Proposal - * @instance - */ - Proposal.prototype.proposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Proposal content. - * @member {google.protobuf.IAny|null|undefined} content - * @memberof cosmos.gov.v1beta1.Proposal - * @instance - */ - Proposal.prototype.content = null; - - /** - * Proposal status. - * @member {cosmos.gov.v1beta1.ProposalStatus} status - * @memberof cosmos.gov.v1beta1.Proposal - * @instance - */ - Proposal.prototype.status = 0; - - /** - * Proposal finalTallyResult. - * @member {cosmos.gov.v1beta1.ITallyResult|null|undefined} finalTallyResult - * @memberof cosmos.gov.v1beta1.Proposal - * @instance - */ - Proposal.prototype.finalTallyResult = null; - - /** - * Proposal submitTime. - * @member {google.protobuf.ITimestamp|null|undefined} submitTime - * @memberof cosmos.gov.v1beta1.Proposal - * @instance - */ - Proposal.prototype.submitTime = null; - - /** - * Proposal depositEndTime. - * @member {google.protobuf.ITimestamp|null|undefined} depositEndTime - * @memberof cosmos.gov.v1beta1.Proposal - * @instance - */ - Proposal.prototype.depositEndTime = null; - - /** - * Proposal totalDeposit. - * @member {Array.} totalDeposit - * @memberof cosmos.gov.v1beta1.Proposal - * @instance - */ - Proposal.prototype.totalDeposit = $util.emptyArray; - - /** - * Proposal votingStartTime. - * @member {google.protobuf.ITimestamp|null|undefined} votingStartTime - * @memberof cosmos.gov.v1beta1.Proposal - * @instance - */ - Proposal.prototype.votingStartTime = null; - - /** - * Proposal votingEndTime. - * @member {google.protobuf.ITimestamp|null|undefined} votingEndTime - * @memberof cosmos.gov.v1beta1.Proposal - * @instance - */ - Proposal.prototype.votingEndTime = null; - - /** - * Creates a new Proposal instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.Proposal - * @static - * @param {cosmos.gov.v1beta1.IProposal=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.Proposal} Proposal instance - */ - Proposal.create = function create(properties) { - return new Proposal(properties); - }; - - /** - * Encodes the specified Proposal message. Does not implicitly {@link cosmos.gov.v1beta1.Proposal.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.Proposal - * @static - * @param {cosmos.gov.v1beta1.IProposal} message Proposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Proposal.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalId != null && Object.hasOwnProperty.call(message, "proposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.proposalId); - if (message.content != null && Object.hasOwnProperty.call(message, "content")) - $root.google.protobuf.Any.encode(message.content, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.status != null && Object.hasOwnProperty.call(message, "status")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.status); - if (message.finalTallyResult != null && Object.hasOwnProperty.call(message, "finalTallyResult")) - $root.cosmos.gov.v1beta1.TallyResult.encode(message.finalTallyResult, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.submitTime != null && Object.hasOwnProperty.call(message, "submitTime")) - $root.google.protobuf.Timestamp.encode(message.submitTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.depositEndTime != null && Object.hasOwnProperty.call(message, "depositEndTime")) - $root.google.protobuf.Timestamp.encode(message.depositEndTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.totalDeposit != null && message.totalDeposit.length) - for (let i = 0; i < message.totalDeposit.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.totalDeposit[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.votingStartTime != null && Object.hasOwnProperty.call(message, "votingStartTime")) - $root.google.protobuf.Timestamp.encode(message.votingStartTime, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.votingEndTime != null && Object.hasOwnProperty.call(message, "votingEndTime")) - $root.google.protobuf.Timestamp.encode(message.votingEndTime, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Proposal message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.Proposal.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.Proposal - * @static - * @param {cosmos.gov.v1beta1.IProposal} message Proposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Proposal.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Proposal message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.Proposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.Proposal} Proposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Proposal.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.Proposal(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalId = reader.uint64(); - break; - case 2: - message.content = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 3: - message.status = reader.int32(); - break; - case 4: - message.finalTallyResult = $root.cosmos.gov.v1beta1.TallyResult.decode(reader, reader.uint32()); - break; - case 5: - message.submitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 6: - message.depositEndTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 7: - if (!(message.totalDeposit && message.totalDeposit.length)) - message.totalDeposit = []; - message.totalDeposit.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - case 8: - message.votingStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 9: - message.votingEndTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Proposal message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.Proposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.Proposal} Proposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Proposal.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Proposal message. - * @function verify - * @memberof cosmos.gov.v1beta1.Proposal - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Proposal.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (!$util.isInteger(message.proposalId) && !(message.proposalId && $util.isInteger(message.proposalId.low) && $util.isInteger(message.proposalId.high))) - return "proposalId: integer|Long expected"; - if (message.content != null && message.hasOwnProperty("content")) { - let error = $root.google.protobuf.Any.verify(message.content); - if (error) - return "content." + error; - } - if (message.status != null && message.hasOwnProperty("status")) - switch (message.status) { - default: - return "status: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.finalTallyResult != null && message.hasOwnProperty("finalTallyResult")) { - let error = $root.cosmos.gov.v1beta1.TallyResult.verify(message.finalTallyResult); - if (error) - return "finalTallyResult." + error; - } - if (message.submitTime != null && message.hasOwnProperty("submitTime")) { - let error = $root.google.protobuf.Timestamp.verify(message.submitTime); - if (error) - return "submitTime." + error; - } - if (message.depositEndTime != null && message.hasOwnProperty("depositEndTime")) { - let error = $root.google.protobuf.Timestamp.verify(message.depositEndTime); - if (error) - return "depositEndTime." + error; - } - if (message.totalDeposit != null && message.hasOwnProperty("totalDeposit")) { - if (!Array.isArray(message.totalDeposit)) - return "totalDeposit: array expected"; - for (let i = 0; i < message.totalDeposit.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.totalDeposit[i]); - if (error) - return "totalDeposit." + error; - } - } - if (message.votingStartTime != null && message.hasOwnProperty("votingStartTime")) { - let error = $root.google.protobuf.Timestamp.verify(message.votingStartTime); - if (error) - return "votingStartTime." + error; - } - if (message.votingEndTime != null && message.hasOwnProperty("votingEndTime")) { - let error = $root.google.protobuf.Timestamp.verify(message.votingEndTime); - if (error) - return "votingEndTime." + error; - } - return null; - }; - - /** - * Creates a Proposal message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.Proposal - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.Proposal} Proposal - */ - Proposal.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.Proposal) - return object; - let message = new $root.cosmos.gov.v1beta1.Proposal(); - if (object.proposalId != null) - if ($util.Long) - (message.proposalId = $util.Long.fromValue(object.proposalId)).unsigned = true; - else if (typeof object.proposalId === "string") - message.proposalId = parseInt(object.proposalId, 10); - else if (typeof object.proposalId === "number") - message.proposalId = object.proposalId; - else if (typeof object.proposalId === "object") - message.proposalId = new $util.LongBits(object.proposalId.low >>> 0, object.proposalId.high >>> 0).toNumber(true); - if (object.content != null) { - if (typeof object.content !== "object") - throw TypeError(".cosmos.gov.v1beta1.Proposal.content: object expected"); - message.content = $root.google.protobuf.Any.fromObject(object.content); - } - switch (object.status) { - case "PROPOSAL_STATUS_UNSPECIFIED": - case 0: - message.status = 0; - break; - case "PROPOSAL_STATUS_DEPOSIT_PERIOD": - case 1: - message.status = 1; - break; - case "PROPOSAL_STATUS_VOTING_PERIOD": - case 2: - message.status = 2; - break; - case "PROPOSAL_STATUS_PASSED": - case 3: - message.status = 3; - break; - case "PROPOSAL_STATUS_REJECTED": - case 4: - message.status = 4; - break; - case "PROPOSAL_STATUS_FAILED": - case 5: - message.status = 5; - break; - } - if (object.finalTallyResult != null) { - if (typeof object.finalTallyResult !== "object") - throw TypeError(".cosmos.gov.v1beta1.Proposal.finalTallyResult: object expected"); - message.finalTallyResult = $root.cosmos.gov.v1beta1.TallyResult.fromObject(object.finalTallyResult); - } - if (object.submitTime != null) { - if (typeof object.submitTime !== "object") - throw TypeError(".cosmos.gov.v1beta1.Proposal.submitTime: object expected"); - message.submitTime = $root.google.protobuf.Timestamp.fromObject(object.submitTime); - } - if (object.depositEndTime != null) { - if (typeof object.depositEndTime !== "object") - throw TypeError(".cosmos.gov.v1beta1.Proposal.depositEndTime: object expected"); - message.depositEndTime = $root.google.protobuf.Timestamp.fromObject(object.depositEndTime); - } - if (object.totalDeposit) { - if (!Array.isArray(object.totalDeposit)) - throw TypeError(".cosmos.gov.v1beta1.Proposal.totalDeposit: array expected"); - message.totalDeposit = []; - for (let i = 0; i < object.totalDeposit.length; ++i) { - if (typeof object.totalDeposit[i] !== "object") - throw TypeError(".cosmos.gov.v1beta1.Proposal.totalDeposit: object expected"); - message.totalDeposit[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.totalDeposit[i]); - } - } - if (object.votingStartTime != null) { - if (typeof object.votingStartTime !== "object") - throw TypeError(".cosmos.gov.v1beta1.Proposal.votingStartTime: object expected"); - message.votingStartTime = $root.google.protobuf.Timestamp.fromObject(object.votingStartTime); - } - if (object.votingEndTime != null) { - if (typeof object.votingEndTime !== "object") - throw TypeError(".cosmos.gov.v1beta1.Proposal.votingEndTime: object expected"); - message.votingEndTime = $root.google.protobuf.Timestamp.fromObject(object.votingEndTime); - } - return message; - }; - - /** - * Creates a plain object from a Proposal message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.Proposal - * @static - * @param {cosmos.gov.v1beta1.Proposal} message Proposal - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Proposal.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.totalDeposit = []; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.proposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposalId = options.longs === String ? "0" : 0; - object.content = null; - object.status = options.enums === String ? "PROPOSAL_STATUS_UNSPECIFIED" : 0; - object.finalTallyResult = null; - object.submitTime = null; - object.depositEndTime = null; - object.votingStartTime = null; - object.votingEndTime = null; - } - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (typeof message.proposalId === "number") - object.proposalId = options.longs === String ? String(message.proposalId) : message.proposalId; - else - object.proposalId = options.longs === String ? $util.Long.prototype.toString.call(message.proposalId) : options.longs === Number ? new $util.LongBits(message.proposalId.low >>> 0, message.proposalId.high >>> 0).toNumber(true) : message.proposalId; - if (message.content != null && message.hasOwnProperty("content")) - object.content = $root.google.protobuf.Any.toObject(message.content, options); - if (message.status != null && message.hasOwnProperty("status")) - object.status = options.enums === String ? $root.cosmos.gov.v1beta1.ProposalStatus[message.status] : message.status; - if (message.finalTallyResult != null && message.hasOwnProperty("finalTallyResult")) - object.finalTallyResult = $root.cosmos.gov.v1beta1.TallyResult.toObject(message.finalTallyResult, options); - if (message.submitTime != null && message.hasOwnProperty("submitTime")) - object.submitTime = $root.google.protobuf.Timestamp.toObject(message.submitTime, options); - if (message.depositEndTime != null && message.hasOwnProperty("depositEndTime")) - object.depositEndTime = $root.google.protobuf.Timestamp.toObject(message.depositEndTime, options); - if (message.totalDeposit && message.totalDeposit.length) { - object.totalDeposit = []; - for (let j = 0; j < message.totalDeposit.length; ++j) - object.totalDeposit[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.totalDeposit[j], options); - } - if (message.votingStartTime != null && message.hasOwnProperty("votingStartTime")) - object.votingStartTime = $root.google.protobuf.Timestamp.toObject(message.votingStartTime, options); - if (message.votingEndTime != null && message.hasOwnProperty("votingEndTime")) - object.votingEndTime = $root.google.protobuf.Timestamp.toObject(message.votingEndTime, options); - return object; - }; - - /** - * Converts this Proposal to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.Proposal - * @instance - * @returns {Object.} JSON object - */ - Proposal.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Proposal; - })(v1beta1.Proposal || {}); - - /** - * ProposalStatus enum. - * @name cosmos.gov.v1beta1.ProposalStatus - * @enum {string} - * @property {number} PROPOSAL_STATUS_UNSPECIFIED=0 PROPOSAL_STATUS_UNSPECIFIED value - * @property {number} PROPOSAL_STATUS_DEPOSIT_PERIOD=1 PROPOSAL_STATUS_DEPOSIT_PERIOD value - * @property {number} PROPOSAL_STATUS_VOTING_PERIOD=2 PROPOSAL_STATUS_VOTING_PERIOD value - * @property {number} PROPOSAL_STATUS_PASSED=3 PROPOSAL_STATUS_PASSED value - * @property {number} PROPOSAL_STATUS_REJECTED=4 PROPOSAL_STATUS_REJECTED value - * @property {number} PROPOSAL_STATUS_FAILED=5 PROPOSAL_STATUS_FAILED value - */ - v1beta1.ProposalStatus = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "PROPOSAL_STATUS_UNSPECIFIED"] = 0; - values[valuesById[1] = "PROPOSAL_STATUS_DEPOSIT_PERIOD"] = 1; - values[valuesById[2] = "PROPOSAL_STATUS_VOTING_PERIOD"] = 2; - values[valuesById[3] = "PROPOSAL_STATUS_PASSED"] = 3; - values[valuesById[4] = "PROPOSAL_STATUS_REJECTED"] = 4; - values[valuesById[5] = "PROPOSAL_STATUS_FAILED"] = 5; - return values; - })(); - - v1beta1.TallyResult = (function(TallyResult) { - - /** - * Properties of a TallyResult. - * @memberof cosmos.gov.v1beta1 - * @interface ITallyResult - * @property {string|null} [yes] TallyResult yes - * @property {string|null} [abstain] TallyResult abstain - * @property {string|null} [no] TallyResult no - * @property {string|null} [noWithVeto] TallyResult noWithVeto - */ - - /** - * Constructs a new TallyResult. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a TallyResult. - * @implements ITallyResult - * @constructor - * @param {cosmos.gov.v1beta1.ITallyResult=} [properties] Properties to set - */ - function TallyResult(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * TallyResult yes. - * @member {string} yes - * @memberof cosmos.gov.v1beta1.TallyResult - * @instance - */ - TallyResult.prototype.yes = ""; - - /** - * TallyResult abstain. - * @member {string} abstain - * @memberof cosmos.gov.v1beta1.TallyResult - * @instance - */ - TallyResult.prototype.abstain = ""; - - /** - * TallyResult no. - * @member {string} no - * @memberof cosmos.gov.v1beta1.TallyResult - * @instance - */ - TallyResult.prototype.no = ""; - - /** - * TallyResult noWithVeto. - * @member {string} noWithVeto - * @memberof cosmos.gov.v1beta1.TallyResult - * @instance - */ - TallyResult.prototype.noWithVeto = ""; - - /** - * Creates a new TallyResult instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.TallyResult - * @static - * @param {cosmos.gov.v1beta1.ITallyResult=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.TallyResult} TallyResult instance - */ - TallyResult.create = function create(properties) { - return new TallyResult(properties); - }; - - /** - * Encodes the specified TallyResult message. Does not implicitly {@link cosmos.gov.v1beta1.TallyResult.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.TallyResult - * @static - * @param {cosmos.gov.v1beta1.ITallyResult} message TallyResult message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TallyResult.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.yes != null && Object.hasOwnProperty.call(message, "yes")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.yes); - if (message.abstain != null && Object.hasOwnProperty.call(message, "abstain")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.abstain); - if (message.no != null && Object.hasOwnProperty.call(message, "no")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.no); - if (message.noWithVeto != null && Object.hasOwnProperty.call(message, "noWithVeto")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.noWithVeto); - return writer; - }; - - /** - * Encodes the specified TallyResult message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.TallyResult.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.TallyResult - * @static - * @param {cosmos.gov.v1beta1.ITallyResult} message TallyResult message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TallyResult.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TallyResult message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.TallyResult - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.TallyResult} TallyResult - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TallyResult.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.TallyResult(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.yes = reader.string(); - break; - case 2: - message.abstain = reader.string(); - break; - case 3: - message.no = reader.string(); - break; - case 4: - message.noWithVeto = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TallyResult message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.TallyResult - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.TallyResult} TallyResult - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TallyResult.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TallyResult message. - * @function verify - * @memberof cosmos.gov.v1beta1.TallyResult - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TallyResult.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.yes != null && message.hasOwnProperty("yes")) - if (!$util.isString(message.yes)) - return "yes: string expected"; - if (message.abstain != null && message.hasOwnProperty("abstain")) - if (!$util.isString(message.abstain)) - return "abstain: string expected"; - if (message.no != null && message.hasOwnProperty("no")) - if (!$util.isString(message.no)) - return "no: string expected"; - if (message.noWithVeto != null && message.hasOwnProperty("noWithVeto")) - if (!$util.isString(message.noWithVeto)) - return "noWithVeto: string expected"; - return null; - }; - - /** - * Creates a TallyResult message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.TallyResult - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.TallyResult} TallyResult - */ - TallyResult.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.TallyResult) - return object; - let message = new $root.cosmos.gov.v1beta1.TallyResult(); - if (object.yes != null) - message.yes = String(object.yes); - if (object.abstain != null) - message.abstain = String(object.abstain); - if (object.no != null) - message.no = String(object.no); - if (object.noWithVeto != null) - message.noWithVeto = String(object.noWithVeto); - return message; - }; - - /** - * Creates a plain object from a TallyResult message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.TallyResult - * @static - * @param {cosmos.gov.v1beta1.TallyResult} message TallyResult - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TallyResult.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.yes = ""; - object.abstain = ""; - object.no = ""; - object.noWithVeto = ""; - } - if (message.yes != null && message.hasOwnProperty("yes")) - object.yes = message.yes; - if (message.abstain != null && message.hasOwnProperty("abstain")) - object.abstain = message.abstain; - if (message.no != null && message.hasOwnProperty("no")) - object.no = message.no; - if (message.noWithVeto != null && message.hasOwnProperty("noWithVeto")) - object.noWithVeto = message.noWithVeto; - return object; - }; - - /** - * Converts this TallyResult to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.TallyResult - * @instance - * @returns {Object.} JSON object - */ - TallyResult.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return TallyResult; - })(v1beta1.TallyResult || {}); - - v1beta1.Vote = (function(Vote) { - - /** - * Properties of a Vote. - * @memberof cosmos.gov.v1beta1 - * @interface IVote - * @property {number|Long|null} [proposalId] Vote proposalId - * @property {string|null} [voter] Vote voter - * @property {cosmos.gov.v1beta1.VoteOption|null} [option] Vote option - */ - - /** - * Constructs a new Vote. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a Vote. - * @implements IVote - * @constructor - * @param {cosmos.gov.v1beta1.IVote=} [properties] Properties to set - */ - function Vote(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Vote proposalId. - * @member {number|Long} proposalId - * @memberof cosmos.gov.v1beta1.Vote - * @instance - */ - Vote.prototype.proposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Vote voter. - * @member {string} voter - * @memberof cosmos.gov.v1beta1.Vote - * @instance - */ - Vote.prototype.voter = ""; - - /** - * Vote option. - * @member {cosmos.gov.v1beta1.VoteOption} option - * @memberof cosmos.gov.v1beta1.Vote - * @instance - */ - Vote.prototype.option = 0; - - /** - * Creates a new Vote instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.Vote - * @static - * @param {cosmos.gov.v1beta1.IVote=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.Vote} Vote instance - */ - Vote.create = function create(properties) { - return new Vote(properties); - }; - - /** - * Encodes the specified Vote message. Does not implicitly {@link cosmos.gov.v1beta1.Vote.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.Vote - * @static - * @param {cosmos.gov.v1beta1.IVote} message Vote message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Vote.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalId != null && Object.hasOwnProperty.call(message, "proposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.proposalId); - if (message.voter != null && Object.hasOwnProperty.call(message, "voter")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.voter); - if (message.option != null && Object.hasOwnProperty.call(message, "option")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.option); - return writer; - }; - - /** - * Encodes the specified Vote message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.Vote.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.Vote - * @static - * @param {cosmos.gov.v1beta1.IVote} message Vote message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Vote.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Vote message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.Vote - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.Vote} Vote - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Vote.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.Vote(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalId = reader.uint64(); - break; - case 2: - message.voter = reader.string(); - break; - case 3: - message.option = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Vote message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.Vote - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.Vote} Vote - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Vote.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Vote message. - * @function verify - * @memberof cosmos.gov.v1beta1.Vote - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Vote.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (!$util.isInteger(message.proposalId) && !(message.proposalId && $util.isInteger(message.proposalId.low) && $util.isInteger(message.proposalId.high))) - return "proposalId: integer|Long expected"; - if (message.voter != null && message.hasOwnProperty("voter")) - if (!$util.isString(message.voter)) - return "voter: string expected"; - if (message.option != null && message.hasOwnProperty("option")) - switch (message.option) { - default: - return "option: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - break; - } - return null; - }; - - /** - * Creates a Vote message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.Vote - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.Vote} Vote - */ - Vote.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.Vote) - return object; - let message = new $root.cosmos.gov.v1beta1.Vote(); - if (object.proposalId != null) - if ($util.Long) - (message.proposalId = $util.Long.fromValue(object.proposalId)).unsigned = true; - else if (typeof object.proposalId === "string") - message.proposalId = parseInt(object.proposalId, 10); - else if (typeof object.proposalId === "number") - message.proposalId = object.proposalId; - else if (typeof object.proposalId === "object") - message.proposalId = new $util.LongBits(object.proposalId.low >>> 0, object.proposalId.high >>> 0).toNumber(true); - if (object.voter != null) - message.voter = String(object.voter); - switch (object.option) { - case "VOTE_OPTION_UNSPECIFIED": - case 0: - message.option = 0; - break; - case "VOTE_OPTION_YES": - case 1: - message.option = 1; - break; - case "VOTE_OPTION_ABSTAIN": - case 2: - message.option = 2; - break; - case "VOTE_OPTION_NO": - case 3: - message.option = 3; - break; - case "VOTE_OPTION_NO_WITH_VETO": - case 4: - message.option = 4; - break; - } - return message; - }; - - /** - * Creates a plain object from a Vote message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.Vote - * @static - * @param {cosmos.gov.v1beta1.Vote} message Vote - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Vote.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.proposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposalId = options.longs === String ? "0" : 0; - object.voter = ""; - object.option = options.enums === String ? "VOTE_OPTION_UNSPECIFIED" : 0; - } - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (typeof message.proposalId === "number") - object.proposalId = options.longs === String ? String(message.proposalId) : message.proposalId; - else - object.proposalId = options.longs === String ? $util.Long.prototype.toString.call(message.proposalId) : options.longs === Number ? new $util.LongBits(message.proposalId.low >>> 0, message.proposalId.high >>> 0).toNumber(true) : message.proposalId; - if (message.voter != null && message.hasOwnProperty("voter")) - object.voter = message.voter; - if (message.option != null && message.hasOwnProperty("option")) - object.option = options.enums === String ? $root.cosmos.gov.v1beta1.VoteOption[message.option] : message.option; - return object; - }; - - /** - * Converts this Vote to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.Vote - * @instance - * @returns {Object.} JSON object - */ - Vote.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Vote; - })(v1beta1.Vote || {}); - - v1beta1.DepositParams = (function(DepositParams) { - - /** - * Properties of a DepositParams. - * @memberof cosmos.gov.v1beta1 - * @interface IDepositParams - * @property {Array.|null} [minDeposit] DepositParams minDeposit - * @property {google.protobuf.IDuration|null} [maxDepositPeriod] DepositParams maxDepositPeriod - */ - - /** - * Constructs a new DepositParams. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a DepositParams. - * @implements IDepositParams - * @constructor - * @param {cosmos.gov.v1beta1.IDepositParams=} [properties] Properties to set - */ - function DepositParams(properties) { - this.minDeposit = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DepositParams minDeposit. - * @member {Array.} minDeposit - * @memberof cosmos.gov.v1beta1.DepositParams - * @instance - */ - DepositParams.prototype.minDeposit = $util.emptyArray; - - /** - * DepositParams maxDepositPeriod. - * @member {google.protobuf.IDuration|null|undefined} maxDepositPeriod - * @memberof cosmos.gov.v1beta1.DepositParams - * @instance - */ - DepositParams.prototype.maxDepositPeriod = null; - - /** - * Creates a new DepositParams instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.DepositParams - * @static - * @param {cosmos.gov.v1beta1.IDepositParams=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.DepositParams} DepositParams instance - */ - DepositParams.create = function create(properties) { - return new DepositParams(properties); - }; - - /** - * Encodes the specified DepositParams message. Does not implicitly {@link cosmos.gov.v1beta1.DepositParams.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.DepositParams - * @static - * @param {cosmos.gov.v1beta1.IDepositParams} message DepositParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DepositParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.minDeposit != null && message.minDeposit.length) - for (let i = 0; i < message.minDeposit.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.minDeposit[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxDepositPeriod != null && Object.hasOwnProperty.call(message, "maxDepositPeriod")) - $root.google.protobuf.Duration.encode(message.maxDepositPeriod, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified DepositParams message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.DepositParams.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.DepositParams - * @static - * @param {cosmos.gov.v1beta1.IDepositParams} message DepositParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DepositParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DepositParams message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.DepositParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.DepositParams} DepositParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DepositParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.DepositParams(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.minDeposit && message.minDeposit.length)) - message.minDeposit = []; - message.minDeposit.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - case 2: - message.maxDepositPeriod = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DepositParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.DepositParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.DepositParams} DepositParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DepositParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DepositParams message. - * @function verify - * @memberof cosmos.gov.v1beta1.DepositParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DepositParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.minDeposit != null && message.hasOwnProperty("minDeposit")) { - if (!Array.isArray(message.minDeposit)) - return "minDeposit: array expected"; - for (let i = 0; i < message.minDeposit.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.minDeposit[i]); - if (error) - return "minDeposit." + error; - } - } - if (message.maxDepositPeriod != null && message.hasOwnProperty("maxDepositPeriod")) { - let error = $root.google.protobuf.Duration.verify(message.maxDepositPeriod); - if (error) - return "maxDepositPeriod." + error; - } - return null; - }; - - /** - * Creates a DepositParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.DepositParams - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.DepositParams} DepositParams - */ - DepositParams.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.DepositParams) - return object; - let message = new $root.cosmos.gov.v1beta1.DepositParams(); - if (object.minDeposit) { - if (!Array.isArray(object.minDeposit)) - throw TypeError(".cosmos.gov.v1beta1.DepositParams.minDeposit: array expected"); - message.minDeposit = []; - for (let i = 0; i < object.minDeposit.length; ++i) { - if (typeof object.minDeposit[i] !== "object") - throw TypeError(".cosmos.gov.v1beta1.DepositParams.minDeposit: object expected"); - message.minDeposit[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.minDeposit[i]); - } - } - if (object.maxDepositPeriod != null) { - if (typeof object.maxDepositPeriod !== "object") - throw TypeError(".cosmos.gov.v1beta1.DepositParams.maxDepositPeriod: object expected"); - message.maxDepositPeriod = $root.google.protobuf.Duration.fromObject(object.maxDepositPeriod); - } - return message; - }; - - /** - * Creates a plain object from a DepositParams message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.DepositParams - * @static - * @param {cosmos.gov.v1beta1.DepositParams} message DepositParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DepositParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.minDeposit = []; - if (options.defaults) - object.maxDepositPeriod = null; - if (message.minDeposit && message.minDeposit.length) { - object.minDeposit = []; - for (let j = 0; j < message.minDeposit.length; ++j) - object.minDeposit[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.minDeposit[j], options); - } - if (message.maxDepositPeriod != null && message.hasOwnProperty("maxDepositPeriod")) - object.maxDepositPeriod = $root.google.protobuf.Duration.toObject(message.maxDepositPeriod, options); - return object; - }; - - /** - * Converts this DepositParams to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.DepositParams - * @instance - * @returns {Object.} JSON object - */ - DepositParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DepositParams; - })(v1beta1.DepositParams || {}); - - v1beta1.VotingParams = (function(VotingParams) { - - /** - * Properties of a VotingParams. - * @memberof cosmos.gov.v1beta1 - * @interface IVotingParams - * @property {google.protobuf.IDuration|null} [votingPeriod] VotingParams votingPeriod - */ - - /** - * Constructs a new VotingParams. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a VotingParams. - * @implements IVotingParams - * @constructor - * @param {cosmos.gov.v1beta1.IVotingParams=} [properties] Properties to set - */ - function VotingParams(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * VotingParams votingPeriod. - * @member {google.protobuf.IDuration|null|undefined} votingPeriod - * @memberof cosmos.gov.v1beta1.VotingParams - * @instance - */ - VotingParams.prototype.votingPeriod = null; - - /** - * Creates a new VotingParams instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.VotingParams - * @static - * @param {cosmos.gov.v1beta1.IVotingParams=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.VotingParams} VotingParams instance - */ - VotingParams.create = function create(properties) { - return new VotingParams(properties); - }; - - /** - * Encodes the specified VotingParams message. Does not implicitly {@link cosmos.gov.v1beta1.VotingParams.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.VotingParams - * @static - * @param {cosmos.gov.v1beta1.IVotingParams} message VotingParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VotingParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.votingPeriod != null && Object.hasOwnProperty.call(message, "votingPeriod")) - $root.google.protobuf.Duration.encode(message.votingPeriod, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified VotingParams message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.VotingParams.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.VotingParams - * @static - * @param {cosmos.gov.v1beta1.IVotingParams} message VotingParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VotingParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a VotingParams message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.VotingParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.VotingParams} VotingParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VotingParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.VotingParams(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.votingPeriod = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a VotingParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.VotingParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.VotingParams} VotingParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VotingParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a VotingParams message. - * @function verify - * @memberof cosmos.gov.v1beta1.VotingParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - VotingParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.votingPeriod != null && message.hasOwnProperty("votingPeriod")) { - let error = $root.google.protobuf.Duration.verify(message.votingPeriod); - if (error) - return "votingPeriod." + error; - } - return null; - }; - - /** - * Creates a VotingParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.VotingParams - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.VotingParams} VotingParams - */ - VotingParams.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.VotingParams) - return object; - let message = new $root.cosmos.gov.v1beta1.VotingParams(); - if (object.votingPeriod != null) { - if (typeof object.votingPeriod !== "object") - throw TypeError(".cosmos.gov.v1beta1.VotingParams.votingPeriod: object expected"); - message.votingPeriod = $root.google.protobuf.Duration.fromObject(object.votingPeriod); - } - return message; - }; - - /** - * Creates a plain object from a VotingParams message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.VotingParams - * @static - * @param {cosmos.gov.v1beta1.VotingParams} message VotingParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - VotingParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.votingPeriod = null; - if (message.votingPeriod != null && message.hasOwnProperty("votingPeriod")) - object.votingPeriod = $root.google.protobuf.Duration.toObject(message.votingPeriod, options); - return object; - }; - - /** - * Converts this VotingParams to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.VotingParams - * @instance - * @returns {Object.} JSON object - */ - VotingParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return VotingParams; - })(v1beta1.VotingParams || {}); - - v1beta1.TallyParams = (function(TallyParams) { - - /** - * Properties of a TallyParams. - * @memberof cosmos.gov.v1beta1 - * @interface ITallyParams - * @property {Uint8Array|null} [quorum] TallyParams quorum - * @property {Uint8Array|null} [threshold] TallyParams threshold - * @property {Uint8Array|null} [vetoThreshold] TallyParams vetoThreshold - */ - - /** - * Constructs a new TallyParams. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a TallyParams. - * @implements ITallyParams - * @constructor - * @param {cosmos.gov.v1beta1.ITallyParams=} [properties] Properties to set - */ - function TallyParams(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * TallyParams quorum. - * @member {Uint8Array} quorum - * @memberof cosmos.gov.v1beta1.TallyParams - * @instance - */ - TallyParams.prototype.quorum = $util.newBuffer([]); - - /** - * TallyParams threshold. - * @member {Uint8Array} threshold - * @memberof cosmos.gov.v1beta1.TallyParams - * @instance - */ - TallyParams.prototype.threshold = $util.newBuffer([]); - - /** - * TallyParams vetoThreshold. - * @member {Uint8Array} vetoThreshold - * @memberof cosmos.gov.v1beta1.TallyParams - * @instance - */ - TallyParams.prototype.vetoThreshold = $util.newBuffer([]); - - /** - * Creates a new TallyParams instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.TallyParams - * @static - * @param {cosmos.gov.v1beta1.ITallyParams=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.TallyParams} TallyParams instance - */ - TallyParams.create = function create(properties) { - return new TallyParams(properties); - }; - - /** - * Encodes the specified TallyParams message. Does not implicitly {@link cosmos.gov.v1beta1.TallyParams.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.TallyParams - * @static - * @param {cosmos.gov.v1beta1.ITallyParams} message TallyParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TallyParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.quorum != null && Object.hasOwnProperty.call(message, "quorum")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.quorum); - if (message.threshold != null && Object.hasOwnProperty.call(message, "threshold")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.threshold); - if (message.vetoThreshold != null && Object.hasOwnProperty.call(message, "vetoThreshold")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.vetoThreshold); - return writer; - }; - - /** - * Encodes the specified TallyParams message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.TallyParams.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.TallyParams - * @static - * @param {cosmos.gov.v1beta1.ITallyParams} message TallyParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TallyParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TallyParams message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.TallyParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.TallyParams} TallyParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TallyParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.TallyParams(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.quorum = reader.bytes(); - break; - case 2: - message.threshold = reader.bytes(); - break; - case 3: - message.vetoThreshold = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TallyParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.TallyParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.TallyParams} TallyParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TallyParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TallyParams message. - * @function verify - * @memberof cosmos.gov.v1beta1.TallyParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TallyParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.quorum != null && message.hasOwnProperty("quorum")) - if (!(message.quorum && typeof message.quorum.length === "number" || $util.isString(message.quorum))) - return "quorum: buffer expected"; - if (message.threshold != null && message.hasOwnProperty("threshold")) - if (!(message.threshold && typeof message.threshold.length === "number" || $util.isString(message.threshold))) - return "threshold: buffer expected"; - if (message.vetoThreshold != null && message.hasOwnProperty("vetoThreshold")) - if (!(message.vetoThreshold && typeof message.vetoThreshold.length === "number" || $util.isString(message.vetoThreshold))) - return "vetoThreshold: buffer expected"; - return null; - }; - - /** - * Creates a TallyParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.TallyParams - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.TallyParams} TallyParams - */ - TallyParams.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.TallyParams) - return object; - let message = new $root.cosmos.gov.v1beta1.TallyParams(); - if (object.quorum != null) - if (typeof object.quorum === "string") - $util.base64.decode(object.quorum, message.quorum = $util.newBuffer($util.base64.length(object.quorum)), 0); - else if (object.quorum.length) - message.quorum = object.quorum; - if (object.threshold != null) - if (typeof object.threshold === "string") - $util.base64.decode(object.threshold, message.threshold = $util.newBuffer($util.base64.length(object.threshold)), 0); - else if (object.threshold.length) - message.threshold = object.threshold; - if (object.vetoThreshold != null) - if (typeof object.vetoThreshold === "string") - $util.base64.decode(object.vetoThreshold, message.vetoThreshold = $util.newBuffer($util.base64.length(object.vetoThreshold)), 0); - else if (object.vetoThreshold.length) - message.vetoThreshold = object.vetoThreshold; - return message; - }; - - /** - * Creates a plain object from a TallyParams message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.TallyParams - * @static - * @param {cosmos.gov.v1beta1.TallyParams} message TallyParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TallyParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.quorum = ""; - else { - object.quorum = []; - if (options.bytes !== Array) - object.quorum = $util.newBuffer(object.quorum); - } - if (options.bytes === String) - object.threshold = ""; - else { - object.threshold = []; - if (options.bytes !== Array) - object.threshold = $util.newBuffer(object.threshold); - } - if (options.bytes === String) - object.vetoThreshold = ""; - else { - object.vetoThreshold = []; - if (options.bytes !== Array) - object.vetoThreshold = $util.newBuffer(object.vetoThreshold); - } - } - if (message.quorum != null && message.hasOwnProperty("quorum")) - object.quorum = options.bytes === String ? $util.base64.encode(message.quorum, 0, message.quorum.length) : options.bytes === Array ? Array.prototype.slice.call(message.quorum) : message.quorum; - if (message.threshold != null && message.hasOwnProperty("threshold")) - object.threshold = options.bytes === String ? $util.base64.encode(message.threshold, 0, message.threshold.length) : options.bytes === Array ? Array.prototype.slice.call(message.threshold) : message.threshold; - if (message.vetoThreshold != null && message.hasOwnProperty("vetoThreshold")) - object.vetoThreshold = options.bytes === String ? $util.base64.encode(message.vetoThreshold, 0, message.vetoThreshold.length) : options.bytes === Array ? Array.prototype.slice.call(message.vetoThreshold) : message.vetoThreshold; - return object; - }; - - /** - * Converts this TallyParams to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.TallyParams - * @instance - * @returns {Object.} JSON object - */ - TallyParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return TallyParams; - })(v1beta1.TallyParams || {}); - - v1beta1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof cosmos.gov.v1beta1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.gov.v1beta1.Query#proposal}. - * @memberof cosmos.gov.v1beta1.Query - * @typedef ProposalCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.gov.v1beta1.IQueryProposalResponse} [response] QueryProposalResponse - */ - - /** - * Calls Proposal. - * @function proposal - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryProposalRequest} request QueryProposalRequest message or plain object - * @param {cosmos.gov.v1beta1.Query.ProposalCallback} callback Node-style callback called with the error, if any, and QueryProposalResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.proposal = function proposal(request, callback) { - return this.rpcCall(proposal, $root.cosmos.gov.v1beta1.QueryProposalRequest, $root.cosmos.gov.v1beta1.QueryProposalResponse, request, callback); - }, "name", { value: "Proposal" }); - - /** - * Calls Proposal. - * @function proposal - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryProposalRequest} request QueryProposalRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.gov.v1beta1.Query#proposals}. - * @memberof cosmos.gov.v1beta1.Query - * @typedef ProposalsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.gov.v1beta1.IQueryProposalsResponse} [response] QueryProposalsResponse - */ - - /** - * Calls Proposals. - * @function proposals - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryProposalsRequest} request QueryProposalsRequest message or plain object - * @param {cosmos.gov.v1beta1.Query.ProposalsCallback} callback Node-style callback called with the error, if any, and QueryProposalsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.proposals = function proposals(request, callback) { - return this.rpcCall(proposals, $root.cosmos.gov.v1beta1.QueryProposalsRequest, $root.cosmos.gov.v1beta1.QueryProposalsResponse, request, callback); - }, "name", { value: "Proposals" }); - - /** - * Calls Proposals. - * @function proposals - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryProposalsRequest} request QueryProposalsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.gov.v1beta1.Query#vote}. - * @memberof cosmos.gov.v1beta1.Query - * @typedef VoteCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.gov.v1beta1.IQueryVoteResponse} [response] QueryVoteResponse - */ - - /** - * Calls Vote. - * @function vote - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryVoteRequest} request QueryVoteRequest message or plain object - * @param {cosmos.gov.v1beta1.Query.VoteCallback} callback Node-style callback called with the error, if any, and QueryVoteResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.vote = function vote(request, callback) { - return this.rpcCall(vote, $root.cosmos.gov.v1beta1.QueryVoteRequest, $root.cosmos.gov.v1beta1.QueryVoteResponse, request, callback); - }, "name", { value: "Vote" }); - - /** - * Calls Vote. - * @function vote - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryVoteRequest} request QueryVoteRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.gov.v1beta1.Query#votes}. - * @memberof cosmos.gov.v1beta1.Query - * @typedef VotesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.gov.v1beta1.IQueryVotesResponse} [response] QueryVotesResponse - */ - - /** - * Calls Votes. - * @function votes - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryVotesRequest} request QueryVotesRequest message or plain object - * @param {cosmos.gov.v1beta1.Query.VotesCallback} callback Node-style callback called with the error, if any, and QueryVotesResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.votes = function votes(request, callback) { - return this.rpcCall(votes, $root.cosmos.gov.v1beta1.QueryVotesRequest, $root.cosmos.gov.v1beta1.QueryVotesResponse, request, callback); - }, "name", { value: "Votes" }); - - /** - * Calls Votes. - * @function votes - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryVotesRequest} request QueryVotesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.gov.v1beta1.Query#params}. - * @memberof cosmos.gov.v1beta1.Query - * @typedef ParamsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.gov.v1beta1.IQueryParamsResponse} [response] QueryParamsResponse - */ - - /** - * Calls Params. - * @function params - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @param {cosmos.gov.v1beta1.Query.ParamsCallback} callback Node-style callback called with the error, if any, and QueryParamsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.params = function params(request, callback) { - return this.rpcCall(params, $root.cosmos.gov.v1beta1.QueryParamsRequest, $root.cosmos.gov.v1beta1.QueryParamsResponse, request, callback); - }, "name", { value: "Params" }); - - /** - * Calls Params. - * @function params - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.gov.v1beta1.Query#deposit}. - * @memberof cosmos.gov.v1beta1.Query - * @typedef DepositCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.gov.v1beta1.IQueryDepositResponse} [response] QueryDepositResponse - */ - - /** - * Calls Deposit. - * @function deposit - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryDepositRequest} request QueryDepositRequest message or plain object - * @param {cosmos.gov.v1beta1.Query.DepositCallback} callback Node-style callback called with the error, if any, and QueryDepositResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.deposit = function deposit(request, callback) { - return this.rpcCall(deposit, $root.cosmos.gov.v1beta1.QueryDepositRequest, $root.cosmos.gov.v1beta1.QueryDepositResponse, request, callback); - }, "name", { value: "Deposit" }); - - /** - * Calls Deposit. - * @function deposit - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryDepositRequest} request QueryDepositRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.gov.v1beta1.Query#deposits}. - * @memberof cosmos.gov.v1beta1.Query - * @typedef DepositsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.gov.v1beta1.IQueryDepositsResponse} [response] QueryDepositsResponse - */ - - /** - * Calls Deposits. - * @function deposits - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryDepositsRequest} request QueryDepositsRequest message or plain object - * @param {cosmos.gov.v1beta1.Query.DepositsCallback} callback Node-style callback called with the error, if any, and QueryDepositsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.deposits = function deposits(request, callback) { - return this.rpcCall(deposits, $root.cosmos.gov.v1beta1.QueryDepositsRequest, $root.cosmos.gov.v1beta1.QueryDepositsResponse, request, callback); - }, "name", { value: "Deposits" }); - - /** - * Calls Deposits. - * @function deposits - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryDepositsRequest} request QueryDepositsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.gov.v1beta1.Query#tallyResult}. - * @memberof cosmos.gov.v1beta1.Query - * @typedef TallyResultCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.gov.v1beta1.IQueryTallyResultResponse} [response] QueryTallyResultResponse - */ - - /** - * Calls TallyResult. - * @function tallyResult - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryTallyResultRequest} request QueryTallyResultRequest message or plain object - * @param {cosmos.gov.v1beta1.Query.TallyResultCallback} callback Node-style callback called with the error, if any, and QueryTallyResultResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.tallyResult = function tallyResult(request, callback) { - return this.rpcCall(tallyResult, $root.cosmos.gov.v1beta1.QueryTallyResultRequest, $root.cosmos.gov.v1beta1.QueryTallyResultResponse, request, callback); - }, "name", { value: "TallyResult" }); - - /** - * Calls TallyResult. - * @function tallyResult - * @memberof cosmos.gov.v1beta1.Query - * @instance - * @param {cosmos.gov.v1beta1.IQueryTallyResultRequest} request QueryTallyResultRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1beta1.Query || {}); - - v1beta1.QueryProposalRequest = (function(QueryProposalRequest) { - - /** - * Properties of a QueryProposalRequest. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryProposalRequest - * @property {number|Long|null} [proposalId] QueryProposalRequest proposalId - */ - - /** - * Constructs a new QueryProposalRequest. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryProposalRequest. - * @implements IQueryProposalRequest - * @constructor - * @param {cosmos.gov.v1beta1.IQueryProposalRequest=} [properties] Properties to set - */ - function QueryProposalRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryProposalRequest proposalId. - * @member {number|Long} proposalId - * @memberof cosmos.gov.v1beta1.QueryProposalRequest - * @instance - */ - QueryProposalRequest.prototype.proposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new QueryProposalRequest instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryProposalRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryProposalRequest=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryProposalRequest} QueryProposalRequest instance - */ - QueryProposalRequest.create = function create(properties) { - return new QueryProposalRequest(properties); - }; - - /** - * Encodes the specified QueryProposalRequest message. Does not implicitly {@link cosmos.gov.v1beta1.QueryProposalRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryProposalRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryProposalRequest} message QueryProposalRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryProposalRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalId != null && Object.hasOwnProperty.call(message, "proposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.proposalId); - return writer; - }; - - /** - * Encodes the specified QueryProposalRequest message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryProposalRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryProposalRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryProposalRequest} message QueryProposalRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryProposalRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryProposalRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryProposalRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryProposalRequest} QueryProposalRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryProposalRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryProposalRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalId = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryProposalRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryProposalRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryProposalRequest} QueryProposalRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryProposalRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryProposalRequest message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryProposalRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryProposalRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (!$util.isInteger(message.proposalId) && !(message.proposalId && $util.isInteger(message.proposalId.low) && $util.isInteger(message.proposalId.high))) - return "proposalId: integer|Long expected"; - return null; - }; - - /** - * Creates a QueryProposalRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryProposalRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryProposalRequest} QueryProposalRequest - */ - QueryProposalRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryProposalRequest) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryProposalRequest(); - if (object.proposalId != null) - if ($util.Long) - (message.proposalId = $util.Long.fromValue(object.proposalId)).unsigned = true; - else if (typeof object.proposalId === "string") - message.proposalId = parseInt(object.proposalId, 10); - else if (typeof object.proposalId === "number") - message.proposalId = object.proposalId; - else if (typeof object.proposalId === "object") - message.proposalId = new $util.LongBits(object.proposalId.low >>> 0, object.proposalId.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a QueryProposalRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryProposalRequest - * @static - * @param {cosmos.gov.v1beta1.QueryProposalRequest} message QueryProposalRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryProposalRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.proposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposalId = options.longs === String ? "0" : 0; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (typeof message.proposalId === "number") - object.proposalId = options.longs === String ? String(message.proposalId) : message.proposalId; - else - object.proposalId = options.longs === String ? $util.Long.prototype.toString.call(message.proposalId) : options.longs === Number ? new $util.LongBits(message.proposalId.low >>> 0, message.proposalId.high >>> 0).toNumber(true) : message.proposalId; - return object; - }; - - /** - * Converts this QueryProposalRequest to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryProposalRequest - * @instance - * @returns {Object.} JSON object - */ - QueryProposalRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryProposalRequest; - })(v1beta1.QueryProposalRequest || {}); - - v1beta1.QueryProposalResponse = (function(QueryProposalResponse) { - - /** - * Properties of a QueryProposalResponse. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryProposalResponse - * @property {cosmos.gov.v1beta1.IProposal|null} [proposal] QueryProposalResponse proposal - */ - - /** - * Constructs a new QueryProposalResponse. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryProposalResponse. - * @implements IQueryProposalResponse - * @constructor - * @param {cosmos.gov.v1beta1.IQueryProposalResponse=} [properties] Properties to set - */ - function QueryProposalResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryProposalResponse proposal. - * @member {cosmos.gov.v1beta1.IProposal|null|undefined} proposal - * @memberof cosmos.gov.v1beta1.QueryProposalResponse - * @instance - */ - QueryProposalResponse.prototype.proposal = null; - - /** - * Creates a new QueryProposalResponse instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryProposalResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryProposalResponse=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryProposalResponse} QueryProposalResponse instance - */ - QueryProposalResponse.create = function create(properties) { - return new QueryProposalResponse(properties); - }; - - /** - * Encodes the specified QueryProposalResponse message. Does not implicitly {@link cosmos.gov.v1beta1.QueryProposalResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryProposalResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryProposalResponse} message QueryProposalResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryProposalResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposal != null && Object.hasOwnProperty.call(message, "proposal")) - $root.cosmos.gov.v1beta1.Proposal.encode(message.proposal, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryProposalResponse message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryProposalResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryProposalResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryProposalResponse} message QueryProposalResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryProposalResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryProposalResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryProposalResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryProposalResponse} QueryProposalResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryProposalResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryProposalResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposal = $root.cosmos.gov.v1beta1.Proposal.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryProposalResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryProposalResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryProposalResponse} QueryProposalResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryProposalResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryProposalResponse message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryProposalResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryProposalResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposal != null && message.hasOwnProperty("proposal")) { - let error = $root.cosmos.gov.v1beta1.Proposal.verify(message.proposal); - if (error) - return "proposal." + error; - } - return null; - }; - - /** - * Creates a QueryProposalResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryProposalResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryProposalResponse} QueryProposalResponse - */ - QueryProposalResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryProposalResponse) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryProposalResponse(); - if (object.proposal != null) { - if (typeof object.proposal !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryProposalResponse.proposal: object expected"); - message.proposal = $root.cosmos.gov.v1beta1.Proposal.fromObject(object.proposal); - } - return message; - }; - - /** - * Creates a plain object from a QueryProposalResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryProposalResponse - * @static - * @param {cosmos.gov.v1beta1.QueryProposalResponse} message QueryProposalResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryProposalResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.proposal = null; - if (message.proposal != null && message.hasOwnProperty("proposal")) - object.proposal = $root.cosmos.gov.v1beta1.Proposal.toObject(message.proposal, options); - return object; - }; - - /** - * Converts this QueryProposalResponse to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryProposalResponse - * @instance - * @returns {Object.} JSON object - */ - QueryProposalResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryProposalResponse; - })(v1beta1.QueryProposalResponse || {}); - - v1beta1.QueryProposalsRequest = (function(QueryProposalsRequest) { - - /** - * Properties of a QueryProposalsRequest. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryProposalsRequest - * @property {cosmos.gov.v1beta1.ProposalStatus|null} [proposalStatus] QueryProposalsRequest proposalStatus - * @property {string|null} [voter] QueryProposalsRequest voter - * @property {string|null} [depositor] QueryProposalsRequest depositor - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryProposalsRequest pagination - */ - - /** - * Constructs a new QueryProposalsRequest. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryProposalsRequest. - * @implements IQueryProposalsRequest - * @constructor - * @param {cosmos.gov.v1beta1.IQueryProposalsRequest=} [properties] Properties to set - */ - function QueryProposalsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryProposalsRequest proposalStatus. - * @member {cosmos.gov.v1beta1.ProposalStatus} proposalStatus - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @instance - */ - QueryProposalsRequest.prototype.proposalStatus = 0; - - /** - * QueryProposalsRequest voter. - * @member {string} voter - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @instance - */ - QueryProposalsRequest.prototype.voter = ""; - - /** - * QueryProposalsRequest depositor. - * @member {string} depositor - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @instance - */ - QueryProposalsRequest.prototype.depositor = ""; - - /** - * QueryProposalsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @instance - */ - QueryProposalsRequest.prototype.pagination = null; - - /** - * Creates a new QueryProposalsRequest instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryProposalsRequest=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryProposalsRequest} QueryProposalsRequest instance - */ - QueryProposalsRequest.create = function create(properties) { - return new QueryProposalsRequest(properties); - }; - - /** - * Encodes the specified QueryProposalsRequest message. Does not implicitly {@link cosmos.gov.v1beta1.QueryProposalsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryProposalsRequest} message QueryProposalsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryProposalsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalStatus != null && Object.hasOwnProperty.call(message, "proposalStatus")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.proposalStatus); - if (message.voter != null && Object.hasOwnProperty.call(message, "voter")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.voter); - if (message.depositor != null && Object.hasOwnProperty.call(message, "depositor")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.depositor); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryProposalsRequest message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryProposalsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryProposalsRequest} message QueryProposalsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryProposalsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryProposalsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryProposalsRequest} QueryProposalsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryProposalsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryProposalsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalStatus = reader.int32(); - break; - case 2: - message.voter = reader.string(); - break; - case 3: - message.depositor = reader.string(); - break; - case 4: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryProposalsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryProposalsRequest} QueryProposalsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryProposalsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryProposalsRequest message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryProposalsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalStatus != null && message.hasOwnProperty("proposalStatus")) - switch (message.proposalStatus) { - default: - return "proposalStatus: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.voter != null && message.hasOwnProperty("voter")) - if (!$util.isString(message.voter)) - return "voter: string expected"; - if (message.depositor != null && message.hasOwnProperty("depositor")) - if (!$util.isString(message.depositor)) - return "depositor: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryProposalsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryProposalsRequest} QueryProposalsRequest - */ - QueryProposalsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryProposalsRequest) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryProposalsRequest(); - switch (object.proposalStatus) { - case "PROPOSAL_STATUS_UNSPECIFIED": - case 0: - message.proposalStatus = 0; - break; - case "PROPOSAL_STATUS_DEPOSIT_PERIOD": - case 1: - message.proposalStatus = 1; - break; - case "PROPOSAL_STATUS_VOTING_PERIOD": - case 2: - message.proposalStatus = 2; - break; - case "PROPOSAL_STATUS_PASSED": - case 3: - message.proposalStatus = 3; - break; - case "PROPOSAL_STATUS_REJECTED": - case 4: - message.proposalStatus = 4; - break; - case "PROPOSAL_STATUS_FAILED": - case 5: - message.proposalStatus = 5; - break; - } - if (object.voter != null) - message.voter = String(object.voter); - if (object.depositor != null) - message.depositor = String(object.depositor); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryProposalsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryProposalsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @static - * @param {cosmos.gov.v1beta1.QueryProposalsRequest} message QueryProposalsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryProposalsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.proposalStatus = options.enums === String ? "PROPOSAL_STATUS_UNSPECIFIED" : 0; - object.voter = ""; - object.depositor = ""; - object.pagination = null; - } - if (message.proposalStatus != null && message.hasOwnProperty("proposalStatus")) - object.proposalStatus = options.enums === String ? $root.cosmos.gov.v1beta1.ProposalStatus[message.proposalStatus] : message.proposalStatus; - if (message.voter != null && message.hasOwnProperty("voter")) - object.voter = message.voter; - if (message.depositor != null && message.hasOwnProperty("depositor")) - object.depositor = message.depositor; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryProposalsRequest to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryProposalsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryProposalsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryProposalsRequest; - })(v1beta1.QueryProposalsRequest || {}); - - v1beta1.QueryProposalsResponse = (function(QueryProposalsResponse) { - - /** - * Properties of a QueryProposalsResponse. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryProposalsResponse - * @property {Array.|null} [proposals] QueryProposalsResponse proposals - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryProposalsResponse pagination - */ - - /** - * Constructs a new QueryProposalsResponse. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryProposalsResponse. - * @implements IQueryProposalsResponse - * @constructor - * @param {cosmos.gov.v1beta1.IQueryProposalsResponse=} [properties] Properties to set - */ - function QueryProposalsResponse(properties) { - this.proposals = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryProposalsResponse proposals. - * @member {Array.} proposals - * @memberof cosmos.gov.v1beta1.QueryProposalsResponse - * @instance - */ - QueryProposalsResponse.prototype.proposals = $util.emptyArray; - - /** - * QueryProposalsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.gov.v1beta1.QueryProposalsResponse - * @instance - */ - QueryProposalsResponse.prototype.pagination = null; - - /** - * Creates a new QueryProposalsResponse instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryProposalsResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryProposalsResponse=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryProposalsResponse} QueryProposalsResponse instance - */ - QueryProposalsResponse.create = function create(properties) { - return new QueryProposalsResponse(properties); - }; - - /** - * Encodes the specified QueryProposalsResponse message. Does not implicitly {@link cosmos.gov.v1beta1.QueryProposalsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryProposalsResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryProposalsResponse} message QueryProposalsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryProposalsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposals != null && message.proposals.length) - for (let i = 0; i < message.proposals.length; ++i) - $root.cosmos.gov.v1beta1.Proposal.encode(message.proposals[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryProposalsResponse message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryProposalsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryProposalsResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryProposalsResponse} message QueryProposalsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryProposalsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryProposalsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryProposalsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryProposalsResponse} QueryProposalsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryProposalsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryProposalsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.proposals && message.proposals.length)) - message.proposals = []; - message.proposals.push($root.cosmos.gov.v1beta1.Proposal.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryProposalsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryProposalsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryProposalsResponse} QueryProposalsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryProposalsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryProposalsResponse message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryProposalsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryProposalsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposals != null && message.hasOwnProperty("proposals")) { - if (!Array.isArray(message.proposals)) - return "proposals: array expected"; - for (let i = 0; i < message.proposals.length; ++i) { - let error = $root.cosmos.gov.v1beta1.Proposal.verify(message.proposals[i]); - if (error) - return "proposals." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryProposalsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryProposalsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryProposalsResponse} QueryProposalsResponse - */ - QueryProposalsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryProposalsResponse) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryProposalsResponse(); - if (object.proposals) { - if (!Array.isArray(object.proposals)) - throw TypeError(".cosmos.gov.v1beta1.QueryProposalsResponse.proposals: array expected"); - message.proposals = []; - for (let i = 0; i < object.proposals.length; ++i) { - if (typeof object.proposals[i] !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryProposalsResponse.proposals: object expected"); - message.proposals[i] = $root.cosmos.gov.v1beta1.Proposal.fromObject(object.proposals[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryProposalsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryProposalsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryProposalsResponse - * @static - * @param {cosmos.gov.v1beta1.QueryProposalsResponse} message QueryProposalsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryProposalsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.proposals = []; - if (options.defaults) - object.pagination = null; - if (message.proposals && message.proposals.length) { - object.proposals = []; - for (let j = 0; j < message.proposals.length; ++j) - object.proposals[j] = $root.cosmos.gov.v1beta1.Proposal.toObject(message.proposals[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryProposalsResponse to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryProposalsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryProposalsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryProposalsResponse; - })(v1beta1.QueryProposalsResponse || {}); - - v1beta1.QueryVoteRequest = (function(QueryVoteRequest) { - - /** - * Properties of a QueryVoteRequest. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryVoteRequest - * @property {number|Long|null} [proposalId] QueryVoteRequest proposalId - * @property {string|null} [voter] QueryVoteRequest voter - */ - - /** - * Constructs a new QueryVoteRequest. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryVoteRequest. - * @implements IQueryVoteRequest - * @constructor - * @param {cosmos.gov.v1beta1.IQueryVoteRequest=} [properties] Properties to set - */ - function QueryVoteRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryVoteRequest proposalId. - * @member {number|Long} proposalId - * @memberof cosmos.gov.v1beta1.QueryVoteRequest - * @instance - */ - QueryVoteRequest.prototype.proposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * QueryVoteRequest voter. - * @member {string} voter - * @memberof cosmos.gov.v1beta1.QueryVoteRequest - * @instance - */ - QueryVoteRequest.prototype.voter = ""; - - /** - * Creates a new QueryVoteRequest instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryVoteRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryVoteRequest=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryVoteRequest} QueryVoteRequest instance - */ - QueryVoteRequest.create = function create(properties) { - return new QueryVoteRequest(properties); - }; - - /** - * Encodes the specified QueryVoteRequest message. Does not implicitly {@link cosmos.gov.v1beta1.QueryVoteRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryVoteRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryVoteRequest} message QueryVoteRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryVoteRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalId != null && Object.hasOwnProperty.call(message, "proposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.proposalId); - if (message.voter != null && Object.hasOwnProperty.call(message, "voter")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.voter); - return writer; - }; - - /** - * Encodes the specified QueryVoteRequest message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryVoteRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryVoteRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryVoteRequest} message QueryVoteRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryVoteRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryVoteRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryVoteRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryVoteRequest} QueryVoteRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryVoteRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryVoteRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalId = reader.uint64(); - break; - case 2: - message.voter = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryVoteRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryVoteRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryVoteRequest} QueryVoteRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryVoteRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryVoteRequest message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryVoteRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryVoteRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (!$util.isInteger(message.proposalId) && !(message.proposalId && $util.isInteger(message.proposalId.low) && $util.isInteger(message.proposalId.high))) - return "proposalId: integer|Long expected"; - if (message.voter != null && message.hasOwnProperty("voter")) - if (!$util.isString(message.voter)) - return "voter: string expected"; - return null; - }; - - /** - * Creates a QueryVoteRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryVoteRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryVoteRequest} QueryVoteRequest - */ - QueryVoteRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryVoteRequest) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryVoteRequest(); - if (object.proposalId != null) - if ($util.Long) - (message.proposalId = $util.Long.fromValue(object.proposalId)).unsigned = true; - else if (typeof object.proposalId === "string") - message.proposalId = parseInt(object.proposalId, 10); - else if (typeof object.proposalId === "number") - message.proposalId = object.proposalId; - else if (typeof object.proposalId === "object") - message.proposalId = new $util.LongBits(object.proposalId.low >>> 0, object.proposalId.high >>> 0).toNumber(true); - if (object.voter != null) - message.voter = String(object.voter); - return message; - }; - - /** - * Creates a plain object from a QueryVoteRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryVoteRequest - * @static - * @param {cosmos.gov.v1beta1.QueryVoteRequest} message QueryVoteRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryVoteRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.proposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposalId = options.longs === String ? "0" : 0; - object.voter = ""; - } - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (typeof message.proposalId === "number") - object.proposalId = options.longs === String ? String(message.proposalId) : message.proposalId; - else - object.proposalId = options.longs === String ? $util.Long.prototype.toString.call(message.proposalId) : options.longs === Number ? new $util.LongBits(message.proposalId.low >>> 0, message.proposalId.high >>> 0).toNumber(true) : message.proposalId; - if (message.voter != null && message.hasOwnProperty("voter")) - object.voter = message.voter; - return object; - }; - - /** - * Converts this QueryVoteRequest to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryVoteRequest - * @instance - * @returns {Object.} JSON object - */ - QueryVoteRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryVoteRequest; - })(v1beta1.QueryVoteRequest || {}); - - v1beta1.QueryVoteResponse = (function(QueryVoteResponse) { - - /** - * Properties of a QueryVoteResponse. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryVoteResponse - * @property {cosmos.gov.v1beta1.IVote|null} [vote] QueryVoteResponse vote - */ - - /** - * Constructs a new QueryVoteResponse. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryVoteResponse. - * @implements IQueryVoteResponse - * @constructor - * @param {cosmos.gov.v1beta1.IQueryVoteResponse=} [properties] Properties to set - */ - function QueryVoteResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryVoteResponse vote. - * @member {cosmos.gov.v1beta1.IVote|null|undefined} vote - * @memberof cosmos.gov.v1beta1.QueryVoteResponse - * @instance - */ - QueryVoteResponse.prototype.vote = null; - - /** - * Creates a new QueryVoteResponse instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryVoteResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryVoteResponse=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryVoteResponse} QueryVoteResponse instance - */ - QueryVoteResponse.create = function create(properties) { - return new QueryVoteResponse(properties); - }; - - /** - * Encodes the specified QueryVoteResponse message. Does not implicitly {@link cosmos.gov.v1beta1.QueryVoteResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryVoteResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryVoteResponse} message QueryVoteResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryVoteResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.vote != null && Object.hasOwnProperty.call(message, "vote")) - $root.cosmos.gov.v1beta1.Vote.encode(message.vote, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryVoteResponse message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryVoteResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryVoteResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryVoteResponse} message QueryVoteResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryVoteResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryVoteResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryVoteResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryVoteResponse} QueryVoteResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryVoteResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryVoteResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.vote = $root.cosmos.gov.v1beta1.Vote.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryVoteResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryVoteResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryVoteResponse} QueryVoteResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryVoteResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryVoteResponse message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryVoteResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryVoteResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.vote != null && message.hasOwnProperty("vote")) { - let error = $root.cosmos.gov.v1beta1.Vote.verify(message.vote); - if (error) - return "vote." + error; - } - return null; - }; - - /** - * Creates a QueryVoteResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryVoteResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryVoteResponse} QueryVoteResponse - */ - QueryVoteResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryVoteResponse) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryVoteResponse(); - if (object.vote != null) { - if (typeof object.vote !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryVoteResponse.vote: object expected"); - message.vote = $root.cosmos.gov.v1beta1.Vote.fromObject(object.vote); - } - return message; - }; - - /** - * Creates a plain object from a QueryVoteResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryVoteResponse - * @static - * @param {cosmos.gov.v1beta1.QueryVoteResponse} message QueryVoteResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryVoteResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.vote = null; - if (message.vote != null && message.hasOwnProperty("vote")) - object.vote = $root.cosmos.gov.v1beta1.Vote.toObject(message.vote, options); - return object; - }; - - /** - * Converts this QueryVoteResponse to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryVoteResponse - * @instance - * @returns {Object.} JSON object - */ - QueryVoteResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryVoteResponse; - })(v1beta1.QueryVoteResponse || {}); - - v1beta1.QueryVotesRequest = (function(QueryVotesRequest) { - - /** - * Properties of a QueryVotesRequest. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryVotesRequest - * @property {number|Long|null} [proposalId] QueryVotesRequest proposalId - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryVotesRequest pagination - */ - - /** - * Constructs a new QueryVotesRequest. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryVotesRequest. - * @implements IQueryVotesRequest - * @constructor - * @param {cosmos.gov.v1beta1.IQueryVotesRequest=} [properties] Properties to set - */ - function QueryVotesRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryVotesRequest proposalId. - * @member {number|Long} proposalId - * @memberof cosmos.gov.v1beta1.QueryVotesRequest - * @instance - */ - QueryVotesRequest.prototype.proposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * QueryVotesRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.gov.v1beta1.QueryVotesRequest - * @instance - */ - QueryVotesRequest.prototype.pagination = null; - - /** - * Creates a new QueryVotesRequest instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryVotesRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryVotesRequest=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryVotesRequest} QueryVotesRequest instance - */ - QueryVotesRequest.create = function create(properties) { - return new QueryVotesRequest(properties); - }; - - /** - * Encodes the specified QueryVotesRequest message. Does not implicitly {@link cosmos.gov.v1beta1.QueryVotesRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryVotesRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryVotesRequest} message QueryVotesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryVotesRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalId != null && Object.hasOwnProperty.call(message, "proposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.proposalId); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryVotesRequest message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryVotesRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryVotesRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryVotesRequest} message QueryVotesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryVotesRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryVotesRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryVotesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryVotesRequest} QueryVotesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryVotesRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryVotesRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalId = reader.uint64(); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryVotesRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryVotesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryVotesRequest} QueryVotesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryVotesRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryVotesRequest message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryVotesRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryVotesRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (!$util.isInteger(message.proposalId) && !(message.proposalId && $util.isInteger(message.proposalId.low) && $util.isInteger(message.proposalId.high))) - return "proposalId: integer|Long expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryVotesRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryVotesRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryVotesRequest} QueryVotesRequest - */ - QueryVotesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryVotesRequest) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryVotesRequest(); - if (object.proposalId != null) - if ($util.Long) - (message.proposalId = $util.Long.fromValue(object.proposalId)).unsigned = true; - else if (typeof object.proposalId === "string") - message.proposalId = parseInt(object.proposalId, 10); - else if (typeof object.proposalId === "number") - message.proposalId = object.proposalId; - else if (typeof object.proposalId === "object") - message.proposalId = new $util.LongBits(object.proposalId.low >>> 0, object.proposalId.high >>> 0).toNumber(true); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryVotesRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryVotesRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryVotesRequest - * @static - * @param {cosmos.gov.v1beta1.QueryVotesRequest} message QueryVotesRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryVotesRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.proposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposalId = options.longs === String ? "0" : 0; - object.pagination = null; - } - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (typeof message.proposalId === "number") - object.proposalId = options.longs === String ? String(message.proposalId) : message.proposalId; - else - object.proposalId = options.longs === String ? $util.Long.prototype.toString.call(message.proposalId) : options.longs === Number ? new $util.LongBits(message.proposalId.low >>> 0, message.proposalId.high >>> 0).toNumber(true) : message.proposalId; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryVotesRequest to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryVotesRequest - * @instance - * @returns {Object.} JSON object - */ - QueryVotesRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryVotesRequest; - })(v1beta1.QueryVotesRequest || {}); - - v1beta1.QueryVotesResponse = (function(QueryVotesResponse) { - - /** - * Properties of a QueryVotesResponse. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryVotesResponse - * @property {Array.|null} [votes] QueryVotesResponse votes - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryVotesResponse pagination - */ - - /** - * Constructs a new QueryVotesResponse. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryVotesResponse. - * @implements IQueryVotesResponse - * @constructor - * @param {cosmos.gov.v1beta1.IQueryVotesResponse=} [properties] Properties to set - */ - function QueryVotesResponse(properties) { - this.votes = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryVotesResponse votes. - * @member {Array.} votes - * @memberof cosmos.gov.v1beta1.QueryVotesResponse - * @instance - */ - QueryVotesResponse.prototype.votes = $util.emptyArray; - - /** - * QueryVotesResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.gov.v1beta1.QueryVotesResponse - * @instance - */ - QueryVotesResponse.prototype.pagination = null; - - /** - * Creates a new QueryVotesResponse instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryVotesResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryVotesResponse=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryVotesResponse} QueryVotesResponse instance - */ - QueryVotesResponse.create = function create(properties) { - return new QueryVotesResponse(properties); - }; - - /** - * Encodes the specified QueryVotesResponse message. Does not implicitly {@link cosmos.gov.v1beta1.QueryVotesResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryVotesResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryVotesResponse} message QueryVotesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryVotesResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.votes != null && message.votes.length) - for (let i = 0; i < message.votes.length; ++i) - $root.cosmos.gov.v1beta1.Vote.encode(message.votes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryVotesResponse message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryVotesResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryVotesResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryVotesResponse} message QueryVotesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryVotesResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryVotesResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryVotesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryVotesResponse} QueryVotesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryVotesResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryVotesResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.votes && message.votes.length)) - message.votes = []; - message.votes.push($root.cosmos.gov.v1beta1.Vote.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryVotesResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryVotesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryVotesResponse} QueryVotesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryVotesResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryVotesResponse message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryVotesResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryVotesResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.votes != null && message.hasOwnProperty("votes")) { - if (!Array.isArray(message.votes)) - return "votes: array expected"; - for (let i = 0; i < message.votes.length; ++i) { - let error = $root.cosmos.gov.v1beta1.Vote.verify(message.votes[i]); - if (error) - return "votes." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryVotesResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryVotesResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryVotesResponse} QueryVotesResponse - */ - QueryVotesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryVotesResponse) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryVotesResponse(); - if (object.votes) { - if (!Array.isArray(object.votes)) - throw TypeError(".cosmos.gov.v1beta1.QueryVotesResponse.votes: array expected"); - message.votes = []; - for (let i = 0; i < object.votes.length; ++i) { - if (typeof object.votes[i] !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryVotesResponse.votes: object expected"); - message.votes[i] = $root.cosmos.gov.v1beta1.Vote.fromObject(object.votes[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryVotesResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryVotesResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryVotesResponse - * @static - * @param {cosmos.gov.v1beta1.QueryVotesResponse} message QueryVotesResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryVotesResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.votes = []; - if (options.defaults) - object.pagination = null; - if (message.votes && message.votes.length) { - object.votes = []; - for (let j = 0; j < message.votes.length; ++j) - object.votes[j] = $root.cosmos.gov.v1beta1.Vote.toObject(message.votes[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryVotesResponse to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryVotesResponse - * @instance - * @returns {Object.} JSON object - */ - QueryVotesResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryVotesResponse; - })(v1beta1.QueryVotesResponse || {}); - - v1beta1.QueryParamsRequest = (function(QueryParamsRequest) { - - /** - * Properties of a QueryParamsRequest. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryParamsRequest - * @property {string|null} [paramsType] QueryParamsRequest paramsType - */ - - /** - * Constructs a new QueryParamsRequest. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryParamsRequest. - * @implements IQueryParamsRequest - * @constructor - * @param {cosmos.gov.v1beta1.IQueryParamsRequest=} [properties] Properties to set - */ - function QueryParamsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryParamsRequest paramsType. - * @member {string} paramsType - * @memberof cosmos.gov.v1beta1.QueryParamsRequest - * @instance - */ - QueryParamsRequest.prototype.paramsType = ""; - - /** - * Creates a new QueryParamsRequest instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryParamsRequest=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryParamsRequest} QueryParamsRequest instance - */ - QueryParamsRequest.create = function create(properties) { - return new QueryParamsRequest(properties); - }; - - /** - * Encodes the specified QueryParamsRequest message. Does not implicitly {@link cosmos.gov.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.paramsType != null && Object.hasOwnProperty.call(message, "paramsType")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.paramsType); - return writer; - }; - - /** - * Encodes the specified QueryParamsRequest message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryParamsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.paramsType = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsRequest message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryParamsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.paramsType != null && message.hasOwnProperty("paramsType")) - if (!$util.isString(message.paramsType)) - return "paramsType: string expected"; - return null; - }; - - /** - * Creates a QueryParamsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryParamsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryParamsRequest} QueryParamsRequest - */ - QueryParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryParamsRequest) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryParamsRequest(); - if (object.paramsType != null) - message.paramsType = String(object.paramsType); - return message; - }; - - /** - * Creates a plain object from a QueryParamsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.gov.v1beta1.QueryParamsRequest} message QueryParamsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.paramsType = ""; - if (message.paramsType != null && message.hasOwnProperty("paramsType")) - object.paramsType = message.paramsType; - return object; - }; - - /** - * Converts this QueryParamsRequest to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryParamsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryParamsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsRequest; - })(v1beta1.QueryParamsRequest || {}); - - v1beta1.QueryParamsResponse = (function(QueryParamsResponse) { - - /** - * Properties of a QueryParamsResponse. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryParamsResponse - * @property {cosmos.gov.v1beta1.IVotingParams|null} [votingParams] QueryParamsResponse votingParams - * @property {cosmos.gov.v1beta1.IDepositParams|null} [depositParams] QueryParamsResponse depositParams - * @property {cosmos.gov.v1beta1.ITallyParams|null} [tallyParams] QueryParamsResponse tallyParams - */ - - /** - * Constructs a new QueryParamsResponse. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryParamsResponse. - * @implements IQueryParamsResponse - * @constructor - * @param {cosmos.gov.v1beta1.IQueryParamsResponse=} [properties] Properties to set - */ - function QueryParamsResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryParamsResponse votingParams. - * @member {cosmos.gov.v1beta1.IVotingParams|null|undefined} votingParams - * @memberof cosmos.gov.v1beta1.QueryParamsResponse - * @instance - */ - QueryParamsResponse.prototype.votingParams = null; - - /** - * QueryParamsResponse depositParams. - * @member {cosmos.gov.v1beta1.IDepositParams|null|undefined} depositParams - * @memberof cosmos.gov.v1beta1.QueryParamsResponse - * @instance - */ - QueryParamsResponse.prototype.depositParams = null; - - /** - * QueryParamsResponse tallyParams. - * @member {cosmos.gov.v1beta1.ITallyParams|null|undefined} tallyParams - * @memberof cosmos.gov.v1beta1.QueryParamsResponse - * @instance - */ - QueryParamsResponse.prototype.tallyParams = null; - - /** - * Creates a new QueryParamsResponse instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryParamsResponse=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryParamsResponse} QueryParamsResponse instance - */ - QueryParamsResponse.create = function create(properties) { - return new QueryParamsResponse(properties); - }; - - /** - * Encodes the specified QueryParamsResponse message. Does not implicitly {@link cosmos.gov.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.votingParams != null && Object.hasOwnProperty.call(message, "votingParams")) - $root.cosmos.gov.v1beta1.VotingParams.encode(message.votingParams, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.depositParams != null && Object.hasOwnProperty.call(message, "depositParams")) - $root.cosmos.gov.v1beta1.DepositParams.encode(message.depositParams, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.tallyParams != null && Object.hasOwnProperty.call(message, "tallyParams")) - $root.cosmos.gov.v1beta1.TallyParams.encode(message.tallyParams, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryParamsResponse message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryParamsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.votingParams = $root.cosmos.gov.v1beta1.VotingParams.decode(reader, reader.uint32()); - break; - case 2: - message.depositParams = $root.cosmos.gov.v1beta1.DepositParams.decode(reader, reader.uint32()); - break; - case 3: - message.tallyParams = $root.cosmos.gov.v1beta1.TallyParams.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsResponse message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryParamsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.votingParams != null && message.hasOwnProperty("votingParams")) { - let error = $root.cosmos.gov.v1beta1.VotingParams.verify(message.votingParams); - if (error) - return "votingParams." + error; - } - if (message.depositParams != null && message.hasOwnProperty("depositParams")) { - let error = $root.cosmos.gov.v1beta1.DepositParams.verify(message.depositParams); - if (error) - return "depositParams." + error; - } - if (message.tallyParams != null && message.hasOwnProperty("tallyParams")) { - let error = $root.cosmos.gov.v1beta1.TallyParams.verify(message.tallyParams); - if (error) - return "tallyParams." + error; - } - return null; - }; - - /** - * Creates a QueryParamsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryParamsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryParamsResponse} QueryParamsResponse - */ - QueryParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryParamsResponse) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryParamsResponse(); - if (object.votingParams != null) { - if (typeof object.votingParams !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryParamsResponse.votingParams: object expected"); - message.votingParams = $root.cosmos.gov.v1beta1.VotingParams.fromObject(object.votingParams); - } - if (object.depositParams != null) { - if (typeof object.depositParams !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryParamsResponse.depositParams: object expected"); - message.depositParams = $root.cosmos.gov.v1beta1.DepositParams.fromObject(object.depositParams); - } - if (object.tallyParams != null) { - if (typeof object.tallyParams !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryParamsResponse.tallyParams: object expected"); - message.tallyParams = $root.cosmos.gov.v1beta1.TallyParams.fromObject(object.tallyParams); - } - return message; - }; - - /** - * Creates a plain object from a QueryParamsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.gov.v1beta1.QueryParamsResponse} message QueryParamsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.votingParams = null; - object.depositParams = null; - object.tallyParams = null; - } - if (message.votingParams != null && message.hasOwnProperty("votingParams")) - object.votingParams = $root.cosmos.gov.v1beta1.VotingParams.toObject(message.votingParams, options); - if (message.depositParams != null && message.hasOwnProperty("depositParams")) - object.depositParams = $root.cosmos.gov.v1beta1.DepositParams.toObject(message.depositParams, options); - if (message.tallyParams != null && message.hasOwnProperty("tallyParams")) - object.tallyParams = $root.cosmos.gov.v1beta1.TallyParams.toObject(message.tallyParams, options); - return object; - }; - - /** - * Converts this QueryParamsResponse to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryParamsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryParamsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsResponse; - })(v1beta1.QueryParamsResponse || {}); - - v1beta1.QueryDepositRequest = (function(QueryDepositRequest) { - - /** - * Properties of a QueryDepositRequest. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryDepositRequest - * @property {number|Long|null} [proposalId] QueryDepositRequest proposalId - * @property {string|null} [depositor] QueryDepositRequest depositor - */ - - /** - * Constructs a new QueryDepositRequest. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryDepositRequest. - * @implements IQueryDepositRequest - * @constructor - * @param {cosmos.gov.v1beta1.IQueryDepositRequest=} [properties] Properties to set - */ - function QueryDepositRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDepositRequest proposalId. - * @member {number|Long} proposalId - * @memberof cosmos.gov.v1beta1.QueryDepositRequest - * @instance - */ - QueryDepositRequest.prototype.proposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * QueryDepositRequest depositor. - * @member {string} depositor - * @memberof cosmos.gov.v1beta1.QueryDepositRequest - * @instance - */ - QueryDepositRequest.prototype.depositor = ""; - - /** - * Creates a new QueryDepositRequest instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryDepositRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryDepositRequest=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryDepositRequest} QueryDepositRequest instance - */ - QueryDepositRequest.create = function create(properties) { - return new QueryDepositRequest(properties); - }; - - /** - * Encodes the specified QueryDepositRequest message. Does not implicitly {@link cosmos.gov.v1beta1.QueryDepositRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryDepositRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryDepositRequest} message QueryDepositRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDepositRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalId != null && Object.hasOwnProperty.call(message, "proposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.proposalId); - if (message.depositor != null && Object.hasOwnProperty.call(message, "depositor")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.depositor); - return writer; - }; - - /** - * Encodes the specified QueryDepositRequest message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryDepositRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryDepositRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryDepositRequest} message QueryDepositRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDepositRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDepositRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryDepositRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryDepositRequest} QueryDepositRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDepositRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryDepositRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalId = reader.uint64(); - break; - case 2: - message.depositor = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDepositRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryDepositRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryDepositRequest} QueryDepositRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDepositRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDepositRequest message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryDepositRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDepositRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (!$util.isInteger(message.proposalId) && !(message.proposalId && $util.isInteger(message.proposalId.low) && $util.isInteger(message.proposalId.high))) - return "proposalId: integer|Long expected"; - if (message.depositor != null && message.hasOwnProperty("depositor")) - if (!$util.isString(message.depositor)) - return "depositor: string expected"; - return null; - }; - - /** - * Creates a QueryDepositRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryDepositRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryDepositRequest} QueryDepositRequest - */ - QueryDepositRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryDepositRequest) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryDepositRequest(); - if (object.proposalId != null) - if ($util.Long) - (message.proposalId = $util.Long.fromValue(object.proposalId)).unsigned = true; - else if (typeof object.proposalId === "string") - message.proposalId = parseInt(object.proposalId, 10); - else if (typeof object.proposalId === "number") - message.proposalId = object.proposalId; - else if (typeof object.proposalId === "object") - message.proposalId = new $util.LongBits(object.proposalId.low >>> 0, object.proposalId.high >>> 0).toNumber(true); - if (object.depositor != null) - message.depositor = String(object.depositor); - return message; - }; - - /** - * Creates a plain object from a QueryDepositRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryDepositRequest - * @static - * @param {cosmos.gov.v1beta1.QueryDepositRequest} message QueryDepositRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDepositRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.proposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposalId = options.longs === String ? "0" : 0; - object.depositor = ""; - } - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (typeof message.proposalId === "number") - object.proposalId = options.longs === String ? String(message.proposalId) : message.proposalId; - else - object.proposalId = options.longs === String ? $util.Long.prototype.toString.call(message.proposalId) : options.longs === Number ? new $util.LongBits(message.proposalId.low >>> 0, message.proposalId.high >>> 0).toNumber(true) : message.proposalId; - if (message.depositor != null && message.hasOwnProperty("depositor")) - object.depositor = message.depositor; - return object; - }; - - /** - * Converts this QueryDepositRequest to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryDepositRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDepositRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDepositRequest; - })(v1beta1.QueryDepositRequest || {}); - - v1beta1.QueryDepositResponse = (function(QueryDepositResponse) { - - /** - * Properties of a QueryDepositResponse. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryDepositResponse - * @property {cosmos.gov.v1beta1.IDeposit|null} [deposit] QueryDepositResponse deposit - */ - - /** - * Constructs a new QueryDepositResponse. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryDepositResponse. - * @implements IQueryDepositResponse - * @constructor - * @param {cosmos.gov.v1beta1.IQueryDepositResponse=} [properties] Properties to set - */ - function QueryDepositResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDepositResponse deposit. - * @member {cosmos.gov.v1beta1.IDeposit|null|undefined} deposit - * @memberof cosmos.gov.v1beta1.QueryDepositResponse - * @instance - */ - QueryDepositResponse.prototype.deposit = null; - - /** - * Creates a new QueryDepositResponse instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryDepositResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryDepositResponse=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryDepositResponse} QueryDepositResponse instance - */ - QueryDepositResponse.create = function create(properties) { - return new QueryDepositResponse(properties); - }; - - /** - * Encodes the specified QueryDepositResponse message. Does not implicitly {@link cosmos.gov.v1beta1.QueryDepositResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryDepositResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryDepositResponse} message QueryDepositResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDepositResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.deposit != null && Object.hasOwnProperty.call(message, "deposit")) - $root.cosmos.gov.v1beta1.Deposit.encode(message.deposit, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDepositResponse message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryDepositResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryDepositResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryDepositResponse} message QueryDepositResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDepositResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDepositResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryDepositResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryDepositResponse} QueryDepositResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDepositResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryDepositResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.deposit = $root.cosmos.gov.v1beta1.Deposit.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDepositResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryDepositResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryDepositResponse} QueryDepositResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDepositResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDepositResponse message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryDepositResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDepositResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.deposit != null && message.hasOwnProperty("deposit")) { - let error = $root.cosmos.gov.v1beta1.Deposit.verify(message.deposit); - if (error) - return "deposit." + error; - } - return null; - }; - - /** - * Creates a QueryDepositResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryDepositResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryDepositResponse} QueryDepositResponse - */ - QueryDepositResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryDepositResponse) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryDepositResponse(); - if (object.deposit != null) { - if (typeof object.deposit !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryDepositResponse.deposit: object expected"); - message.deposit = $root.cosmos.gov.v1beta1.Deposit.fromObject(object.deposit); - } - return message; - }; - - /** - * Creates a plain object from a QueryDepositResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryDepositResponse - * @static - * @param {cosmos.gov.v1beta1.QueryDepositResponse} message QueryDepositResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDepositResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.deposit = null; - if (message.deposit != null && message.hasOwnProperty("deposit")) - object.deposit = $root.cosmos.gov.v1beta1.Deposit.toObject(message.deposit, options); - return object; - }; - - /** - * Converts this QueryDepositResponse to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryDepositResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDepositResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDepositResponse; - })(v1beta1.QueryDepositResponse || {}); - - v1beta1.QueryDepositsRequest = (function(QueryDepositsRequest) { - - /** - * Properties of a QueryDepositsRequest. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryDepositsRequest - * @property {number|Long|null} [proposalId] QueryDepositsRequest proposalId - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryDepositsRequest pagination - */ - - /** - * Constructs a new QueryDepositsRequest. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryDepositsRequest. - * @implements IQueryDepositsRequest - * @constructor - * @param {cosmos.gov.v1beta1.IQueryDepositsRequest=} [properties] Properties to set - */ - function QueryDepositsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDepositsRequest proposalId. - * @member {number|Long} proposalId - * @memberof cosmos.gov.v1beta1.QueryDepositsRequest - * @instance - */ - QueryDepositsRequest.prototype.proposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * QueryDepositsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.gov.v1beta1.QueryDepositsRequest - * @instance - */ - QueryDepositsRequest.prototype.pagination = null; - - /** - * Creates a new QueryDepositsRequest instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryDepositsRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryDepositsRequest=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryDepositsRequest} QueryDepositsRequest instance - */ - QueryDepositsRequest.create = function create(properties) { - return new QueryDepositsRequest(properties); - }; - - /** - * Encodes the specified QueryDepositsRequest message. Does not implicitly {@link cosmos.gov.v1beta1.QueryDepositsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryDepositsRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryDepositsRequest} message QueryDepositsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDepositsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalId != null && Object.hasOwnProperty.call(message, "proposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.proposalId); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDepositsRequest message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryDepositsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryDepositsRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryDepositsRequest} message QueryDepositsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDepositsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDepositsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryDepositsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryDepositsRequest} QueryDepositsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDepositsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryDepositsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalId = reader.uint64(); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDepositsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryDepositsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryDepositsRequest} QueryDepositsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDepositsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDepositsRequest message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryDepositsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDepositsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (!$util.isInteger(message.proposalId) && !(message.proposalId && $util.isInteger(message.proposalId.low) && $util.isInteger(message.proposalId.high))) - return "proposalId: integer|Long expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryDepositsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryDepositsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryDepositsRequest} QueryDepositsRequest - */ - QueryDepositsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryDepositsRequest) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryDepositsRequest(); - if (object.proposalId != null) - if ($util.Long) - (message.proposalId = $util.Long.fromValue(object.proposalId)).unsigned = true; - else if (typeof object.proposalId === "string") - message.proposalId = parseInt(object.proposalId, 10); - else if (typeof object.proposalId === "number") - message.proposalId = object.proposalId; - else if (typeof object.proposalId === "object") - message.proposalId = new $util.LongBits(object.proposalId.low >>> 0, object.proposalId.high >>> 0).toNumber(true); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryDepositsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryDepositsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryDepositsRequest - * @static - * @param {cosmos.gov.v1beta1.QueryDepositsRequest} message QueryDepositsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDepositsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.proposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposalId = options.longs === String ? "0" : 0; - object.pagination = null; - } - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (typeof message.proposalId === "number") - object.proposalId = options.longs === String ? String(message.proposalId) : message.proposalId; - else - object.proposalId = options.longs === String ? $util.Long.prototype.toString.call(message.proposalId) : options.longs === Number ? new $util.LongBits(message.proposalId.low >>> 0, message.proposalId.high >>> 0).toNumber(true) : message.proposalId; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryDepositsRequest to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryDepositsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDepositsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDepositsRequest; - })(v1beta1.QueryDepositsRequest || {}); - - v1beta1.QueryDepositsResponse = (function(QueryDepositsResponse) { - - /** - * Properties of a QueryDepositsResponse. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryDepositsResponse - * @property {Array.|null} [deposits] QueryDepositsResponse deposits - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryDepositsResponse pagination - */ - - /** - * Constructs a new QueryDepositsResponse. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryDepositsResponse. - * @implements IQueryDepositsResponse - * @constructor - * @param {cosmos.gov.v1beta1.IQueryDepositsResponse=} [properties] Properties to set - */ - function QueryDepositsResponse(properties) { - this.deposits = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDepositsResponse deposits. - * @member {Array.} deposits - * @memberof cosmos.gov.v1beta1.QueryDepositsResponse - * @instance - */ - QueryDepositsResponse.prototype.deposits = $util.emptyArray; - - /** - * QueryDepositsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.gov.v1beta1.QueryDepositsResponse - * @instance - */ - QueryDepositsResponse.prototype.pagination = null; - - /** - * Creates a new QueryDepositsResponse instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryDepositsResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryDepositsResponse=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryDepositsResponse} QueryDepositsResponse instance - */ - QueryDepositsResponse.create = function create(properties) { - return new QueryDepositsResponse(properties); - }; - - /** - * Encodes the specified QueryDepositsResponse message. Does not implicitly {@link cosmos.gov.v1beta1.QueryDepositsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryDepositsResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryDepositsResponse} message QueryDepositsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDepositsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.deposits != null && message.deposits.length) - for (let i = 0; i < message.deposits.length; ++i) - $root.cosmos.gov.v1beta1.Deposit.encode(message.deposits[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDepositsResponse message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryDepositsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryDepositsResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryDepositsResponse} message QueryDepositsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDepositsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDepositsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryDepositsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryDepositsResponse} QueryDepositsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDepositsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryDepositsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.deposits && message.deposits.length)) - message.deposits = []; - message.deposits.push($root.cosmos.gov.v1beta1.Deposit.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDepositsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryDepositsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryDepositsResponse} QueryDepositsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDepositsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDepositsResponse message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryDepositsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDepositsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.deposits != null && message.hasOwnProperty("deposits")) { - if (!Array.isArray(message.deposits)) - return "deposits: array expected"; - for (let i = 0; i < message.deposits.length; ++i) { - let error = $root.cosmos.gov.v1beta1.Deposit.verify(message.deposits[i]); - if (error) - return "deposits." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryDepositsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryDepositsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryDepositsResponse} QueryDepositsResponse - */ - QueryDepositsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryDepositsResponse) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryDepositsResponse(); - if (object.deposits) { - if (!Array.isArray(object.deposits)) - throw TypeError(".cosmos.gov.v1beta1.QueryDepositsResponse.deposits: array expected"); - message.deposits = []; - for (let i = 0; i < object.deposits.length; ++i) { - if (typeof object.deposits[i] !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryDepositsResponse.deposits: object expected"); - message.deposits[i] = $root.cosmos.gov.v1beta1.Deposit.fromObject(object.deposits[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryDepositsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryDepositsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryDepositsResponse - * @static - * @param {cosmos.gov.v1beta1.QueryDepositsResponse} message QueryDepositsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDepositsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.deposits = []; - if (options.defaults) - object.pagination = null; - if (message.deposits && message.deposits.length) { - object.deposits = []; - for (let j = 0; j < message.deposits.length; ++j) - object.deposits[j] = $root.cosmos.gov.v1beta1.Deposit.toObject(message.deposits[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryDepositsResponse to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryDepositsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDepositsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDepositsResponse; - })(v1beta1.QueryDepositsResponse || {}); - - v1beta1.QueryTallyResultRequest = (function(QueryTallyResultRequest) { - - /** - * Properties of a QueryTallyResultRequest. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryTallyResultRequest - * @property {number|Long|null} [proposalId] QueryTallyResultRequest proposalId - */ - - /** - * Constructs a new QueryTallyResultRequest. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryTallyResultRequest. - * @implements IQueryTallyResultRequest - * @constructor - * @param {cosmos.gov.v1beta1.IQueryTallyResultRequest=} [properties] Properties to set - */ - function QueryTallyResultRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryTallyResultRequest proposalId. - * @member {number|Long} proposalId - * @memberof cosmos.gov.v1beta1.QueryTallyResultRequest - * @instance - */ - QueryTallyResultRequest.prototype.proposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new QueryTallyResultRequest instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryTallyResultRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryTallyResultRequest=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryTallyResultRequest} QueryTallyResultRequest instance - */ - QueryTallyResultRequest.create = function create(properties) { - return new QueryTallyResultRequest(properties); - }; - - /** - * Encodes the specified QueryTallyResultRequest message. Does not implicitly {@link cosmos.gov.v1beta1.QueryTallyResultRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryTallyResultRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryTallyResultRequest} message QueryTallyResultRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryTallyResultRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalId != null && Object.hasOwnProperty.call(message, "proposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.proposalId); - return writer; - }; - - /** - * Encodes the specified QueryTallyResultRequest message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryTallyResultRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryTallyResultRequest - * @static - * @param {cosmos.gov.v1beta1.IQueryTallyResultRequest} message QueryTallyResultRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryTallyResultRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryTallyResultRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryTallyResultRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryTallyResultRequest} QueryTallyResultRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryTallyResultRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryTallyResultRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalId = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryTallyResultRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryTallyResultRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryTallyResultRequest} QueryTallyResultRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryTallyResultRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryTallyResultRequest message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryTallyResultRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryTallyResultRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (!$util.isInteger(message.proposalId) && !(message.proposalId && $util.isInteger(message.proposalId.low) && $util.isInteger(message.proposalId.high))) - return "proposalId: integer|Long expected"; - return null; - }; - - /** - * Creates a QueryTallyResultRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryTallyResultRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryTallyResultRequest} QueryTallyResultRequest - */ - QueryTallyResultRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryTallyResultRequest) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryTallyResultRequest(); - if (object.proposalId != null) - if ($util.Long) - (message.proposalId = $util.Long.fromValue(object.proposalId)).unsigned = true; - else if (typeof object.proposalId === "string") - message.proposalId = parseInt(object.proposalId, 10); - else if (typeof object.proposalId === "number") - message.proposalId = object.proposalId; - else if (typeof object.proposalId === "object") - message.proposalId = new $util.LongBits(object.proposalId.low >>> 0, object.proposalId.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a QueryTallyResultRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryTallyResultRequest - * @static - * @param {cosmos.gov.v1beta1.QueryTallyResultRequest} message QueryTallyResultRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryTallyResultRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.proposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposalId = options.longs === String ? "0" : 0; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (typeof message.proposalId === "number") - object.proposalId = options.longs === String ? String(message.proposalId) : message.proposalId; - else - object.proposalId = options.longs === String ? $util.Long.prototype.toString.call(message.proposalId) : options.longs === Number ? new $util.LongBits(message.proposalId.low >>> 0, message.proposalId.high >>> 0).toNumber(true) : message.proposalId; - return object; - }; - - /** - * Converts this QueryTallyResultRequest to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryTallyResultRequest - * @instance - * @returns {Object.} JSON object - */ - QueryTallyResultRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryTallyResultRequest; - })(v1beta1.QueryTallyResultRequest || {}); - - v1beta1.QueryTallyResultResponse = (function(QueryTallyResultResponse) { - - /** - * Properties of a QueryTallyResultResponse. - * @memberof cosmos.gov.v1beta1 - * @interface IQueryTallyResultResponse - * @property {cosmos.gov.v1beta1.ITallyResult|null} [tally] QueryTallyResultResponse tally - */ - - /** - * Constructs a new QueryTallyResultResponse. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a QueryTallyResultResponse. - * @implements IQueryTallyResultResponse - * @constructor - * @param {cosmos.gov.v1beta1.IQueryTallyResultResponse=} [properties] Properties to set - */ - function QueryTallyResultResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryTallyResultResponse tally. - * @member {cosmos.gov.v1beta1.ITallyResult|null|undefined} tally - * @memberof cosmos.gov.v1beta1.QueryTallyResultResponse - * @instance - */ - QueryTallyResultResponse.prototype.tally = null; - - /** - * Creates a new QueryTallyResultResponse instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.QueryTallyResultResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryTallyResultResponse=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.QueryTallyResultResponse} QueryTallyResultResponse instance - */ - QueryTallyResultResponse.create = function create(properties) { - return new QueryTallyResultResponse(properties); - }; - - /** - * Encodes the specified QueryTallyResultResponse message. Does not implicitly {@link cosmos.gov.v1beta1.QueryTallyResultResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.QueryTallyResultResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryTallyResultResponse} message QueryTallyResultResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryTallyResultResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.tally != null && Object.hasOwnProperty.call(message, "tally")) - $root.cosmos.gov.v1beta1.TallyResult.encode(message.tally, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryTallyResultResponse message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.QueryTallyResultResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.QueryTallyResultResponse - * @static - * @param {cosmos.gov.v1beta1.IQueryTallyResultResponse} message QueryTallyResultResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryTallyResultResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryTallyResultResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.QueryTallyResultResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.QueryTallyResultResponse} QueryTallyResultResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryTallyResultResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.QueryTallyResultResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.tally = $root.cosmos.gov.v1beta1.TallyResult.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryTallyResultResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.QueryTallyResultResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.QueryTallyResultResponse} QueryTallyResultResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryTallyResultResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryTallyResultResponse message. - * @function verify - * @memberof cosmos.gov.v1beta1.QueryTallyResultResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryTallyResultResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tally != null && message.hasOwnProperty("tally")) { - let error = $root.cosmos.gov.v1beta1.TallyResult.verify(message.tally); - if (error) - return "tally." + error; - } - return null; - }; - - /** - * Creates a QueryTallyResultResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.QueryTallyResultResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.QueryTallyResultResponse} QueryTallyResultResponse - */ - QueryTallyResultResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.QueryTallyResultResponse) - return object; - let message = new $root.cosmos.gov.v1beta1.QueryTallyResultResponse(); - if (object.tally != null) { - if (typeof object.tally !== "object") - throw TypeError(".cosmos.gov.v1beta1.QueryTallyResultResponse.tally: object expected"); - message.tally = $root.cosmos.gov.v1beta1.TallyResult.fromObject(object.tally); - } - return message; - }; - - /** - * Creates a plain object from a QueryTallyResultResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.QueryTallyResultResponse - * @static - * @param {cosmos.gov.v1beta1.QueryTallyResultResponse} message QueryTallyResultResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryTallyResultResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.tally = null; - if (message.tally != null && message.hasOwnProperty("tally")) - object.tally = $root.cosmos.gov.v1beta1.TallyResult.toObject(message.tally, options); - return object; - }; - - /** - * Converts this QueryTallyResultResponse to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.QueryTallyResultResponse - * @instance - * @returns {Object.} JSON object - */ - QueryTallyResultResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryTallyResultResponse; - })(v1beta1.QueryTallyResultResponse || {}); - - v1beta1.Msg = (function(Msg) { - - /** - * Constructs a new Msg service. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a Msg - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Msg(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Msg.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Msg; - - /** - * Creates new Msg service using the specified rpc implementation. - * @function create - * @memberof cosmos.gov.v1beta1.Msg - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Msg} RPC service. Useful where requests and/or responses are streamed. - */ - Msg.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.gov.v1beta1.Msg#submitProposal}. - * @memberof cosmos.gov.v1beta1.Msg - * @typedef SubmitProposalCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.gov.v1beta1.IMsgSubmitProposalResponse} [response] MsgSubmitProposalResponse - */ - - /** - * Calls SubmitProposal. - * @function submitProposal - * @memberof cosmos.gov.v1beta1.Msg - * @instance - * @param {cosmos.gov.v1beta1.IMsgSubmitProposal} request MsgSubmitProposal message or plain object - * @param {cosmos.gov.v1beta1.Msg.SubmitProposalCallback} callback Node-style callback called with the error, if any, and MsgSubmitProposalResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.submitProposal = function submitProposal(request, callback) { - return this.rpcCall(submitProposal, $root.cosmos.gov.v1beta1.MsgSubmitProposal, $root.cosmos.gov.v1beta1.MsgSubmitProposalResponse, request, callback); - }, "name", { value: "SubmitProposal" }); - - /** - * Calls SubmitProposal. - * @function submitProposal - * @memberof cosmos.gov.v1beta1.Msg - * @instance - * @param {cosmos.gov.v1beta1.IMsgSubmitProposal} request MsgSubmitProposal message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.gov.v1beta1.Msg#vote}. - * @memberof cosmos.gov.v1beta1.Msg - * @typedef VoteCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.gov.v1beta1.IMsgVoteResponse} [response] MsgVoteResponse - */ - - /** - * Calls Vote. - * @function vote - * @memberof cosmos.gov.v1beta1.Msg - * @instance - * @param {cosmos.gov.v1beta1.IMsgVote} request MsgVote message or plain object - * @param {cosmos.gov.v1beta1.Msg.VoteCallback} callback Node-style callback called with the error, if any, and MsgVoteResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.vote = function vote(request, callback) { - return this.rpcCall(vote, $root.cosmos.gov.v1beta1.MsgVote, $root.cosmos.gov.v1beta1.MsgVoteResponse, request, callback); - }, "name", { value: "Vote" }); - - /** - * Calls Vote. - * @function vote - * @memberof cosmos.gov.v1beta1.Msg - * @instance - * @param {cosmos.gov.v1beta1.IMsgVote} request MsgVote message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.gov.v1beta1.Msg#deposit}. - * @memberof cosmos.gov.v1beta1.Msg - * @typedef DepositCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.gov.v1beta1.IMsgDepositResponse} [response] MsgDepositResponse - */ - - /** - * Calls Deposit. - * @function deposit - * @memberof cosmos.gov.v1beta1.Msg - * @instance - * @param {cosmos.gov.v1beta1.IMsgDeposit} request MsgDeposit message or plain object - * @param {cosmos.gov.v1beta1.Msg.DepositCallback} callback Node-style callback called with the error, if any, and MsgDepositResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.deposit = function deposit(request, callback) { - return this.rpcCall(deposit, $root.cosmos.gov.v1beta1.MsgDeposit, $root.cosmos.gov.v1beta1.MsgDepositResponse, request, callback); - }, "name", { value: "Deposit" }); - - /** - * Calls Deposit. - * @function deposit - * @memberof cosmos.gov.v1beta1.Msg - * @instance - * @param {cosmos.gov.v1beta1.IMsgDeposit} request MsgDeposit message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Msg; - })(v1beta1.Msg || {}); - - v1beta1.MsgSubmitProposal = (function(MsgSubmitProposal) { - - /** - * Properties of a MsgSubmitProposal. - * @memberof cosmos.gov.v1beta1 - * @interface IMsgSubmitProposal - * @property {google.protobuf.IAny|null} [content] MsgSubmitProposal content - * @property {Array.|null} [initialDeposit] MsgSubmitProposal initialDeposit - * @property {string|null} [proposer] MsgSubmitProposal proposer - */ - - /** - * Constructs a new MsgSubmitProposal. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a MsgSubmitProposal. - * @implements IMsgSubmitProposal - * @constructor - * @param {cosmos.gov.v1beta1.IMsgSubmitProposal=} [properties] Properties to set - */ - function MsgSubmitProposal(properties) { - this.initialDeposit = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgSubmitProposal content. - * @member {google.protobuf.IAny|null|undefined} content - * @memberof cosmos.gov.v1beta1.MsgSubmitProposal - * @instance - */ - MsgSubmitProposal.prototype.content = null; - - /** - * MsgSubmitProposal initialDeposit. - * @member {Array.} initialDeposit - * @memberof cosmos.gov.v1beta1.MsgSubmitProposal - * @instance - */ - MsgSubmitProposal.prototype.initialDeposit = $util.emptyArray; - - /** - * MsgSubmitProposal proposer. - * @member {string} proposer - * @memberof cosmos.gov.v1beta1.MsgSubmitProposal - * @instance - */ - MsgSubmitProposal.prototype.proposer = ""; - - /** - * Creates a new MsgSubmitProposal instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.MsgSubmitProposal - * @static - * @param {cosmos.gov.v1beta1.IMsgSubmitProposal=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.MsgSubmitProposal} MsgSubmitProposal instance - */ - MsgSubmitProposal.create = function create(properties) { - return new MsgSubmitProposal(properties); - }; - - /** - * Encodes the specified MsgSubmitProposal message. Does not implicitly {@link cosmos.gov.v1beta1.MsgSubmitProposal.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.MsgSubmitProposal - * @static - * @param {cosmos.gov.v1beta1.IMsgSubmitProposal} message MsgSubmitProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSubmitProposal.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.content != null && Object.hasOwnProperty.call(message, "content")) - $root.google.protobuf.Any.encode(message.content, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.initialDeposit != null && message.initialDeposit.length) - for (let i = 0; i < message.initialDeposit.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.initialDeposit[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.proposer != null && Object.hasOwnProperty.call(message, "proposer")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.proposer); - return writer; - }; - - /** - * Encodes the specified MsgSubmitProposal message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.MsgSubmitProposal.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.MsgSubmitProposal - * @static - * @param {cosmos.gov.v1beta1.IMsgSubmitProposal} message MsgSubmitProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSubmitProposal.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgSubmitProposal message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.MsgSubmitProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.MsgSubmitProposal} MsgSubmitProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSubmitProposal.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.MsgSubmitProposal(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.content = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.initialDeposit && message.initialDeposit.length)) - message.initialDeposit = []; - message.initialDeposit.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - case 3: - message.proposer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgSubmitProposal message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.MsgSubmitProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.MsgSubmitProposal} MsgSubmitProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSubmitProposal.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgSubmitProposal message. - * @function verify - * @memberof cosmos.gov.v1beta1.MsgSubmitProposal - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgSubmitProposal.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.content != null && message.hasOwnProperty("content")) { - let error = $root.google.protobuf.Any.verify(message.content); - if (error) - return "content." + error; - } - if (message.initialDeposit != null && message.hasOwnProperty("initialDeposit")) { - if (!Array.isArray(message.initialDeposit)) - return "initialDeposit: array expected"; - for (let i = 0; i < message.initialDeposit.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.initialDeposit[i]); - if (error) - return "initialDeposit." + error; - } - } - if (message.proposer != null && message.hasOwnProperty("proposer")) - if (!$util.isString(message.proposer)) - return "proposer: string expected"; - return null; - }; - - /** - * Creates a MsgSubmitProposal message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.MsgSubmitProposal - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.MsgSubmitProposal} MsgSubmitProposal - */ - MsgSubmitProposal.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.MsgSubmitProposal) - return object; - let message = new $root.cosmos.gov.v1beta1.MsgSubmitProposal(); - if (object.content != null) { - if (typeof object.content !== "object") - throw TypeError(".cosmos.gov.v1beta1.MsgSubmitProposal.content: object expected"); - message.content = $root.google.protobuf.Any.fromObject(object.content); - } - if (object.initialDeposit) { - if (!Array.isArray(object.initialDeposit)) - throw TypeError(".cosmos.gov.v1beta1.MsgSubmitProposal.initialDeposit: array expected"); - message.initialDeposit = []; - for (let i = 0; i < object.initialDeposit.length; ++i) { - if (typeof object.initialDeposit[i] !== "object") - throw TypeError(".cosmos.gov.v1beta1.MsgSubmitProposal.initialDeposit: object expected"); - message.initialDeposit[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.initialDeposit[i]); - } - } - if (object.proposer != null) - message.proposer = String(object.proposer); - return message; - }; - - /** - * Creates a plain object from a MsgSubmitProposal message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.MsgSubmitProposal - * @static - * @param {cosmos.gov.v1beta1.MsgSubmitProposal} message MsgSubmitProposal - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgSubmitProposal.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.initialDeposit = []; - if (options.defaults) { - object.content = null; - object.proposer = ""; - } - if (message.content != null && message.hasOwnProperty("content")) - object.content = $root.google.protobuf.Any.toObject(message.content, options); - if (message.initialDeposit && message.initialDeposit.length) { - object.initialDeposit = []; - for (let j = 0; j < message.initialDeposit.length; ++j) - object.initialDeposit[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.initialDeposit[j], options); - } - if (message.proposer != null && message.hasOwnProperty("proposer")) - object.proposer = message.proposer; - return object; - }; - - /** - * Converts this MsgSubmitProposal to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.MsgSubmitProposal - * @instance - * @returns {Object.} JSON object - */ - MsgSubmitProposal.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgSubmitProposal; - })(v1beta1.MsgSubmitProposal || {}); - - v1beta1.MsgSubmitProposalResponse = (function(MsgSubmitProposalResponse) { - - /** - * Properties of a MsgSubmitProposalResponse. - * @memberof cosmos.gov.v1beta1 - * @interface IMsgSubmitProposalResponse - * @property {number|Long|null} [proposalId] MsgSubmitProposalResponse proposalId - */ - - /** - * Constructs a new MsgSubmitProposalResponse. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a MsgSubmitProposalResponse. - * @implements IMsgSubmitProposalResponse - * @constructor - * @param {cosmos.gov.v1beta1.IMsgSubmitProposalResponse=} [properties] Properties to set - */ - function MsgSubmitProposalResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgSubmitProposalResponse proposalId. - * @member {number|Long} proposalId - * @memberof cosmos.gov.v1beta1.MsgSubmitProposalResponse - * @instance - */ - MsgSubmitProposalResponse.prototype.proposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new MsgSubmitProposalResponse instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.MsgSubmitProposalResponse - * @static - * @param {cosmos.gov.v1beta1.IMsgSubmitProposalResponse=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.MsgSubmitProposalResponse} MsgSubmitProposalResponse instance - */ - MsgSubmitProposalResponse.create = function create(properties) { - return new MsgSubmitProposalResponse(properties); - }; - - /** - * Encodes the specified MsgSubmitProposalResponse message. Does not implicitly {@link cosmos.gov.v1beta1.MsgSubmitProposalResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.MsgSubmitProposalResponse - * @static - * @param {cosmos.gov.v1beta1.IMsgSubmitProposalResponse} message MsgSubmitProposalResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSubmitProposalResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalId != null && Object.hasOwnProperty.call(message, "proposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.proposalId); - return writer; - }; - - /** - * Encodes the specified MsgSubmitProposalResponse message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.MsgSubmitProposalResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.MsgSubmitProposalResponse - * @static - * @param {cosmos.gov.v1beta1.IMsgSubmitProposalResponse} message MsgSubmitProposalResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSubmitProposalResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgSubmitProposalResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.MsgSubmitProposalResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.MsgSubmitProposalResponse} MsgSubmitProposalResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSubmitProposalResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.MsgSubmitProposalResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalId = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgSubmitProposalResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.MsgSubmitProposalResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.MsgSubmitProposalResponse} MsgSubmitProposalResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSubmitProposalResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgSubmitProposalResponse message. - * @function verify - * @memberof cosmos.gov.v1beta1.MsgSubmitProposalResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgSubmitProposalResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (!$util.isInteger(message.proposalId) && !(message.proposalId && $util.isInteger(message.proposalId.low) && $util.isInteger(message.proposalId.high))) - return "proposalId: integer|Long expected"; - return null; - }; - - /** - * Creates a MsgSubmitProposalResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.MsgSubmitProposalResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.MsgSubmitProposalResponse} MsgSubmitProposalResponse - */ - MsgSubmitProposalResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.MsgSubmitProposalResponse) - return object; - let message = new $root.cosmos.gov.v1beta1.MsgSubmitProposalResponse(); - if (object.proposalId != null) - if ($util.Long) - (message.proposalId = $util.Long.fromValue(object.proposalId)).unsigned = true; - else if (typeof object.proposalId === "string") - message.proposalId = parseInt(object.proposalId, 10); - else if (typeof object.proposalId === "number") - message.proposalId = object.proposalId; - else if (typeof object.proposalId === "object") - message.proposalId = new $util.LongBits(object.proposalId.low >>> 0, object.proposalId.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a MsgSubmitProposalResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.MsgSubmitProposalResponse - * @static - * @param {cosmos.gov.v1beta1.MsgSubmitProposalResponse} message MsgSubmitProposalResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgSubmitProposalResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.proposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposalId = options.longs === String ? "0" : 0; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (typeof message.proposalId === "number") - object.proposalId = options.longs === String ? String(message.proposalId) : message.proposalId; - else - object.proposalId = options.longs === String ? $util.Long.prototype.toString.call(message.proposalId) : options.longs === Number ? new $util.LongBits(message.proposalId.low >>> 0, message.proposalId.high >>> 0).toNumber(true) : message.proposalId; - return object; - }; - - /** - * Converts this MsgSubmitProposalResponse to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.MsgSubmitProposalResponse - * @instance - * @returns {Object.} JSON object - */ - MsgSubmitProposalResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgSubmitProposalResponse; - })(v1beta1.MsgSubmitProposalResponse || {}); - - v1beta1.MsgVote = (function(MsgVote) { - - /** - * Properties of a MsgVote. - * @memberof cosmos.gov.v1beta1 - * @interface IMsgVote - * @property {number|Long|null} [proposalId] MsgVote proposalId - * @property {string|null} [voter] MsgVote voter - * @property {cosmos.gov.v1beta1.VoteOption|null} [option] MsgVote option - */ - - /** - * Constructs a new MsgVote. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a MsgVote. - * @implements IMsgVote - * @constructor - * @param {cosmos.gov.v1beta1.IMsgVote=} [properties] Properties to set - */ - function MsgVote(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgVote proposalId. - * @member {number|Long} proposalId - * @memberof cosmos.gov.v1beta1.MsgVote - * @instance - */ - MsgVote.prototype.proposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * MsgVote voter. - * @member {string} voter - * @memberof cosmos.gov.v1beta1.MsgVote - * @instance - */ - MsgVote.prototype.voter = ""; - - /** - * MsgVote option. - * @member {cosmos.gov.v1beta1.VoteOption} option - * @memberof cosmos.gov.v1beta1.MsgVote - * @instance - */ - MsgVote.prototype.option = 0; - - /** - * Creates a new MsgVote instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.MsgVote - * @static - * @param {cosmos.gov.v1beta1.IMsgVote=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.MsgVote} MsgVote instance - */ - MsgVote.create = function create(properties) { - return new MsgVote(properties); - }; - - /** - * Encodes the specified MsgVote message. Does not implicitly {@link cosmos.gov.v1beta1.MsgVote.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.MsgVote - * @static - * @param {cosmos.gov.v1beta1.IMsgVote} message MsgVote message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgVote.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalId != null && Object.hasOwnProperty.call(message, "proposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.proposalId); - if (message.voter != null && Object.hasOwnProperty.call(message, "voter")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.voter); - if (message.option != null && Object.hasOwnProperty.call(message, "option")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.option); - return writer; - }; - - /** - * Encodes the specified MsgVote message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.MsgVote.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.MsgVote - * @static - * @param {cosmos.gov.v1beta1.IMsgVote} message MsgVote message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgVote.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgVote message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.MsgVote - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.MsgVote} MsgVote - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgVote.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.MsgVote(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalId = reader.uint64(); - break; - case 2: - message.voter = reader.string(); - break; - case 3: - message.option = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgVote message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.MsgVote - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.MsgVote} MsgVote - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgVote.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgVote message. - * @function verify - * @memberof cosmos.gov.v1beta1.MsgVote - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgVote.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (!$util.isInteger(message.proposalId) && !(message.proposalId && $util.isInteger(message.proposalId.low) && $util.isInteger(message.proposalId.high))) - return "proposalId: integer|Long expected"; - if (message.voter != null && message.hasOwnProperty("voter")) - if (!$util.isString(message.voter)) - return "voter: string expected"; - if (message.option != null && message.hasOwnProperty("option")) - switch (message.option) { - default: - return "option: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - break; - } - return null; - }; - - /** - * Creates a MsgVote message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.MsgVote - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.MsgVote} MsgVote - */ - MsgVote.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.MsgVote) - return object; - let message = new $root.cosmos.gov.v1beta1.MsgVote(); - if (object.proposalId != null) - if ($util.Long) - (message.proposalId = $util.Long.fromValue(object.proposalId)).unsigned = true; - else if (typeof object.proposalId === "string") - message.proposalId = parseInt(object.proposalId, 10); - else if (typeof object.proposalId === "number") - message.proposalId = object.proposalId; - else if (typeof object.proposalId === "object") - message.proposalId = new $util.LongBits(object.proposalId.low >>> 0, object.proposalId.high >>> 0).toNumber(true); - if (object.voter != null) - message.voter = String(object.voter); - switch (object.option) { - case "VOTE_OPTION_UNSPECIFIED": - case 0: - message.option = 0; - break; - case "VOTE_OPTION_YES": - case 1: - message.option = 1; - break; - case "VOTE_OPTION_ABSTAIN": - case 2: - message.option = 2; - break; - case "VOTE_OPTION_NO": - case 3: - message.option = 3; - break; - case "VOTE_OPTION_NO_WITH_VETO": - case 4: - message.option = 4; - break; - } - return message; - }; - - /** - * Creates a plain object from a MsgVote message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.MsgVote - * @static - * @param {cosmos.gov.v1beta1.MsgVote} message MsgVote - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgVote.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.proposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposalId = options.longs === String ? "0" : 0; - object.voter = ""; - object.option = options.enums === String ? "VOTE_OPTION_UNSPECIFIED" : 0; - } - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (typeof message.proposalId === "number") - object.proposalId = options.longs === String ? String(message.proposalId) : message.proposalId; - else - object.proposalId = options.longs === String ? $util.Long.prototype.toString.call(message.proposalId) : options.longs === Number ? new $util.LongBits(message.proposalId.low >>> 0, message.proposalId.high >>> 0).toNumber(true) : message.proposalId; - if (message.voter != null && message.hasOwnProperty("voter")) - object.voter = message.voter; - if (message.option != null && message.hasOwnProperty("option")) - object.option = options.enums === String ? $root.cosmos.gov.v1beta1.VoteOption[message.option] : message.option; - return object; - }; - - /** - * Converts this MsgVote to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.MsgVote - * @instance - * @returns {Object.} JSON object - */ - MsgVote.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgVote; - })(v1beta1.MsgVote || {}); - - v1beta1.MsgVoteResponse = (function(MsgVoteResponse) { - - /** - * Properties of a MsgVoteResponse. - * @memberof cosmos.gov.v1beta1 - * @interface IMsgVoteResponse - */ - - /** - * Constructs a new MsgVoteResponse. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a MsgVoteResponse. - * @implements IMsgVoteResponse - * @constructor - * @param {cosmos.gov.v1beta1.IMsgVoteResponse=} [properties] Properties to set - */ - function MsgVoteResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgVoteResponse instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.MsgVoteResponse - * @static - * @param {cosmos.gov.v1beta1.IMsgVoteResponse=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.MsgVoteResponse} MsgVoteResponse instance - */ - MsgVoteResponse.create = function create(properties) { - return new MsgVoteResponse(properties); - }; - - /** - * Encodes the specified MsgVoteResponse message. Does not implicitly {@link cosmos.gov.v1beta1.MsgVoteResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.MsgVoteResponse - * @static - * @param {cosmos.gov.v1beta1.IMsgVoteResponse} message MsgVoteResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgVoteResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgVoteResponse message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.MsgVoteResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.MsgVoteResponse - * @static - * @param {cosmos.gov.v1beta1.IMsgVoteResponse} message MsgVoteResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgVoteResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgVoteResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.MsgVoteResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.MsgVoteResponse} MsgVoteResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgVoteResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.MsgVoteResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgVoteResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.MsgVoteResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.MsgVoteResponse} MsgVoteResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgVoteResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgVoteResponse message. - * @function verify - * @memberof cosmos.gov.v1beta1.MsgVoteResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgVoteResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgVoteResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.MsgVoteResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.MsgVoteResponse} MsgVoteResponse - */ - MsgVoteResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.MsgVoteResponse) - return object; - return new $root.cosmos.gov.v1beta1.MsgVoteResponse(); - }; - - /** - * Creates a plain object from a MsgVoteResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.MsgVoteResponse - * @static - * @param {cosmos.gov.v1beta1.MsgVoteResponse} message MsgVoteResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgVoteResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgVoteResponse to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.MsgVoteResponse - * @instance - * @returns {Object.} JSON object - */ - MsgVoteResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgVoteResponse; - })(v1beta1.MsgVoteResponse || {}); - - v1beta1.MsgDeposit = (function(MsgDeposit) { - - /** - * Properties of a MsgDeposit. - * @memberof cosmos.gov.v1beta1 - * @interface IMsgDeposit - * @property {number|Long|null} [proposalId] MsgDeposit proposalId - * @property {string|null} [depositor] MsgDeposit depositor - * @property {Array.|null} [amount] MsgDeposit amount - */ - - /** - * Constructs a new MsgDeposit. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a MsgDeposit. - * @implements IMsgDeposit - * @constructor - * @param {cosmos.gov.v1beta1.IMsgDeposit=} [properties] Properties to set - */ - function MsgDeposit(properties) { - this.amount = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgDeposit proposalId. - * @member {number|Long} proposalId - * @memberof cosmos.gov.v1beta1.MsgDeposit - * @instance - */ - MsgDeposit.prototype.proposalId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * MsgDeposit depositor. - * @member {string} depositor - * @memberof cosmos.gov.v1beta1.MsgDeposit - * @instance - */ - MsgDeposit.prototype.depositor = ""; - - /** - * MsgDeposit amount. - * @member {Array.} amount - * @memberof cosmos.gov.v1beta1.MsgDeposit - * @instance - */ - MsgDeposit.prototype.amount = $util.emptyArray; - - /** - * Creates a new MsgDeposit instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.MsgDeposit - * @static - * @param {cosmos.gov.v1beta1.IMsgDeposit=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.MsgDeposit} MsgDeposit instance - */ - MsgDeposit.create = function create(properties) { - return new MsgDeposit(properties); - }; - - /** - * Encodes the specified MsgDeposit message. Does not implicitly {@link cosmos.gov.v1beta1.MsgDeposit.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.MsgDeposit - * @static - * @param {cosmos.gov.v1beta1.IMsgDeposit} message MsgDeposit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgDeposit.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proposalId != null && Object.hasOwnProperty.call(message, "proposalId")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.proposalId); - if (message.depositor != null && Object.hasOwnProperty.call(message, "depositor")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.depositor); - if (message.amount != null && message.amount.length) - for (let i = 0; i < message.amount.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.amount[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MsgDeposit message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.MsgDeposit.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.MsgDeposit - * @static - * @param {cosmos.gov.v1beta1.IMsgDeposit} message MsgDeposit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgDeposit.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgDeposit message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.MsgDeposit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.MsgDeposit} MsgDeposit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgDeposit.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.MsgDeposit(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.proposalId = reader.uint64(); - break; - case 2: - message.depositor = reader.string(); - break; - case 3: - if (!(message.amount && message.amount.length)) - message.amount = []; - message.amount.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgDeposit message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.MsgDeposit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.MsgDeposit} MsgDeposit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgDeposit.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgDeposit message. - * @function verify - * @memberof cosmos.gov.v1beta1.MsgDeposit - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgDeposit.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (!$util.isInteger(message.proposalId) && !(message.proposalId && $util.isInteger(message.proposalId.low) && $util.isInteger(message.proposalId.high))) - return "proposalId: integer|Long expected"; - if (message.depositor != null && message.hasOwnProperty("depositor")) - if (!$util.isString(message.depositor)) - return "depositor: string expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - if (!Array.isArray(message.amount)) - return "amount: array expected"; - for (let i = 0; i < message.amount.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.amount[i]); - if (error) - return "amount." + error; - } - } - return null; - }; - - /** - * Creates a MsgDeposit message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.MsgDeposit - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.MsgDeposit} MsgDeposit - */ - MsgDeposit.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.MsgDeposit) - return object; - let message = new $root.cosmos.gov.v1beta1.MsgDeposit(); - if (object.proposalId != null) - if ($util.Long) - (message.proposalId = $util.Long.fromValue(object.proposalId)).unsigned = true; - else if (typeof object.proposalId === "string") - message.proposalId = parseInt(object.proposalId, 10); - else if (typeof object.proposalId === "number") - message.proposalId = object.proposalId; - else if (typeof object.proposalId === "object") - message.proposalId = new $util.LongBits(object.proposalId.low >>> 0, object.proposalId.high >>> 0).toNumber(true); - if (object.depositor != null) - message.depositor = String(object.depositor); - if (object.amount) { - if (!Array.isArray(object.amount)) - throw TypeError(".cosmos.gov.v1beta1.MsgDeposit.amount: array expected"); - message.amount = []; - for (let i = 0; i < object.amount.length; ++i) { - if (typeof object.amount[i] !== "object") - throw TypeError(".cosmos.gov.v1beta1.MsgDeposit.amount: object expected"); - message.amount[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.amount[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a MsgDeposit message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.MsgDeposit - * @static - * @param {cosmos.gov.v1beta1.MsgDeposit} message MsgDeposit - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgDeposit.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.amount = []; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.proposalId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposalId = options.longs === String ? "0" : 0; - object.depositor = ""; - } - if (message.proposalId != null && message.hasOwnProperty("proposalId")) - if (typeof message.proposalId === "number") - object.proposalId = options.longs === String ? String(message.proposalId) : message.proposalId; - else - object.proposalId = options.longs === String ? $util.Long.prototype.toString.call(message.proposalId) : options.longs === Number ? new $util.LongBits(message.proposalId.low >>> 0, message.proposalId.high >>> 0).toNumber(true) : message.proposalId; - if (message.depositor != null && message.hasOwnProperty("depositor")) - object.depositor = message.depositor; - if (message.amount && message.amount.length) { - object.amount = []; - for (let j = 0; j < message.amount.length; ++j) - object.amount[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.amount[j], options); - } - return object; - }; - - /** - * Converts this MsgDeposit to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.MsgDeposit - * @instance - * @returns {Object.} JSON object - */ - MsgDeposit.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgDeposit; - })(v1beta1.MsgDeposit || {}); - - v1beta1.MsgDepositResponse = (function(MsgDepositResponse) { - - /** - * Properties of a MsgDepositResponse. - * @memberof cosmos.gov.v1beta1 - * @interface IMsgDepositResponse - */ - - /** - * Constructs a new MsgDepositResponse. - * @memberof cosmos.gov.v1beta1 - * @classdesc Represents a MsgDepositResponse. - * @implements IMsgDepositResponse - * @constructor - * @param {cosmos.gov.v1beta1.IMsgDepositResponse=} [properties] Properties to set - */ - function MsgDepositResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgDepositResponse instance using the specified properties. - * @function create - * @memberof cosmos.gov.v1beta1.MsgDepositResponse - * @static - * @param {cosmos.gov.v1beta1.IMsgDepositResponse=} [properties] Properties to set - * @returns {cosmos.gov.v1beta1.MsgDepositResponse} MsgDepositResponse instance - */ - MsgDepositResponse.create = function create(properties) { - return new MsgDepositResponse(properties); - }; - - /** - * Encodes the specified MsgDepositResponse message. Does not implicitly {@link cosmos.gov.v1beta1.MsgDepositResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.gov.v1beta1.MsgDepositResponse - * @static - * @param {cosmos.gov.v1beta1.IMsgDepositResponse} message MsgDepositResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgDepositResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgDepositResponse message, length delimited. Does not implicitly {@link cosmos.gov.v1beta1.MsgDepositResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.gov.v1beta1.MsgDepositResponse - * @static - * @param {cosmos.gov.v1beta1.IMsgDepositResponse} message MsgDepositResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgDepositResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgDepositResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.gov.v1beta1.MsgDepositResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.gov.v1beta1.MsgDepositResponse} MsgDepositResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgDepositResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.gov.v1beta1.MsgDepositResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgDepositResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.gov.v1beta1.MsgDepositResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.gov.v1beta1.MsgDepositResponse} MsgDepositResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgDepositResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgDepositResponse message. - * @function verify - * @memberof cosmos.gov.v1beta1.MsgDepositResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgDepositResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgDepositResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.gov.v1beta1.MsgDepositResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.gov.v1beta1.MsgDepositResponse} MsgDepositResponse - */ - MsgDepositResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.gov.v1beta1.MsgDepositResponse) - return object; - return new $root.cosmos.gov.v1beta1.MsgDepositResponse(); - }; - - /** - * Creates a plain object from a MsgDepositResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.gov.v1beta1.MsgDepositResponse - * @static - * @param {cosmos.gov.v1beta1.MsgDepositResponse} message MsgDepositResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgDepositResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgDepositResponse to JSON. - * @function toJSON - * @memberof cosmos.gov.v1beta1.MsgDepositResponse - * @instance - * @returns {Object.} JSON object - */ - MsgDepositResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgDepositResponse; - })(v1beta1.MsgDepositResponse || {}); - - return v1beta1; - })(gov.v1beta1 || {}); - - return gov; - })(cosmos.gov || {}); - - /** - * Namespace mint. - * @memberof cosmos - * @namespace - */ - - cosmos.mint = (function(mint) { - - /** - * Namespace v1beta1. - * @memberof cosmos.mint - * @namespace - */ - - mint.v1beta1 = (function(v1beta1) { - - v1beta1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof cosmos.mint.v1beta1 - * @interface IGenesisState - * @property {cosmos.mint.v1beta1.IMinter|null} [minter] GenesisState minter - * @property {cosmos.mint.v1beta1.IParams|null} [params] GenesisState params - */ - - /** - * Constructs a new GenesisState. - * @memberof cosmos.mint.v1beta1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {cosmos.mint.v1beta1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState minter. - * @member {cosmos.mint.v1beta1.IMinter|null|undefined} minter - * @memberof cosmos.mint.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.minter = null; - - /** - * GenesisState params. - * @member {cosmos.mint.v1beta1.IParams|null|undefined} params - * @memberof cosmos.mint.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.params = null; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof cosmos.mint.v1beta1.GenesisState - * @static - * @param {cosmos.mint.v1beta1.IGenesisState=} [properties] Properties to set - * @returns {cosmos.mint.v1beta1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link cosmos.mint.v1beta1.GenesisState.verify|verify} messages. - * @function encode - * @memberof cosmos.mint.v1beta1.GenesisState - * @static - * @param {cosmos.mint.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.minter != null && Object.hasOwnProperty.call(message, "minter")) - $root.cosmos.mint.v1beta1.Minter.encode(message.minter, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.cosmos.mint.v1beta1.Params.encode(message.params, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link cosmos.mint.v1beta1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.mint.v1beta1.GenesisState - * @static - * @param {cosmos.mint.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof cosmos.mint.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.mint.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.mint.v1beta1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.minter = $root.cosmos.mint.v1beta1.Minter.decode(reader, reader.uint32()); - break; - case 2: - message.params = $root.cosmos.mint.v1beta1.Params.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.mint.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.mint.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof cosmos.mint.v1beta1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.minter != null && message.hasOwnProperty("minter")) { - let error = $root.cosmos.mint.v1beta1.Minter.verify(message.minter); - if (error) - return "minter." + error; - } - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.cosmos.mint.v1beta1.Params.verify(message.params); - if (error) - return "params." + error; - } - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.mint.v1beta1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {cosmos.mint.v1beta1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.mint.v1beta1.GenesisState) - return object; - let message = new $root.cosmos.mint.v1beta1.GenesisState(); - if (object.minter != null) { - if (typeof object.minter !== "object") - throw TypeError(".cosmos.mint.v1beta1.GenesisState.minter: object expected"); - message.minter = $root.cosmos.mint.v1beta1.Minter.fromObject(object.minter); - } - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".cosmos.mint.v1beta1.GenesisState.params: object expected"); - message.params = $root.cosmos.mint.v1beta1.Params.fromObject(object.params); - } - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.mint.v1beta1.GenesisState - * @static - * @param {cosmos.mint.v1beta1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.minter = null; - object.params = null; - } - if (message.minter != null && message.hasOwnProperty("minter")) - object.minter = $root.cosmos.mint.v1beta1.Minter.toObject(message.minter, options); - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.cosmos.mint.v1beta1.Params.toObject(message.params, options); - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof cosmos.mint.v1beta1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1beta1.GenesisState || {}); - - v1beta1.Minter = (function(Minter) { - - /** - * Properties of a Minter. - * @memberof cosmos.mint.v1beta1 - * @interface IMinter - * @property {string|null} [inflation] Minter inflation - * @property {string|null} [annualProvisions] Minter annualProvisions - */ - - /** - * Constructs a new Minter. - * @memberof cosmos.mint.v1beta1 - * @classdesc Represents a Minter. - * @implements IMinter - * @constructor - * @param {cosmos.mint.v1beta1.IMinter=} [properties] Properties to set - */ - function Minter(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Minter inflation. - * @member {string} inflation - * @memberof cosmos.mint.v1beta1.Minter - * @instance - */ - Minter.prototype.inflation = ""; - - /** - * Minter annualProvisions. - * @member {string} annualProvisions - * @memberof cosmos.mint.v1beta1.Minter - * @instance - */ - Minter.prototype.annualProvisions = ""; - - /** - * Creates a new Minter instance using the specified properties. - * @function create - * @memberof cosmos.mint.v1beta1.Minter - * @static - * @param {cosmos.mint.v1beta1.IMinter=} [properties] Properties to set - * @returns {cosmos.mint.v1beta1.Minter} Minter instance - */ - Minter.create = function create(properties) { - return new Minter(properties); - }; - - /** - * Encodes the specified Minter message. Does not implicitly {@link cosmos.mint.v1beta1.Minter.verify|verify} messages. - * @function encode - * @memberof cosmos.mint.v1beta1.Minter - * @static - * @param {cosmos.mint.v1beta1.IMinter} message Minter message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Minter.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.inflation != null && Object.hasOwnProperty.call(message, "inflation")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.inflation); - if (message.annualProvisions != null && Object.hasOwnProperty.call(message, "annualProvisions")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.annualProvisions); - return writer; - }; - - /** - * Encodes the specified Minter message, length delimited. Does not implicitly {@link cosmos.mint.v1beta1.Minter.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.mint.v1beta1.Minter - * @static - * @param {cosmos.mint.v1beta1.IMinter} message Minter message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Minter.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Minter message from the specified reader or buffer. - * @function decode - * @memberof cosmos.mint.v1beta1.Minter - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.mint.v1beta1.Minter} Minter - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Minter.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.mint.v1beta1.Minter(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.inflation = reader.string(); - break; - case 2: - message.annualProvisions = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Minter message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.mint.v1beta1.Minter - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.mint.v1beta1.Minter} Minter - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Minter.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Minter message. - * @function verify - * @memberof cosmos.mint.v1beta1.Minter - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Minter.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.inflation != null && message.hasOwnProperty("inflation")) - if (!$util.isString(message.inflation)) - return "inflation: string expected"; - if (message.annualProvisions != null && message.hasOwnProperty("annualProvisions")) - if (!$util.isString(message.annualProvisions)) - return "annualProvisions: string expected"; - return null; - }; - - /** - * Creates a Minter message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.mint.v1beta1.Minter - * @static - * @param {Object.} object Plain object - * @returns {cosmos.mint.v1beta1.Minter} Minter - */ - Minter.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.mint.v1beta1.Minter) - return object; - let message = new $root.cosmos.mint.v1beta1.Minter(); - if (object.inflation != null) - message.inflation = String(object.inflation); - if (object.annualProvisions != null) - message.annualProvisions = String(object.annualProvisions); - return message; - }; - - /** - * Creates a plain object from a Minter message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.mint.v1beta1.Minter - * @static - * @param {cosmos.mint.v1beta1.Minter} message Minter - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Minter.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.inflation = ""; - object.annualProvisions = ""; - } - if (message.inflation != null && message.hasOwnProperty("inflation")) - object.inflation = message.inflation; - if (message.annualProvisions != null && message.hasOwnProperty("annualProvisions")) - object.annualProvisions = message.annualProvisions; - return object; - }; - - /** - * Converts this Minter to JSON. - * @function toJSON - * @memberof cosmos.mint.v1beta1.Minter - * @instance - * @returns {Object.} JSON object - */ - Minter.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Minter; - })(v1beta1.Minter || {}); - - v1beta1.Params = (function(Params) { - - /** - * Properties of a Params. - * @memberof cosmos.mint.v1beta1 - * @interface IParams - * @property {string|null} [mintDenom] Params mintDenom - * @property {string|null} [inflationRateChange] Params inflationRateChange - * @property {string|null} [inflationMax] Params inflationMax - * @property {string|null} [inflationMin] Params inflationMin - * @property {string|null} [goalBonded] Params goalBonded - * @property {number|Long|null} [blocksPerYear] Params blocksPerYear - */ - - /** - * Constructs a new Params. - * @memberof cosmos.mint.v1beta1 - * @classdesc Represents a Params. - * @implements IParams - * @constructor - * @param {cosmos.mint.v1beta1.IParams=} [properties] Properties to set - */ - function Params(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Params mintDenom. - * @member {string} mintDenom - * @memberof cosmos.mint.v1beta1.Params - * @instance - */ - Params.prototype.mintDenom = ""; - - /** - * Params inflationRateChange. - * @member {string} inflationRateChange - * @memberof cosmos.mint.v1beta1.Params - * @instance - */ - Params.prototype.inflationRateChange = ""; - - /** - * Params inflationMax. - * @member {string} inflationMax - * @memberof cosmos.mint.v1beta1.Params - * @instance - */ - Params.prototype.inflationMax = ""; - - /** - * Params inflationMin. - * @member {string} inflationMin - * @memberof cosmos.mint.v1beta1.Params - * @instance - */ - Params.prototype.inflationMin = ""; - - /** - * Params goalBonded. - * @member {string} goalBonded - * @memberof cosmos.mint.v1beta1.Params - * @instance - */ - Params.prototype.goalBonded = ""; - - /** - * Params blocksPerYear. - * @member {number|Long} blocksPerYear - * @memberof cosmos.mint.v1beta1.Params - * @instance - */ - Params.prototype.blocksPerYear = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new Params instance using the specified properties. - * @function create - * @memberof cosmos.mint.v1beta1.Params - * @static - * @param {cosmos.mint.v1beta1.IParams=} [properties] Properties to set - * @returns {cosmos.mint.v1beta1.Params} Params instance - */ - Params.create = function create(properties) { - return new Params(properties); - }; - - /** - * Encodes the specified Params message. Does not implicitly {@link cosmos.mint.v1beta1.Params.verify|verify} messages. - * @function encode - * @memberof cosmos.mint.v1beta1.Params - * @static - * @param {cosmos.mint.v1beta1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.mintDenom != null && Object.hasOwnProperty.call(message, "mintDenom")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.mintDenom); - if (message.inflationRateChange != null && Object.hasOwnProperty.call(message, "inflationRateChange")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.inflationRateChange); - if (message.inflationMax != null && Object.hasOwnProperty.call(message, "inflationMax")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.inflationMax); - if (message.inflationMin != null && Object.hasOwnProperty.call(message, "inflationMin")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.inflationMin); - if (message.goalBonded != null && Object.hasOwnProperty.call(message, "goalBonded")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.goalBonded); - if (message.blocksPerYear != null && Object.hasOwnProperty.call(message, "blocksPerYear")) - writer.uint32(/* id 6, wireType 0 =*/48).uint64(message.blocksPerYear); - return writer; - }; - - /** - * Encodes the specified Params message, length delimited. Does not implicitly {@link cosmos.mint.v1beta1.Params.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.mint.v1beta1.Params - * @static - * @param {cosmos.mint.v1beta1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Params message from the specified reader or buffer. - * @function decode - * @memberof cosmos.mint.v1beta1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.mint.v1beta1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.mint.v1beta1.Params(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.mintDenom = reader.string(); - break; - case 2: - message.inflationRateChange = reader.string(); - break; - case 3: - message.inflationMax = reader.string(); - break; - case 4: - message.inflationMin = reader.string(); - break; - case 5: - message.goalBonded = reader.string(); - break; - case 6: - message.blocksPerYear = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Params message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.mint.v1beta1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.mint.v1beta1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Params message. - * @function verify - * @memberof cosmos.mint.v1beta1.Params - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Params.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.mintDenom != null && message.hasOwnProperty("mintDenom")) - if (!$util.isString(message.mintDenom)) - return "mintDenom: string expected"; - if (message.inflationRateChange != null && message.hasOwnProperty("inflationRateChange")) - if (!$util.isString(message.inflationRateChange)) - return "inflationRateChange: string expected"; - if (message.inflationMax != null && message.hasOwnProperty("inflationMax")) - if (!$util.isString(message.inflationMax)) - return "inflationMax: string expected"; - if (message.inflationMin != null && message.hasOwnProperty("inflationMin")) - if (!$util.isString(message.inflationMin)) - return "inflationMin: string expected"; - if (message.goalBonded != null && message.hasOwnProperty("goalBonded")) - if (!$util.isString(message.goalBonded)) - return "goalBonded: string expected"; - if (message.blocksPerYear != null && message.hasOwnProperty("blocksPerYear")) - if (!$util.isInteger(message.blocksPerYear) && !(message.blocksPerYear && $util.isInteger(message.blocksPerYear.low) && $util.isInteger(message.blocksPerYear.high))) - return "blocksPerYear: integer|Long expected"; - return null; - }; - - /** - * Creates a Params message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.mint.v1beta1.Params - * @static - * @param {Object.} object Plain object - * @returns {cosmos.mint.v1beta1.Params} Params - */ - Params.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.mint.v1beta1.Params) - return object; - let message = new $root.cosmos.mint.v1beta1.Params(); - if (object.mintDenom != null) - message.mintDenom = String(object.mintDenom); - if (object.inflationRateChange != null) - message.inflationRateChange = String(object.inflationRateChange); - if (object.inflationMax != null) - message.inflationMax = String(object.inflationMax); - if (object.inflationMin != null) - message.inflationMin = String(object.inflationMin); - if (object.goalBonded != null) - message.goalBonded = String(object.goalBonded); - if (object.blocksPerYear != null) - if ($util.Long) - (message.blocksPerYear = $util.Long.fromValue(object.blocksPerYear)).unsigned = true; - else if (typeof object.blocksPerYear === "string") - message.blocksPerYear = parseInt(object.blocksPerYear, 10); - else if (typeof object.blocksPerYear === "number") - message.blocksPerYear = object.blocksPerYear; - else if (typeof object.blocksPerYear === "object") - message.blocksPerYear = new $util.LongBits(object.blocksPerYear.low >>> 0, object.blocksPerYear.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a Params message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.mint.v1beta1.Params - * @static - * @param {cosmos.mint.v1beta1.Params} message Params - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Params.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.mintDenom = ""; - object.inflationRateChange = ""; - object.inflationMax = ""; - object.inflationMin = ""; - object.goalBonded = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.blocksPerYear = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.blocksPerYear = options.longs === String ? "0" : 0; - } - if (message.mintDenom != null && message.hasOwnProperty("mintDenom")) - object.mintDenom = message.mintDenom; - if (message.inflationRateChange != null && message.hasOwnProperty("inflationRateChange")) - object.inflationRateChange = message.inflationRateChange; - if (message.inflationMax != null && message.hasOwnProperty("inflationMax")) - object.inflationMax = message.inflationMax; - if (message.inflationMin != null && message.hasOwnProperty("inflationMin")) - object.inflationMin = message.inflationMin; - if (message.goalBonded != null && message.hasOwnProperty("goalBonded")) - object.goalBonded = message.goalBonded; - if (message.blocksPerYear != null && message.hasOwnProperty("blocksPerYear")) - if (typeof message.blocksPerYear === "number") - object.blocksPerYear = options.longs === String ? String(message.blocksPerYear) : message.blocksPerYear; - else - object.blocksPerYear = options.longs === String ? $util.Long.prototype.toString.call(message.blocksPerYear) : options.longs === Number ? new $util.LongBits(message.blocksPerYear.low >>> 0, message.blocksPerYear.high >>> 0).toNumber(true) : message.blocksPerYear; - return object; - }; - - /** - * Converts this Params to JSON. - * @function toJSON - * @memberof cosmos.mint.v1beta1.Params - * @instance - * @returns {Object.} JSON object - */ - Params.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Params; - })(v1beta1.Params || {}); - - v1beta1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof cosmos.mint.v1beta1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof cosmos.mint.v1beta1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.mint.v1beta1.Query#params}. - * @memberof cosmos.mint.v1beta1.Query - * @typedef ParamsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.mint.v1beta1.IQueryParamsResponse} [response] QueryParamsResponse - */ - - /** - * Calls Params. - * @function params - * @memberof cosmos.mint.v1beta1.Query - * @instance - * @param {cosmos.mint.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @param {cosmos.mint.v1beta1.Query.ParamsCallback} callback Node-style callback called with the error, if any, and QueryParamsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.params = function params(request, callback) { - return this.rpcCall(params, $root.cosmos.mint.v1beta1.QueryParamsRequest, $root.cosmos.mint.v1beta1.QueryParamsResponse, request, callback); - }, "name", { value: "Params" }); - - /** - * Calls Params. - * @function params - * @memberof cosmos.mint.v1beta1.Query - * @instance - * @param {cosmos.mint.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.mint.v1beta1.Query#inflation}. - * @memberof cosmos.mint.v1beta1.Query - * @typedef InflationCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.mint.v1beta1.IQueryInflationResponse} [response] QueryInflationResponse - */ - - /** - * Calls Inflation. - * @function inflation - * @memberof cosmos.mint.v1beta1.Query - * @instance - * @param {cosmos.mint.v1beta1.IQueryInflationRequest} request QueryInflationRequest message or plain object - * @param {cosmos.mint.v1beta1.Query.InflationCallback} callback Node-style callback called with the error, if any, and QueryInflationResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.inflation = function inflation(request, callback) { - return this.rpcCall(inflation, $root.cosmos.mint.v1beta1.QueryInflationRequest, $root.cosmos.mint.v1beta1.QueryInflationResponse, request, callback); - }, "name", { value: "Inflation" }); - - /** - * Calls Inflation. - * @function inflation - * @memberof cosmos.mint.v1beta1.Query - * @instance - * @param {cosmos.mint.v1beta1.IQueryInflationRequest} request QueryInflationRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.mint.v1beta1.Query#annualProvisions}. - * @memberof cosmos.mint.v1beta1.Query - * @typedef AnnualProvisionsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.mint.v1beta1.IQueryAnnualProvisionsResponse} [response] QueryAnnualProvisionsResponse - */ - - /** - * Calls AnnualProvisions. - * @function annualProvisions - * @memberof cosmos.mint.v1beta1.Query - * @instance - * @param {cosmos.mint.v1beta1.IQueryAnnualProvisionsRequest} request QueryAnnualProvisionsRequest message or plain object - * @param {cosmos.mint.v1beta1.Query.AnnualProvisionsCallback} callback Node-style callback called with the error, if any, and QueryAnnualProvisionsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.annualProvisions = function annualProvisions(request, callback) { - return this.rpcCall(annualProvisions, $root.cosmos.mint.v1beta1.QueryAnnualProvisionsRequest, $root.cosmos.mint.v1beta1.QueryAnnualProvisionsResponse, request, callback); - }, "name", { value: "AnnualProvisions" }); - - /** - * Calls AnnualProvisions. - * @function annualProvisions - * @memberof cosmos.mint.v1beta1.Query - * @instance - * @param {cosmos.mint.v1beta1.IQueryAnnualProvisionsRequest} request QueryAnnualProvisionsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1beta1.Query || {}); - - v1beta1.QueryParamsRequest = (function(QueryParamsRequest) { - - /** - * Properties of a QueryParamsRequest. - * @memberof cosmos.mint.v1beta1 - * @interface IQueryParamsRequest - */ - - /** - * Constructs a new QueryParamsRequest. - * @memberof cosmos.mint.v1beta1 - * @classdesc Represents a QueryParamsRequest. - * @implements IQueryParamsRequest - * @constructor - * @param {cosmos.mint.v1beta1.IQueryParamsRequest=} [properties] Properties to set - */ - function QueryParamsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryParamsRequest instance using the specified properties. - * @function create - * @memberof cosmos.mint.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.mint.v1beta1.IQueryParamsRequest=} [properties] Properties to set - * @returns {cosmos.mint.v1beta1.QueryParamsRequest} QueryParamsRequest instance - */ - QueryParamsRequest.create = function create(properties) { - return new QueryParamsRequest(properties); - }; - - /** - * Encodes the specified QueryParamsRequest message. Does not implicitly {@link cosmos.mint.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.mint.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.mint.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryParamsRequest message, length delimited. Does not implicitly {@link cosmos.mint.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.mint.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.mint.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.mint.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.mint.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.mint.v1beta1.QueryParamsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.mint.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.mint.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsRequest message. - * @function verify - * @memberof cosmos.mint.v1beta1.QueryParamsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryParamsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.mint.v1beta1.QueryParamsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.mint.v1beta1.QueryParamsRequest} QueryParamsRequest - */ - QueryParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.mint.v1beta1.QueryParamsRequest) - return object; - return new $root.cosmos.mint.v1beta1.QueryParamsRequest(); - }; - - /** - * Creates a plain object from a QueryParamsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.mint.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.mint.v1beta1.QueryParamsRequest} message QueryParamsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryParamsRequest to JSON. - * @function toJSON - * @memberof cosmos.mint.v1beta1.QueryParamsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryParamsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsRequest; - })(v1beta1.QueryParamsRequest || {}); - - v1beta1.QueryParamsResponse = (function(QueryParamsResponse) { - - /** - * Properties of a QueryParamsResponse. - * @memberof cosmos.mint.v1beta1 - * @interface IQueryParamsResponse - * @property {cosmos.mint.v1beta1.IParams|null} [params] QueryParamsResponse params - */ - - /** - * Constructs a new QueryParamsResponse. - * @memberof cosmos.mint.v1beta1 - * @classdesc Represents a QueryParamsResponse. - * @implements IQueryParamsResponse - * @constructor - * @param {cosmos.mint.v1beta1.IQueryParamsResponse=} [properties] Properties to set - */ - function QueryParamsResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryParamsResponse params. - * @member {cosmos.mint.v1beta1.IParams|null|undefined} params - * @memberof cosmos.mint.v1beta1.QueryParamsResponse - * @instance - */ - QueryParamsResponse.prototype.params = null; - - /** - * Creates a new QueryParamsResponse instance using the specified properties. - * @function create - * @memberof cosmos.mint.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.mint.v1beta1.IQueryParamsResponse=} [properties] Properties to set - * @returns {cosmos.mint.v1beta1.QueryParamsResponse} QueryParamsResponse instance - */ - QueryParamsResponse.create = function create(properties) { - return new QueryParamsResponse(properties); - }; - - /** - * Encodes the specified QueryParamsResponse message. Does not implicitly {@link cosmos.mint.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.mint.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.mint.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.cosmos.mint.v1beta1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryParamsResponse message, length delimited. Does not implicitly {@link cosmos.mint.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.mint.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.mint.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.mint.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.mint.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.mint.v1beta1.QueryParamsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.cosmos.mint.v1beta1.Params.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.mint.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.mint.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsResponse message. - * @function verify - * @memberof cosmos.mint.v1beta1.QueryParamsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.cosmos.mint.v1beta1.Params.verify(message.params); - if (error) - return "params." + error; - } - return null; - }; - - /** - * Creates a QueryParamsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.mint.v1beta1.QueryParamsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.mint.v1beta1.QueryParamsResponse} QueryParamsResponse - */ - QueryParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.mint.v1beta1.QueryParamsResponse) - return object; - let message = new $root.cosmos.mint.v1beta1.QueryParamsResponse(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".cosmos.mint.v1beta1.QueryParamsResponse.params: object expected"); - message.params = $root.cosmos.mint.v1beta1.Params.fromObject(object.params); - } - return message; - }; - - /** - * Creates a plain object from a QueryParamsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.mint.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.mint.v1beta1.QueryParamsResponse} message QueryParamsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.params = null; - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.cosmos.mint.v1beta1.Params.toObject(message.params, options); - return object; - }; - - /** - * Converts this QueryParamsResponse to JSON. - * @function toJSON - * @memberof cosmos.mint.v1beta1.QueryParamsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryParamsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsResponse; - })(v1beta1.QueryParamsResponse || {}); - - v1beta1.QueryInflationRequest = (function(QueryInflationRequest) { - - /** - * Properties of a QueryInflationRequest. - * @memberof cosmos.mint.v1beta1 - * @interface IQueryInflationRequest - */ - - /** - * Constructs a new QueryInflationRequest. - * @memberof cosmos.mint.v1beta1 - * @classdesc Represents a QueryInflationRequest. - * @implements IQueryInflationRequest - * @constructor - * @param {cosmos.mint.v1beta1.IQueryInflationRequest=} [properties] Properties to set - */ - function QueryInflationRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryInflationRequest instance using the specified properties. - * @function create - * @memberof cosmos.mint.v1beta1.QueryInflationRequest - * @static - * @param {cosmos.mint.v1beta1.IQueryInflationRequest=} [properties] Properties to set - * @returns {cosmos.mint.v1beta1.QueryInflationRequest} QueryInflationRequest instance - */ - QueryInflationRequest.create = function create(properties) { - return new QueryInflationRequest(properties); - }; - - /** - * Encodes the specified QueryInflationRequest message. Does not implicitly {@link cosmos.mint.v1beta1.QueryInflationRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.mint.v1beta1.QueryInflationRequest - * @static - * @param {cosmos.mint.v1beta1.IQueryInflationRequest} message QueryInflationRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryInflationRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryInflationRequest message, length delimited. Does not implicitly {@link cosmos.mint.v1beta1.QueryInflationRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.mint.v1beta1.QueryInflationRequest - * @static - * @param {cosmos.mint.v1beta1.IQueryInflationRequest} message QueryInflationRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryInflationRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryInflationRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.mint.v1beta1.QueryInflationRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.mint.v1beta1.QueryInflationRequest} QueryInflationRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryInflationRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.mint.v1beta1.QueryInflationRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryInflationRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.mint.v1beta1.QueryInflationRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.mint.v1beta1.QueryInflationRequest} QueryInflationRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryInflationRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryInflationRequest message. - * @function verify - * @memberof cosmos.mint.v1beta1.QueryInflationRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryInflationRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryInflationRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.mint.v1beta1.QueryInflationRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.mint.v1beta1.QueryInflationRequest} QueryInflationRequest - */ - QueryInflationRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.mint.v1beta1.QueryInflationRequest) - return object; - return new $root.cosmos.mint.v1beta1.QueryInflationRequest(); - }; - - /** - * Creates a plain object from a QueryInflationRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.mint.v1beta1.QueryInflationRequest - * @static - * @param {cosmos.mint.v1beta1.QueryInflationRequest} message QueryInflationRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryInflationRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryInflationRequest to JSON. - * @function toJSON - * @memberof cosmos.mint.v1beta1.QueryInflationRequest - * @instance - * @returns {Object.} JSON object - */ - QueryInflationRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryInflationRequest; - })(v1beta1.QueryInflationRequest || {}); - - v1beta1.QueryInflationResponse = (function(QueryInflationResponse) { - - /** - * Properties of a QueryInflationResponse. - * @memberof cosmos.mint.v1beta1 - * @interface IQueryInflationResponse - * @property {Uint8Array|null} [inflation] QueryInflationResponse inflation - */ - - /** - * Constructs a new QueryInflationResponse. - * @memberof cosmos.mint.v1beta1 - * @classdesc Represents a QueryInflationResponse. - * @implements IQueryInflationResponse - * @constructor - * @param {cosmos.mint.v1beta1.IQueryInflationResponse=} [properties] Properties to set - */ - function QueryInflationResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryInflationResponse inflation. - * @member {Uint8Array} inflation - * @memberof cosmos.mint.v1beta1.QueryInflationResponse - * @instance - */ - QueryInflationResponse.prototype.inflation = $util.newBuffer([]); - - /** - * Creates a new QueryInflationResponse instance using the specified properties. - * @function create - * @memberof cosmos.mint.v1beta1.QueryInflationResponse - * @static - * @param {cosmos.mint.v1beta1.IQueryInflationResponse=} [properties] Properties to set - * @returns {cosmos.mint.v1beta1.QueryInflationResponse} QueryInflationResponse instance - */ - QueryInflationResponse.create = function create(properties) { - return new QueryInflationResponse(properties); - }; - - /** - * Encodes the specified QueryInflationResponse message. Does not implicitly {@link cosmos.mint.v1beta1.QueryInflationResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.mint.v1beta1.QueryInflationResponse - * @static - * @param {cosmos.mint.v1beta1.IQueryInflationResponse} message QueryInflationResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryInflationResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.inflation != null && Object.hasOwnProperty.call(message, "inflation")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.inflation); - return writer; - }; - - /** - * Encodes the specified QueryInflationResponse message, length delimited. Does not implicitly {@link cosmos.mint.v1beta1.QueryInflationResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.mint.v1beta1.QueryInflationResponse - * @static - * @param {cosmos.mint.v1beta1.IQueryInflationResponse} message QueryInflationResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryInflationResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryInflationResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.mint.v1beta1.QueryInflationResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.mint.v1beta1.QueryInflationResponse} QueryInflationResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryInflationResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.mint.v1beta1.QueryInflationResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.inflation = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryInflationResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.mint.v1beta1.QueryInflationResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.mint.v1beta1.QueryInflationResponse} QueryInflationResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryInflationResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryInflationResponse message. - * @function verify - * @memberof cosmos.mint.v1beta1.QueryInflationResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryInflationResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.inflation != null && message.hasOwnProperty("inflation")) - if (!(message.inflation && typeof message.inflation.length === "number" || $util.isString(message.inflation))) - return "inflation: buffer expected"; - return null; - }; - - /** - * Creates a QueryInflationResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.mint.v1beta1.QueryInflationResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.mint.v1beta1.QueryInflationResponse} QueryInflationResponse - */ - QueryInflationResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.mint.v1beta1.QueryInflationResponse) - return object; - let message = new $root.cosmos.mint.v1beta1.QueryInflationResponse(); - if (object.inflation != null) - if (typeof object.inflation === "string") - $util.base64.decode(object.inflation, message.inflation = $util.newBuffer($util.base64.length(object.inflation)), 0); - else if (object.inflation.length) - message.inflation = object.inflation; - return message; - }; - - /** - * Creates a plain object from a QueryInflationResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.mint.v1beta1.QueryInflationResponse - * @static - * @param {cosmos.mint.v1beta1.QueryInflationResponse} message QueryInflationResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryInflationResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if (options.bytes === String) - object.inflation = ""; - else { - object.inflation = []; - if (options.bytes !== Array) - object.inflation = $util.newBuffer(object.inflation); - } - if (message.inflation != null && message.hasOwnProperty("inflation")) - object.inflation = options.bytes === String ? $util.base64.encode(message.inflation, 0, message.inflation.length) : options.bytes === Array ? Array.prototype.slice.call(message.inflation) : message.inflation; - return object; - }; - - /** - * Converts this QueryInflationResponse to JSON. - * @function toJSON - * @memberof cosmos.mint.v1beta1.QueryInflationResponse - * @instance - * @returns {Object.} JSON object - */ - QueryInflationResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryInflationResponse; - })(v1beta1.QueryInflationResponse || {}); - - v1beta1.QueryAnnualProvisionsRequest = (function(QueryAnnualProvisionsRequest) { - - /** - * Properties of a QueryAnnualProvisionsRequest. - * @memberof cosmos.mint.v1beta1 - * @interface IQueryAnnualProvisionsRequest - */ - - /** - * Constructs a new QueryAnnualProvisionsRequest. - * @memberof cosmos.mint.v1beta1 - * @classdesc Represents a QueryAnnualProvisionsRequest. - * @implements IQueryAnnualProvisionsRequest - * @constructor - * @param {cosmos.mint.v1beta1.IQueryAnnualProvisionsRequest=} [properties] Properties to set - */ - function QueryAnnualProvisionsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryAnnualProvisionsRequest instance using the specified properties. - * @function create - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsRequest - * @static - * @param {cosmos.mint.v1beta1.IQueryAnnualProvisionsRequest=} [properties] Properties to set - * @returns {cosmos.mint.v1beta1.QueryAnnualProvisionsRequest} QueryAnnualProvisionsRequest instance - */ - QueryAnnualProvisionsRequest.create = function create(properties) { - return new QueryAnnualProvisionsRequest(properties); - }; - - /** - * Encodes the specified QueryAnnualProvisionsRequest message. Does not implicitly {@link cosmos.mint.v1beta1.QueryAnnualProvisionsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsRequest - * @static - * @param {cosmos.mint.v1beta1.IQueryAnnualProvisionsRequest} message QueryAnnualProvisionsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAnnualProvisionsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryAnnualProvisionsRequest message, length delimited. Does not implicitly {@link cosmos.mint.v1beta1.QueryAnnualProvisionsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsRequest - * @static - * @param {cosmos.mint.v1beta1.IQueryAnnualProvisionsRequest} message QueryAnnualProvisionsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAnnualProvisionsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryAnnualProvisionsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.mint.v1beta1.QueryAnnualProvisionsRequest} QueryAnnualProvisionsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAnnualProvisionsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.mint.v1beta1.QueryAnnualProvisionsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryAnnualProvisionsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.mint.v1beta1.QueryAnnualProvisionsRequest} QueryAnnualProvisionsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAnnualProvisionsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryAnnualProvisionsRequest message. - * @function verify - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryAnnualProvisionsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryAnnualProvisionsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.mint.v1beta1.QueryAnnualProvisionsRequest} QueryAnnualProvisionsRequest - */ - QueryAnnualProvisionsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.mint.v1beta1.QueryAnnualProvisionsRequest) - return object; - return new $root.cosmos.mint.v1beta1.QueryAnnualProvisionsRequest(); - }; - - /** - * Creates a plain object from a QueryAnnualProvisionsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsRequest - * @static - * @param {cosmos.mint.v1beta1.QueryAnnualProvisionsRequest} message QueryAnnualProvisionsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryAnnualProvisionsRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryAnnualProvisionsRequest to JSON. - * @function toJSON - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryAnnualProvisionsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryAnnualProvisionsRequest; - })(v1beta1.QueryAnnualProvisionsRequest || {}); - - v1beta1.QueryAnnualProvisionsResponse = (function(QueryAnnualProvisionsResponse) { - - /** - * Properties of a QueryAnnualProvisionsResponse. - * @memberof cosmos.mint.v1beta1 - * @interface IQueryAnnualProvisionsResponse - * @property {Uint8Array|null} [annualProvisions] QueryAnnualProvisionsResponse annualProvisions - */ - - /** - * Constructs a new QueryAnnualProvisionsResponse. - * @memberof cosmos.mint.v1beta1 - * @classdesc Represents a QueryAnnualProvisionsResponse. - * @implements IQueryAnnualProvisionsResponse - * @constructor - * @param {cosmos.mint.v1beta1.IQueryAnnualProvisionsResponse=} [properties] Properties to set - */ - function QueryAnnualProvisionsResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryAnnualProvisionsResponse annualProvisions. - * @member {Uint8Array} annualProvisions - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsResponse - * @instance - */ - QueryAnnualProvisionsResponse.prototype.annualProvisions = $util.newBuffer([]); - - /** - * Creates a new QueryAnnualProvisionsResponse instance using the specified properties. - * @function create - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsResponse - * @static - * @param {cosmos.mint.v1beta1.IQueryAnnualProvisionsResponse=} [properties] Properties to set - * @returns {cosmos.mint.v1beta1.QueryAnnualProvisionsResponse} QueryAnnualProvisionsResponse instance - */ - QueryAnnualProvisionsResponse.create = function create(properties) { - return new QueryAnnualProvisionsResponse(properties); - }; - - /** - * Encodes the specified QueryAnnualProvisionsResponse message. Does not implicitly {@link cosmos.mint.v1beta1.QueryAnnualProvisionsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsResponse - * @static - * @param {cosmos.mint.v1beta1.IQueryAnnualProvisionsResponse} message QueryAnnualProvisionsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAnnualProvisionsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.annualProvisions != null && Object.hasOwnProperty.call(message, "annualProvisions")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.annualProvisions); - return writer; - }; - - /** - * Encodes the specified QueryAnnualProvisionsResponse message, length delimited. Does not implicitly {@link cosmos.mint.v1beta1.QueryAnnualProvisionsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsResponse - * @static - * @param {cosmos.mint.v1beta1.IQueryAnnualProvisionsResponse} message QueryAnnualProvisionsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAnnualProvisionsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryAnnualProvisionsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.mint.v1beta1.QueryAnnualProvisionsResponse} QueryAnnualProvisionsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAnnualProvisionsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.mint.v1beta1.QueryAnnualProvisionsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.annualProvisions = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryAnnualProvisionsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.mint.v1beta1.QueryAnnualProvisionsResponse} QueryAnnualProvisionsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAnnualProvisionsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryAnnualProvisionsResponse message. - * @function verify - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryAnnualProvisionsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.annualProvisions != null && message.hasOwnProperty("annualProvisions")) - if (!(message.annualProvisions && typeof message.annualProvisions.length === "number" || $util.isString(message.annualProvisions))) - return "annualProvisions: buffer expected"; - return null; - }; - - /** - * Creates a QueryAnnualProvisionsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.mint.v1beta1.QueryAnnualProvisionsResponse} QueryAnnualProvisionsResponse - */ - QueryAnnualProvisionsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.mint.v1beta1.QueryAnnualProvisionsResponse) - return object; - let message = new $root.cosmos.mint.v1beta1.QueryAnnualProvisionsResponse(); - if (object.annualProvisions != null) - if (typeof object.annualProvisions === "string") - $util.base64.decode(object.annualProvisions, message.annualProvisions = $util.newBuffer($util.base64.length(object.annualProvisions)), 0); - else if (object.annualProvisions.length) - message.annualProvisions = object.annualProvisions; - return message; - }; - - /** - * Creates a plain object from a QueryAnnualProvisionsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsResponse - * @static - * @param {cosmos.mint.v1beta1.QueryAnnualProvisionsResponse} message QueryAnnualProvisionsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryAnnualProvisionsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if (options.bytes === String) - object.annualProvisions = ""; - else { - object.annualProvisions = []; - if (options.bytes !== Array) - object.annualProvisions = $util.newBuffer(object.annualProvisions); - } - if (message.annualProvisions != null && message.hasOwnProperty("annualProvisions")) - object.annualProvisions = options.bytes === String ? $util.base64.encode(message.annualProvisions, 0, message.annualProvisions.length) : options.bytes === Array ? Array.prototype.slice.call(message.annualProvisions) : message.annualProvisions; - return object; - }; - - /** - * Converts this QueryAnnualProvisionsResponse to JSON. - * @function toJSON - * @memberof cosmos.mint.v1beta1.QueryAnnualProvisionsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryAnnualProvisionsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryAnnualProvisionsResponse; - })(v1beta1.QueryAnnualProvisionsResponse || {}); - - return v1beta1; - })(mint.v1beta1 || {}); - - return mint; - })(cosmos.mint || {}); - - /** - * Namespace params. - * @memberof cosmos - * @namespace - */ - - cosmos.params = (function(params) { - - /** - * Namespace v1beta1. - * @memberof cosmos.params - * @namespace - */ - - params.v1beta1 = (function(v1beta1) { - - v1beta1.ParameterChangeProposal = (function(ParameterChangeProposal) { - - /** - * Properties of a ParameterChangeProposal. - * @memberof cosmos.params.v1beta1 - * @interface IParameterChangeProposal - * @property {string|null} [title] ParameterChangeProposal title - * @property {string|null} [description] ParameterChangeProposal description - * @property {Array.|null} [changes] ParameterChangeProposal changes - */ - - /** - * Constructs a new ParameterChangeProposal. - * @memberof cosmos.params.v1beta1 - * @classdesc Represents a ParameterChangeProposal. - * @implements IParameterChangeProposal - * @constructor - * @param {cosmos.params.v1beta1.IParameterChangeProposal=} [properties] Properties to set - */ - function ParameterChangeProposal(properties) { - this.changes = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ParameterChangeProposal title. - * @member {string} title - * @memberof cosmos.params.v1beta1.ParameterChangeProposal - * @instance - */ - ParameterChangeProposal.prototype.title = ""; - - /** - * ParameterChangeProposal description. - * @member {string} description - * @memberof cosmos.params.v1beta1.ParameterChangeProposal - * @instance - */ - ParameterChangeProposal.prototype.description = ""; - - /** - * ParameterChangeProposal changes. - * @member {Array.} changes - * @memberof cosmos.params.v1beta1.ParameterChangeProposal - * @instance - */ - ParameterChangeProposal.prototype.changes = $util.emptyArray; - - /** - * Creates a new ParameterChangeProposal instance using the specified properties. - * @function create - * @memberof cosmos.params.v1beta1.ParameterChangeProposal - * @static - * @param {cosmos.params.v1beta1.IParameterChangeProposal=} [properties] Properties to set - * @returns {cosmos.params.v1beta1.ParameterChangeProposal} ParameterChangeProposal instance - */ - ParameterChangeProposal.create = function create(properties) { - return new ParameterChangeProposal(properties); - }; - - /** - * Encodes the specified ParameterChangeProposal message. Does not implicitly {@link cosmos.params.v1beta1.ParameterChangeProposal.verify|verify} messages. - * @function encode - * @memberof cosmos.params.v1beta1.ParameterChangeProposal - * @static - * @param {cosmos.params.v1beta1.IParameterChangeProposal} message ParameterChangeProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ParameterChangeProposal.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.title != null && Object.hasOwnProperty.call(message, "title")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.title); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - if (message.changes != null && message.changes.length) - for (let i = 0; i < message.changes.length; ++i) - $root.cosmos.params.v1beta1.ParamChange.encode(message.changes[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ParameterChangeProposal message, length delimited. Does not implicitly {@link cosmos.params.v1beta1.ParameterChangeProposal.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.params.v1beta1.ParameterChangeProposal - * @static - * @param {cosmos.params.v1beta1.IParameterChangeProposal} message ParameterChangeProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ParameterChangeProposal.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ParameterChangeProposal message from the specified reader or buffer. - * @function decode - * @memberof cosmos.params.v1beta1.ParameterChangeProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.params.v1beta1.ParameterChangeProposal} ParameterChangeProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ParameterChangeProposal.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.params.v1beta1.ParameterChangeProposal(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.title = reader.string(); - break; - case 2: - message.description = reader.string(); - break; - case 3: - if (!(message.changes && message.changes.length)) - message.changes = []; - message.changes.push($root.cosmos.params.v1beta1.ParamChange.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ParameterChangeProposal message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.params.v1beta1.ParameterChangeProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.params.v1beta1.ParameterChangeProposal} ParameterChangeProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ParameterChangeProposal.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ParameterChangeProposal message. - * @function verify - * @memberof cosmos.params.v1beta1.ParameterChangeProposal - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ParameterChangeProposal.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.title != null && message.hasOwnProperty("title")) - if (!$util.isString(message.title)) - return "title: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.changes != null && message.hasOwnProperty("changes")) { - if (!Array.isArray(message.changes)) - return "changes: array expected"; - for (let i = 0; i < message.changes.length; ++i) { - let error = $root.cosmos.params.v1beta1.ParamChange.verify(message.changes[i]); - if (error) - return "changes." + error; - } - } - return null; - }; - - /** - * Creates a ParameterChangeProposal message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.params.v1beta1.ParameterChangeProposal - * @static - * @param {Object.} object Plain object - * @returns {cosmos.params.v1beta1.ParameterChangeProposal} ParameterChangeProposal - */ - ParameterChangeProposal.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.params.v1beta1.ParameterChangeProposal) - return object; - let message = new $root.cosmos.params.v1beta1.ParameterChangeProposal(); - if (object.title != null) - message.title = String(object.title); - if (object.description != null) - message.description = String(object.description); - if (object.changes) { - if (!Array.isArray(object.changes)) - throw TypeError(".cosmos.params.v1beta1.ParameterChangeProposal.changes: array expected"); - message.changes = []; - for (let i = 0; i < object.changes.length; ++i) { - if (typeof object.changes[i] !== "object") - throw TypeError(".cosmos.params.v1beta1.ParameterChangeProposal.changes: object expected"); - message.changes[i] = $root.cosmos.params.v1beta1.ParamChange.fromObject(object.changes[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ParameterChangeProposal message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.params.v1beta1.ParameterChangeProposal - * @static - * @param {cosmos.params.v1beta1.ParameterChangeProposal} message ParameterChangeProposal - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ParameterChangeProposal.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.changes = []; - if (options.defaults) { - object.title = ""; - object.description = ""; - } - if (message.title != null && message.hasOwnProperty("title")) - object.title = message.title; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.changes && message.changes.length) { - object.changes = []; - for (let j = 0; j < message.changes.length; ++j) - object.changes[j] = $root.cosmos.params.v1beta1.ParamChange.toObject(message.changes[j], options); - } - return object; - }; - - /** - * Converts this ParameterChangeProposal to JSON. - * @function toJSON - * @memberof cosmos.params.v1beta1.ParameterChangeProposal - * @instance - * @returns {Object.} JSON object - */ - ParameterChangeProposal.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ParameterChangeProposal; - })(v1beta1.ParameterChangeProposal || {}); - - v1beta1.ParamChange = (function(ParamChange) { - - /** - * Properties of a ParamChange. - * @memberof cosmos.params.v1beta1 - * @interface IParamChange - * @property {string|null} [subspace] ParamChange subspace - * @property {string|null} [key] ParamChange key - * @property {string|null} [value] ParamChange value - */ - - /** - * Constructs a new ParamChange. - * @memberof cosmos.params.v1beta1 - * @classdesc Represents a ParamChange. - * @implements IParamChange - * @constructor - * @param {cosmos.params.v1beta1.IParamChange=} [properties] Properties to set - */ - function ParamChange(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ParamChange subspace. - * @member {string} subspace - * @memberof cosmos.params.v1beta1.ParamChange - * @instance - */ - ParamChange.prototype.subspace = ""; - - /** - * ParamChange key. - * @member {string} key - * @memberof cosmos.params.v1beta1.ParamChange - * @instance - */ - ParamChange.prototype.key = ""; - - /** - * ParamChange value. - * @member {string} value - * @memberof cosmos.params.v1beta1.ParamChange - * @instance - */ - ParamChange.prototype.value = ""; - - /** - * Creates a new ParamChange instance using the specified properties. - * @function create - * @memberof cosmos.params.v1beta1.ParamChange - * @static - * @param {cosmos.params.v1beta1.IParamChange=} [properties] Properties to set - * @returns {cosmos.params.v1beta1.ParamChange} ParamChange instance - */ - ParamChange.create = function create(properties) { - return new ParamChange(properties); - }; - - /** - * Encodes the specified ParamChange message. Does not implicitly {@link cosmos.params.v1beta1.ParamChange.verify|verify} messages. - * @function encode - * @memberof cosmos.params.v1beta1.ParamChange - * @static - * @param {cosmos.params.v1beta1.IParamChange} message ParamChange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ParamChange.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.subspace != null && Object.hasOwnProperty.call(message, "subspace")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.subspace); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.value); - return writer; - }; - - /** - * Encodes the specified ParamChange message, length delimited. Does not implicitly {@link cosmos.params.v1beta1.ParamChange.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.params.v1beta1.ParamChange - * @static - * @param {cosmos.params.v1beta1.IParamChange} message ParamChange message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ParamChange.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ParamChange message from the specified reader or buffer. - * @function decode - * @memberof cosmos.params.v1beta1.ParamChange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.params.v1beta1.ParamChange} ParamChange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ParamChange.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.params.v1beta1.ParamChange(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.subspace = reader.string(); - break; - case 2: - message.key = reader.string(); - break; - case 3: - message.value = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ParamChange message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.params.v1beta1.ParamChange - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.params.v1beta1.ParamChange} ParamChange - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ParamChange.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ParamChange message. - * @function verify - * @memberof cosmos.params.v1beta1.ParamChange - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ParamChange.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.subspace != null && message.hasOwnProperty("subspace")) - if (!$util.isString(message.subspace)) - return "subspace: string expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!$util.isString(message.key)) - return "key: string expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isString(message.value)) - return "value: string expected"; - return null; - }; - - /** - * Creates a ParamChange message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.params.v1beta1.ParamChange - * @static - * @param {Object.} object Plain object - * @returns {cosmos.params.v1beta1.ParamChange} ParamChange - */ - ParamChange.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.params.v1beta1.ParamChange) - return object; - let message = new $root.cosmos.params.v1beta1.ParamChange(); - if (object.subspace != null) - message.subspace = String(object.subspace); - if (object.key != null) - message.key = String(object.key); - if (object.value != null) - message.value = String(object.value); - return message; - }; - - /** - * Creates a plain object from a ParamChange message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.params.v1beta1.ParamChange - * @static - * @param {cosmos.params.v1beta1.ParamChange} message ParamChange - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ParamChange.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.subspace = ""; - object.key = ""; - object.value = ""; - } - if (message.subspace != null && message.hasOwnProperty("subspace")) - object.subspace = message.subspace; - if (message.key != null && message.hasOwnProperty("key")) - object.key = message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - return object; - }; - - /** - * Converts this ParamChange to JSON. - * @function toJSON - * @memberof cosmos.params.v1beta1.ParamChange - * @instance - * @returns {Object.} JSON object - */ - ParamChange.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ParamChange; - })(v1beta1.ParamChange || {}); - - v1beta1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof cosmos.params.v1beta1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof cosmos.params.v1beta1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.params.v1beta1.Query#params}. - * @memberof cosmos.params.v1beta1.Query - * @typedef ParamsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.params.v1beta1.IQueryParamsResponse} [response] QueryParamsResponse - */ - - /** - * Calls Params. - * @function params - * @memberof cosmos.params.v1beta1.Query - * @instance - * @param {cosmos.params.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @param {cosmos.params.v1beta1.Query.ParamsCallback} callback Node-style callback called with the error, if any, and QueryParamsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.params = function params(request, callback) { - return this.rpcCall(params, $root.cosmos.params.v1beta1.QueryParamsRequest, $root.cosmos.params.v1beta1.QueryParamsResponse, request, callback); - }, "name", { value: "Params" }); - - /** - * Calls Params. - * @function params - * @memberof cosmos.params.v1beta1.Query - * @instance - * @param {cosmos.params.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1beta1.Query || {}); - - v1beta1.QueryParamsRequest = (function(QueryParamsRequest) { - - /** - * Properties of a QueryParamsRequest. - * @memberof cosmos.params.v1beta1 - * @interface IQueryParamsRequest - * @property {string|null} [subspace] QueryParamsRequest subspace - * @property {string|null} [key] QueryParamsRequest key - */ - - /** - * Constructs a new QueryParamsRequest. - * @memberof cosmos.params.v1beta1 - * @classdesc Represents a QueryParamsRequest. - * @implements IQueryParamsRequest - * @constructor - * @param {cosmos.params.v1beta1.IQueryParamsRequest=} [properties] Properties to set - */ - function QueryParamsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryParamsRequest subspace. - * @member {string} subspace - * @memberof cosmos.params.v1beta1.QueryParamsRequest - * @instance - */ - QueryParamsRequest.prototype.subspace = ""; - - /** - * QueryParamsRequest key. - * @member {string} key - * @memberof cosmos.params.v1beta1.QueryParamsRequest - * @instance - */ - QueryParamsRequest.prototype.key = ""; - - /** - * Creates a new QueryParamsRequest instance using the specified properties. - * @function create - * @memberof cosmos.params.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.params.v1beta1.IQueryParamsRequest=} [properties] Properties to set - * @returns {cosmos.params.v1beta1.QueryParamsRequest} QueryParamsRequest instance - */ - QueryParamsRequest.create = function create(properties) { - return new QueryParamsRequest(properties); - }; - - /** - * Encodes the specified QueryParamsRequest message. Does not implicitly {@link cosmos.params.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.params.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.params.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.subspace != null && Object.hasOwnProperty.call(message, "subspace")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.subspace); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.key); - return writer; - }; - - /** - * Encodes the specified QueryParamsRequest message, length delimited. Does not implicitly {@link cosmos.params.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.params.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.params.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.params.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.params.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.params.v1beta1.QueryParamsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.subspace = reader.string(); - break; - case 2: - message.key = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.params.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.params.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsRequest message. - * @function verify - * @memberof cosmos.params.v1beta1.QueryParamsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.subspace != null && message.hasOwnProperty("subspace")) - if (!$util.isString(message.subspace)) - return "subspace: string expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!$util.isString(message.key)) - return "key: string expected"; - return null; - }; - - /** - * Creates a QueryParamsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.params.v1beta1.QueryParamsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.params.v1beta1.QueryParamsRequest} QueryParamsRequest - */ - QueryParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.params.v1beta1.QueryParamsRequest) - return object; - let message = new $root.cosmos.params.v1beta1.QueryParamsRequest(); - if (object.subspace != null) - message.subspace = String(object.subspace); - if (object.key != null) - message.key = String(object.key); - return message; - }; - - /** - * Creates a plain object from a QueryParamsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.params.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.params.v1beta1.QueryParamsRequest} message QueryParamsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.subspace = ""; - object.key = ""; - } - if (message.subspace != null && message.hasOwnProperty("subspace")) - object.subspace = message.subspace; - if (message.key != null && message.hasOwnProperty("key")) - object.key = message.key; - return object; - }; - - /** - * Converts this QueryParamsRequest to JSON. - * @function toJSON - * @memberof cosmos.params.v1beta1.QueryParamsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryParamsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsRequest; - })(v1beta1.QueryParamsRequest || {}); - - v1beta1.QueryParamsResponse = (function(QueryParamsResponse) { - - /** - * Properties of a QueryParamsResponse. - * @memberof cosmos.params.v1beta1 - * @interface IQueryParamsResponse - * @property {cosmos.params.v1beta1.IParamChange|null} [param] QueryParamsResponse param - */ - - /** - * Constructs a new QueryParamsResponse. - * @memberof cosmos.params.v1beta1 - * @classdesc Represents a QueryParamsResponse. - * @implements IQueryParamsResponse - * @constructor - * @param {cosmos.params.v1beta1.IQueryParamsResponse=} [properties] Properties to set - */ - function QueryParamsResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryParamsResponse param. - * @member {cosmos.params.v1beta1.IParamChange|null|undefined} param - * @memberof cosmos.params.v1beta1.QueryParamsResponse - * @instance - */ - QueryParamsResponse.prototype.param = null; - - /** - * Creates a new QueryParamsResponse instance using the specified properties. - * @function create - * @memberof cosmos.params.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.params.v1beta1.IQueryParamsResponse=} [properties] Properties to set - * @returns {cosmos.params.v1beta1.QueryParamsResponse} QueryParamsResponse instance - */ - QueryParamsResponse.create = function create(properties) { - return new QueryParamsResponse(properties); - }; - - /** - * Encodes the specified QueryParamsResponse message. Does not implicitly {@link cosmos.params.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.params.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.params.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.param != null && Object.hasOwnProperty.call(message, "param")) - $root.cosmos.params.v1beta1.ParamChange.encode(message.param, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryParamsResponse message, length delimited. Does not implicitly {@link cosmos.params.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.params.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.params.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.params.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.params.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.params.v1beta1.QueryParamsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.param = $root.cosmos.params.v1beta1.ParamChange.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.params.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.params.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsResponse message. - * @function verify - * @memberof cosmos.params.v1beta1.QueryParamsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.param != null && message.hasOwnProperty("param")) { - let error = $root.cosmos.params.v1beta1.ParamChange.verify(message.param); - if (error) - return "param." + error; - } - return null; - }; - - /** - * Creates a QueryParamsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.params.v1beta1.QueryParamsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.params.v1beta1.QueryParamsResponse} QueryParamsResponse - */ - QueryParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.params.v1beta1.QueryParamsResponse) - return object; - let message = new $root.cosmos.params.v1beta1.QueryParamsResponse(); - if (object.param != null) { - if (typeof object.param !== "object") - throw TypeError(".cosmos.params.v1beta1.QueryParamsResponse.param: object expected"); - message.param = $root.cosmos.params.v1beta1.ParamChange.fromObject(object.param); - } - return message; - }; - - /** - * Creates a plain object from a QueryParamsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.params.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.params.v1beta1.QueryParamsResponse} message QueryParamsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.param = null; - if (message.param != null && message.hasOwnProperty("param")) - object.param = $root.cosmos.params.v1beta1.ParamChange.toObject(message.param, options); - return object; - }; - - /** - * Converts this QueryParamsResponse to JSON. - * @function toJSON - * @memberof cosmos.params.v1beta1.QueryParamsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryParamsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsResponse; - })(v1beta1.QueryParamsResponse || {}); - - return v1beta1; - })(params.v1beta1 || {}); - - return params; - })(cosmos.params || {}); - - /** - * Namespace slashing. - * @memberof cosmos - * @namespace - */ - - cosmos.slashing = (function(slashing) { - - /** - * Namespace v1beta1. - * @memberof cosmos.slashing - * @namespace - */ - - slashing.v1beta1 = (function(v1beta1) { - - v1beta1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof cosmos.slashing.v1beta1 - * @interface IGenesisState - * @property {cosmos.slashing.v1beta1.IParams|null} [params] GenesisState params - * @property {Array.|null} [signingInfos] GenesisState signingInfos - * @property {Array.|null} [missedBlocks] GenesisState missedBlocks - */ - - /** - * Constructs a new GenesisState. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {cosmos.slashing.v1beta1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.signingInfos = []; - this.missedBlocks = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState params. - * @member {cosmos.slashing.v1beta1.IParams|null|undefined} params - * @memberof cosmos.slashing.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.params = null; - - /** - * GenesisState signingInfos. - * @member {Array.} signingInfos - * @memberof cosmos.slashing.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.signingInfos = $util.emptyArray; - - /** - * GenesisState missedBlocks. - * @member {Array.} missedBlocks - * @memberof cosmos.slashing.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.missedBlocks = $util.emptyArray; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.GenesisState - * @static - * @param {cosmos.slashing.v1beta1.IGenesisState=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link cosmos.slashing.v1beta1.GenesisState.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.GenesisState - * @static - * @param {cosmos.slashing.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.cosmos.slashing.v1beta1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.signingInfos != null && message.signingInfos.length) - for (let i = 0; i < message.signingInfos.length; ++i) - $root.cosmos.slashing.v1beta1.SigningInfo.encode(message.signingInfos[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.missedBlocks != null && message.missedBlocks.length) - for (let i = 0; i < message.missedBlocks.length; ++i) - $root.cosmos.slashing.v1beta1.ValidatorMissedBlocks.encode(message.missedBlocks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.GenesisState - * @static - * @param {cosmos.slashing.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.cosmos.slashing.v1beta1.Params.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.signingInfos && message.signingInfos.length)) - message.signingInfos = []; - message.signingInfos.push($root.cosmos.slashing.v1beta1.SigningInfo.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.missedBlocks && message.missedBlocks.length)) - message.missedBlocks = []; - message.missedBlocks.push($root.cosmos.slashing.v1beta1.ValidatorMissedBlocks.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof cosmos.slashing.v1beta1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.cosmos.slashing.v1beta1.Params.verify(message.params); - if (error) - return "params." + error; - } - if (message.signingInfos != null && message.hasOwnProperty("signingInfos")) { - if (!Array.isArray(message.signingInfos)) - return "signingInfos: array expected"; - for (let i = 0; i < message.signingInfos.length; ++i) { - let error = $root.cosmos.slashing.v1beta1.SigningInfo.verify(message.signingInfos[i]); - if (error) - return "signingInfos." + error; - } - } - if (message.missedBlocks != null && message.hasOwnProperty("missedBlocks")) { - if (!Array.isArray(message.missedBlocks)) - return "missedBlocks: array expected"; - for (let i = 0; i < message.missedBlocks.length; ++i) { - let error = $root.cosmos.slashing.v1beta1.ValidatorMissedBlocks.verify(message.missedBlocks[i]); - if (error) - return "missedBlocks." + error; - } - } - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.GenesisState) - return object; - let message = new $root.cosmos.slashing.v1beta1.GenesisState(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".cosmos.slashing.v1beta1.GenesisState.params: object expected"); - message.params = $root.cosmos.slashing.v1beta1.Params.fromObject(object.params); - } - if (object.signingInfos) { - if (!Array.isArray(object.signingInfos)) - throw TypeError(".cosmos.slashing.v1beta1.GenesisState.signingInfos: array expected"); - message.signingInfos = []; - for (let i = 0; i < object.signingInfos.length; ++i) { - if (typeof object.signingInfos[i] !== "object") - throw TypeError(".cosmos.slashing.v1beta1.GenesisState.signingInfos: object expected"); - message.signingInfos[i] = $root.cosmos.slashing.v1beta1.SigningInfo.fromObject(object.signingInfos[i]); - } - } - if (object.missedBlocks) { - if (!Array.isArray(object.missedBlocks)) - throw TypeError(".cosmos.slashing.v1beta1.GenesisState.missedBlocks: array expected"); - message.missedBlocks = []; - for (let i = 0; i < object.missedBlocks.length; ++i) { - if (typeof object.missedBlocks[i] !== "object") - throw TypeError(".cosmos.slashing.v1beta1.GenesisState.missedBlocks: object expected"); - message.missedBlocks[i] = $root.cosmos.slashing.v1beta1.ValidatorMissedBlocks.fromObject(object.missedBlocks[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.GenesisState - * @static - * @param {cosmos.slashing.v1beta1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.signingInfos = []; - object.missedBlocks = []; - } - if (options.defaults) - object.params = null; - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.cosmos.slashing.v1beta1.Params.toObject(message.params, options); - if (message.signingInfos && message.signingInfos.length) { - object.signingInfos = []; - for (let j = 0; j < message.signingInfos.length; ++j) - object.signingInfos[j] = $root.cosmos.slashing.v1beta1.SigningInfo.toObject(message.signingInfos[j], options); - } - if (message.missedBlocks && message.missedBlocks.length) { - object.missedBlocks = []; - for (let j = 0; j < message.missedBlocks.length; ++j) - object.missedBlocks[j] = $root.cosmos.slashing.v1beta1.ValidatorMissedBlocks.toObject(message.missedBlocks[j], options); - } - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1beta1.GenesisState || {}); - - v1beta1.SigningInfo = (function(SigningInfo) { - - /** - * Properties of a SigningInfo. - * @memberof cosmos.slashing.v1beta1 - * @interface ISigningInfo - * @property {string|null} [address] SigningInfo address - * @property {cosmos.slashing.v1beta1.IValidatorSigningInfo|null} [validatorSigningInfo] SigningInfo validatorSigningInfo - */ - - /** - * Constructs a new SigningInfo. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a SigningInfo. - * @implements ISigningInfo - * @constructor - * @param {cosmos.slashing.v1beta1.ISigningInfo=} [properties] Properties to set - */ - function SigningInfo(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SigningInfo address. - * @member {string} address - * @memberof cosmos.slashing.v1beta1.SigningInfo - * @instance - */ - SigningInfo.prototype.address = ""; - - /** - * SigningInfo validatorSigningInfo. - * @member {cosmos.slashing.v1beta1.IValidatorSigningInfo|null|undefined} validatorSigningInfo - * @memberof cosmos.slashing.v1beta1.SigningInfo - * @instance - */ - SigningInfo.prototype.validatorSigningInfo = null; - - /** - * Creates a new SigningInfo instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.SigningInfo - * @static - * @param {cosmos.slashing.v1beta1.ISigningInfo=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.SigningInfo} SigningInfo instance - */ - SigningInfo.create = function create(properties) { - return new SigningInfo(properties); - }; - - /** - * Encodes the specified SigningInfo message. Does not implicitly {@link cosmos.slashing.v1beta1.SigningInfo.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.SigningInfo - * @static - * @param {cosmos.slashing.v1beta1.ISigningInfo} message SigningInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SigningInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.address); - if (message.validatorSigningInfo != null && Object.hasOwnProperty.call(message, "validatorSigningInfo")) - $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.encode(message.validatorSigningInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SigningInfo message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.SigningInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.SigningInfo - * @static - * @param {cosmos.slashing.v1beta1.ISigningInfo} message SigningInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SigningInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SigningInfo message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.SigningInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.SigningInfo} SigningInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SigningInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.SigningInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.string(); - break; - case 2: - message.validatorSigningInfo = $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SigningInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.SigningInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.SigningInfo} SigningInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SigningInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SigningInfo message. - * @function verify - * @memberof cosmos.slashing.v1beta1.SigningInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SigningInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!$util.isString(message.address)) - return "address: string expected"; - if (message.validatorSigningInfo != null && message.hasOwnProperty("validatorSigningInfo")) { - let error = $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.verify(message.validatorSigningInfo); - if (error) - return "validatorSigningInfo." + error; - } - return null; - }; - - /** - * Creates a SigningInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.SigningInfo - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.SigningInfo} SigningInfo - */ - SigningInfo.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.SigningInfo) - return object; - let message = new $root.cosmos.slashing.v1beta1.SigningInfo(); - if (object.address != null) - message.address = String(object.address); - if (object.validatorSigningInfo != null) { - if (typeof object.validatorSigningInfo !== "object") - throw TypeError(".cosmos.slashing.v1beta1.SigningInfo.validatorSigningInfo: object expected"); - message.validatorSigningInfo = $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.fromObject(object.validatorSigningInfo); - } - return message; - }; - - /** - * Creates a plain object from a SigningInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.SigningInfo - * @static - * @param {cosmos.slashing.v1beta1.SigningInfo} message SigningInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SigningInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.address = ""; - object.validatorSigningInfo = null; - } - if (message.address != null && message.hasOwnProperty("address")) - object.address = message.address; - if (message.validatorSigningInfo != null && message.hasOwnProperty("validatorSigningInfo")) - object.validatorSigningInfo = $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.toObject(message.validatorSigningInfo, options); - return object; - }; - - /** - * Converts this SigningInfo to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.SigningInfo - * @instance - * @returns {Object.} JSON object - */ - SigningInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SigningInfo; - })(v1beta1.SigningInfo || {}); - - v1beta1.ValidatorMissedBlocks = (function(ValidatorMissedBlocks) { - - /** - * Properties of a ValidatorMissedBlocks. - * @memberof cosmos.slashing.v1beta1 - * @interface IValidatorMissedBlocks - * @property {string|null} [address] ValidatorMissedBlocks address - * @property {Array.|null} [missedBlocks] ValidatorMissedBlocks missedBlocks - */ - - /** - * Constructs a new ValidatorMissedBlocks. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a ValidatorMissedBlocks. - * @implements IValidatorMissedBlocks - * @constructor - * @param {cosmos.slashing.v1beta1.IValidatorMissedBlocks=} [properties] Properties to set - */ - function ValidatorMissedBlocks(properties) { - this.missedBlocks = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorMissedBlocks address. - * @member {string} address - * @memberof cosmos.slashing.v1beta1.ValidatorMissedBlocks - * @instance - */ - ValidatorMissedBlocks.prototype.address = ""; - - /** - * ValidatorMissedBlocks missedBlocks. - * @member {Array.} missedBlocks - * @memberof cosmos.slashing.v1beta1.ValidatorMissedBlocks - * @instance - */ - ValidatorMissedBlocks.prototype.missedBlocks = $util.emptyArray; - - /** - * Creates a new ValidatorMissedBlocks instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.ValidatorMissedBlocks - * @static - * @param {cosmos.slashing.v1beta1.IValidatorMissedBlocks=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.ValidatorMissedBlocks} ValidatorMissedBlocks instance - */ - ValidatorMissedBlocks.create = function create(properties) { - return new ValidatorMissedBlocks(properties); - }; - - /** - * Encodes the specified ValidatorMissedBlocks message. Does not implicitly {@link cosmos.slashing.v1beta1.ValidatorMissedBlocks.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.ValidatorMissedBlocks - * @static - * @param {cosmos.slashing.v1beta1.IValidatorMissedBlocks} message ValidatorMissedBlocks message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorMissedBlocks.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.address); - if (message.missedBlocks != null && message.missedBlocks.length) - for (let i = 0; i < message.missedBlocks.length; ++i) - $root.cosmos.slashing.v1beta1.MissedBlock.encode(message.missedBlocks[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ValidatorMissedBlocks message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.ValidatorMissedBlocks.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.ValidatorMissedBlocks - * @static - * @param {cosmos.slashing.v1beta1.IValidatorMissedBlocks} message ValidatorMissedBlocks message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorMissedBlocks.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorMissedBlocks message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.ValidatorMissedBlocks - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.ValidatorMissedBlocks} ValidatorMissedBlocks - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorMissedBlocks.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.ValidatorMissedBlocks(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.string(); - break; - case 2: - if (!(message.missedBlocks && message.missedBlocks.length)) - message.missedBlocks = []; - message.missedBlocks.push($root.cosmos.slashing.v1beta1.MissedBlock.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorMissedBlocks message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.ValidatorMissedBlocks - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.ValidatorMissedBlocks} ValidatorMissedBlocks - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorMissedBlocks.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorMissedBlocks message. - * @function verify - * @memberof cosmos.slashing.v1beta1.ValidatorMissedBlocks - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorMissedBlocks.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!$util.isString(message.address)) - return "address: string expected"; - if (message.missedBlocks != null && message.hasOwnProperty("missedBlocks")) { - if (!Array.isArray(message.missedBlocks)) - return "missedBlocks: array expected"; - for (let i = 0; i < message.missedBlocks.length; ++i) { - let error = $root.cosmos.slashing.v1beta1.MissedBlock.verify(message.missedBlocks[i]); - if (error) - return "missedBlocks." + error; - } - } - return null; - }; - - /** - * Creates a ValidatorMissedBlocks message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.ValidatorMissedBlocks - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.ValidatorMissedBlocks} ValidatorMissedBlocks - */ - ValidatorMissedBlocks.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.ValidatorMissedBlocks) - return object; - let message = new $root.cosmos.slashing.v1beta1.ValidatorMissedBlocks(); - if (object.address != null) - message.address = String(object.address); - if (object.missedBlocks) { - if (!Array.isArray(object.missedBlocks)) - throw TypeError(".cosmos.slashing.v1beta1.ValidatorMissedBlocks.missedBlocks: array expected"); - message.missedBlocks = []; - for (let i = 0; i < object.missedBlocks.length; ++i) { - if (typeof object.missedBlocks[i] !== "object") - throw TypeError(".cosmos.slashing.v1beta1.ValidatorMissedBlocks.missedBlocks: object expected"); - message.missedBlocks[i] = $root.cosmos.slashing.v1beta1.MissedBlock.fromObject(object.missedBlocks[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ValidatorMissedBlocks message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.ValidatorMissedBlocks - * @static - * @param {cosmos.slashing.v1beta1.ValidatorMissedBlocks} message ValidatorMissedBlocks - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorMissedBlocks.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.missedBlocks = []; - if (options.defaults) - object.address = ""; - if (message.address != null && message.hasOwnProperty("address")) - object.address = message.address; - if (message.missedBlocks && message.missedBlocks.length) { - object.missedBlocks = []; - for (let j = 0; j < message.missedBlocks.length; ++j) - object.missedBlocks[j] = $root.cosmos.slashing.v1beta1.MissedBlock.toObject(message.missedBlocks[j], options); - } - return object; - }; - - /** - * Converts this ValidatorMissedBlocks to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.ValidatorMissedBlocks - * @instance - * @returns {Object.} JSON object - */ - ValidatorMissedBlocks.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorMissedBlocks; - })(v1beta1.ValidatorMissedBlocks || {}); - - v1beta1.MissedBlock = (function(MissedBlock) { - - /** - * Properties of a MissedBlock. - * @memberof cosmos.slashing.v1beta1 - * @interface IMissedBlock - * @property {number|Long|null} [index] MissedBlock index - * @property {boolean|null} [missed] MissedBlock missed - */ - - /** - * Constructs a new MissedBlock. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a MissedBlock. - * @implements IMissedBlock - * @constructor - * @param {cosmos.slashing.v1beta1.IMissedBlock=} [properties] Properties to set - */ - function MissedBlock(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MissedBlock index. - * @member {number|Long} index - * @memberof cosmos.slashing.v1beta1.MissedBlock - * @instance - */ - MissedBlock.prototype.index = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * MissedBlock missed. - * @member {boolean} missed - * @memberof cosmos.slashing.v1beta1.MissedBlock - * @instance - */ - MissedBlock.prototype.missed = false; - - /** - * Creates a new MissedBlock instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.MissedBlock - * @static - * @param {cosmos.slashing.v1beta1.IMissedBlock=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.MissedBlock} MissedBlock instance - */ - MissedBlock.create = function create(properties) { - return new MissedBlock(properties); - }; - - /** - * Encodes the specified MissedBlock message. Does not implicitly {@link cosmos.slashing.v1beta1.MissedBlock.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.MissedBlock - * @static - * @param {cosmos.slashing.v1beta1.IMissedBlock} message MissedBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MissedBlock.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.index != null && Object.hasOwnProperty.call(message, "index")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.index); - if (message.missed != null && Object.hasOwnProperty.call(message, "missed")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.missed); - return writer; - }; - - /** - * Encodes the specified MissedBlock message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.MissedBlock.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.MissedBlock - * @static - * @param {cosmos.slashing.v1beta1.IMissedBlock} message MissedBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MissedBlock.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MissedBlock message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.MissedBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.MissedBlock} MissedBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MissedBlock.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.MissedBlock(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.index = reader.int64(); - break; - case 2: - message.missed = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MissedBlock message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.MissedBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.MissedBlock} MissedBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MissedBlock.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MissedBlock message. - * @function verify - * @memberof cosmos.slashing.v1beta1.MissedBlock - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MissedBlock.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.index != null && message.hasOwnProperty("index")) - if (!$util.isInteger(message.index) && !(message.index && $util.isInteger(message.index.low) && $util.isInteger(message.index.high))) - return "index: integer|Long expected"; - if (message.missed != null && message.hasOwnProperty("missed")) - if (typeof message.missed !== "boolean") - return "missed: boolean expected"; - return null; - }; - - /** - * Creates a MissedBlock message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.MissedBlock - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.MissedBlock} MissedBlock - */ - MissedBlock.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.MissedBlock) - return object; - let message = new $root.cosmos.slashing.v1beta1.MissedBlock(); - if (object.index != null) - if ($util.Long) - (message.index = $util.Long.fromValue(object.index)).unsigned = false; - else if (typeof object.index === "string") - message.index = parseInt(object.index, 10); - else if (typeof object.index === "number") - message.index = object.index; - else if (typeof object.index === "object") - message.index = new $util.LongBits(object.index.low >>> 0, object.index.high >>> 0).toNumber(); - if (object.missed != null) - message.missed = Boolean(object.missed); - return message; - }; - - /** - * Creates a plain object from a MissedBlock message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.MissedBlock - * @static - * @param {cosmos.slashing.v1beta1.MissedBlock} message MissedBlock - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MissedBlock.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.index = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.index = options.longs === String ? "0" : 0; - object.missed = false; - } - if (message.index != null && message.hasOwnProperty("index")) - if (typeof message.index === "number") - object.index = options.longs === String ? String(message.index) : message.index; - else - object.index = options.longs === String ? $util.Long.prototype.toString.call(message.index) : options.longs === Number ? new $util.LongBits(message.index.low >>> 0, message.index.high >>> 0).toNumber() : message.index; - if (message.missed != null && message.hasOwnProperty("missed")) - object.missed = message.missed; - return object; - }; - - /** - * Converts this MissedBlock to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.MissedBlock - * @instance - * @returns {Object.} JSON object - */ - MissedBlock.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MissedBlock; - })(v1beta1.MissedBlock || {}); - - v1beta1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof cosmos.slashing.v1beta1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.slashing.v1beta1.Query#params}. - * @memberof cosmos.slashing.v1beta1.Query - * @typedef ParamsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.slashing.v1beta1.IQueryParamsResponse} [response] QueryParamsResponse - */ - - /** - * Calls Params. - * @function params - * @memberof cosmos.slashing.v1beta1.Query - * @instance - * @param {cosmos.slashing.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @param {cosmos.slashing.v1beta1.Query.ParamsCallback} callback Node-style callback called with the error, if any, and QueryParamsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.params = function params(request, callback) { - return this.rpcCall(params, $root.cosmos.slashing.v1beta1.QueryParamsRequest, $root.cosmos.slashing.v1beta1.QueryParamsResponse, request, callback); - }, "name", { value: "Params" }); - - /** - * Calls Params. - * @function params - * @memberof cosmos.slashing.v1beta1.Query - * @instance - * @param {cosmos.slashing.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.slashing.v1beta1.Query#signingInfo}. - * @memberof cosmos.slashing.v1beta1.Query - * @typedef SigningInfoCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.slashing.v1beta1.IQuerySigningInfoResponse} [response] QuerySigningInfoResponse - */ - - /** - * Calls SigningInfo. - * @function signingInfo - * @memberof cosmos.slashing.v1beta1.Query - * @instance - * @param {cosmos.slashing.v1beta1.IQuerySigningInfoRequest} request QuerySigningInfoRequest message or plain object - * @param {cosmos.slashing.v1beta1.Query.SigningInfoCallback} callback Node-style callback called with the error, if any, and QuerySigningInfoResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.signingInfo = function signingInfo(request, callback) { - return this.rpcCall(signingInfo, $root.cosmos.slashing.v1beta1.QuerySigningInfoRequest, $root.cosmos.slashing.v1beta1.QuerySigningInfoResponse, request, callback); - }, "name", { value: "SigningInfo" }); - - /** - * Calls SigningInfo. - * @function signingInfo - * @memberof cosmos.slashing.v1beta1.Query - * @instance - * @param {cosmos.slashing.v1beta1.IQuerySigningInfoRequest} request QuerySigningInfoRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.slashing.v1beta1.Query#signingInfos}. - * @memberof cosmos.slashing.v1beta1.Query - * @typedef SigningInfosCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.slashing.v1beta1.IQuerySigningInfosResponse} [response] QuerySigningInfosResponse - */ - - /** - * Calls SigningInfos. - * @function signingInfos - * @memberof cosmos.slashing.v1beta1.Query - * @instance - * @param {cosmos.slashing.v1beta1.IQuerySigningInfosRequest} request QuerySigningInfosRequest message or plain object - * @param {cosmos.slashing.v1beta1.Query.SigningInfosCallback} callback Node-style callback called with the error, if any, and QuerySigningInfosResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.signingInfos = function signingInfos(request, callback) { - return this.rpcCall(signingInfos, $root.cosmos.slashing.v1beta1.QuerySigningInfosRequest, $root.cosmos.slashing.v1beta1.QuerySigningInfosResponse, request, callback); - }, "name", { value: "SigningInfos" }); - - /** - * Calls SigningInfos. - * @function signingInfos - * @memberof cosmos.slashing.v1beta1.Query - * @instance - * @param {cosmos.slashing.v1beta1.IQuerySigningInfosRequest} request QuerySigningInfosRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1beta1.Query || {}); - - v1beta1.QueryParamsRequest = (function(QueryParamsRequest) { - - /** - * Properties of a QueryParamsRequest. - * @memberof cosmos.slashing.v1beta1 - * @interface IQueryParamsRequest - */ - - /** - * Constructs a new QueryParamsRequest. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a QueryParamsRequest. - * @implements IQueryParamsRequest - * @constructor - * @param {cosmos.slashing.v1beta1.IQueryParamsRequest=} [properties] Properties to set - */ - function QueryParamsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryParamsRequest instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.slashing.v1beta1.IQueryParamsRequest=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.QueryParamsRequest} QueryParamsRequest instance - */ - QueryParamsRequest.create = function create(properties) { - return new QueryParamsRequest(properties); - }; - - /** - * Encodes the specified QueryParamsRequest message. Does not implicitly {@link cosmos.slashing.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.slashing.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryParamsRequest message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.slashing.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.QueryParamsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsRequest message. - * @function verify - * @memberof cosmos.slashing.v1beta1.QueryParamsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryParamsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.QueryParamsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.QueryParamsRequest} QueryParamsRequest - */ - QueryParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.QueryParamsRequest) - return object; - return new $root.cosmos.slashing.v1beta1.QueryParamsRequest(); - }; - - /** - * Creates a plain object from a QueryParamsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.slashing.v1beta1.QueryParamsRequest} message QueryParamsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryParamsRequest to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.QueryParamsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryParamsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsRequest; - })(v1beta1.QueryParamsRequest || {}); - - v1beta1.QueryParamsResponse = (function(QueryParamsResponse) { - - /** - * Properties of a QueryParamsResponse. - * @memberof cosmos.slashing.v1beta1 - * @interface IQueryParamsResponse - * @property {cosmos.slashing.v1beta1.IParams|null} [params] QueryParamsResponse params - */ - - /** - * Constructs a new QueryParamsResponse. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a QueryParamsResponse. - * @implements IQueryParamsResponse - * @constructor - * @param {cosmos.slashing.v1beta1.IQueryParamsResponse=} [properties] Properties to set - */ - function QueryParamsResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryParamsResponse params. - * @member {cosmos.slashing.v1beta1.IParams|null|undefined} params - * @memberof cosmos.slashing.v1beta1.QueryParamsResponse - * @instance - */ - QueryParamsResponse.prototype.params = null; - - /** - * Creates a new QueryParamsResponse instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.slashing.v1beta1.IQueryParamsResponse=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.QueryParamsResponse} QueryParamsResponse instance - */ - QueryParamsResponse.create = function create(properties) { - return new QueryParamsResponse(properties); - }; - - /** - * Encodes the specified QueryParamsResponse message. Does not implicitly {@link cosmos.slashing.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.slashing.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.cosmos.slashing.v1beta1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryParamsResponse message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.slashing.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.QueryParamsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.cosmos.slashing.v1beta1.Params.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsResponse message. - * @function verify - * @memberof cosmos.slashing.v1beta1.QueryParamsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.cosmos.slashing.v1beta1.Params.verify(message.params); - if (error) - return "params." + error; - } - return null; - }; - - /** - * Creates a QueryParamsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.QueryParamsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.QueryParamsResponse} QueryParamsResponse - */ - QueryParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.QueryParamsResponse) - return object; - let message = new $root.cosmos.slashing.v1beta1.QueryParamsResponse(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".cosmos.slashing.v1beta1.QueryParamsResponse.params: object expected"); - message.params = $root.cosmos.slashing.v1beta1.Params.fromObject(object.params); - } - return message; - }; - - /** - * Creates a plain object from a QueryParamsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.slashing.v1beta1.QueryParamsResponse} message QueryParamsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.params = null; - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.cosmos.slashing.v1beta1.Params.toObject(message.params, options); - return object; - }; - - /** - * Converts this QueryParamsResponse to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.QueryParamsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryParamsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsResponse; - })(v1beta1.QueryParamsResponse || {}); - - v1beta1.QuerySigningInfoRequest = (function(QuerySigningInfoRequest) { - - /** - * Properties of a QuerySigningInfoRequest. - * @memberof cosmos.slashing.v1beta1 - * @interface IQuerySigningInfoRequest - * @property {string|null} [consAddress] QuerySigningInfoRequest consAddress - */ - - /** - * Constructs a new QuerySigningInfoRequest. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a QuerySigningInfoRequest. - * @implements IQuerySigningInfoRequest - * @constructor - * @param {cosmos.slashing.v1beta1.IQuerySigningInfoRequest=} [properties] Properties to set - */ - function QuerySigningInfoRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QuerySigningInfoRequest consAddress. - * @member {string} consAddress - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoRequest - * @instance - */ - QuerySigningInfoRequest.prototype.consAddress = ""; - - /** - * Creates a new QuerySigningInfoRequest instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoRequest - * @static - * @param {cosmos.slashing.v1beta1.IQuerySigningInfoRequest=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.QuerySigningInfoRequest} QuerySigningInfoRequest instance - */ - QuerySigningInfoRequest.create = function create(properties) { - return new QuerySigningInfoRequest(properties); - }; - - /** - * Encodes the specified QuerySigningInfoRequest message. Does not implicitly {@link cosmos.slashing.v1beta1.QuerySigningInfoRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoRequest - * @static - * @param {cosmos.slashing.v1beta1.IQuerySigningInfoRequest} message QuerySigningInfoRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuerySigningInfoRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.consAddress != null && Object.hasOwnProperty.call(message, "consAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.consAddress); - return writer; - }; - - /** - * Encodes the specified QuerySigningInfoRequest message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.QuerySigningInfoRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoRequest - * @static - * @param {cosmos.slashing.v1beta1.IQuerySigningInfoRequest} message QuerySigningInfoRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuerySigningInfoRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QuerySigningInfoRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.QuerySigningInfoRequest} QuerySigningInfoRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuerySigningInfoRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.QuerySigningInfoRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.consAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QuerySigningInfoRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.QuerySigningInfoRequest} QuerySigningInfoRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuerySigningInfoRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QuerySigningInfoRequest message. - * @function verify - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QuerySigningInfoRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.consAddress != null && message.hasOwnProperty("consAddress")) - if (!$util.isString(message.consAddress)) - return "consAddress: string expected"; - return null; - }; - - /** - * Creates a QuerySigningInfoRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.QuerySigningInfoRequest} QuerySigningInfoRequest - */ - QuerySigningInfoRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.QuerySigningInfoRequest) - return object; - let message = new $root.cosmos.slashing.v1beta1.QuerySigningInfoRequest(); - if (object.consAddress != null) - message.consAddress = String(object.consAddress); - return message; - }; - - /** - * Creates a plain object from a QuerySigningInfoRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoRequest - * @static - * @param {cosmos.slashing.v1beta1.QuerySigningInfoRequest} message QuerySigningInfoRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QuerySigningInfoRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.consAddress = ""; - if (message.consAddress != null && message.hasOwnProperty("consAddress")) - object.consAddress = message.consAddress; - return object; - }; - - /** - * Converts this QuerySigningInfoRequest to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoRequest - * @instance - * @returns {Object.} JSON object - */ - QuerySigningInfoRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QuerySigningInfoRequest; - })(v1beta1.QuerySigningInfoRequest || {}); - - v1beta1.QuerySigningInfoResponse = (function(QuerySigningInfoResponse) { - - /** - * Properties of a QuerySigningInfoResponse. - * @memberof cosmos.slashing.v1beta1 - * @interface IQuerySigningInfoResponse - * @property {cosmos.slashing.v1beta1.IValidatorSigningInfo|null} [valSigningInfo] QuerySigningInfoResponse valSigningInfo - */ - - /** - * Constructs a new QuerySigningInfoResponse. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a QuerySigningInfoResponse. - * @implements IQuerySigningInfoResponse - * @constructor - * @param {cosmos.slashing.v1beta1.IQuerySigningInfoResponse=} [properties] Properties to set - */ - function QuerySigningInfoResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QuerySigningInfoResponse valSigningInfo. - * @member {cosmos.slashing.v1beta1.IValidatorSigningInfo|null|undefined} valSigningInfo - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoResponse - * @instance - */ - QuerySigningInfoResponse.prototype.valSigningInfo = null; - - /** - * Creates a new QuerySigningInfoResponse instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoResponse - * @static - * @param {cosmos.slashing.v1beta1.IQuerySigningInfoResponse=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.QuerySigningInfoResponse} QuerySigningInfoResponse instance - */ - QuerySigningInfoResponse.create = function create(properties) { - return new QuerySigningInfoResponse(properties); - }; - - /** - * Encodes the specified QuerySigningInfoResponse message. Does not implicitly {@link cosmos.slashing.v1beta1.QuerySigningInfoResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoResponse - * @static - * @param {cosmos.slashing.v1beta1.IQuerySigningInfoResponse} message QuerySigningInfoResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuerySigningInfoResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.valSigningInfo != null && Object.hasOwnProperty.call(message, "valSigningInfo")) - $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.encode(message.valSigningInfo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QuerySigningInfoResponse message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.QuerySigningInfoResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoResponse - * @static - * @param {cosmos.slashing.v1beta1.IQuerySigningInfoResponse} message QuerySigningInfoResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuerySigningInfoResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QuerySigningInfoResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.QuerySigningInfoResponse} QuerySigningInfoResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuerySigningInfoResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.QuerySigningInfoResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.valSigningInfo = $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QuerySigningInfoResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.QuerySigningInfoResponse} QuerySigningInfoResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuerySigningInfoResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QuerySigningInfoResponse message. - * @function verify - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QuerySigningInfoResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.valSigningInfo != null && message.hasOwnProperty("valSigningInfo")) { - let error = $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.verify(message.valSigningInfo); - if (error) - return "valSigningInfo." + error; - } - return null; - }; - - /** - * Creates a QuerySigningInfoResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.QuerySigningInfoResponse} QuerySigningInfoResponse - */ - QuerySigningInfoResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.QuerySigningInfoResponse) - return object; - let message = new $root.cosmos.slashing.v1beta1.QuerySigningInfoResponse(); - if (object.valSigningInfo != null) { - if (typeof object.valSigningInfo !== "object") - throw TypeError(".cosmos.slashing.v1beta1.QuerySigningInfoResponse.valSigningInfo: object expected"); - message.valSigningInfo = $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.fromObject(object.valSigningInfo); - } - return message; - }; - - /** - * Creates a plain object from a QuerySigningInfoResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoResponse - * @static - * @param {cosmos.slashing.v1beta1.QuerySigningInfoResponse} message QuerySigningInfoResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QuerySigningInfoResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.valSigningInfo = null; - if (message.valSigningInfo != null && message.hasOwnProperty("valSigningInfo")) - object.valSigningInfo = $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.toObject(message.valSigningInfo, options); - return object; - }; - - /** - * Converts this QuerySigningInfoResponse to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.QuerySigningInfoResponse - * @instance - * @returns {Object.} JSON object - */ - QuerySigningInfoResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QuerySigningInfoResponse; - })(v1beta1.QuerySigningInfoResponse || {}); - - v1beta1.QuerySigningInfosRequest = (function(QuerySigningInfosRequest) { - - /** - * Properties of a QuerySigningInfosRequest. - * @memberof cosmos.slashing.v1beta1 - * @interface IQuerySigningInfosRequest - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QuerySigningInfosRequest pagination - */ - - /** - * Constructs a new QuerySigningInfosRequest. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a QuerySigningInfosRequest. - * @implements IQuerySigningInfosRequest - * @constructor - * @param {cosmos.slashing.v1beta1.IQuerySigningInfosRequest=} [properties] Properties to set - */ - function QuerySigningInfosRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QuerySigningInfosRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosRequest - * @instance - */ - QuerySigningInfosRequest.prototype.pagination = null; - - /** - * Creates a new QuerySigningInfosRequest instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosRequest - * @static - * @param {cosmos.slashing.v1beta1.IQuerySigningInfosRequest=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.QuerySigningInfosRequest} QuerySigningInfosRequest instance - */ - QuerySigningInfosRequest.create = function create(properties) { - return new QuerySigningInfosRequest(properties); - }; - - /** - * Encodes the specified QuerySigningInfosRequest message. Does not implicitly {@link cosmos.slashing.v1beta1.QuerySigningInfosRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosRequest - * @static - * @param {cosmos.slashing.v1beta1.IQuerySigningInfosRequest} message QuerySigningInfosRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuerySigningInfosRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QuerySigningInfosRequest message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.QuerySigningInfosRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosRequest - * @static - * @param {cosmos.slashing.v1beta1.IQuerySigningInfosRequest} message QuerySigningInfosRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuerySigningInfosRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QuerySigningInfosRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.QuerySigningInfosRequest} QuerySigningInfosRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuerySigningInfosRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.QuerySigningInfosRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QuerySigningInfosRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.QuerySigningInfosRequest} QuerySigningInfosRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuerySigningInfosRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QuerySigningInfosRequest message. - * @function verify - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QuerySigningInfosRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QuerySigningInfosRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.QuerySigningInfosRequest} QuerySigningInfosRequest - */ - QuerySigningInfosRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.QuerySigningInfosRequest) - return object; - let message = new $root.cosmos.slashing.v1beta1.QuerySigningInfosRequest(); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.slashing.v1beta1.QuerySigningInfosRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QuerySigningInfosRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosRequest - * @static - * @param {cosmos.slashing.v1beta1.QuerySigningInfosRequest} message QuerySigningInfosRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QuerySigningInfosRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.pagination = null; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QuerySigningInfosRequest to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosRequest - * @instance - * @returns {Object.} JSON object - */ - QuerySigningInfosRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QuerySigningInfosRequest; - })(v1beta1.QuerySigningInfosRequest || {}); - - v1beta1.QuerySigningInfosResponse = (function(QuerySigningInfosResponse) { - - /** - * Properties of a QuerySigningInfosResponse. - * @memberof cosmos.slashing.v1beta1 - * @interface IQuerySigningInfosResponse - * @property {Array.|null} [info] QuerySigningInfosResponse info - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QuerySigningInfosResponse pagination - */ - - /** - * Constructs a new QuerySigningInfosResponse. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a QuerySigningInfosResponse. - * @implements IQuerySigningInfosResponse - * @constructor - * @param {cosmos.slashing.v1beta1.IQuerySigningInfosResponse=} [properties] Properties to set - */ - function QuerySigningInfosResponse(properties) { - this.info = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QuerySigningInfosResponse info. - * @member {Array.} info - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosResponse - * @instance - */ - QuerySigningInfosResponse.prototype.info = $util.emptyArray; - - /** - * QuerySigningInfosResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosResponse - * @instance - */ - QuerySigningInfosResponse.prototype.pagination = null; - - /** - * Creates a new QuerySigningInfosResponse instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosResponse - * @static - * @param {cosmos.slashing.v1beta1.IQuerySigningInfosResponse=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.QuerySigningInfosResponse} QuerySigningInfosResponse instance - */ - QuerySigningInfosResponse.create = function create(properties) { - return new QuerySigningInfosResponse(properties); - }; - - /** - * Encodes the specified QuerySigningInfosResponse message. Does not implicitly {@link cosmos.slashing.v1beta1.QuerySigningInfosResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosResponse - * @static - * @param {cosmos.slashing.v1beta1.IQuerySigningInfosResponse} message QuerySigningInfosResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuerySigningInfosResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.info != null && message.info.length) - for (let i = 0; i < message.info.length; ++i) - $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.encode(message.info[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QuerySigningInfosResponse message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.QuerySigningInfosResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosResponse - * @static - * @param {cosmos.slashing.v1beta1.IQuerySigningInfosResponse} message QuerySigningInfosResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QuerySigningInfosResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QuerySigningInfosResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.QuerySigningInfosResponse} QuerySigningInfosResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuerySigningInfosResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.QuerySigningInfosResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.info && message.info.length)) - message.info = []; - message.info.push($root.cosmos.slashing.v1beta1.ValidatorSigningInfo.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QuerySigningInfosResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.QuerySigningInfosResponse} QuerySigningInfosResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QuerySigningInfosResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QuerySigningInfosResponse message. - * @function verify - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QuerySigningInfosResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.info != null && message.hasOwnProperty("info")) { - if (!Array.isArray(message.info)) - return "info: array expected"; - for (let i = 0; i < message.info.length; ++i) { - let error = $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.verify(message.info[i]); - if (error) - return "info." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QuerySigningInfosResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.QuerySigningInfosResponse} QuerySigningInfosResponse - */ - QuerySigningInfosResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.QuerySigningInfosResponse) - return object; - let message = new $root.cosmos.slashing.v1beta1.QuerySigningInfosResponse(); - if (object.info) { - if (!Array.isArray(object.info)) - throw TypeError(".cosmos.slashing.v1beta1.QuerySigningInfosResponse.info: array expected"); - message.info = []; - for (let i = 0; i < object.info.length; ++i) { - if (typeof object.info[i] !== "object") - throw TypeError(".cosmos.slashing.v1beta1.QuerySigningInfosResponse.info: object expected"); - message.info[i] = $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.fromObject(object.info[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.slashing.v1beta1.QuerySigningInfosResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QuerySigningInfosResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosResponse - * @static - * @param {cosmos.slashing.v1beta1.QuerySigningInfosResponse} message QuerySigningInfosResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QuerySigningInfosResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.info = []; - if (options.defaults) - object.pagination = null; - if (message.info && message.info.length) { - object.info = []; - for (let j = 0; j < message.info.length; ++j) - object.info[j] = $root.cosmos.slashing.v1beta1.ValidatorSigningInfo.toObject(message.info[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QuerySigningInfosResponse to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.QuerySigningInfosResponse - * @instance - * @returns {Object.} JSON object - */ - QuerySigningInfosResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QuerySigningInfosResponse; - })(v1beta1.QuerySigningInfosResponse || {}); - - v1beta1.ValidatorSigningInfo = (function(ValidatorSigningInfo) { - - /** - * Properties of a ValidatorSigningInfo. - * @memberof cosmos.slashing.v1beta1 - * @interface IValidatorSigningInfo - * @property {string|null} [address] ValidatorSigningInfo address - * @property {number|Long|null} [startHeight] ValidatorSigningInfo startHeight - * @property {number|Long|null} [indexOffset] ValidatorSigningInfo indexOffset - * @property {google.protobuf.ITimestamp|null} [jailedUntil] ValidatorSigningInfo jailedUntil - * @property {boolean|null} [tombstoned] ValidatorSigningInfo tombstoned - * @property {number|Long|null} [missedBlocksCounter] ValidatorSigningInfo missedBlocksCounter - */ - - /** - * Constructs a new ValidatorSigningInfo. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a ValidatorSigningInfo. - * @implements IValidatorSigningInfo - * @constructor - * @param {cosmos.slashing.v1beta1.IValidatorSigningInfo=} [properties] Properties to set - */ - function ValidatorSigningInfo(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorSigningInfo address. - * @member {string} address - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @instance - */ - ValidatorSigningInfo.prototype.address = ""; - - /** - * ValidatorSigningInfo startHeight. - * @member {number|Long} startHeight - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @instance - */ - ValidatorSigningInfo.prototype.startHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * ValidatorSigningInfo indexOffset. - * @member {number|Long} indexOffset - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @instance - */ - ValidatorSigningInfo.prototype.indexOffset = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * ValidatorSigningInfo jailedUntil. - * @member {google.protobuf.ITimestamp|null|undefined} jailedUntil - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @instance - */ - ValidatorSigningInfo.prototype.jailedUntil = null; - - /** - * ValidatorSigningInfo tombstoned. - * @member {boolean} tombstoned - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @instance - */ - ValidatorSigningInfo.prototype.tombstoned = false; - - /** - * ValidatorSigningInfo missedBlocksCounter. - * @member {number|Long} missedBlocksCounter - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @instance - */ - ValidatorSigningInfo.prototype.missedBlocksCounter = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new ValidatorSigningInfo instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @static - * @param {cosmos.slashing.v1beta1.IValidatorSigningInfo=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.ValidatorSigningInfo} ValidatorSigningInfo instance - */ - ValidatorSigningInfo.create = function create(properties) { - return new ValidatorSigningInfo(properties); - }; - - /** - * Encodes the specified ValidatorSigningInfo message. Does not implicitly {@link cosmos.slashing.v1beta1.ValidatorSigningInfo.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @static - * @param {cosmos.slashing.v1beta1.IValidatorSigningInfo} message ValidatorSigningInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorSigningInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.address); - if (message.startHeight != null && Object.hasOwnProperty.call(message, "startHeight")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.startHeight); - if (message.indexOffset != null && Object.hasOwnProperty.call(message, "indexOffset")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.indexOffset); - if (message.jailedUntil != null && Object.hasOwnProperty.call(message, "jailedUntil")) - $root.google.protobuf.Timestamp.encode(message.jailedUntil, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.tombstoned != null && Object.hasOwnProperty.call(message, "tombstoned")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.tombstoned); - if (message.missedBlocksCounter != null && Object.hasOwnProperty.call(message, "missedBlocksCounter")) - writer.uint32(/* id 6, wireType 0 =*/48).int64(message.missedBlocksCounter); - return writer; - }; - - /** - * Encodes the specified ValidatorSigningInfo message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.ValidatorSigningInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @static - * @param {cosmos.slashing.v1beta1.IValidatorSigningInfo} message ValidatorSigningInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorSigningInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorSigningInfo message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.ValidatorSigningInfo} ValidatorSigningInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorSigningInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.ValidatorSigningInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.string(); - break; - case 2: - message.startHeight = reader.int64(); - break; - case 3: - message.indexOffset = reader.int64(); - break; - case 4: - message.jailedUntil = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 5: - message.tombstoned = reader.bool(); - break; - case 6: - message.missedBlocksCounter = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorSigningInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.ValidatorSigningInfo} ValidatorSigningInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorSigningInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorSigningInfo message. - * @function verify - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorSigningInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!$util.isString(message.address)) - return "address: string expected"; - if (message.startHeight != null && message.hasOwnProperty("startHeight")) - if (!$util.isInteger(message.startHeight) && !(message.startHeight && $util.isInteger(message.startHeight.low) && $util.isInteger(message.startHeight.high))) - return "startHeight: integer|Long expected"; - if (message.indexOffset != null && message.hasOwnProperty("indexOffset")) - if (!$util.isInteger(message.indexOffset) && !(message.indexOffset && $util.isInteger(message.indexOffset.low) && $util.isInteger(message.indexOffset.high))) - return "indexOffset: integer|Long expected"; - if (message.jailedUntil != null && message.hasOwnProperty("jailedUntil")) { - let error = $root.google.protobuf.Timestamp.verify(message.jailedUntil); - if (error) - return "jailedUntil." + error; - } - if (message.tombstoned != null && message.hasOwnProperty("tombstoned")) - if (typeof message.tombstoned !== "boolean") - return "tombstoned: boolean expected"; - if (message.missedBlocksCounter != null && message.hasOwnProperty("missedBlocksCounter")) - if (!$util.isInteger(message.missedBlocksCounter) && !(message.missedBlocksCounter && $util.isInteger(message.missedBlocksCounter.low) && $util.isInteger(message.missedBlocksCounter.high))) - return "missedBlocksCounter: integer|Long expected"; - return null; - }; - - /** - * Creates a ValidatorSigningInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.ValidatorSigningInfo} ValidatorSigningInfo - */ - ValidatorSigningInfo.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.ValidatorSigningInfo) - return object; - let message = new $root.cosmos.slashing.v1beta1.ValidatorSigningInfo(); - if (object.address != null) - message.address = String(object.address); - if (object.startHeight != null) - if ($util.Long) - (message.startHeight = $util.Long.fromValue(object.startHeight)).unsigned = false; - else if (typeof object.startHeight === "string") - message.startHeight = parseInt(object.startHeight, 10); - else if (typeof object.startHeight === "number") - message.startHeight = object.startHeight; - else if (typeof object.startHeight === "object") - message.startHeight = new $util.LongBits(object.startHeight.low >>> 0, object.startHeight.high >>> 0).toNumber(); - if (object.indexOffset != null) - if ($util.Long) - (message.indexOffset = $util.Long.fromValue(object.indexOffset)).unsigned = false; - else if (typeof object.indexOffset === "string") - message.indexOffset = parseInt(object.indexOffset, 10); - else if (typeof object.indexOffset === "number") - message.indexOffset = object.indexOffset; - else if (typeof object.indexOffset === "object") - message.indexOffset = new $util.LongBits(object.indexOffset.low >>> 0, object.indexOffset.high >>> 0).toNumber(); - if (object.jailedUntil != null) { - if (typeof object.jailedUntil !== "object") - throw TypeError(".cosmos.slashing.v1beta1.ValidatorSigningInfo.jailedUntil: object expected"); - message.jailedUntil = $root.google.protobuf.Timestamp.fromObject(object.jailedUntil); - } - if (object.tombstoned != null) - message.tombstoned = Boolean(object.tombstoned); - if (object.missedBlocksCounter != null) - if ($util.Long) - (message.missedBlocksCounter = $util.Long.fromValue(object.missedBlocksCounter)).unsigned = false; - else if (typeof object.missedBlocksCounter === "string") - message.missedBlocksCounter = parseInt(object.missedBlocksCounter, 10); - else if (typeof object.missedBlocksCounter === "number") - message.missedBlocksCounter = object.missedBlocksCounter; - else if (typeof object.missedBlocksCounter === "object") - message.missedBlocksCounter = new $util.LongBits(object.missedBlocksCounter.low >>> 0, object.missedBlocksCounter.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a ValidatorSigningInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @static - * @param {cosmos.slashing.v1beta1.ValidatorSigningInfo} message ValidatorSigningInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorSigningInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.address = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.startHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.startHeight = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.indexOffset = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.indexOffset = options.longs === String ? "0" : 0; - object.jailedUntil = null; - object.tombstoned = false; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.missedBlocksCounter = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.missedBlocksCounter = options.longs === String ? "0" : 0; - } - if (message.address != null && message.hasOwnProperty("address")) - object.address = message.address; - if (message.startHeight != null && message.hasOwnProperty("startHeight")) - if (typeof message.startHeight === "number") - object.startHeight = options.longs === String ? String(message.startHeight) : message.startHeight; - else - object.startHeight = options.longs === String ? $util.Long.prototype.toString.call(message.startHeight) : options.longs === Number ? new $util.LongBits(message.startHeight.low >>> 0, message.startHeight.high >>> 0).toNumber() : message.startHeight; - if (message.indexOffset != null && message.hasOwnProperty("indexOffset")) - if (typeof message.indexOffset === "number") - object.indexOffset = options.longs === String ? String(message.indexOffset) : message.indexOffset; - else - object.indexOffset = options.longs === String ? $util.Long.prototype.toString.call(message.indexOffset) : options.longs === Number ? new $util.LongBits(message.indexOffset.low >>> 0, message.indexOffset.high >>> 0).toNumber() : message.indexOffset; - if (message.jailedUntil != null && message.hasOwnProperty("jailedUntil")) - object.jailedUntil = $root.google.protobuf.Timestamp.toObject(message.jailedUntil, options); - if (message.tombstoned != null && message.hasOwnProperty("tombstoned")) - object.tombstoned = message.tombstoned; - if (message.missedBlocksCounter != null && message.hasOwnProperty("missedBlocksCounter")) - if (typeof message.missedBlocksCounter === "number") - object.missedBlocksCounter = options.longs === String ? String(message.missedBlocksCounter) : message.missedBlocksCounter; - else - object.missedBlocksCounter = options.longs === String ? $util.Long.prototype.toString.call(message.missedBlocksCounter) : options.longs === Number ? new $util.LongBits(message.missedBlocksCounter.low >>> 0, message.missedBlocksCounter.high >>> 0).toNumber() : message.missedBlocksCounter; - return object; - }; - - /** - * Converts this ValidatorSigningInfo to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.ValidatorSigningInfo - * @instance - * @returns {Object.} JSON object - */ - ValidatorSigningInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorSigningInfo; - })(v1beta1.ValidatorSigningInfo || {}); - - v1beta1.Params = (function(Params) { - - /** - * Properties of a Params. - * @memberof cosmos.slashing.v1beta1 - * @interface IParams - * @property {number|Long|null} [signedBlocksWindow] Params signedBlocksWindow - * @property {Uint8Array|null} [minSignedPerWindow] Params minSignedPerWindow - * @property {google.protobuf.IDuration|null} [downtimeJailDuration] Params downtimeJailDuration - * @property {Uint8Array|null} [slashFractionDoubleSign] Params slashFractionDoubleSign - * @property {Uint8Array|null} [slashFractionDowntime] Params slashFractionDowntime - */ - - /** - * Constructs a new Params. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a Params. - * @implements IParams - * @constructor - * @param {cosmos.slashing.v1beta1.IParams=} [properties] Properties to set - */ - function Params(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Params signedBlocksWindow. - * @member {number|Long} signedBlocksWindow - * @memberof cosmos.slashing.v1beta1.Params - * @instance - */ - Params.prototype.signedBlocksWindow = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Params minSignedPerWindow. - * @member {Uint8Array} minSignedPerWindow - * @memberof cosmos.slashing.v1beta1.Params - * @instance - */ - Params.prototype.minSignedPerWindow = $util.newBuffer([]); - - /** - * Params downtimeJailDuration. - * @member {google.protobuf.IDuration|null|undefined} downtimeJailDuration - * @memberof cosmos.slashing.v1beta1.Params - * @instance - */ - Params.prototype.downtimeJailDuration = null; - - /** - * Params slashFractionDoubleSign. - * @member {Uint8Array} slashFractionDoubleSign - * @memberof cosmos.slashing.v1beta1.Params - * @instance - */ - Params.prototype.slashFractionDoubleSign = $util.newBuffer([]); - - /** - * Params slashFractionDowntime. - * @member {Uint8Array} slashFractionDowntime - * @memberof cosmos.slashing.v1beta1.Params - * @instance - */ - Params.prototype.slashFractionDowntime = $util.newBuffer([]); - - /** - * Creates a new Params instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.Params - * @static - * @param {cosmos.slashing.v1beta1.IParams=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.Params} Params instance - */ - Params.create = function create(properties) { - return new Params(properties); - }; - - /** - * Encodes the specified Params message. Does not implicitly {@link cosmos.slashing.v1beta1.Params.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.Params - * @static - * @param {cosmos.slashing.v1beta1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.signedBlocksWindow != null && Object.hasOwnProperty.call(message, "signedBlocksWindow")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.signedBlocksWindow); - if (message.minSignedPerWindow != null && Object.hasOwnProperty.call(message, "minSignedPerWindow")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.minSignedPerWindow); - if (message.downtimeJailDuration != null && Object.hasOwnProperty.call(message, "downtimeJailDuration")) - $root.google.protobuf.Duration.encode(message.downtimeJailDuration, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.slashFractionDoubleSign != null && Object.hasOwnProperty.call(message, "slashFractionDoubleSign")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.slashFractionDoubleSign); - if (message.slashFractionDowntime != null && Object.hasOwnProperty.call(message, "slashFractionDowntime")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.slashFractionDowntime); - return writer; - }; - - /** - * Encodes the specified Params message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.Params.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.Params - * @static - * @param {cosmos.slashing.v1beta1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Params message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.Params(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.signedBlocksWindow = reader.int64(); - break; - case 2: - message.minSignedPerWindow = reader.bytes(); - break; - case 3: - message.downtimeJailDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 4: - message.slashFractionDoubleSign = reader.bytes(); - break; - case 5: - message.slashFractionDowntime = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Params message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Params message. - * @function verify - * @memberof cosmos.slashing.v1beta1.Params - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Params.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.signedBlocksWindow != null && message.hasOwnProperty("signedBlocksWindow")) - if (!$util.isInteger(message.signedBlocksWindow) && !(message.signedBlocksWindow && $util.isInteger(message.signedBlocksWindow.low) && $util.isInteger(message.signedBlocksWindow.high))) - return "signedBlocksWindow: integer|Long expected"; - if (message.minSignedPerWindow != null && message.hasOwnProperty("minSignedPerWindow")) - if (!(message.minSignedPerWindow && typeof message.minSignedPerWindow.length === "number" || $util.isString(message.minSignedPerWindow))) - return "minSignedPerWindow: buffer expected"; - if (message.downtimeJailDuration != null && message.hasOwnProperty("downtimeJailDuration")) { - let error = $root.google.protobuf.Duration.verify(message.downtimeJailDuration); - if (error) - return "downtimeJailDuration." + error; - } - if (message.slashFractionDoubleSign != null && message.hasOwnProperty("slashFractionDoubleSign")) - if (!(message.slashFractionDoubleSign && typeof message.slashFractionDoubleSign.length === "number" || $util.isString(message.slashFractionDoubleSign))) - return "slashFractionDoubleSign: buffer expected"; - if (message.slashFractionDowntime != null && message.hasOwnProperty("slashFractionDowntime")) - if (!(message.slashFractionDowntime && typeof message.slashFractionDowntime.length === "number" || $util.isString(message.slashFractionDowntime))) - return "slashFractionDowntime: buffer expected"; - return null; - }; - - /** - * Creates a Params message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.Params - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.Params} Params - */ - Params.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.Params) - return object; - let message = new $root.cosmos.slashing.v1beta1.Params(); - if (object.signedBlocksWindow != null) - if ($util.Long) - (message.signedBlocksWindow = $util.Long.fromValue(object.signedBlocksWindow)).unsigned = false; - else if (typeof object.signedBlocksWindow === "string") - message.signedBlocksWindow = parseInt(object.signedBlocksWindow, 10); - else if (typeof object.signedBlocksWindow === "number") - message.signedBlocksWindow = object.signedBlocksWindow; - else if (typeof object.signedBlocksWindow === "object") - message.signedBlocksWindow = new $util.LongBits(object.signedBlocksWindow.low >>> 0, object.signedBlocksWindow.high >>> 0).toNumber(); - if (object.minSignedPerWindow != null) - if (typeof object.minSignedPerWindow === "string") - $util.base64.decode(object.minSignedPerWindow, message.minSignedPerWindow = $util.newBuffer($util.base64.length(object.minSignedPerWindow)), 0); - else if (object.minSignedPerWindow.length) - message.minSignedPerWindow = object.minSignedPerWindow; - if (object.downtimeJailDuration != null) { - if (typeof object.downtimeJailDuration !== "object") - throw TypeError(".cosmos.slashing.v1beta1.Params.downtimeJailDuration: object expected"); - message.downtimeJailDuration = $root.google.protobuf.Duration.fromObject(object.downtimeJailDuration); - } - if (object.slashFractionDoubleSign != null) - if (typeof object.slashFractionDoubleSign === "string") - $util.base64.decode(object.slashFractionDoubleSign, message.slashFractionDoubleSign = $util.newBuffer($util.base64.length(object.slashFractionDoubleSign)), 0); - else if (object.slashFractionDoubleSign.length) - message.slashFractionDoubleSign = object.slashFractionDoubleSign; - if (object.slashFractionDowntime != null) - if (typeof object.slashFractionDowntime === "string") - $util.base64.decode(object.slashFractionDowntime, message.slashFractionDowntime = $util.newBuffer($util.base64.length(object.slashFractionDowntime)), 0); - else if (object.slashFractionDowntime.length) - message.slashFractionDowntime = object.slashFractionDowntime; - return message; - }; - - /** - * Creates a plain object from a Params message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.Params - * @static - * @param {cosmos.slashing.v1beta1.Params} message Params - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Params.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.signedBlocksWindow = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.signedBlocksWindow = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.minSignedPerWindow = ""; - else { - object.minSignedPerWindow = []; - if (options.bytes !== Array) - object.minSignedPerWindow = $util.newBuffer(object.minSignedPerWindow); - } - object.downtimeJailDuration = null; - if (options.bytes === String) - object.slashFractionDoubleSign = ""; - else { - object.slashFractionDoubleSign = []; - if (options.bytes !== Array) - object.slashFractionDoubleSign = $util.newBuffer(object.slashFractionDoubleSign); - } - if (options.bytes === String) - object.slashFractionDowntime = ""; - else { - object.slashFractionDowntime = []; - if (options.bytes !== Array) - object.slashFractionDowntime = $util.newBuffer(object.slashFractionDowntime); - } - } - if (message.signedBlocksWindow != null && message.hasOwnProperty("signedBlocksWindow")) - if (typeof message.signedBlocksWindow === "number") - object.signedBlocksWindow = options.longs === String ? String(message.signedBlocksWindow) : message.signedBlocksWindow; - else - object.signedBlocksWindow = options.longs === String ? $util.Long.prototype.toString.call(message.signedBlocksWindow) : options.longs === Number ? new $util.LongBits(message.signedBlocksWindow.low >>> 0, message.signedBlocksWindow.high >>> 0).toNumber() : message.signedBlocksWindow; - if (message.minSignedPerWindow != null && message.hasOwnProperty("minSignedPerWindow")) - object.minSignedPerWindow = options.bytes === String ? $util.base64.encode(message.minSignedPerWindow, 0, message.minSignedPerWindow.length) : options.bytes === Array ? Array.prototype.slice.call(message.minSignedPerWindow) : message.minSignedPerWindow; - if (message.downtimeJailDuration != null && message.hasOwnProperty("downtimeJailDuration")) - object.downtimeJailDuration = $root.google.protobuf.Duration.toObject(message.downtimeJailDuration, options); - if (message.slashFractionDoubleSign != null && message.hasOwnProperty("slashFractionDoubleSign")) - object.slashFractionDoubleSign = options.bytes === String ? $util.base64.encode(message.slashFractionDoubleSign, 0, message.slashFractionDoubleSign.length) : options.bytes === Array ? Array.prototype.slice.call(message.slashFractionDoubleSign) : message.slashFractionDoubleSign; - if (message.slashFractionDowntime != null && message.hasOwnProperty("slashFractionDowntime")) - object.slashFractionDowntime = options.bytes === String ? $util.base64.encode(message.slashFractionDowntime, 0, message.slashFractionDowntime.length) : options.bytes === Array ? Array.prototype.slice.call(message.slashFractionDowntime) : message.slashFractionDowntime; - return object; - }; - - /** - * Converts this Params to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.Params - * @instance - * @returns {Object.} JSON object - */ - Params.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Params; - })(v1beta1.Params || {}); - - v1beta1.Msg = (function(Msg) { - - /** - * Constructs a new Msg service. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a Msg - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Msg(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Msg.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Msg; - - /** - * Creates new Msg service using the specified rpc implementation. - * @function create - * @memberof cosmos.slashing.v1beta1.Msg - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Msg} RPC service. Useful where requests and/or responses are streamed. - */ - Msg.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.slashing.v1beta1.Msg#unjail}. - * @memberof cosmos.slashing.v1beta1.Msg - * @typedef UnjailCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.slashing.v1beta1.IMsgUnjailResponse} [response] MsgUnjailResponse - */ - - /** - * Calls Unjail. - * @function unjail - * @memberof cosmos.slashing.v1beta1.Msg - * @instance - * @param {cosmos.slashing.v1beta1.IMsgUnjail} request MsgUnjail message or plain object - * @param {cosmos.slashing.v1beta1.Msg.UnjailCallback} callback Node-style callback called with the error, if any, and MsgUnjailResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.unjail = function unjail(request, callback) { - return this.rpcCall(unjail, $root.cosmos.slashing.v1beta1.MsgUnjail, $root.cosmos.slashing.v1beta1.MsgUnjailResponse, request, callback); - }, "name", { value: "Unjail" }); - - /** - * Calls Unjail. - * @function unjail - * @memberof cosmos.slashing.v1beta1.Msg - * @instance - * @param {cosmos.slashing.v1beta1.IMsgUnjail} request MsgUnjail message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Msg; - })(v1beta1.Msg || {}); - - v1beta1.MsgUnjail = (function(MsgUnjail) { - - /** - * Properties of a MsgUnjail. - * @memberof cosmos.slashing.v1beta1 - * @interface IMsgUnjail - * @property {string|null} [validatorAddr] MsgUnjail validatorAddr - */ - - /** - * Constructs a new MsgUnjail. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a MsgUnjail. - * @implements IMsgUnjail - * @constructor - * @param {cosmos.slashing.v1beta1.IMsgUnjail=} [properties] Properties to set - */ - function MsgUnjail(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgUnjail validatorAddr. - * @member {string} validatorAddr - * @memberof cosmos.slashing.v1beta1.MsgUnjail - * @instance - */ - MsgUnjail.prototype.validatorAddr = ""; - - /** - * Creates a new MsgUnjail instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.MsgUnjail - * @static - * @param {cosmos.slashing.v1beta1.IMsgUnjail=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.MsgUnjail} MsgUnjail instance - */ - MsgUnjail.create = function create(properties) { - return new MsgUnjail(properties); - }; - - /** - * Encodes the specified MsgUnjail message. Does not implicitly {@link cosmos.slashing.v1beta1.MsgUnjail.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.MsgUnjail - * @static - * @param {cosmos.slashing.v1beta1.IMsgUnjail} message MsgUnjail message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUnjail.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddr != null && Object.hasOwnProperty.call(message, "validatorAddr")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddr); - return writer; - }; - - /** - * Encodes the specified MsgUnjail message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.MsgUnjail.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.MsgUnjail - * @static - * @param {cosmos.slashing.v1beta1.IMsgUnjail} message MsgUnjail message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUnjail.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgUnjail message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.MsgUnjail - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.MsgUnjail} MsgUnjail - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUnjail.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.MsgUnjail(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddr = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgUnjail message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.MsgUnjail - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.MsgUnjail} MsgUnjail - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUnjail.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgUnjail message. - * @function verify - * @memberof cosmos.slashing.v1beta1.MsgUnjail - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgUnjail.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - if (!$util.isString(message.validatorAddr)) - return "validatorAddr: string expected"; - return null; - }; - - /** - * Creates a MsgUnjail message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.MsgUnjail - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.MsgUnjail} MsgUnjail - */ - MsgUnjail.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.MsgUnjail) - return object; - let message = new $root.cosmos.slashing.v1beta1.MsgUnjail(); - if (object.validatorAddr != null) - message.validatorAddr = String(object.validatorAddr); - return message; - }; - - /** - * Creates a plain object from a MsgUnjail message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.MsgUnjail - * @static - * @param {cosmos.slashing.v1beta1.MsgUnjail} message MsgUnjail - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgUnjail.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.validatorAddr = ""; - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - object.validatorAddr = message.validatorAddr; - return object; - }; - - /** - * Converts this MsgUnjail to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.MsgUnjail - * @instance - * @returns {Object.} JSON object - */ - MsgUnjail.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgUnjail; - })(v1beta1.MsgUnjail || {}); - - v1beta1.MsgUnjailResponse = (function(MsgUnjailResponse) { - - /** - * Properties of a MsgUnjailResponse. - * @memberof cosmos.slashing.v1beta1 - * @interface IMsgUnjailResponse - */ - - /** - * Constructs a new MsgUnjailResponse. - * @memberof cosmos.slashing.v1beta1 - * @classdesc Represents a MsgUnjailResponse. - * @implements IMsgUnjailResponse - * @constructor - * @param {cosmos.slashing.v1beta1.IMsgUnjailResponse=} [properties] Properties to set - */ - function MsgUnjailResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgUnjailResponse instance using the specified properties. - * @function create - * @memberof cosmos.slashing.v1beta1.MsgUnjailResponse - * @static - * @param {cosmos.slashing.v1beta1.IMsgUnjailResponse=} [properties] Properties to set - * @returns {cosmos.slashing.v1beta1.MsgUnjailResponse} MsgUnjailResponse instance - */ - MsgUnjailResponse.create = function create(properties) { - return new MsgUnjailResponse(properties); - }; - - /** - * Encodes the specified MsgUnjailResponse message. Does not implicitly {@link cosmos.slashing.v1beta1.MsgUnjailResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.slashing.v1beta1.MsgUnjailResponse - * @static - * @param {cosmos.slashing.v1beta1.IMsgUnjailResponse} message MsgUnjailResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUnjailResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgUnjailResponse message, length delimited. Does not implicitly {@link cosmos.slashing.v1beta1.MsgUnjailResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.slashing.v1beta1.MsgUnjailResponse - * @static - * @param {cosmos.slashing.v1beta1.IMsgUnjailResponse} message MsgUnjailResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUnjailResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgUnjailResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.slashing.v1beta1.MsgUnjailResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.slashing.v1beta1.MsgUnjailResponse} MsgUnjailResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUnjailResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.slashing.v1beta1.MsgUnjailResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgUnjailResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.slashing.v1beta1.MsgUnjailResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.slashing.v1beta1.MsgUnjailResponse} MsgUnjailResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUnjailResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgUnjailResponse message. - * @function verify - * @memberof cosmos.slashing.v1beta1.MsgUnjailResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgUnjailResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgUnjailResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.slashing.v1beta1.MsgUnjailResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.slashing.v1beta1.MsgUnjailResponse} MsgUnjailResponse - */ - MsgUnjailResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.slashing.v1beta1.MsgUnjailResponse) - return object; - return new $root.cosmos.slashing.v1beta1.MsgUnjailResponse(); - }; - - /** - * Creates a plain object from a MsgUnjailResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.slashing.v1beta1.MsgUnjailResponse - * @static - * @param {cosmos.slashing.v1beta1.MsgUnjailResponse} message MsgUnjailResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgUnjailResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgUnjailResponse to JSON. - * @function toJSON - * @memberof cosmos.slashing.v1beta1.MsgUnjailResponse - * @instance - * @returns {Object.} JSON object - */ - MsgUnjailResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgUnjailResponse; - })(v1beta1.MsgUnjailResponse || {}); - - return v1beta1; - })(slashing.v1beta1 || {}); - - return slashing; - })(cosmos.slashing || {}); - - /** - * Namespace staking. - * @memberof cosmos - * @namespace - */ - - cosmos.staking = (function(staking) { - - /** - * Namespace v1beta1. - * @memberof cosmos.staking - * @namespace - */ - - staking.v1beta1 = (function(v1beta1) { - - v1beta1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof cosmos.staking.v1beta1 - * @interface IGenesisState - * @property {cosmos.staking.v1beta1.IParams|null} [params] GenesisState params - * @property {Uint8Array|null} [lastTotalPower] GenesisState lastTotalPower - * @property {Array.|null} [lastValidatorPowers] GenesisState lastValidatorPowers - * @property {Array.|null} [validators] GenesisState validators - * @property {Array.|null} [delegations] GenesisState delegations - * @property {Array.|null} [unbondingDelegations] GenesisState unbondingDelegations - * @property {Array.|null} [redelegations] GenesisState redelegations - * @property {boolean|null} [exported] GenesisState exported - */ - - /** - * Constructs a new GenesisState. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {cosmos.staking.v1beta1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.lastValidatorPowers = []; - this.validators = []; - this.delegations = []; - this.unbondingDelegations = []; - this.redelegations = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState params. - * @member {cosmos.staking.v1beta1.IParams|null|undefined} params - * @memberof cosmos.staking.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.params = null; - - /** - * GenesisState lastTotalPower. - * @member {Uint8Array} lastTotalPower - * @memberof cosmos.staking.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.lastTotalPower = $util.newBuffer([]); - - /** - * GenesisState lastValidatorPowers. - * @member {Array.} lastValidatorPowers - * @memberof cosmos.staking.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.lastValidatorPowers = $util.emptyArray; - - /** - * GenesisState validators. - * @member {Array.} validators - * @memberof cosmos.staking.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.validators = $util.emptyArray; - - /** - * GenesisState delegations. - * @member {Array.} delegations - * @memberof cosmos.staking.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.delegations = $util.emptyArray; - - /** - * GenesisState unbondingDelegations. - * @member {Array.} unbondingDelegations - * @memberof cosmos.staking.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.unbondingDelegations = $util.emptyArray; - - /** - * GenesisState redelegations. - * @member {Array.} redelegations - * @memberof cosmos.staking.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.redelegations = $util.emptyArray; - - /** - * GenesisState exported. - * @member {boolean} exported - * @memberof cosmos.staking.v1beta1.GenesisState - * @instance - */ - GenesisState.prototype.exported = false; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.GenesisState - * @static - * @param {cosmos.staking.v1beta1.IGenesisState=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link cosmos.staking.v1beta1.GenesisState.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.GenesisState - * @static - * @param {cosmos.staking.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.cosmos.staking.v1beta1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.lastTotalPower != null && Object.hasOwnProperty.call(message, "lastTotalPower")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.lastTotalPower); - if (message.lastValidatorPowers != null && message.lastValidatorPowers.length) - for (let i = 0; i < message.lastValidatorPowers.length; ++i) - $root.cosmos.staking.v1beta1.LastValidatorPower.encode(message.lastValidatorPowers[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.validators != null && message.validators.length) - for (let i = 0; i < message.validators.length; ++i) - $root.cosmos.staking.v1beta1.Validator.encode(message.validators[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.delegations != null && message.delegations.length) - for (let i = 0; i < message.delegations.length; ++i) - $root.cosmos.staking.v1beta1.Delegation.encode(message.delegations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.unbondingDelegations != null && message.unbondingDelegations.length) - for (let i = 0; i < message.unbondingDelegations.length; ++i) - $root.cosmos.staking.v1beta1.UnbondingDelegation.encode(message.unbondingDelegations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.redelegations != null && message.redelegations.length) - for (let i = 0; i < message.redelegations.length; ++i) - $root.cosmos.staking.v1beta1.Redelegation.encode(message.redelegations[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.exported != null && Object.hasOwnProperty.call(message, "exported")) - writer.uint32(/* id 8, wireType 0 =*/64).bool(message.exported); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.GenesisState - * @static - * @param {cosmos.staking.v1beta1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.cosmos.staking.v1beta1.Params.decode(reader, reader.uint32()); - break; - case 2: - message.lastTotalPower = reader.bytes(); - break; - case 3: - if (!(message.lastValidatorPowers && message.lastValidatorPowers.length)) - message.lastValidatorPowers = []; - message.lastValidatorPowers.push($root.cosmos.staking.v1beta1.LastValidatorPower.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.validators && message.validators.length)) - message.validators = []; - message.validators.push($root.cosmos.staking.v1beta1.Validator.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.delegations && message.delegations.length)) - message.delegations = []; - message.delegations.push($root.cosmos.staking.v1beta1.Delegation.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.unbondingDelegations && message.unbondingDelegations.length)) - message.unbondingDelegations = []; - message.unbondingDelegations.push($root.cosmos.staking.v1beta1.UnbondingDelegation.decode(reader, reader.uint32())); - break; - case 7: - if (!(message.redelegations && message.redelegations.length)) - message.redelegations = []; - message.redelegations.push($root.cosmos.staking.v1beta1.Redelegation.decode(reader, reader.uint32())); - break; - case 8: - message.exported = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof cosmos.staking.v1beta1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.cosmos.staking.v1beta1.Params.verify(message.params); - if (error) - return "params." + error; - } - if (message.lastTotalPower != null && message.hasOwnProperty("lastTotalPower")) - if (!(message.lastTotalPower && typeof message.lastTotalPower.length === "number" || $util.isString(message.lastTotalPower))) - return "lastTotalPower: buffer expected"; - if (message.lastValidatorPowers != null && message.hasOwnProperty("lastValidatorPowers")) { - if (!Array.isArray(message.lastValidatorPowers)) - return "lastValidatorPowers: array expected"; - for (let i = 0; i < message.lastValidatorPowers.length; ++i) { - let error = $root.cosmos.staking.v1beta1.LastValidatorPower.verify(message.lastValidatorPowers[i]); - if (error) - return "lastValidatorPowers." + error; - } - } - if (message.validators != null && message.hasOwnProperty("validators")) { - if (!Array.isArray(message.validators)) - return "validators: array expected"; - for (let i = 0; i < message.validators.length; ++i) { - let error = $root.cosmos.staking.v1beta1.Validator.verify(message.validators[i]); - if (error) - return "validators." + error; - } - } - if (message.delegations != null && message.hasOwnProperty("delegations")) { - if (!Array.isArray(message.delegations)) - return "delegations: array expected"; - for (let i = 0; i < message.delegations.length; ++i) { - let error = $root.cosmos.staking.v1beta1.Delegation.verify(message.delegations[i]); - if (error) - return "delegations." + error; - } - } - if (message.unbondingDelegations != null && message.hasOwnProperty("unbondingDelegations")) { - if (!Array.isArray(message.unbondingDelegations)) - return "unbondingDelegations: array expected"; - for (let i = 0; i < message.unbondingDelegations.length; ++i) { - let error = $root.cosmos.staking.v1beta1.UnbondingDelegation.verify(message.unbondingDelegations[i]); - if (error) - return "unbondingDelegations." + error; - } - } - if (message.redelegations != null && message.hasOwnProperty("redelegations")) { - if (!Array.isArray(message.redelegations)) - return "redelegations: array expected"; - for (let i = 0; i < message.redelegations.length; ++i) { - let error = $root.cosmos.staking.v1beta1.Redelegation.verify(message.redelegations[i]); - if (error) - return "redelegations." + error; - } - } - if (message.exported != null && message.hasOwnProperty("exported")) - if (typeof message.exported !== "boolean") - return "exported: boolean expected"; - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.GenesisState) - return object; - let message = new $root.cosmos.staking.v1beta1.GenesisState(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".cosmos.staking.v1beta1.GenesisState.params: object expected"); - message.params = $root.cosmos.staking.v1beta1.Params.fromObject(object.params); - } - if (object.lastTotalPower != null) - if (typeof object.lastTotalPower === "string") - $util.base64.decode(object.lastTotalPower, message.lastTotalPower = $util.newBuffer($util.base64.length(object.lastTotalPower)), 0); - else if (object.lastTotalPower.length) - message.lastTotalPower = object.lastTotalPower; - if (object.lastValidatorPowers) { - if (!Array.isArray(object.lastValidatorPowers)) - throw TypeError(".cosmos.staking.v1beta1.GenesisState.lastValidatorPowers: array expected"); - message.lastValidatorPowers = []; - for (let i = 0; i < object.lastValidatorPowers.length; ++i) { - if (typeof object.lastValidatorPowers[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.GenesisState.lastValidatorPowers: object expected"); - message.lastValidatorPowers[i] = $root.cosmos.staking.v1beta1.LastValidatorPower.fromObject(object.lastValidatorPowers[i]); - } - } - if (object.validators) { - if (!Array.isArray(object.validators)) - throw TypeError(".cosmos.staking.v1beta1.GenesisState.validators: array expected"); - message.validators = []; - for (let i = 0; i < object.validators.length; ++i) { - if (typeof object.validators[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.GenesisState.validators: object expected"); - message.validators[i] = $root.cosmos.staking.v1beta1.Validator.fromObject(object.validators[i]); - } - } - if (object.delegations) { - if (!Array.isArray(object.delegations)) - throw TypeError(".cosmos.staking.v1beta1.GenesisState.delegations: array expected"); - message.delegations = []; - for (let i = 0; i < object.delegations.length; ++i) { - if (typeof object.delegations[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.GenesisState.delegations: object expected"); - message.delegations[i] = $root.cosmos.staking.v1beta1.Delegation.fromObject(object.delegations[i]); - } - } - if (object.unbondingDelegations) { - if (!Array.isArray(object.unbondingDelegations)) - throw TypeError(".cosmos.staking.v1beta1.GenesisState.unbondingDelegations: array expected"); - message.unbondingDelegations = []; - for (let i = 0; i < object.unbondingDelegations.length; ++i) { - if (typeof object.unbondingDelegations[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.GenesisState.unbondingDelegations: object expected"); - message.unbondingDelegations[i] = $root.cosmos.staking.v1beta1.UnbondingDelegation.fromObject(object.unbondingDelegations[i]); - } - } - if (object.redelegations) { - if (!Array.isArray(object.redelegations)) - throw TypeError(".cosmos.staking.v1beta1.GenesisState.redelegations: array expected"); - message.redelegations = []; - for (let i = 0; i < object.redelegations.length; ++i) { - if (typeof object.redelegations[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.GenesisState.redelegations: object expected"); - message.redelegations[i] = $root.cosmos.staking.v1beta1.Redelegation.fromObject(object.redelegations[i]); - } - } - if (object.exported != null) - message.exported = Boolean(object.exported); - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.GenesisState - * @static - * @param {cosmos.staking.v1beta1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.lastValidatorPowers = []; - object.validators = []; - object.delegations = []; - object.unbondingDelegations = []; - object.redelegations = []; - } - if (options.defaults) { - object.params = null; - if (options.bytes === String) - object.lastTotalPower = ""; - else { - object.lastTotalPower = []; - if (options.bytes !== Array) - object.lastTotalPower = $util.newBuffer(object.lastTotalPower); - } - object.exported = false; - } - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.cosmos.staking.v1beta1.Params.toObject(message.params, options); - if (message.lastTotalPower != null && message.hasOwnProperty("lastTotalPower")) - object.lastTotalPower = options.bytes === String ? $util.base64.encode(message.lastTotalPower, 0, message.lastTotalPower.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastTotalPower) : message.lastTotalPower; - if (message.lastValidatorPowers && message.lastValidatorPowers.length) { - object.lastValidatorPowers = []; - for (let j = 0; j < message.lastValidatorPowers.length; ++j) - object.lastValidatorPowers[j] = $root.cosmos.staking.v1beta1.LastValidatorPower.toObject(message.lastValidatorPowers[j], options); - } - if (message.validators && message.validators.length) { - object.validators = []; - for (let j = 0; j < message.validators.length; ++j) - object.validators[j] = $root.cosmos.staking.v1beta1.Validator.toObject(message.validators[j], options); - } - if (message.delegations && message.delegations.length) { - object.delegations = []; - for (let j = 0; j < message.delegations.length; ++j) - object.delegations[j] = $root.cosmos.staking.v1beta1.Delegation.toObject(message.delegations[j], options); - } - if (message.unbondingDelegations && message.unbondingDelegations.length) { - object.unbondingDelegations = []; - for (let j = 0; j < message.unbondingDelegations.length; ++j) - object.unbondingDelegations[j] = $root.cosmos.staking.v1beta1.UnbondingDelegation.toObject(message.unbondingDelegations[j], options); - } - if (message.redelegations && message.redelegations.length) { - object.redelegations = []; - for (let j = 0; j < message.redelegations.length; ++j) - object.redelegations[j] = $root.cosmos.staking.v1beta1.Redelegation.toObject(message.redelegations[j], options); - } - if (message.exported != null && message.hasOwnProperty("exported")) - object.exported = message.exported; - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1beta1.GenesisState || {}); - - v1beta1.LastValidatorPower = (function(LastValidatorPower) { - - /** - * Properties of a LastValidatorPower. - * @memberof cosmos.staking.v1beta1 - * @interface ILastValidatorPower - * @property {string|null} [address] LastValidatorPower address - * @property {number|Long|null} [power] LastValidatorPower power - */ - - /** - * Constructs a new LastValidatorPower. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a LastValidatorPower. - * @implements ILastValidatorPower - * @constructor - * @param {cosmos.staking.v1beta1.ILastValidatorPower=} [properties] Properties to set - */ - function LastValidatorPower(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * LastValidatorPower address. - * @member {string} address - * @memberof cosmos.staking.v1beta1.LastValidatorPower - * @instance - */ - LastValidatorPower.prototype.address = ""; - - /** - * LastValidatorPower power. - * @member {number|Long} power - * @memberof cosmos.staking.v1beta1.LastValidatorPower - * @instance - */ - LastValidatorPower.prototype.power = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new LastValidatorPower instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.LastValidatorPower - * @static - * @param {cosmos.staking.v1beta1.ILastValidatorPower=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.LastValidatorPower} LastValidatorPower instance - */ - LastValidatorPower.create = function create(properties) { - return new LastValidatorPower(properties); - }; - - /** - * Encodes the specified LastValidatorPower message. Does not implicitly {@link cosmos.staking.v1beta1.LastValidatorPower.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.LastValidatorPower - * @static - * @param {cosmos.staking.v1beta1.ILastValidatorPower} message LastValidatorPower message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LastValidatorPower.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.address); - if (message.power != null && Object.hasOwnProperty.call(message, "power")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.power); - return writer; - }; - - /** - * Encodes the specified LastValidatorPower message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.LastValidatorPower.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.LastValidatorPower - * @static - * @param {cosmos.staking.v1beta1.ILastValidatorPower} message LastValidatorPower message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LastValidatorPower.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a LastValidatorPower message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.LastValidatorPower - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.LastValidatorPower} LastValidatorPower - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LastValidatorPower.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.LastValidatorPower(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.string(); - break; - case 2: - message.power = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a LastValidatorPower message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.LastValidatorPower - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.LastValidatorPower} LastValidatorPower - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LastValidatorPower.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LastValidatorPower message. - * @function verify - * @memberof cosmos.staking.v1beta1.LastValidatorPower - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LastValidatorPower.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!$util.isString(message.address)) - return "address: string expected"; - if (message.power != null && message.hasOwnProperty("power")) - if (!$util.isInteger(message.power) && !(message.power && $util.isInteger(message.power.low) && $util.isInteger(message.power.high))) - return "power: integer|Long expected"; - return null; - }; - - /** - * Creates a LastValidatorPower message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.LastValidatorPower - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.LastValidatorPower} LastValidatorPower - */ - LastValidatorPower.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.LastValidatorPower) - return object; - let message = new $root.cosmos.staking.v1beta1.LastValidatorPower(); - if (object.address != null) - message.address = String(object.address); - if (object.power != null) - if ($util.Long) - (message.power = $util.Long.fromValue(object.power)).unsigned = false; - else if (typeof object.power === "string") - message.power = parseInt(object.power, 10); - else if (typeof object.power === "number") - message.power = object.power; - else if (typeof object.power === "object") - message.power = new $util.LongBits(object.power.low >>> 0, object.power.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a LastValidatorPower message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.LastValidatorPower - * @static - * @param {cosmos.staking.v1beta1.LastValidatorPower} message LastValidatorPower - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LastValidatorPower.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.address = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.power = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.power = options.longs === String ? "0" : 0; - } - if (message.address != null && message.hasOwnProperty("address")) - object.address = message.address; - if (message.power != null && message.hasOwnProperty("power")) - if (typeof message.power === "number") - object.power = options.longs === String ? String(message.power) : message.power; - else - object.power = options.longs === String ? $util.Long.prototype.toString.call(message.power) : options.longs === Number ? new $util.LongBits(message.power.low >>> 0, message.power.high >>> 0).toNumber() : message.power; - return object; - }; - - /** - * Converts this LastValidatorPower to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.LastValidatorPower - * @instance - * @returns {Object.} JSON object - */ - LastValidatorPower.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return LastValidatorPower; - })(v1beta1.LastValidatorPower || {}); - - v1beta1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof cosmos.staking.v1beta1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#validators}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef ValidatorsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryValidatorsResponse} [response] QueryValidatorsResponse - */ - - /** - * Calls Validators. - * @function validators - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryValidatorsRequest} request QueryValidatorsRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.ValidatorsCallback} callback Node-style callback called with the error, if any, and QueryValidatorsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.validators = function validators(request, callback) { - return this.rpcCall(validators, $root.cosmos.staking.v1beta1.QueryValidatorsRequest, $root.cosmos.staking.v1beta1.QueryValidatorsResponse, request, callback); - }, "name", { value: "Validators" }); - - /** - * Calls Validators. - * @function validators - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryValidatorsRequest} request QueryValidatorsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#validator}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef ValidatorCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryValidatorResponse} [response] QueryValidatorResponse - */ - - /** - * Calls Validator. - * @function validator - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryValidatorRequest} request QueryValidatorRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.ValidatorCallback} callback Node-style callback called with the error, if any, and QueryValidatorResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.validator = function validator(request, callback) { - return this.rpcCall(validator, $root.cosmos.staking.v1beta1.QueryValidatorRequest, $root.cosmos.staking.v1beta1.QueryValidatorResponse, request, callback); - }, "name", { value: "Validator" }); - - /** - * Calls Validator. - * @function validator - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryValidatorRequest} request QueryValidatorRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#validatorDelegations}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef ValidatorDelegationsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryValidatorDelegationsResponse} [response] QueryValidatorDelegationsResponse - */ - - /** - * Calls ValidatorDelegations. - * @function validatorDelegations - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryValidatorDelegationsRequest} request QueryValidatorDelegationsRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.ValidatorDelegationsCallback} callback Node-style callback called with the error, if any, and QueryValidatorDelegationsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.validatorDelegations = function validatorDelegations(request, callback) { - return this.rpcCall(validatorDelegations, $root.cosmos.staking.v1beta1.QueryValidatorDelegationsRequest, $root.cosmos.staking.v1beta1.QueryValidatorDelegationsResponse, request, callback); - }, "name", { value: "ValidatorDelegations" }); - - /** - * Calls ValidatorDelegations. - * @function validatorDelegations - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryValidatorDelegationsRequest} request QueryValidatorDelegationsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#validatorUnbondingDelegations}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef ValidatorUnbondingDelegationsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryValidatorUnbondingDelegationsResponse} [response] QueryValidatorUnbondingDelegationsResponse - */ - - /** - * Calls ValidatorUnbondingDelegations. - * @function validatorUnbondingDelegations - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryValidatorUnbondingDelegationsRequest} request QueryValidatorUnbondingDelegationsRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.ValidatorUnbondingDelegationsCallback} callback Node-style callback called with the error, if any, and QueryValidatorUnbondingDelegationsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.validatorUnbondingDelegations = function validatorUnbondingDelegations(request, callback) { - return this.rpcCall(validatorUnbondingDelegations, $root.cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest, $root.cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse, request, callback); - }, "name", { value: "ValidatorUnbondingDelegations" }); - - /** - * Calls ValidatorUnbondingDelegations. - * @function validatorUnbondingDelegations - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryValidatorUnbondingDelegationsRequest} request QueryValidatorUnbondingDelegationsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#delegation}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef DelegationCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryDelegationResponse} [response] QueryDelegationResponse - */ - - /** - * Calls Delegation. - * @function delegation - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryDelegationRequest} request QueryDelegationRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.DelegationCallback} callback Node-style callback called with the error, if any, and QueryDelegationResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.delegation = function delegation(request, callback) { - return this.rpcCall(delegation, $root.cosmos.staking.v1beta1.QueryDelegationRequest, $root.cosmos.staking.v1beta1.QueryDelegationResponse, request, callback); - }, "name", { value: "Delegation" }); - - /** - * Calls Delegation. - * @function delegation - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryDelegationRequest} request QueryDelegationRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#unbondingDelegation}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef UnbondingDelegationCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryUnbondingDelegationResponse} [response] QueryUnbondingDelegationResponse - */ - - /** - * Calls UnbondingDelegation. - * @function unbondingDelegation - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryUnbondingDelegationRequest} request QueryUnbondingDelegationRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.UnbondingDelegationCallback} callback Node-style callback called with the error, if any, and QueryUnbondingDelegationResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.unbondingDelegation = function unbondingDelegation(request, callback) { - return this.rpcCall(unbondingDelegation, $root.cosmos.staking.v1beta1.QueryUnbondingDelegationRequest, $root.cosmos.staking.v1beta1.QueryUnbondingDelegationResponse, request, callback); - }, "name", { value: "UnbondingDelegation" }); - - /** - * Calls UnbondingDelegation. - * @function unbondingDelegation - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryUnbondingDelegationRequest} request QueryUnbondingDelegationRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#delegatorDelegations}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef DelegatorDelegationsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryDelegatorDelegationsResponse} [response] QueryDelegatorDelegationsResponse - */ - - /** - * Calls DelegatorDelegations. - * @function delegatorDelegations - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryDelegatorDelegationsRequest} request QueryDelegatorDelegationsRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.DelegatorDelegationsCallback} callback Node-style callback called with the error, if any, and QueryDelegatorDelegationsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.delegatorDelegations = function delegatorDelegations(request, callback) { - return this.rpcCall(delegatorDelegations, $root.cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest, $root.cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse, request, callback); - }, "name", { value: "DelegatorDelegations" }); - - /** - * Calls DelegatorDelegations. - * @function delegatorDelegations - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryDelegatorDelegationsRequest} request QueryDelegatorDelegationsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#delegatorUnbondingDelegations}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef DelegatorUnbondingDelegationsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryDelegatorUnbondingDelegationsResponse} [response] QueryDelegatorUnbondingDelegationsResponse - */ - - /** - * Calls DelegatorUnbondingDelegations. - * @function delegatorUnbondingDelegations - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryDelegatorUnbondingDelegationsRequest} request QueryDelegatorUnbondingDelegationsRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.DelegatorUnbondingDelegationsCallback} callback Node-style callback called with the error, if any, and QueryDelegatorUnbondingDelegationsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.delegatorUnbondingDelegations = function delegatorUnbondingDelegations(request, callback) { - return this.rpcCall(delegatorUnbondingDelegations, $root.cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest, $root.cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse, request, callback); - }, "name", { value: "DelegatorUnbondingDelegations" }); - - /** - * Calls DelegatorUnbondingDelegations. - * @function delegatorUnbondingDelegations - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryDelegatorUnbondingDelegationsRequest} request QueryDelegatorUnbondingDelegationsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#redelegations}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef RedelegationsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryRedelegationsResponse} [response] QueryRedelegationsResponse - */ - - /** - * Calls Redelegations. - * @function redelegations - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryRedelegationsRequest} request QueryRedelegationsRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.RedelegationsCallback} callback Node-style callback called with the error, if any, and QueryRedelegationsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.redelegations = function redelegations(request, callback) { - return this.rpcCall(redelegations, $root.cosmos.staking.v1beta1.QueryRedelegationsRequest, $root.cosmos.staking.v1beta1.QueryRedelegationsResponse, request, callback); - }, "name", { value: "Redelegations" }); - - /** - * Calls Redelegations. - * @function redelegations - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryRedelegationsRequest} request QueryRedelegationsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#delegatorValidators}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef DelegatorValidatorsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorsResponse} [response] QueryDelegatorValidatorsResponse - */ - - /** - * Calls DelegatorValidators. - * @function delegatorValidators - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorsRequest} request QueryDelegatorValidatorsRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.DelegatorValidatorsCallback} callback Node-style callback called with the error, if any, and QueryDelegatorValidatorsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.delegatorValidators = function delegatorValidators(request, callback) { - return this.rpcCall(delegatorValidators, $root.cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest, $root.cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse, request, callback); - }, "name", { value: "DelegatorValidators" }); - - /** - * Calls DelegatorValidators. - * @function delegatorValidators - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorsRequest} request QueryDelegatorValidatorsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#delegatorValidator}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef DelegatorValidatorCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorResponse} [response] QueryDelegatorValidatorResponse - */ - - /** - * Calls DelegatorValidator. - * @function delegatorValidator - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorRequest} request QueryDelegatorValidatorRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.DelegatorValidatorCallback} callback Node-style callback called with the error, if any, and QueryDelegatorValidatorResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.delegatorValidator = function delegatorValidator(request, callback) { - return this.rpcCall(delegatorValidator, $root.cosmos.staking.v1beta1.QueryDelegatorValidatorRequest, $root.cosmos.staking.v1beta1.QueryDelegatorValidatorResponse, request, callback); - }, "name", { value: "DelegatorValidator" }); - - /** - * Calls DelegatorValidator. - * @function delegatorValidator - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorRequest} request QueryDelegatorValidatorRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#historicalInfo}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef HistoricalInfoCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryHistoricalInfoResponse} [response] QueryHistoricalInfoResponse - */ - - /** - * Calls HistoricalInfo. - * @function historicalInfo - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryHistoricalInfoRequest} request QueryHistoricalInfoRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.HistoricalInfoCallback} callback Node-style callback called with the error, if any, and QueryHistoricalInfoResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.historicalInfo = function historicalInfo(request, callback) { - return this.rpcCall(historicalInfo, $root.cosmos.staking.v1beta1.QueryHistoricalInfoRequest, $root.cosmos.staking.v1beta1.QueryHistoricalInfoResponse, request, callback); - }, "name", { value: "HistoricalInfo" }); - - /** - * Calls HistoricalInfo. - * @function historicalInfo - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryHistoricalInfoRequest} request QueryHistoricalInfoRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#pool}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef PoolCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryPoolResponse} [response] QueryPoolResponse - */ - - /** - * Calls Pool. - * @function pool - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryPoolRequest} request QueryPoolRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.PoolCallback} callback Node-style callback called with the error, if any, and QueryPoolResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.pool = function pool(request, callback) { - return this.rpcCall(pool, $root.cosmos.staking.v1beta1.QueryPoolRequest, $root.cosmos.staking.v1beta1.QueryPoolResponse, request, callback); - }, "name", { value: "Pool" }); - - /** - * Calls Pool. - * @function pool - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryPoolRequest} request QueryPoolRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Query#params}. - * @memberof cosmos.staking.v1beta1.Query - * @typedef ParamsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IQueryParamsResponse} [response] QueryParamsResponse - */ - - /** - * Calls Params. - * @function params - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @param {cosmos.staking.v1beta1.Query.ParamsCallback} callback Node-style callback called with the error, if any, and QueryParamsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.params = function params(request, callback) { - return this.rpcCall(params, $root.cosmos.staking.v1beta1.QueryParamsRequest, $root.cosmos.staking.v1beta1.QueryParamsResponse, request, callback); - }, "name", { value: "Params" }); - - /** - * Calls Params. - * @function params - * @memberof cosmos.staking.v1beta1.Query - * @instance - * @param {cosmos.staking.v1beta1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1beta1.Query || {}); - - v1beta1.QueryValidatorsRequest = (function(QueryValidatorsRequest) { - - /** - * Properties of a QueryValidatorsRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryValidatorsRequest - * @property {string|null} [status] QueryValidatorsRequest status - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryValidatorsRequest pagination - */ - - /** - * Constructs a new QueryValidatorsRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryValidatorsRequest. - * @implements IQueryValidatorsRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryValidatorsRequest=} [properties] Properties to set - */ - function QueryValidatorsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorsRequest status. - * @member {string} status - * @memberof cosmos.staking.v1beta1.QueryValidatorsRequest - * @instance - */ - QueryValidatorsRequest.prototype.status = ""; - - /** - * QueryValidatorsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryValidatorsRequest - * @instance - */ - QueryValidatorsRequest.prototype.pagination = null; - - /** - * Creates a new QueryValidatorsRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryValidatorsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorsRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryValidatorsRequest} QueryValidatorsRequest instance - */ - QueryValidatorsRequest.create = function create(properties) { - return new QueryValidatorsRequest(properties); - }; - - /** - * Encodes the specified QueryValidatorsRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryValidatorsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorsRequest} message QueryValidatorsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.status != null && Object.hasOwnProperty.call(message, "status")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.status); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryValidatorsRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorsRequest} message QueryValidatorsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryValidatorsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryValidatorsRequest} QueryValidatorsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryValidatorsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.status = reader.string(); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryValidatorsRequest} QueryValidatorsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorsRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryValidatorsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.status != null && message.hasOwnProperty("status")) - if (!$util.isString(message.status)) - return "status: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryValidatorsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryValidatorsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryValidatorsRequest} QueryValidatorsRequest - */ - QueryValidatorsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryValidatorsRequest) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryValidatorsRequest(); - if (object.status != null) - message.status = String(object.status); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryValidatorsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryValidatorsRequest - * @static - * @param {cosmos.staking.v1beta1.QueryValidatorsRequest} message QueryValidatorsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.status = ""; - object.pagination = null; - } - if (message.status != null && message.hasOwnProperty("status")) - object.status = message.status; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryValidatorsRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryValidatorsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorsRequest; - })(v1beta1.QueryValidatorsRequest || {}); - - v1beta1.QueryValidatorsResponse = (function(QueryValidatorsResponse) { - - /** - * Properties of a QueryValidatorsResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryValidatorsResponse - * @property {Array.|null} [validators] QueryValidatorsResponse validators - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryValidatorsResponse pagination - */ - - /** - * Constructs a new QueryValidatorsResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryValidatorsResponse. - * @implements IQueryValidatorsResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryValidatorsResponse=} [properties] Properties to set - */ - function QueryValidatorsResponse(properties) { - this.validators = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorsResponse validators. - * @member {Array.} validators - * @memberof cosmos.staking.v1beta1.QueryValidatorsResponse - * @instance - */ - QueryValidatorsResponse.prototype.validators = $util.emptyArray; - - /** - * QueryValidatorsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryValidatorsResponse - * @instance - */ - QueryValidatorsResponse.prototype.pagination = null; - - /** - * Creates a new QueryValidatorsResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryValidatorsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorsResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryValidatorsResponse} QueryValidatorsResponse instance - */ - QueryValidatorsResponse.create = function create(properties) { - return new QueryValidatorsResponse(properties); - }; - - /** - * Encodes the specified QueryValidatorsResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryValidatorsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorsResponse} message QueryValidatorsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validators != null && message.validators.length) - for (let i = 0; i < message.validators.length; ++i) - $root.cosmos.staking.v1beta1.Validator.encode(message.validators[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryValidatorsResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorsResponse} message QueryValidatorsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryValidatorsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryValidatorsResponse} QueryValidatorsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryValidatorsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.validators && message.validators.length)) - message.validators = []; - message.validators.push($root.cosmos.staking.v1beta1.Validator.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryValidatorsResponse} QueryValidatorsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorsResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryValidatorsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validators != null && message.hasOwnProperty("validators")) { - if (!Array.isArray(message.validators)) - return "validators: array expected"; - for (let i = 0; i < message.validators.length; ++i) { - let error = $root.cosmos.staking.v1beta1.Validator.verify(message.validators[i]); - if (error) - return "validators." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryValidatorsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryValidatorsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryValidatorsResponse} QueryValidatorsResponse - */ - QueryValidatorsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryValidatorsResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryValidatorsResponse(); - if (object.validators) { - if (!Array.isArray(object.validators)) - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorsResponse.validators: array expected"); - message.validators = []; - for (let i = 0; i < object.validators.length; ++i) { - if (typeof object.validators[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorsResponse.validators: object expected"); - message.validators[i] = $root.cosmos.staking.v1beta1.Validator.fromObject(object.validators[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryValidatorsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryValidatorsResponse - * @static - * @param {cosmos.staking.v1beta1.QueryValidatorsResponse} message QueryValidatorsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.validators = []; - if (options.defaults) - object.pagination = null; - if (message.validators && message.validators.length) { - object.validators = []; - for (let j = 0; j < message.validators.length; ++j) - object.validators[j] = $root.cosmos.staking.v1beta1.Validator.toObject(message.validators[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryValidatorsResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryValidatorsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorsResponse; - })(v1beta1.QueryValidatorsResponse || {}); - - v1beta1.QueryValidatorRequest = (function(QueryValidatorRequest) { - - /** - * Properties of a QueryValidatorRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryValidatorRequest - * @property {string|null} [validatorAddr] QueryValidatorRequest validatorAddr - */ - - /** - * Constructs a new QueryValidatorRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryValidatorRequest. - * @implements IQueryValidatorRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryValidatorRequest=} [properties] Properties to set - */ - function QueryValidatorRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorRequest validatorAddr. - * @member {string} validatorAddr - * @memberof cosmos.staking.v1beta1.QueryValidatorRequest - * @instance - */ - QueryValidatorRequest.prototype.validatorAddr = ""; - - /** - * Creates a new QueryValidatorRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryValidatorRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryValidatorRequest} QueryValidatorRequest instance - */ - QueryValidatorRequest.create = function create(properties) { - return new QueryValidatorRequest(properties); - }; - - /** - * Encodes the specified QueryValidatorRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryValidatorRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorRequest} message QueryValidatorRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddr != null && Object.hasOwnProperty.call(message, "validatorAddr")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddr); - return writer; - }; - - /** - * Encodes the specified QueryValidatorRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorRequest} message QueryValidatorRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryValidatorRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryValidatorRequest} QueryValidatorRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryValidatorRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddr = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryValidatorRequest} QueryValidatorRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryValidatorRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - if (!$util.isString(message.validatorAddr)) - return "validatorAddr: string expected"; - return null; - }; - - /** - * Creates a QueryValidatorRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryValidatorRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryValidatorRequest} QueryValidatorRequest - */ - QueryValidatorRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryValidatorRequest) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryValidatorRequest(); - if (object.validatorAddr != null) - message.validatorAddr = String(object.validatorAddr); - return message; - }; - - /** - * Creates a plain object from a QueryValidatorRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryValidatorRequest - * @static - * @param {cosmos.staking.v1beta1.QueryValidatorRequest} message QueryValidatorRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.validatorAddr = ""; - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - object.validatorAddr = message.validatorAddr; - return object; - }; - - /** - * Converts this QueryValidatorRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryValidatorRequest - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorRequest; - })(v1beta1.QueryValidatorRequest || {}); - - v1beta1.QueryValidatorResponse = (function(QueryValidatorResponse) { - - /** - * Properties of a QueryValidatorResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryValidatorResponse - * @property {cosmos.staking.v1beta1.IValidator|null} [validator] QueryValidatorResponse validator - */ - - /** - * Constructs a new QueryValidatorResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryValidatorResponse. - * @implements IQueryValidatorResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryValidatorResponse=} [properties] Properties to set - */ - function QueryValidatorResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorResponse validator. - * @member {cosmos.staking.v1beta1.IValidator|null|undefined} validator - * @memberof cosmos.staking.v1beta1.QueryValidatorResponse - * @instance - */ - QueryValidatorResponse.prototype.validator = null; - - /** - * Creates a new QueryValidatorResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryValidatorResponse} QueryValidatorResponse instance - */ - QueryValidatorResponse.create = function create(properties) { - return new QueryValidatorResponse(properties); - }; - - /** - * Encodes the specified QueryValidatorResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorResponse} message QueryValidatorResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validator != null && Object.hasOwnProperty.call(message, "validator")) - $root.cosmos.staking.v1beta1.Validator.encode(message.validator, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryValidatorResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorResponse} message QueryValidatorResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryValidatorResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryValidatorResponse} QueryValidatorResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryValidatorResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validator = $root.cosmos.staking.v1beta1.Validator.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryValidatorResponse} QueryValidatorResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryValidatorResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validator != null && message.hasOwnProperty("validator")) { - let error = $root.cosmos.staking.v1beta1.Validator.verify(message.validator); - if (error) - return "validator." + error; - } - return null; - }; - - /** - * Creates a QueryValidatorResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryValidatorResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryValidatorResponse} QueryValidatorResponse - */ - QueryValidatorResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryValidatorResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryValidatorResponse(); - if (object.validator != null) { - if (typeof object.validator !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorResponse.validator: object expected"); - message.validator = $root.cosmos.staking.v1beta1.Validator.fromObject(object.validator); - } - return message; - }; - - /** - * Creates a plain object from a QueryValidatorResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.QueryValidatorResponse} message QueryValidatorResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.validator = null; - if (message.validator != null && message.hasOwnProperty("validator")) - object.validator = $root.cosmos.staking.v1beta1.Validator.toObject(message.validator, options); - return object; - }; - - /** - * Converts this QueryValidatorResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryValidatorResponse - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorResponse; - })(v1beta1.QueryValidatorResponse || {}); - - v1beta1.QueryValidatorDelegationsRequest = (function(QueryValidatorDelegationsRequest) { - - /** - * Properties of a QueryValidatorDelegationsRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryValidatorDelegationsRequest - * @property {string|null} [validatorAddr] QueryValidatorDelegationsRequest validatorAddr - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryValidatorDelegationsRequest pagination - */ - - /** - * Constructs a new QueryValidatorDelegationsRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryValidatorDelegationsRequest. - * @implements IQueryValidatorDelegationsRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryValidatorDelegationsRequest=} [properties] Properties to set - */ - function QueryValidatorDelegationsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorDelegationsRequest validatorAddr. - * @member {string} validatorAddr - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsRequest - * @instance - */ - QueryValidatorDelegationsRequest.prototype.validatorAddr = ""; - - /** - * QueryValidatorDelegationsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsRequest - * @instance - */ - QueryValidatorDelegationsRequest.prototype.pagination = null; - - /** - * Creates a new QueryValidatorDelegationsRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorDelegationsRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryValidatorDelegationsRequest} QueryValidatorDelegationsRequest instance - */ - QueryValidatorDelegationsRequest.create = function create(properties) { - return new QueryValidatorDelegationsRequest(properties); - }; - - /** - * Encodes the specified QueryValidatorDelegationsRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorDelegationsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorDelegationsRequest} message QueryValidatorDelegationsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorDelegationsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddr != null && Object.hasOwnProperty.call(message, "validatorAddr")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddr); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryValidatorDelegationsRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorDelegationsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorDelegationsRequest} message QueryValidatorDelegationsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorDelegationsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorDelegationsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryValidatorDelegationsRequest} QueryValidatorDelegationsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorDelegationsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryValidatorDelegationsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddr = reader.string(); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorDelegationsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryValidatorDelegationsRequest} QueryValidatorDelegationsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorDelegationsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorDelegationsRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorDelegationsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - if (!$util.isString(message.validatorAddr)) - return "validatorAddr: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryValidatorDelegationsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryValidatorDelegationsRequest} QueryValidatorDelegationsRequest - */ - QueryValidatorDelegationsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryValidatorDelegationsRequest) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryValidatorDelegationsRequest(); - if (object.validatorAddr != null) - message.validatorAddr = String(object.validatorAddr); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorDelegationsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryValidatorDelegationsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.QueryValidatorDelegationsRequest} message QueryValidatorDelegationsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorDelegationsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.validatorAddr = ""; - object.pagination = null; - } - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - object.validatorAddr = message.validatorAddr; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryValidatorDelegationsRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorDelegationsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorDelegationsRequest; - })(v1beta1.QueryValidatorDelegationsRequest || {}); - - v1beta1.QueryValidatorDelegationsResponse = (function(QueryValidatorDelegationsResponse) { - - /** - * Properties of a QueryValidatorDelegationsResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryValidatorDelegationsResponse - * @property {Array.|null} [delegationResponses] QueryValidatorDelegationsResponse delegationResponses - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryValidatorDelegationsResponse pagination - */ - - /** - * Constructs a new QueryValidatorDelegationsResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryValidatorDelegationsResponse. - * @implements IQueryValidatorDelegationsResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryValidatorDelegationsResponse=} [properties] Properties to set - */ - function QueryValidatorDelegationsResponse(properties) { - this.delegationResponses = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorDelegationsResponse delegationResponses. - * @member {Array.} delegationResponses - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsResponse - * @instance - */ - QueryValidatorDelegationsResponse.prototype.delegationResponses = $util.emptyArray; - - /** - * QueryValidatorDelegationsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsResponse - * @instance - */ - QueryValidatorDelegationsResponse.prototype.pagination = null; - - /** - * Creates a new QueryValidatorDelegationsResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorDelegationsResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryValidatorDelegationsResponse} QueryValidatorDelegationsResponse instance - */ - QueryValidatorDelegationsResponse.create = function create(properties) { - return new QueryValidatorDelegationsResponse(properties); - }; - - /** - * Encodes the specified QueryValidatorDelegationsResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorDelegationsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorDelegationsResponse} message QueryValidatorDelegationsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorDelegationsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegationResponses != null && message.delegationResponses.length) - for (let i = 0; i < message.delegationResponses.length; ++i) - $root.cosmos.staking.v1beta1.DelegationResponse.encode(message.delegationResponses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryValidatorDelegationsResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorDelegationsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorDelegationsResponse} message QueryValidatorDelegationsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorDelegationsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorDelegationsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryValidatorDelegationsResponse} QueryValidatorDelegationsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorDelegationsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryValidatorDelegationsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.delegationResponses && message.delegationResponses.length)) - message.delegationResponses = []; - message.delegationResponses.push($root.cosmos.staking.v1beta1.DelegationResponse.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorDelegationsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryValidatorDelegationsResponse} QueryValidatorDelegationsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorDelegationsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorDelegationsResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorDelegationsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegationResponses != null && message.hasOwnProperty("delegationResponses")) { - if (!Array.isArray(message.delegationResponses)) - return "delegationResponses: array expected"; - for (let i = 0; i < message.delegationResponses.length; ++i) { - let error = $root.cosmos.staking.v1beta1.DelegationResponse.verify(message.delegationResponses[i]); - if (error) - return "delegationResponses." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryValidatorDelegationsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryValidatorDelegationsResponse} QueryValidatorDelegationsResponse - */ - QueryValidatorDelegationsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryValidatorDelegationsResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryValidatorDelegationsResponse(); - if (object.delegationResponses) { - if (!Array.isArray(object.delegationResponses)) - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorDelegationsResponse.delegationResponses: array expected"); - message.delegationResponses = []; - for (let i = 0; i < object.delegationResponses.length; ++i) { - if (typeof object.delegationResponses[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorDelegationsResponse.delegationResponses: object expected"); - message.delegationResponses[i] = $root.cosmos.staking.v1beta1.DelegationResponse.fromObject(object.delegationResponses[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorDelegationsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryValidatorDelegationsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.QueryValidatorDelegationsResponse} message QueryValidatorDelegationsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorDelegationsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.delegationResponses = []; - if (options.defaults) - object.pagination = null; - if (message.delegationResponses && message.delegationResponses.length) { - object.delegationResponses = []; - for (let j = 0; j < message.delegationResponses.length; ++j) - object.delegationResponses[j] = $root.cosmos.staking.v1beta1.DelegationResponse.toObject(message.delegationResponses[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryValidatorDelegationsResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryValidatorDelegationsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorDelegationsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorDelegationsResponse; - })(v1beta1.QueryValidatorDelegationsResponse || {}); - - v1beta1.QueryValidatorUnbondingDelegationsRequest = (function(QueryValidatorUnbondingDelegationsRequest) { - - /** - * Properties of a QueryValidatorUnbondingDelegationsRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryValidatorUnbondingDelegationsRequest - * @property {string|null} [validatorAddr] QueryValidatorUnbondingDelegationsRequest validatorAddr - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryValidatorUnbondingDelegationsRequest pagination - */ - - /** - * Constructs a new QueryValidatorUnbondingDelegationsRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryValidatorUnbondingDelegationsRequest. - * @implements IQueryValidatorUnbondingDelegationsRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryValidatorUnbondingDelegationsRequest=} [properties] Properties to set - */ - function QueryValidatorUnbondingDelegationsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorUnbondingDelegationsRequest validatorAddr. - * @member {string} validatorAddr - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest - * @instance - */ - QueryValidatorUnbondingDelegationsRequest.prototype.validatorAddr = ""; - - /** - * QueryValidatorUnbondingDelegationsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest - * @instance - */ - QueryValidatorUnbondingDelegationsRequest.prototype.pagination = null; - - /** - * Creates a new QueryValidatorUnbondingDelegationsRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorUnbondingDelegationsRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest} QueryValidatorUnbondingDelegationsRequest instance - */ - QueryValidatorUnbondingDelegationsRequest.create = function create(properties) { - return new QueryValidatorUnbondingDelegationsRequest(properties); - }; - - /** - * Encodes the specified QueryValidatorUnbondingDelegationsRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorUnbondingDelegationsRequest} message QueryValidatorUnbondingDelegationsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorUnbondingDelegationsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorAddr != null && Object.hasOwnProperty.call(message, "validatorAddr")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.validatorAddr); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryValidatorUnbondingDelegationsRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorUnbondingDelegationsRequest} message QueryValidatorUnbondingDelegationsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorUnbondingDelegationsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorUnbondingDelegationsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest} QueryValidatorUnbondingDelegationsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorUnbondingDelegationsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validatorAddr = reader.string(); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorUnbondingDelegationsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest} QueryValidatorUnbondingDelegationsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorUnbondingDelegationsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorUnbondingDelegationsRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorUnbondingDelegationsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - if (!$util.isString(message.validatorAddr)) - return "validatorAddr: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryValidatorUnbondingDelegationsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest} QueryValidatorUnbondingDelegationsRequest - */ - QueryValidatorUnbondingDelegationsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest(); - if (object.validatorAddr != null) - message.validatorAddr = String(object.validatorAddr); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryValidatorUnbondingDelegationsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest} message QueryValidatorUnbondingDelegationsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorUnbondingDelegationsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.validatorAddr = ""; - object.pagination = null; - } - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - object.validatorAddr = message.validatorAddr; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryValidatorUnbondingDelegationsRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorUnbondingDelegationsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorUnbondingDelegationsRequest; - })(v1beta1.QueryValidatorUnbondingDelegationsRequest || {}); - - v1beta1.QueryValidatorUnbondingDelegationsResponse = (function(QueryValidatorUnbondingDelegationsResponse) { - - /** - * Properties of a QueryValidatorUnbondingDelegationsResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryValidatorUnbondingDelegationsResponse - * @property {Array.|null} [unbondingResponses] QueryValidatorUnbondingDelegationsResponse unbondingResponses - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryValidatorUnbondingDelegationsResponse pagination - */ - - /** - * Constructs a new QueryValidatorUnbondingDelegationsResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryValidatorUnbondingDelegationsResponse. - * @implements IQueryValidatorUnbondingDelegationsResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryValidatorUnbondingDelegationsResponse=} [properties] Properties to set - */ - function QueryValidatorUnbondingDelegationsResponse(properties) { - this.unbondingResponses = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryValidatorUnbondingDelegationsResponse unbondingResponses. - * @member {Array.} unbondingResponses - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse - * @instance - */ - QueryValidatorUnbondingDelegationsResponse.prototype.unbondingResponses = $util.emptyArray; - - /** - * QueryValidatorUnbondingDelegationsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse - * @instance - */ - QueryValidatorUnbondingDelegationsResponse.prototype.pagination = null; - - /** - * Creates a new QueryValidatorUnbondingDelegationsResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorUnbondingDelegationsResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse} QueryValidatorUnbondingDelegationsResponse instance - */ - QueryValidatorUnbondingDelegationsResponse.create = function create(properties) { - return new QueryValidatorUnbondingDelegationsResponse(properties); - }; - - /** - * Encodes the specified QueryValidatorUnbondingDelegationsResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorUnbondingDelegationsResponse} message QueryValidatorUnbondingDelegationsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorUnbondingDelegationsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.unbondingResponses != null && message.unbondingResponses.length) - for (let i = 0; i < message.unbondingResponses.length; ++i) - $root.cosmos.staking.v1beta1.UnbondingDelegation.encode(message.unbondingResponses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryValidatorUnbondingDelegationsResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryValidatorUnbondingDelegationsResponse} message QueryValidatorUnbondingDelegationsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryValidatorUnbondingDelegationsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryValidatorUnbondingDelegationsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse} QueryValidatorUnbondingDelegationsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorUnbondingDelegationsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.unbondingResponses && message.unbondingResponses.length)) - message.unbondingResponses = []; - message.unbondingResponses.push($root.cosmos.staking.v1beta1.UnbondingDelegation.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryValidatorUnbondingDelegationsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse} QueryValidatorUnbondingDelegationsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryValidatorUnbondingDelegationsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryValidatorUnbondingDelegationsResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryValidatorUnbondingDelegationsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.unbondingResponses != null && message.hasOwnProperty("unbondingResponses")) { - if (!Array.isArray(message.unbondingResponses)) - return "unbondingResponses: array expected"; - for (let i = 0; i < message.unbondingResponses.length; ++i) { - let error = $root.cosmos.staking.v1beta1.UnbondingDelegation.verify(message.unbondingResponses[i]); - if (error) - return "unbondingResponses." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryValidatorUnbondingDelegationsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse} QueryValidatorUnbondingDelegationsResponse - */ - QueryValidatorUnbondingDelegationsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse(); - if (object.unbondingResponses) { - if (!Array.isArray(object.unbondingResponses)) - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse.unbondingResponses: array expected"); - message.unbondingResponses = []; - for (let i = 0; i < object.unbondingResponses.length; ++i) { - if (typeof object.unbondingResponses[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse.unbondingResponses: object expected"); - message.unbondingResponses[i] = $root.cosmos.staking.v1beta1.UnbondingDelegation.fromObject(object.unbondingResponses[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryValidatorUnbondingDelegationsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse} message QueryValidatorUnbondingDelegationsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryValidatorUnbondingDelegationsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.unbondingResponses = []; - if (options.defaults) - object.pagination = null; - if (message.unbondingResponses && message.unbondingResponses.length) { - object.unbondingResponses = []; - for (let j = 0; j < message.unbondingResponses.length; ++j) - object.unbondingResponses[j] = $root.cosmos.staking.v1beta1.UnbondingDelegation.toObject(message.unbondingResponses[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryValidatorUnbondingDelegationsResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryValidatorUnbondingDelegationsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryValidatorUnbondingDelegationsResponse; - })(v1beta1.QueryValidatorUnbondingDelegationsResponse || {}); - - v1beta1.QueryDelegationRequest = (function(QueryDelegationRequest) { - - /** - * Properties of a QueryDelegationRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryDelegationRequest - * @property {string|null} [delegatorAddr] QueryDelegationRequest delegatorAddr - * @property {string|null} [validatorAddr] QueryDelegationRequest validatorAddr - */ - - /** - * Constructs a new QueryDelegationRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryDelegationRequest. - * @implements IQueryDelegationRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryDelegationRequest=} [properties] Properties to set - */ - function QueryDelegationRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegationRequest delegatorAddr. - * @member {string} delegatorAddr - * @memberof cosmos.staking.v1beta1.QueryDelegationRequest - * @instance - */ - QueryDelegationRequest.prototype.delegatorAddr = ""; - - /** - * QueryDelegationRequest validatorAddr. - * @member {string} validatorAddr - * @memberof cosmos.staking.v1beta1.QueryDelegationRequest - * @instance - */ - QueryDelegationRequest.prototype.validatorAddr = ""; - - /** - * Creates a new QueryDelegationRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryDelegationRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegationRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryDelegationRequest} QueryDelegationRequest instance - */ - QueryDelegationRequest.create = function create(properties) { - return new QueryDelegationRequest(properties); - }; - - /** - * Encodes the specified QueryDelegationRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegationRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryDelegationRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegationRequest} message QueryDelegationRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegationRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddr != null && Object.hasOwnProperty.call(message, "delegatorAddr")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddr); - if (message.validatorAddr != null && Object.hasOwnProperty.call(message, "validatorAddr")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorAddr); - return writer; - }; - - /** - * Encodes the specified QueryDelegationRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegationRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegationRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegationRequest} message QueryDelegationRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegationRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegationRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryDelegationRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryDelegationRequest} QueryDelegationRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegationRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryDelegationRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddr = reader.string(); - break; - case 2: - message.validatorAddr = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegationRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegationRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryDelegationRequest} QueryDelegationRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegationRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegationRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryDelegationRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegationRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - if (!$util.isString(message.delegatorAddr)) - return "delegatorAddr: string expected"; - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - if (!$util.isString(message.validatorAddr)) - return "validatorAddr: string expected"; - return null; - }; - - /** - * Creates a QueryDelegationRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryDelegationRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryDelegationRequest} QueryDelegationRequest - */ - QueryDelegationRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryDelegationRequest) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryDelegationRequest(); - if (object.delegatorAddr != null) - message.delegatorAddr = String(object.delegatorAddr); - if (object.validatorAddr != null) - message.validatorAddr = String(object.validatorAddr); - return message; - }; - - /** - * Creates a plain object from a QueryDelegationRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryDelegationRequest - * @static - * @param {cosmos.staking.v1beta1.QueryDelegationRequest} message QueryDelegationRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegationRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddr = ""; - object.validatorAddr = ""; - } - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - object.delegatorAddr = message.delegatorAddr; - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - object.validatorAddr = message.validatorAddr; - return object; - }; - - /** - * Converts this QueryDelegationRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryDelegationRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDelegationRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegationRequest; - })(v1beta1.QueryDelegationRequest || {}); - - v1beta1.QueryDelegationResponse = (function(QueryDelegationResponse) { - - /** - * Properties of a QueryDelegationResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryDelegationResponse - * @property {cosmos.staking.v1beta1.IDelegationResponse|null} [delegationResponse] QueryDelegationResponse delegationResponse - */ - - /** - * Constructs a new QueryDelegationResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryDelegationResponse. - * @implements IQueryDelegationResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryDelegationResponse=} [properties] Properties to set - */ - function QueryDelegationResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegationResponse delegationResponse. - * @member {cosmos.staking.v1beta1.IDelegationResponse|null|undefined} delegationResponse - * @memberof cosmos.staking.v1beta1.QueryDelegationResponse - * @instance - */ - QueryDelegationResponse.prototype.delegationResponse = null; - - /** - * Creates a new QueryDelegationResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryDelegationResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegationResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryDelegationResponse} QueryDelegationResponse instance - */ - QueryDelegationResponse.create = function create(properties) { - return new QueryDelegationResponse(properties); - }; - - /** - * Encodes the specified QueryDelegationResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegationResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryDelegationResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegationResponse} message QueryDelegationResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegationResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegationResponse != null && Object.hasOwnProperty.call(message, "delegationResponse")) - $root.cosmos.staking.v1beta1.DelegationResponse.encode(message.delegationResponse, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDelegationResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegationResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegationResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegationResponse} message QueryDelegationResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegationResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegationResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryDelegationResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryDelegationResponse} QueryDelegationResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegationResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryDelegationResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegationResponse = $root.cosmos.staking.v1beta1.DelegationResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegationResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegationResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryDelegationResponse} QueryDelegationResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegationResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegationResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryDelegationResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegationResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegationResponse != null && message.hasOwnProperty("delegationResponse")) { - let error = $root.cosmos.staking.v1beta1.DelegationResponse.verify(message.delegationResponse); - if (error) - return "delegationResponse." + error; - } - return null; - }; - - /** - * Creates a QueryDelegationResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryDelegationResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryDelegationResponse} QueryDelegationResponse - */ - QueryDelegationResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryDelegationResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryDelegationResponse(); - if (object.delegationResponse != null) { - if (typeof object.delegationResponse !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryDelegationResponse.delegationResponse: object expected"); - message.delegationResponse = $root.cosmos.staking.v1beta1.DelegationResponse.fromObject(object.delegationResponse); - } - return message; - }; - - /** - * Creates a plain object from a QueryDelegationResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryDelegationResponse - * @static - * @param {cosmos.staking.v1beta1.QueryDelegationResponse} message QueryDelegationResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegationResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.delegationResponse = null; - if (message.delegationResponse != null && message.hasOwnProperty("delegationResponse")) - object.delegationResponse = $root.cosmos.staking.v1beta1.DelegationResponse.toObject(message.delegationResponse, options); - return object; - }; - - /** - * Converts this QueryDelegationResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryDelegationResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDelegationResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegationResponse; - })(v1beta1.QueryDelegationResponse || {}); - - v1beta1.QueryUnbondingDelegationRequest = (function(QueryUnbondingDelegationRequest) { - - /** - * Properties of a QueryUnbondingDelegationRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryUnbondingDelegationRequest - * @property {string|null} [delegatorAddr] QueryUnbondingDelegationRequest delegatorAddr - * @property {string|null} [validatorAddr] QueryUnbondingDelegationRequest validatorAddr - */ - - /** - * Constructs a new QueryUnbondingDelegationRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryUnbondingDelegationRequest. - * @implements IQueryUnbondingDelegationRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryUnbondingDelegationRequest=} [properties] Properties to set - */ - function QueryUnbondingDelegationRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryUnbondingDelegationRequest delegatorAddr. - * @member {string} delegatorAddr - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationRequest - * @instance - */ - QueryUnbondingDelegationRequest.prototype.delegatorAddr = ""; - - /** - * QueryUnbondingDelegationRequest validatorAddr. - * @member {string} validatorAddr - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationRequest - * @instance - */ - QueryUnbondingDelegationRequest.prototype.validatorAddr = ""; - - /** - * Creates a new QueryUnbondingDelegationRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryUnbondingDelegationRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryUnbondingDelegationRequest} QueryUnbondingDelegationRequest instance - */ - QueryUnbondingDelegationRequest.create = function create(properties) { - return new QueryUnbondingDelegationRequest(properties); - }; - - /** - * Encodes the specified QueryUnbondingDelegationRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryUnbondingDelegationRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryUnbondingDelegationRequest} message QueryUnbondingDelegationRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUnbondingDelegationRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddr != null && Object.hasOwnProperty.call(message, "delegatorAddr")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddr); - if (message.validatorAddr != null && Object.hasOwnProperty.call(message, "validatorAddr")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorAddr); - return writer; - }; - - /** - * Encodes the specified QueryUnbondingDelegationRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryUnbondingDelegationRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryUnbondingDelegationRequest} message QueryUnbondingDelegationRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUnbondingDelegationRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryUnbondingDelegationRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryUnbondingDelegationRequest} QueryUnbondingDelegationRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUnbondingDelegationRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryUnbondingDelegationRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddr = reader.string(); - break; - case 2: - message.validatorAddr = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryUnbondingDelegationRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryUnbondingDelegationRequest} QueryUnbondingDelegationRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUnbondingDelegationRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryUnbondingDelegationRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryUnbondingDelegationRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - if (!$util.isString(message.delegatorAddr)) - return "delegatorAddr: string expected"; - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - if (!$util.isString(message.validatorAddr)) - return "validatorAddr: string expected"; - return null; - }; - - /** - * Creates a QueryUnbondingDelegationRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryUnbondingDelegationRequest} QueryUnbondingDelegationRequest - */ - QueryUnbondingDelegationRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryUnbondingDelegationRequest) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryUnbondingDelegationRequest(); - if (object.delegatorAddr != null) - message.delegatorAddr = String(object.delegatorAddr); - if (object.validatorAddr != null) - message.validatorAddr = String(object.validatorAddr); - return message; - }; - - /** - * Creates a plain object from a QueryUnbondingDelegationRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationRequest - * @static - * @param {cosmos.staking.v1beta1.QueryUnbondingDelegationRequest} message QueryUnbondingDelegationRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryUnbondingDelegationRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddr = ""; - object.validatorAddr = ""; - } - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - object.delegatorAddr = message.delegatorAddr; - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - object.validatorAddr = message.validatorAddr; - return object; - }; - - /** - * Converts this QueryUnbondingDelegationRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationRequest - * @instance - * @returns {Object.} JSON object - */ - QueryUnbondingDelegationRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryUnbondingDelegationRequest; - })(v1beta1.QueryUnbondingDelegationRequest || {}); - - v1beta1.QueryUnbondingDelegationResponse = (function(QueryUnbondingDelegationResponse) { - - /** - * Properties of a QueryUnbondingDelegationResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryUnbondingDelegationResponse - * @property {cosmos.staking.v1beta1.IUnbondingDelegation|null} [unbond] QueryUnbondingDelegationResponse unbond - */ - - /** - * Constructs a new QueryUnbondingDelegationResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryUnbondingDelegationResponse. - * @implements IQueryUnbondingDelegationResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryUnbondingDelegationResponse=} [properties] Properties to set - */ - function QueryUnbondingDelegationResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryUnbondingDelegationResponse unbond. - * @member {cosmos.staking.v1beta1.IUnbondingDelegation|null|undefined} unbond - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationResponse - * @instance - */ - QueryUnbondingDelegationResponse.prototype.unbond = null; - - /** - * Creates a new QueryUnbondingDelegationResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryUnbondingDelegationResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryUnbondingDelegationResponse} QueryUnbondingDelegationResponse instance - */ - QueryUnbondingDelegationResponse.create = function create(properties) { - return new QueryUnbondingDelegationResponse(properties); - }; - - /** - * Encodes the specified QueryUnbondingDelegationResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryUnbondingDelegationResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryUnbondingDelegationResponse} message QueryUnbondingDelegationResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUnbondingDelegationResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.unbond != null && Object.hasOwnProperty.call(message, "unbond")) - $root.cosmos.staking.v1beta1.UnbondingDelegation.encode(message.unbond, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryUnbondingDelegationResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryUnbondingDelegationResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryUnbondingDelegationResponse} message QueryUnbondingDelegationResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUnbondingDelegationResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryUnbondingDelegationResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryUnbondingDelegationResponse} QueryUnbondingDelegationResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUnbondingDelegationResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryUnbondingDelegationResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.unbond = $root.cosmos.staking.v1beta1.UnbondingDelegation.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryUnbondingDelegationResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryUnbondingDelegationResponse} QueryUnbondingDelegationResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUnbondingDelegationResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryUnbondingDelegationResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryUnbondingDelegationResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.unbond != null && message.hasOwnProperty("unbond")) { - let error = $root.cosmos.staking.v1beta1.UnbondingDelegation.verify(message.unbond); - if (error) - return "unbond." + error; - } - return null; - }; - - /** - * Creates a QueryUnbondingDelegationResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryUnbondingDelegationResponse} QueryUnbondingDelegationResponse - */ - QueryUnbondingDelegationResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryUnbondingDelegationResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryUnbondingDelegationResponse(); - if (object.unbond != null) { - if (typeof object.unbond !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryUnbondingDelegationResponse.unbond: object expected"); - message.unbond = $root.cosmos.staking.v1beta1.UnbondingDelegation.fromObject(object.unbond); - } - return message; - }; - - /** - * Creates a plain object from a QueryUnbondingDelegationResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationResponse - * @static - * @param {cosmos.staking.v1beta1.QueryUnbondingDelegationResponse} message QueryUnbondingDelegationResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryUnbondingDelegationResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.unbond = null; - if (message.unbond != null && message.hasOwnProperty("unbond")) - object.unbond = $root.cosmos.staking.v1beta1.UnbondingDelegation.toObject(message.unbond, options); - return object; - }; - - /** - * Converts this QueryUnbondingDelegationResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryUnbondingDelegationResponse - * @instance - * @returns {Object.} JSON object - */ - QueryUnbondingDelegationResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryUnbondingDelegationResponse; - })(v1beta1.QueryUnbondingDelegationResponse || {}); - - v1beta1.QueryDelegatorDelegationsRequest = (function(QueryDelegatorDelegationsRequest) { - - /** - * Properties of a QueryDelegatorDelegationsRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryDelegatorDelegationsRequest - * @property {string|null} [delegatorAddr] QueryDelegatorDelegationsRequest delegatorAddr - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryDelegatorDelegationsRequest pagination - */ - - /** - * Constructs a new QueryDelegatorDelegationsRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryDelegatorDelegationsRequest. - * @implements IQueryDelegatorDelegationsRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryDelegatorDelegationsRequest=} [properties] Properties to set - */ - function QueryDelegatorDelegationsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegatorDelegationsRequest delegatorAddr. - * @member {string} delegatorAddr - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest - * @instance - */ - QueryDelegatorDelegationsRequest.prototype.delegatorAddr = ""; - - /** - * QueryDelegatorDelegationsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest - * @instance - */ - QueryDelegatorDelegationsRequest.prototype.pagination = null; - - /** - * Creates a new QueryDelegatorDelegationsRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorDelegationsRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest} QueryDelegatorDelegationsRequest instance - */ - QueryDelegatorDelegationsRequest.create = function create(properties) { - return new QueryDelegatorDelegationsRequest(properties); - }; - - /** - * Encodes the specified QueryDelegatorDelegationsRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorDelegationsRequest} message QueryDelegatorDelegationsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorDelegationsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddr != null && Object.hasOwnProperty.call(message, "delegatorAddr")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddr); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDelegatorDelegationsRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorDelegationsRequest} message QueryDelegatorDelegationsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorDelegationsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegatorDelegationsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest} QueryDelegatorDelegationsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorDelegationsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddr = reader.string(); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegatorDelegationsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest} QueryDelegatorDelegationsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorDelegationsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegatorDelegationsRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegatorDelegationsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - if (!$util.isString(message.delegatorAddr)) - return "delegatorAddr: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryDelegatorDelegationsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest} QueryDelegatorDelegationsRequest - */ - QueryDelegatorDelegationsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest(); - if (object.delegatorAddr != null) - message.delegatorAddr = String(object.delegatorAddr); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryDelegatorDelegationsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest} message QueryDelegatorDelegationsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegatorDelegationsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddr = ""; - object.pagination = null; - } - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - object.delegatorAddr = message.delegatorAddr; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryDelegatorDelegationsRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDelegatorDelegationsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegatorDelegationsRequest; - })(v1beta1.QueryDelegatorDelegationsRequest || {}); - - v1beta1.QueryDelegatorDelegationsResponse = (function(QueryDelegatorDelegationsResponse) { - - /** - * Properties of a QueryDelegatorDelegationsResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryDelegatorDelegationsResponse - * @property {Array.|null} [delegationResponses] QueryDelegatorDelegationsResponse delegationResponses - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryDelegatorDelegationsResponse pagination - */ - - /** - * Constructs a new QueryDelegatorDelegationsResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryDelegatorDelegationsResponse. - * @implements IQueryDelegatorDelegationsResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryDelegatorDelegationsResponse=} [properties] Properties to set - */ - function QueryDelegatorDelegationsResponse(properties) { - this.delegationResponses = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegatorDelegationsResponse delegationResponses. - * @member {Array.} delegationResponses - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse - * @instance - */ - QueryDelegatorDelegationsResponse.prototype.delegationResponses = $util.emptyArray; - - /** - * QueryDelegatorDelegationsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse - * @instance - */ - QueryDelegatorDelegationsResponse.prototype.pagination = null; - - /** - * Creates a new QueryDelegatorDelegationsResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorDelegationsResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse} QueryDelegatorDelegationsResponse instance - */ - QueryDelegatorDelegationsResponse.create = function create(properties) { - return new QueryDelegatorDelegationsResponse(properties); - }; - - /** - * Encodes the specified QueryDelegatorDelegationsResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorDelegationsResponse} message QueryDelegatorDelegationsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorDelegationsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegationResponses != null && message.delegationResponses.length) - for (let i = 0; i < message.delegationResponses.length; ++i) - $root.cosmos.staking.v1beta1.DelegationResponse.encode(message.delegationResponses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDelegatorDelegationsResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorDelegationsResponse} message QueryDelegatorDelegationsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorDelegationsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegatorDelegationsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse} QueryDelegatorDelegationsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorDelegationsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.delegationResponses && message.delegationResponses.length)) - message.delegationResponses = []; - message.delegationResponses.push($root.cosmos.staking.v1beta1.DelegationResponse.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegatorDelegationsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse} QueryDelegatorDelegationsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorDelegationsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegatorDelegationsResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegatorDelegationsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegationResponses != null && message.hasOwnProperty("delegationResponses")) { - if (!Array.isArray(message.delegationResponses)) - return "delegationResponses: array expected"; - for (let i = 0; i < message.delegationResponses.length; ++i) { - let error = $root.cosmos.staking.v1beta1.DelegationResponse.verify(message.delegationResponses[i]); - if (error) - return "delegationResponses." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryDelegatorDelegationsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse} QueryDelegatorDelegationsResponse - */ - QueryDelegatorDelegationsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse(); - if (object.delegationResponses) { - if (!Array.isArray(object.delegationResponses)) - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse.delegationResponses: array expected"); - message.delegationResponses = []; - for (let i = 0; i < object.delegationResponses.length; ++i) { - if (typeof object.delegationResponses[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse.delegationResponses: object expected"); - message.delegationResponses[i] = $root.cosmos.staking.v1beta1.DelegationResponse.fromObject(object.delegationResponses[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryDelegatorDelegationsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse} message QueryDelegatorDelegationsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegatorDelegationsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.delegationResponses = []; - if (options.defaults) - object.pagination = null; - if (message.delegationResponses && message.delegationResponses.length) { - object.delegationResponses = []; - for (let j = 0; j < message.delegationResponses.length; ++j) - object.delegationResponses[j] = $root.cosmos.staking.v1beta1.DelegationResponse.toObject(message.delegationResponses[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryDelegatorDelegationsResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDelegatorDelegationsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegatorDelegationsResponse; - })(v1beta1.QueryDelegatorDelegationsResponse || {}); - - v1beta1.QueryDelegatorUnbondingDelegationsRequest = (function(QueryDelegatorUnbondingDelegationsRequest) { - - /** - * Properties of a QueryDelegatorUnbondingDelegationsRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryDelegatorUnbondingDelegationsRequest - * @property {string|null} [delegatorAddr] QueryDelegatorUnbondingDelegationsRequest delegatorAddr - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryDelegatorUnbondingDelegationsRequest pagination - */ - - /** - * Constructs a new QueryDelegatorUnbondingDelegationsRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryDelegatorUnbondingDelegationsRequest. - * @implements IQueryDelegatorUnbondingDelegationsRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryDelegatorUnbondingDelegationsRequest=} [properties] Properties to set - */ - function QueryDelegatorUnbondingDelegationsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegatorUnbondingDelegationsRequest delegatorAddr. - * @member {string} delegatorAddr - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest - * @instance - */ - QueryDelegatorUnbondingDelegationsRequest.prototype.delegatorAddr = ""; - - /** - * QueryDelegatorUnbondingDelegationsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest - * @instance - */ - QueryDelegatorUnbondingDelegationsRequest.prototype.pagination = null; - - /** - * Creates a new QueryDelegatorUnbondingDelegationsRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorUnbondingDelegationsRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest} QueryDelegatorUnbondingDelegationsRequest instance - */ - QueryDelegatorUnbondingDelegationsRequest.create = function create(properties) { - return new QueryDelegatorUnbondingDelegationsRequest(properties); - }; - - /** - * Encodes the specified QueryDelegatorUnbondingDelegationsRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorUnbondingDelegationsRequest} message QueryDelegatorUnbondingDelegationsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorUnbondingDelegationsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddr != null && Object.hasOwnProperty.call(message, "delegatorAddr")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddr); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDelegatorUnbondingDelegationsRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorUnbondingDelegationsRequest} message QueryDelegatorUnbondingDelegationsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorUnbondingDelegationsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegatorUnbondingDelegationsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest} QueryDelegatorUnbondingDelegationsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorUnbondingDelegationsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddr = reader.string(); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegatorUnbondingDelegationsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest} QueryDelegatorUnbondingDelegationsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorUnbondingDelegationsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegatorUnbondingDelegationsRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegatorUnbondingDelegationsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - if (!$util.isString(message.delegatorAddr)) - return "delegatorAddr: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryDelegatorUnbondingDelegationsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest} QueryDelegatorUnbondingDelegationsRequest - */ - QueryDelegatorUnbondingDelegationsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest(); - if (object.delegatorAddr != null) - message.delegatorAddr = String(object.delegatorAddr); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryDelegatorUnbondingDelegationsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest} message QueryDelegatorUnbondingDelegationsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegatorUnbondingDelegationsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddr = ""; - object.pagination = null; - } - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - object.delegatorAddr = message.delegatorAddr; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryDelegatorUnbondingDelegationsRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDelegatorUnbondingDelegationsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegatorUnbondingDelegationsRequest; - })(v1beta1.QueryDelegatorUnbondingDelegationsRequest || {}); - - v1beta1.QueryDelegatorUnbondingDelegationsResponse = (function(QueryDelegatorUnbondingDelegationsResponse) { - - /** - * Properties of a QueryDelegatorUnbondingDelegationsResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryDelegatorUnbondingDelegationsResponse - * @property {Array.|null} [unbondingResponses] QueryDelegatorUnbondingDelegationsResponse unbondingResponses - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryDelegatorUnbondingDelegationsResponse pagination - */ - - /** - * Constructs a new QueryDelegatorUnbondingDelegationsResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryDelegatorUnbondingDelegationsResponse. - * @implements IQueryDelegatorUnbondingDelegationsResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryDelegatorUnbondingDelegationsResponse=} [properties] Properties to set - */ - function QueryDelegatorUnbondingDelegationsResponse(properties) { - this.unbondingResponses = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegatorUnbondingDelegationsResponse unbondingResponses. - * @member {Array.} unbondingResponses - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse - * @instance - */ - QueryDelegatorUnbondingDelegationsResponse.prototype.unbondingResponses = $util.emptyArray; - - /** - * QueryDelegatorUnbondingDelegationsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse - * @instance - */ - QueryDelegatorUnbondingDelegationsResponse.prototype.pagination = null; - - /** - * Creates a new QueryDelegatorUnbondingDelegationsResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorUnbondingDelegationsResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse} QueryDelegatorUnbondingDelegationsResponse instance - */ - QueryDelegatorUnbondingDelegationsResponse.create = function create(properties) { - return new QueryDelegatorUnbondingDelegationsResponse(properties); - }; - - /** - * Encodes the specified QueryDelegatorUnbondingDelegationsResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorUnbondingDelegationsResponse} message QueryDelegatorUnbondingDelegationsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorUnbondingDelegationsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.unbondingResponses != null && message.unbondingResponses.length) - for (let i = 0; i < message.unbondingResponses.length; ++i) - $root.cosmos.staking.v1beta1.UnbondingDelegation.encode(message.unbondingResponses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDelegatorUnbondingDelegationsResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorUnbondingDelegationsResponse} message QueryDelegatorUnbondingDelegationsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorUnbondingDelegationsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegatorUnbondingDelegationsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse} QueryDelegatorUnbondingDelegationsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorUnbondingDelegationsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.unbondingResponses && message.unbondingResponses.length)) - message.unbondingResponses = []; - message.unbondingResponses.push($root.cosmos.staking.v1beta1.UnbondingDelegation.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegatorUnbondingDelegationsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse} QueryDelegatorUnbondingDelegationsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorUnbondingDelegationsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegatorUnbondingDelegationsResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegatorUnbondingDelegationsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.unbondingResponses != null && message.hasOwnProperty("unbondingResponses")) { - if (!Array.isArray(message.unbondingResponses)) - return "unbondingResponses: array expected"; - for (let i = 0; i < message.unbondingResponses.length; ++i) { - let error = $root.cosmos.staking.v1beta1.UnbondingDelegation.verify(message.unbondingResponses[i]); - if (error) - return "unbondingResponses." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryDelegatorUnbondingDelegationsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse} QueryDelegatorUnbondingDelegationsResponse - */ - QueryDelegatorUnbondingDelegationsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse(); - if (object.unbondingResponses) { - if (!Array.isArray(object.unbondingResponses)) - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse.unbondingResponses: array expected"); - message.unbondingResponses = []; - for (let i = 0; i < object.unbondingResponses.length; ++i) { - if (typeof object.unbondingResponses[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse.unbondingResponses: object expected"); - message.unbondingResponses[i] = $root.cosmos.staking.v1beta1.UnbondingDelegation.fromObject(object.unbondingResponses[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryDelegatorUnbondingDelegationsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse} message QueryDelegatorUnbondingDelegationsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegatorUnbondingDelegationsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.unbondingResponses = []; - if (options.defaults) - object.pagination = null; - if (message.unbondingResponses && message.unbondingResponses.length) { - object.unbondingResponses = []; - for (let j = 0; j < message.unbondingResponses.length; ++j) - object.unbondingResponses[j] = $root.cosmos.staking.v1beta1.UnbondingDelegation.toObject(message.unbondingResponses[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryDelegatorUnbondingDelegationsResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDelegatorUnbondingDelegationsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegatorUnbondingDelegationsResponse; - })(v1beta1.QueryDelegatorUnbondingDelegationsResponse || {}); - - v1beta1.QueryRedelegationsRequest = (function(QueryRedelegationsRequest) { - - /** - * Properties of a QueryRedelegationsRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryRedelegationsRequest - * @property {string|null} [delegatorAddr] QueryRedelegationsRequest delegatorAddr - * @property {string|null} [srcValidatorAddr] QueryRedelegationsRequest srcValidatorAddr - * @property {string|null} [dstValidatorAddr] QueryRedelegationsRequest dstValidatorAddr - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryRedelegationsRequest pagination - */ - - /** - * Constructs a new QueryRedelegationsRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryRedelegationsRequest. - * @implements IQueryRedelegationsRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryRedelegationsRequest=} [properties] Properties to set - */ - function QueryRedelegationsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryRedelegationsRequest delegatorAddr. - * @member {string} delegatorAddr - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @instance - */ - QueryRedelegationsRequest.prototype.delegatorAddr = ""; - - /** - * QueryRedelegationsRequest srcValidatorAddr. - * @member {string} srcValidatorAddr - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @instance - */ - QueryRedelegationsRequest.prototype.srcValidatorAddr = ""; - - /** - * QueryRedelegationsRequest dstValidatorAddr. - * @member {string} dstValidatorAddr - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @instance - */ - QueryRedelegationsRequest.prototype.dstValidatorAddr = ""; - - /** - * QueryRedelegationsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @instance - */ - QueryRedelegationsRequest.prototype.pagination = null; - - /** - * Creates a new QueryRedelegationsRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryRedelegationsRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryRedelegationsRequest} QueryRedelegationsRequest instance - */ - QueryRedelegationsRequest.create = function create(properties) { - return new QueryRedelegationsRequest(properties); - }; - - /** - * Encodes the specified QueryRedelegationsRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryRedelegationsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryRedelegationsRequest} message QueryRedelegationsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryRedelegationsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddr != null && Object.hasOwnProperty.call(message, "delegatorAddr")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddr); - if (message.srcValidatorAddr != null && Object.hasOwnProperty.call(message, "srcValidatorAddr")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.srcValidatorAddr); - if (message.dstValidatorAddr != null && Object.hasOwnProperty.call(message, "dstValidatorAddr")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.dstValidatorAddr); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryRedelegationsRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryRedelegationsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryRedelegationsRequest} message QueryRedelegationsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryRedelegationsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryRedelegationsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryRedelegationsRequest} QueryRedelegationsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryRedelegationsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryRedelegationsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddr = reader.string(); - break; - case 2: - message.srcValidatorAddr = reader.string(); - break; - case 3: - message.dstValidatorAddr = reader.string(); - break; - case 4: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryRedelegationsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryRedelegationsRequest} QueryRedelegationsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryRedelegationsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryRedelegationsRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryRedelegationsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - if (!$util.isString(message.delegatorAddr)) - return "delegatorAddr: string expected"; - if (message.srcValidatorAddr != null && message.hasOwnProperty("srcValidatorAddr")) - if (!$util.isString(message.srcValidatorAddr)) - return "srcValidatorAddr: string expected"; - if (message.dstValidatorAddr != null && message.hasOwnProperty("dstValidatorAddr")) - if (!$util.isString(message.dstValidatorAddr)) - return "dstValidatorAddr: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryRedelegationsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryRedelegationsRequest} QueryRedelegationsRequest - */ - QueryRedelegationsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryRedelegationsRequest) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryRedelegationsRequest(); - if (object.delegatorAddr != null) - message.delegatorAddr = String(object.delegatorAddr); - if (object.srcValidatorAddr != null) - message.srcValidatorAddr = String(object.srcValidatorAddr); - if (object.dstValidatorAddr != null) - message.dstValidatorAddr = String(object.dstValidatorAddr); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryRedelegationsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryRedelegationsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @static - * @param {cosmos.staking.v1beta1.QueryRedelegationsRequest} message QueryRedelegationsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryRedelegationsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddr = ""; - object.srcValidatorAddr = ""; - object.dstValidatorAddr = ""; - object.pagination = null; - } - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - object.delegatorAddr = message.delegatorAddr; - if (message.srcValidatorAddr != null && message.hasOwnProperty("srcValidatorAddr")) - object.srcValidatorAddr = message.srcValidatorAddr; - if (message.dstValidatorAddr != null && message.hasOwnProperty("dstValidatorAddr")) - object.dstValidatorAddr = message.dstValidatorAddr; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryRedelegationsRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryRedelegationsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryRedelegationsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryRedelegationsRequest; - })(v1beta1.QueryRedelegationsRequest || {}); - - v1beta1.QueryRedelegationsResponse = (function(QueryRedelegationsResponse) { - - /** - * Properties of a QueryRedelegationsResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryRedelegationsResponse - * @property {Array.|null} [redelegationResponses] QueryRedelegationsResponse redelegationResponses - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryRedelegationsResponse pagination - */ - - /** - * Constructs a new QueryRedelegationsResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryRedelegationsResponse. - * @implements IQueryRedelegationsResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryRedelegationsResponse=} [properties] Properties to set - */ - function QueryRedelegationsResponse(properties) { - this.redelegationResponses = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryRedelegationsResponse redelegationResponses. - * @member {Array.} redelegationResponses - * @memberof cosmos.staking.v1beta1.QueryRedelegationsResponse - * @instance - */ - QueryRedelegationsResponse.prototype.redelegationResponses = $util.emptyArray; - - /** - * QueryRedelegationsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryRedelegationsResponse - * @instance - */ - QueryRedelegationsResponse.prototype.pagination = null; - - /** - * Creates a new QueryRedelegationsResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryRedelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryRedelegationsResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryRedelegationsResponse} QueryRedelegationsResponse instance - */ - QueryRedelegationsResponse.create = function create(properties) { - return new QueryRedelegationsResponse(properties); - }; - - /** - * Encodes the specified QueryRedelegationsResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryRedelegationsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryRedelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryRedelegationsResponse} message QueryRedelegationsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryRedelegationsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.redelegationResponses != null && message.redelegationResponses.length) - for (let i = 0; i < message.redelegationResponses.length; ++i) - $root.cosmos.staking.v1beta1.RedelegationResponse.encode(message.redelegationResponses[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryRedelegationsResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryRedelegationsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryRedelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryRedelegationsResponse} message QueryRedelegationsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryRedelegationsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryRedelegationsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryRedelegationsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryRedelegationsResponse} QueryRedelegationsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryRedelegationsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryRedelegationsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.redelegationResponses && message.redelegationResponses.length)) - message.redelegationResponses = []; - message.redelegationResponses.push($root.cosmos.staking.v1beta1.RedelegationResponse.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryRedelegationsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryRedelegationsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryRedelegationsResponse} QueryRedelegationsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryRedelegationsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryRedelegationsResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryRedelegationsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryRedelegationsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.redelegationResponses != null && message.hasOwnProperty("redelegationResponses")) { - if (!Array.isArray(message.redelegationResponses)) - return "redelegationResponses: array expected"; - for (let i = 0; i < message.redelegationResponses.length; ++i) { - let error = $root.cosmos.staking.v1beta1.RedelegationResponse.verify(message.redelegationResponses[i]); - if (error) - return "redelegationResponses." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryRedelegationsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryRedelegationsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryRedelegationsResponse} QueryRedelegationsResponse - */ - QueryRedelegationsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryRedelegationsResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryRedelegationsResponse(); - if (object.redelegationResponses) { - if (!Array.isArray(object.redelegationResponses)) - throw TypeError(".cosmos.staking.v1beta1.QueryRedelegationsResponse.redelegationResponses: array expected"); - message.redelegationResponses = []; - for (let i = 0; i < object.redelegationResponses.length; ++i) { - if (typeof object.redelegationResponses[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryRedelegationsResponse.redelegationResponses: object expected"); - message.redelegationResponses[i] = $root.cosmos.staking.v1beta1.RedelegationResponse.fromObject(object.redelegationResponses[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryRedelegationsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryRedelegationsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryRedelegationsResponse - * @static - * @param {cosmos.staking.v1beta1.QueryRedelegationsResponse} message QueryRedelegationsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryRedelegationsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.redelegationResponses = []; - if (options.defaults) - object.pagination = null; - if (message.redelegationResponses && message.redelegationResponses.length) { - object.redelegationResponses = []; - for (let j = 0; j < message.redelegationResponses.length; ++j) - object.redelegationResponses[j] = $root.cosmos.staking.v1beta1.RedelegationResponse.toObject(message.redelegationResponses[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryRedelegationsResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryRedelegationsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryRedelegationsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryRedelegationsResponse; - })(v1beta1.QueryRedelegationsResponse || {}); - - v1beta1.QueryDelegatorValidatorsRequest = (function(QueryDelegatorValidatorsRequest) { - - /** - * Properties of a QueryDelegatorValidatorsRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryDelegatorValidatorsRequest - * @property {string|null} [delegatorAddr] QueryDelegatorValidatorsRequest delegatorAddr - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryDelegatorValidatorsRequest pagination - */ - - /** - * Constructs a new QueryDelegatorValidatorsRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryDelegatorValidatorsRequest. - * @implements IQueryDelegatorValidatorsRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorsRequest=} [properties] Properties to set - */ - function QueryDelegatorValidatorsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegatorValidatorsRequest delegatorAddr. - * @member {string} delegatorAddr - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest - * @instance - */ - QueryDelegatorValidatorsRequest.prototype.delegatorAddr = ""; - - /** - * QueryDelegatorValidatorsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest - * @instance - */ - QueryDelegatorValidatorsRequest.prototype.pagination = null; - - /** - * Creates a new QueryDelegatorValidatorsRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorsRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest} QueryDelegatorValidatorsRequest instance - */ - QueryDelegatorValidatorsRequest.create = function create(properties) { - return new QueryDelegatorValidatorsRequest(properties); - }; - - /** - * Encodes the specified QueryDelegatorValidatorsRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorsRequest} message QueryDelegatorValidatorsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorValidatorsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddr != null && Object.hasOwnProperty.call(message, "delegatorAddr")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddr); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDelegatorValidatorsRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorsRequest} message QueryDelegatorValidatorsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorValidatorsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegatorValidatorsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest} QueryDelegatorValidatorsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorValidatorsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddr = reader.string(); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegatorValidatorsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest} QueryDelegatorValidatorsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorValidatorsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegatorValidatorsRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegatorValidatorsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - if (!$util.isString(message.delegatorAddr)) - return "delegatorAddr: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryDelegatorValidatorsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest} QueryDelegatorValidatorsRequest - */ - QueryDelegatorValidatorsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest(); - if (object.delegatorAddr != null) - message.delegatorAddr = String(object.delegatorAddr); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryDelegatorValidatorsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest - * @static - * @param {cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest} message QueryDelegatorValidatorsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegatorValidatorsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddr = ""; - object.pagination = null; - } - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - object.delegatorAddr = message.delegatorAddr; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryDelegatorValidatorsRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDelegatorValidatorsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegatorValidatorsRequest; - })(v1beta1.QueryDelegatorValidatorsRequest || {}); - - v1beta1.QueryDelegatorValidatorsResponse = (function(QueryDelegatorValidatorsResponse) { - - /** - * Properties of a QueryDelegatorValidatorsResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryDelegatorValidatorsResponse - * @property {Array.|null} [validators] QueryDelegatorValidatorsResponse validators - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryDelegatorValidatorsResponse pagination - */ - - /** - * Constructs a new QueryDelegatorValidatorsResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryDelegatorValidatorsResponse. - * @implements IQueryDelegatorValidatorsResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorsResponse=} [properties] Properties to set - */ - function QueryDelegatorValidatorsResponse(properties) { - this.validators = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegatorValidatorsResponse validators. - * @member {Array.} validators - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse - * @instance - */ - QueryDelegatorValidatorsResponse.prototype.validators = $util.emptyArray; - - /** - * QueryDelegatorValidatorsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse - * @instance - */ - QueryDelegatorValidatorsResponse.prototype.pagination = null; - - /** - * Creates a new QueryDelegatorValidatorsResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorsResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse} QueryDelegatorValidatorsResponse instance - */ - QueryDelegatorValidatorsResponse.create = function create(properties) { - return new QueryDelegatorValidatorsResponse(properties); - }; - - /** - * Encodes the specified QueryDelegatorValidatorsResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorsResponse} message QueryDelegatorValidatorsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorValidatorsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validators != null && message.validators.length) - for (let i = 0; i < message.validators.length; ++i) - $root.cosmos.staking.v1beta1.Validator.encode(message.validators[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDelegatorValidatorsResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorsResponse} message QueryDelegatorValidatorsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorValidatorsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegatorValidatorsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse} QueryDelegatorValidatorsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorValidatorsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.validators && message.validators.length)) - message.validators = []; - message.validators.push($root.cosmos.staking.v1beta1.Validator.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegatorValidatorsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse} QueryDelegatorValidatorsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorValidatorsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegatorValidatorsResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegatorValidatorsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validators != null && message.hasOwnProperty("validators")) { - if (!Array.isArray(message.validators)) - return "validators: array expected"; - for (let i = 0; i < message.validators.length; ++i) { - let error = $root.cosmos.staking.v1beta1.Validator.verify(message.validators[i]); - if (error) - return "validators." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryDelegatorValidatorsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse} QueryDelegatorValidatorsResponse - */ - QueryDelegatorValidatorsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse(); - if (object.validators) { - if (!Array.isArray(object.validators)) - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse.validators: array expected"); - message.validators = []; - for (let i = 0; i < object.validators.length; ++i) { - if (typeof object.validators[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse.validators: object expected"); - message.validators[i] = $root.cosmos.staking.v1beta1.Validator.fromObject(object.validators[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryDelegatorValidatorsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse - * @static - * @param {cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse} message QueryDelegatorValidatorsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegatorValidatorsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.validators = []; - if (options.defaults) - object.pagination = null; - if (message.validators && message.validators.length) { - object.validators = []; - for (let j = 0; j < message.validators.length; ++j) - object.validators[j] = $root.cosmos.staking.v1beta1.Validator.toObject(message.validators[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryDelegatorValidatorsResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDelegatorValidatorsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegatorValidatorsResponse; - })(v1beta1.QueryDelegatorValidatorsResponse || {}); - - v1beta1.QueryDelegatorValidatorRequest = (function(QueryDelegatorValidatorRequest) { - - /** - * Properties of a QueryDelegatorValidatorRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryDelegatorValidatorRequest - * @property {string|null} [delegatorAddr] QueryDelegatorValidatorRequest delegatorAddr - * @property {string|null} [validatorAddr] QueryDelegatorValidatorRequest validatorAddr - */ - - /** - * Constructs a new QueryDelegatorValidatorRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryDelegatorValidatorRequest. - * @implements IQueryDelegatorValidatorRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorRequest=} [properties] Properties to set - */ - function QueryDelegatorValidatorRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegatorValidatorRequest delegatorAddr. - * @member {string} delegatorAddr - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorRequest - * @instance - */ - QueryDelegatorValidatorRequest.prototype.delegatorAddr = ""; - - /** - * QueryDelegatorValidatorRequest validatorAddr. - * @member {string} validatorAddr - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorRequest - * @instance - */ - QueryDelegatorValidatorRequest.prototype.validatorAddr = ""; - - /** - * Creates a new QueryDelegatorValidatorRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorRequest} QueryDelegatorValidatorRequest instance - */ - QueryDelegatorValidatorRequest.create = function create(properties) { - return new QueryDelegatorValidatorRequest(properties); - }; - - /** - * Encodes the specified QueryDelegatorValidatorRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorValidatorRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorRequest} message QueryDelegatorValidatorRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorValidatorRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddr != null && Object.hasOwnProperty.call(message, "delegatorAddr")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddr); - if (message.validatorAddr != null && Object.hasOwnProperty.call(message, "validatorAddr")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorAddr); - return writer; - }; - - /** - * Encodes the specified QueryDelegatorValidatorRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorValidatorRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorRequest} message QueryDelegatorValidatorRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorValidatorRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegatorValidatorRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorRequest} QueryDelegatorValidatorRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorValidatorRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryDelegatorValidatorRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddr = reader.string(); - break; - case 2: - message.validatorAddr = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegatorValidatorRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorRequest} QueryDelegatorValidatorRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorValidatorRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegatorValidatorRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegatorValidatorRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - if (!$util.isString(message.delegatorAddr)) - return "delegatorAddr: string expected"; - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - if (!$util.isString(message.validatorAddr)) - return "validatorAddr: string expected"; - return null; - }; - - /** - * Creates a QueryDelegatorValidatorRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorRequest} QueryDelegatorValidatorRequest - */ - QueryDelegatorValidatorRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryDelegatorValidatorRequest) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryDelegatorValidatorRequest(); - if (object.delegatorAddr != null) - message.delegatorAddr = String(object.delegatorAddr); - if (object.validatorAddr != null) - message.validatorAddr = String(object.validatorAddr); - return message; - }; - - /** - * Creates a plain object from a QueryDelegatorValidatorRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorRequest - * @static - * @param {cosmos.staking.v1beta1.QueryDelegatorValidatorRequest} message QueryDelegatorValidatorRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegatorValidatorRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddr = ""; - object.validatorAddr = ""; - } - if (message.delegatorAddr != null && message.hasOwnProperty("delegatorAddr")) - object.delegatorAddr = message.delegatorAddr; - if (message.validatorAddr != null && message.hasOwnProperty("validatorAddr")) - object.validatorAddr = message.validatorAddr; - return object; - }; - - /** - * Converts this QueryDelegatorValidatorRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDelegatorValidatorRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegatorValidatorRequest; - })(v1beta1.QueryDelegatorValidatorRequest || {}); - - v1beta1.QueryDelegatorValidatorResponse = (function(QueryDelegatorValidatorResponse) { - - /** - * Properties of a QueryDelegatorValidatorResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryDelegatorValidatorResponse - * @property {cosmos.staking.v1beta1.IValidator|null} [validator] QueryDelegatorValidatorResponse validator - */ - - /** - * Constructs a new QueryDelegatorValidatorResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryDelegatorValidatorResponse. - * @implements IQueryDelegatorValidatorResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorResponse=} [properties] Properties to set - */ - function QueryDelegatorValidatorResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDelegatorValidatorResponse validator. - * @member {cosmos.staking.v1beta1.IValidator|null|undefined} validator - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorResponse - * @instance - */ - QueryDelegatorValidatorResponse.prototype.validator = null; - - /** - * Creates a new QueryDelegatorValidatorResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorResponse} QueryDelegatorValidatorResponse instance - */ - QueryDelegatorValidatorResponse.create = function create(properties) { - return new QueryDelegatorValidatorResponse(properties); - }; - - /** - * Encodes the specified QueryDelegatorValidatorResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorValidatorResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorResponse} message QueryDelegatorValidatorResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorValidatorResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validator != null && Object.hasOwnProperty.call(message, "validator")) - $root.cosmos.staking.v1beta1.Validator.encode(message.validator, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDelegatorValidatorResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryDelegatorValidatorResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryDelegatorValidatorResponse} message QueryDelegatorValidatorResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDelegatorValidatorResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDelegatorValidatorResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorResponse} QueryDelegatorValidatorResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorValidatorResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryDelegatorValidatorResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validator = $root.cosmos.staking.v1beta1.Validator.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDelegatorValidatorResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorResponse} QueryDelegatorValidatorResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDelegatorValidatorResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDelegatorValidatorResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDelegatorValidatorResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validator != null && message.hasOwnProperty("validator")) { - let error = $root.cosmos.staking.v1beta1.Validator.verify(message.validator); - if (error) - return "validator." + error; - } - return null; - }; - - /** - * Creates a QueryDelegatorValidatorResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryDelegatorValidatorResponse} QueryDelegatorValidatorResponse - */ - QueryDelegatorValidatorResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryDelegatorValidatorResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryDelegatorValidatorResponse(); - if (object.validator != null) { - if (typeof object.validator !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryDelegatorValidatorResponse.validator: object expected"); - message.validator = $root.cosmos.staking.v1beta1.Validator.fromObject(object.validator); - } - return message; - }; - - /** - * Creates a plain object from a QueryDelegatorValidatorResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.QueryDelegatorValidatorResponse} message QueryDelegatorValidatorResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDelegatorValidatorResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.validator = null; - if (message.validator != null && message.hasOwnProperty("validator")) - object.validator = $root.cosmos.staking.v1beta1.Validator.toObject(message.validator, options); - return object; - }; - - /** - * Converts this QueryDelegatorValidatorResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryDelegatorValidatorResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDelegatorValidatorResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDelegatorValidatorResponse; - })(v1beta1.QueryDelegatorValidatorResponse || {}); - - v1beta1.QueryHistoricalInfoRequest = (function(QueryHistoricalInfoRequest) { - - /** - * Properties of a QueryHistoricalInfoRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryHistoricalInfoRequest - * @property {number|Long|null} [height] QueryHistoricalInfoRequest height - */ - - /** - * Constructs a new QueryHistoricalInfoRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryHistoricalInfoRequest. - * @implements IQueryHistoricalInfoRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryHistoricalInfoRequest=} [properties] Properties to set - */ - function QueryHistoricalInfoRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryHistoricalInfoRequest height. - * @member {number|Long} height - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoRequest - * @instance - */ - QueryHistoricalInfoRequest.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new QueryHistoricalInfoRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryHistoricalInfoRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryHistoricalInfoRequest} QueryHistoricalInfoRequest instance - */ - QueryHistoricalInfoRequest.create = function create(properties) { - return new QueryHistoricalInfoRequest(properties); - }; - - /** - * Encodes the specified QueryHistoricalInfoRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryHistoricalInfoRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryHistoricalInfoRequest} message QueryHistoricalInfoRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryHistoricalInfoRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); - return writer; - }; - - /** - * Encodes the specified QueryHistoricalInfoRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryHistoricalInfoRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryHistoricalInfoRequest} message QueryHistoricalInfoRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryHistoricalInfoRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryHistoricalInfoRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryHistoricalInfoRequest} QueryHistoricalInfoRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryHistoricalInfoRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryHistoricalInfoRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryHistoricalInfoRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryHistoricalInfoRequest} QueryHistoricalInfoRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryHistoricalInfoRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryHistoricalInfoRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryHistoricalInfoRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - return null; - }; - - /** - * Creates a QueryHistoricalInfoRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryHistoricalInfoRequest} QueryHistoricalInfoRequest - */ - QueryHistoricalInfoRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryHistoricalInfoRequest) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryHistoricalInfoRequest(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a QueryHistoricalInfoRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoRequest - * @static - * @param {cosmos.staking.v1beta1.QueryHistoricalInfoRequest} message QueryHistoricalInfoRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryHistoricalInfoRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - return object; - }; - - /** - * Converts this QueryHistoricalInfoRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoRequest - * @instance - * @returns {Object.} JSON object - */ - QueryHistoricalInfoRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryHistoricalInfoRequest; - })(v1beta1.QueryHistoricalInfoRequest || {}); - - v1beta1.QueryHistoricalInfoResponse = (function(QueryHistoricalInfoResponse) { - - /** - * Properties of a QueryHistoricalInfoResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryHistoricalInfoResponse - * @property {cosmos.staking.v1beta1.IHistoricalInfo|null} [hist] QueryHistoricalInfoResponse hist - */ - - /** - * Constructs a new QueryHistoricalInfoResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryHistoricalInfoResponse. - * @implements IQueryHistoricalInfoResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryHistoricalInfoResponse=} [properties] Properties to set - */ - function QueryHistoricalInfoResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryHistoricalInfoResponse hist. - * @member {cosmos.staking.v1beta1.IHistoricalInfo|null|undefined} hist - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoResponse - * @instance - */ - QueryHistoricalInfoResponse.prototype.hist = null; - - /** - * Creates a new QueryHistoricalInfoResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryHistoricalInfoResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryHistoricalInfoResponse} QueryHistoricalInfoResponse instance - */ - QueryHistoricalInfoResponse.create = function create(properties) { - return new QueryHistoricalInfoResponse(properties); - }; - - /** - * Encodes the specified QueryHistoricalInfoResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryHistoricalInfoResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryHistoricalInfoResponse} message QueryHistoricalInfoResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryHistoricalInfoResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.hist != null && Object.hasOwnProperty.call(message, "hist")) - $root.cosmos.staking.v1beta1.HistoricalInfo.encode(message.hist, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryHistoricalInfoResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryHistoricalInfoResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryHistoricalInfoResponse} message QueryHistoricalInfoResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryHistoricalInfoResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryHistoricalInfoResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryHistoricalInfoResponse} QueryHistoricalInfoResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryHistoricalInfoResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryHistoricalInfoResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.hist = $root.cosmos.staking.v1beta1.HistoricalInfo.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryHistoricalInfoResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryHistoricalInfoResponse} QueryHistoricalInfoResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryHistoricalInfoResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryHistoricalInfoResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryHistoricalInfoResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.hist != null && message.hasOwnProperty("hist")) { - let error = $root.cosmos.staking.v1beta1.HistoricalInfo.verify(message.hist); - if (error) - return "hist." + error; - } - return null; - }; - - /** - * Creates a QueryHistoricalInfoResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryHistoricalInfoResponse} QueryHistoricalInfoResponse - */ - QueryHistoricalInfoResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryHistoricalInfoResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryHistoricalInfoResponse(); - if (object.hist != null) { - if (typeof object.hist !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryHistoricalInfoResponse.hist: object expected"); - message.hist = $root.cosmos.staking.v1beta1.HistoricalInfo.fromObject(object.hist); - } - return message; - }; - - /** - * Creates a plain object from a QueryHistoricalInfoResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoResponse - * @static - * @param {cosmos.staking.v1beta1.QueryHistoricalInfoResponse} message QueryHistoricalInfoResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryHistoricalInfoResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.hist = null; - if (message.hist != null && message.hasOwnProperty("hist")) - object.hist = $root.cosmos.staking.v1beta1.HistoricalInfo.toObject(message.hist, options); - return object; - }; - - /** - * Converts this QueryHistoricalInfoResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryHistoricalInfoResponse - * @instance - * @returns {Object.} JSON object - */ - QueryHistoricalInfoResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryHistoricalInfoResponse; - })(v1beta1.QueryHistoricalInfoResponse || {}); - - v1beta1.QueryPoolRequest = (function(QueryPoolRequest) { - - /** - * Properties of a QueryPoolRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryPoolRequest - */ - - /** - * Constructs a new QueryPoolRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryPoolRequest. - * @implements IQueryPoolRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryPoolRequest=} [properties] Properties to set - */ - function QueryPoolRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryPoolRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryPoolRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryPoolRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryPoolRequest} QueryPoolRequest instance - */ - QueryPoolRequest.create = function create(properties) { - return new QueryPoolRequest(properties); - }; - - /** - * Encodes the specified QueryPoolRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryPoolRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryPoolRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryPoolRequest} message QueryPoolRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPoolRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryPoolRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryPoolRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryPoolRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryPoolRequest} message QueryPoolRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPoolRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryPoolRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryPoolRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryPoolRequest} QueryPoolRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPoolRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryPoolRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryPoolRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryPoolRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryPoolRequest} QueryPoolRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPoolRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryPoolRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryPoolRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryPoolRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryPoolRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryPoolRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryPoolRequest} QueryPoolRequest - */ - QueryPoolRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryPoolRequest) - return object; - return new $root.cosmos.staking.v1beta1.QueryPoolRequest(); - }; - - /** - * Creates a plain object from a QueryPoolRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryPoolRequest - * @static - * @param {cosmos.staking.v1beta1.QueryPoolRequest} message QueryPoolRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryPoolRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryPoolRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryPoolRequest - * @instance - * @returns {Object.} JSON object - */ - QueryPoolRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryPoolRequest; - })(v1beta1.QueryPoolRequest || {}); - - v1beta1.QueryPoolResponse = (function(QueryPoolResponse) { - - /** - * Properties of a QueryPoolResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryPoolResponse - * @property {cosmos.staking.v1beta1.IPool|null} [pool] QueryPoolResponse pool - */ - - /** - * Constructs a new QueryPoolResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryPoolResponse. - * @implements IQueryPoolResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryPoolResponse=} [properties] Properties to set - */ - function QueryPoolResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryPoolResponse pool. - * @member {cosmos.staking.v1beta1.IPool|null|undefined} pool - * @memberof cosmos.staking.v1beta1.QueryPoolResponse - * @instance - */ - QueryPoolResponse.prototype.pool = null; - - /** - * Creates a new QueryPoolResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryPoolResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryPoolResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryPoolResponse} QueryPoolResponse instance - */ - QueryPoolResponse.create = function create(properties) { - return new QueryPoolResponse(properties); - }; - - /** - * Encodes the specified QueryPoolResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryPoolResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryPoolResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryPoolResponse} message QueryPoolResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPoolResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pool != null && Object.hasOwnProperty.call(message, "pool")) - $root.cosmos.staking.v1beta1.Pool.encode(message.pool, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryPoolResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryPoolResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryPoolResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryPoolResponse} message QueryPoolResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPoolResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryPoolResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryPoolResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryPoolResponse} QueryPoolResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPoolResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryPoolResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pool = $root.cosmos.staking.v1beta1.Pool.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryPoolResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryPoolResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryPoolResponse} QueryPoolResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPoolResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryPoolResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryPoolResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryPoolResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pool != null && message.hasOwnProperty("pool")) { - let error = $root.cosmos.staking.v1beta1.Pool.verify(message.pool); - if (error) - return "pool." + error; - } - return null; - }; - - /** - * Creates a QueryPoolResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryPoolResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryPoolResponse} QueryPoolResponse - */ - QueryPoolResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryPoolResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryPoolResponse(); - if (object.pool != null) { - if (typeof object.pool !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryPoolResponse.pool: object expected"); - message.pool = $root.cosmos.staking.v1beta1.Pool.fromObject(object.pool); - } - return message; - }; - - /** - * Creates a plain object from a QueryPoolResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryPoolResponse - * @static - * @param {cosmos.staking.v1beta1.QueryPoolResponse} message QueryPoolResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryPoolResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.pool = null; - if (message.pool != null && message.hasOwnProperty("pool")) - object.pool = $root.cosmos.staking.v1beta1.Pool.toObject(message.pool, options); - return object; - }; - - /** - * Converts this QueryPoolResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryPoolResponse - * @instance - * @returns {Object.} JSON object - */ - QueryPoolResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryPoolResponse; - })(v1beta1.QueryPoolResponse || {}); - - v1beta1.QueryParamsRequest = (function(QueryParamsRequest) { - - /** - * Properties of a QueryParamsRequest. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryParamsRequest - */ - - /** - * Constructs a new QueryParamsRequest. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryParamsRequest. - * @implements IQueryParamsRequest - * @constructor - * @param {cosmos.staking.v1beta1.IQueryParamsRequest=} [properties] Properties to set - */ - function QueryParamsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryParamsRequest instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryParamsRequest=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryParamsRequest} QueryParamsRequest instance - */ - QueryParamsRequest.create = function create(properties) { - return new QueryParamsRequest(properties); - }; - - /** - * Encodes the specified QueryParamsRequest message. Does not implicitly {@link cosmos.staking.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryParamsRequest message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryParamsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.staking.v1beta1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryParamsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsRequest message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryParamsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryParamsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryParamsRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryParamsRequest} QueryParamsRequest - */ - QueryParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryParamsRequest) - return object; - return new $root.cosmos.staking.v1beta1.QueryParamsRequest(); - }; - - /** - * Creates a plain object from a QueryParamsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryParamsRequest - * @static - * @param {cosmos.staking.v1beta1.QueryParamsRequest} message QueryParamsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryParamsRequest to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryParamsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryParamsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsRequest; - })(v1beta1.QueryParamsRequest || {}); - - v1beta1.QueryParamsResponse = (function(QueryParamsResponse) { - - /** - * Properties of a QueryParamsResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IQueryParamsResponse - * @property {cosmos.staking.v1beta1.IParams|null} [params] QueryParamsResponse params - */ - - /** - * Constructs a new QueryParamsResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a QueryParamsResponse. - * @implements IQueryParamsResponse - * @constructor - * @param {cosmos.staking.v1beta1.IQueryParamsResponse=} [properties] Properties to set - */ - function QueryParamsResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryParamsResponse params. - * @member {cosmos.staking.v1beta1.IParams|null|undefined} params - * @memberof cosmos.staking.v1beta1.QueryParamsResponse - * @instance - */ - QueryParamsResponse.prototype.params = null; - - /** - * Creates a new QueryParamsResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryParamsResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.QueryParamsResponse} QueryParamsResponse instance - */ - QueryParamsResponse.create = function create(properties) { - return new QueryParamsResponse(properties); - }; - - /** - * Encodes the specified QueryParamsResponse message. Does not implicitly {@link cosmos.staking.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.cosmos.staking.v1beta1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryParamsResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.QueryParamsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.staking.v1beta1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.QueryParamsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.cosmos.staking.v1beta1.Params.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.QueryParamsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.cosmos.staking.v1beta1.Params.verify(message.params); - if (error) - return "params." + error; - } - return null; - }; - - /** - * Creates a QueryParamsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.QueryParamsResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.QueryParamsResponse} QueryParamsResponse - */ - QueryParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.QueryParamsResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.QueryParamsResponse(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".cosmos.staking.v1beta1.QueryParamsResponse.params: object expected"); - message.params = $root.cosmos.staking.v1beta1.Params.fromObject(object.params); - } - return message; - }; - - /** - * Creates a plain object from a QueryParamsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.QueryParamsResponse - * @static - * @param {cosmos.staking.v1beta1.QueryParamsResponse} message QueryParamsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.params = null; - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.cosmos.staking.v1beta1.Params.toObject(message.params, options); - return object; - }; - - /** - * Converts this QueryParamsResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.QueryParamsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryParamsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsResponse; - })(v1beta1.QueryParamsResponse || {}); - - v1beta1.HistoricalInfo = (function(HistoricalInfo) { - - /** - * Properties of a HistoricalInfo. - * @memberof cosmos.staking.v1beta1 - * @interface IHistoricalInfo - * @property {tendermint.types.IHeader|null} [header] HistoricalInfo header - * @property {Array.|null} [valset] HistoricalInfo valset - */ - - /** - * Constructs a new HistoricalInfo. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a HistoricalInfo. - * @implements IHistoricalInfo - * @constructor - * @param {cosmos.staking.v1beta1.IHistoricalInfo=} [properties] Properties to set - */ - function HistoricalInfo(properties) { - this.valset = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * HistoricalInfo header. - * @member {tendermint.types.IHeader|null|undefined} header - * @memberof cosmos.staking.v1beta1.HistoricalInfo - * @instance - */ - HistoricalInfo.prototype.header = null; - - /** - * HistoricalInfo valset. - * @member {Array.} valset - * @memberof cosmos.staking.v1beta1.HistoricalInfo - * @instance - */ - HistoricalInfo.prototype.valset = $util.emptyArray; - - /** - * Creates a new HistoricalInfo instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.HistoricalInfo - * @static - * @param {cosmos.staking.v1beta1.IHistoricalInfo=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.HistoricalInfo} HistoricalInfo instance - */ - HistoricalInfo.create = function create(properties) { - return new HistoricalInfo(properties); - }; - - /** - * Encodes the specified HistoricalInfo message. Does not implicitly {@link cosmos.staking.v1beta1.HistoricalInfo.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.HistoricalInfo - * @static - * @param {cosmos.staking.v1beta1.IHistoricalInfo} message HistoricalInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - HistoricalInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.header != null && Object.hasOwnProperty.call(message, "header")) - $root.tendermint.types.Header.encode(message.header, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.valset != null && message.valset.length) - for (let i = 0; i < message.valset.length; ++i) - $root.cosmos.staking.v1beta1.Validator.encode(message.valset[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified HistoricalInfo message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.HistoricalInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.HistoricalInfo - * @static - * @param {cosmos.staking.v1beta1.IHistoricalInfo} message HistoricalInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - HistoricalInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a HistoricalInfo message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.HistoricalInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.HistoricalInfo} HistoricalInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - HistoricalInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.HistoricalInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.header = $root.tendermint.types.Header.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.valset && message.valset.length)) - message.valset = []; - message.valset.push($root.cosmos.staking.v1beta1.Validator.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a HistoricalInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.HistoricalInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.HistoricalInfo} HistoricalInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - HistoricalInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a HistoricalInfo message. - * @function verify - * @memberof cosmos.staking.v1beta1.HistoricalInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - HistoricalInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.header != null && message.hasOwnProperty("header")) { - let error = $root.tendermint.types.Header.verify(message.header); - if (error) - return "header." + error; - } - if (message.valset != null && message.hasOwnProperty("valset")) { - if (!Array.isArray(message.valset)) - return "valset: array expected"; - for (let i = 0; i < message.valset.length; ++i) { - let error = $root.cosmos.staking.v1beta1.Validator.verify(message.valset[i]); - if (error) - return "valset." + error; - } - } - return null; - }; - - /** - * Creates a HistoricalInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.HistoricalInfo - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.HistoricalInfo} HistoricalInfo - */ - HistoricalInfo.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.HistoricalInfo) - return object; - let message = new $root.cosmos.staking.v1beta1.HistoricalInfo(); - if (object.header != null) { - if (typeof object.header !== "object") - throw TypeError(".cosmos.staking.v1beta1.HistoricalInfo.header: object expected"); - message.header = $root.tendermint.types.Header.fromObject(object.header); - } - if (object.valset) { - if (!Array.isArray(object.valset)) - throw TypeError(".cosmos.staking.v1beta1.HistoricalInfo.valset: array expected"); - message.valset = []; - for (let i = 0; i < object.valset.length; ++i) { - if (typeof object.valset[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.HistoricalInfo.valset: object expected"); - message.valset[i] = $root.cosmos.staking.v1beta1.Validator.fromObject(object.valset[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a HistoricalInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.HistoricalInfo - * @static - * @param {cosmos.staking.v1beta1.HistoricalInfo} message HistoricalInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - HistoricalInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.valset = []; - if (options.defaults) - object.header = null; - if (message.header != null && message.hasOwnProperty("header")) - object.header = $root.tendermint.types.Header.toObject(message.header, options); - if (message.valset && message.valset.length) { - object.valset = []; - for (let j = 0; j < message.valset.length; ++j) - object.valset[j] = $root.cosmos.staking.v1beta1.Validator.toObject(message.valset[j], options); - } - return object; - }; - - /** - * Converts this HistoricalInfo to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.HistoricalInfo - * @instance - * @returns {Object.} JSON object - */ - HistoricalInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return HistoricalInfo; - })(v1beta1.HistoricalInfo || {}); - - v1beta1.CommissionRates = (function(CommissionRates) { - - /** - * Properties of a CommissionRates. - * @memberof cosmos.staking.v1beta1 - * @interface ICommissionRates - * @property {string|null} [rate] CommissionRates rate - * @property {string|null} [maxRate] CommissionRates maxRate - * @property {string|null} [maxChangeRate] CommissionRates maxChangeRate - */ - - /** - * Constructs a new CommissionRates. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a CommissionRates. - * @implements ICommissionRates - * @constructor - * @param {cosmos.staking.v1beta1.ICommissionRates=} [properties] Properties to set - */ - function CommissionRates(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CommissionRates rate. - * @member {string} rate - * @memberof cosmos.staking.v1beta1.CommissionRates - * @instance - */ - CommissionRates.prototype.rate = ""; - - /** - * CommissionRates maxRate. - * @member {string} maxRate - * @memberof cosmos.staking.v1beta1.CommissionRates - * @instance - */ - CommissionRates.prototype.maxRate = ""; - - /** - * CommissionRates maxChangeRate. - * @member {string} maxChangeRate - * @memberof cosmos.staking.v1beta1.CommissionRates - * @instance - */ - CommissionRates.prototype.maxChangeRate = ""; - - /** - * Creates a new CommissionRates instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.CommissionRates - * @static - * @param {cosmos.staking.v1beta1.ICommissionRates=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.CommissionRates} CommissionRates instance - */ - CommissionRates.create = function create(properties) { - return new CommissionRates(properties); - }; - - /** - * Encodes the specified CommissionRates message. Does not implicitly {@link cosmos.staking.v1beta1.CommissionRates.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.CommissionRates - * @static - * @param {cosmos.staking.v1beta1.ICommissionRates} message CommissionRates message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommissionRates.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.rate != null && Object.hasOwnProperty.call(message, "rate")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.rate); - if (message.maxRate != null && Object.hasOwnProperty.call(message, "maxRate")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.maxRate); - if (message.maxChangeRate != null && Object.hasOwnProperty.call(message, "maxChangeRate")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.maxChangeRate); - return writer; - }; - - /** - * Encodes the specified CommissionRates message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.CommissionRates.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.CommissionRates - * @static - * @param {cosmos.staking.v1beta1.ICommissionRates} message CommissionRates message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommissionRates.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CommissionRates message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.CommissionRates - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.CommissionRates} CommissionRates - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommissionRates.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.CommissionRates(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.rate = reader.string(); - break; - case 2: - message.maxRate = reader.string(); - break; - case 3: - message.maxChangeRate = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CommissionRates message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.CommissionRates - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.CommissionRates} CommissionRates - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommissionRates.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CommissionRates message. - * @function verify - * @memberof cosmos.staking.v1beta1.CommissionRates - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CommissionRates.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.rate != null && message.hasOwnProperty("rate")) - if (!$util.isString(message.rate)) - return "rate: string expected"; - if (message.maxRate != null && message.hasOwnProperty("maxRate")) - if (!$util.isString(message.maxRate)) - return "maxRate: string expected"; - if (message.maxChangeRate != null && message.hasOwnProperty("maxChangeRate")) - if (!$util.isString(message.maxChangeRate)) - return "maxChangeRate: string expected"; - return null; - }; - - /** - * Creates a CommissionRates message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.CommissionRates - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.CommissionRates} CommissionRates - */ - CommissionRates.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.CommissionRates) - return object; - let message = new $root.cosmos.staking.v1beta1.CommissionRates(); - if (object.rate != null) - message.rate = String(object.rate); - if (object.maxRate != null) - message.maxRate = String(object.maxRate); - if (object.maxChangeRate != null) - message.maxChangeRate = String(object.maxChangeRate); - return message; - }; - - /** - * Creates a plain object from a CommissionRates message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.CommissionRates - * @static - * @param {cosmos.staking.v1beta1.CommissionRates} message CommissionRates - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CommissionRates.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.rate = ""; - object.maxRate = ""; - object.maxChangeRate = ""; - } - if (message.rate != null && message.hasOwnProperty("rate")) - object.rate = message.rate; - if (message.maxRate != null && message.hasOwnProperty("maxRate")) - object.maxRate = message.maxRate; - if (message.maxChangeRate != null && message.hasOwnProperty("maxChangeRate")) - object.maxChangeRate = message.maxChangeRate; - return object; - }; - - /** - * Converts this CommissionRates to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.CommissionRates - * @instance - * @returns {Object.} JSON object - */ - CommissionRates.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CommissionRates; - })(v1beta1.CommissionRates || {}); - - v1beta1.Commission = (function(Commission) { - - /** - * Properties of a Commission. - * @memberof cosmos.staking.v1beta1 - * @interface ICommission - * @property {cosmos.staking.v1beta1.ICommissionRates|null} [commissionRates] Commission commissionRates - * @property {google.protobuf.ITimestamp|null} [updateTime] Commission updateTime - */ - - /** - * Constructs a new Commission. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a Commission. - * @implements ICommission - * @constructor - * @param {cosmos.staking.v1beta1.ICommission=} [properties] Properties to set - */ - function Commission(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Commission commissionRates. - * @member {cosmos.staking.v1beta1.ICommissionRates|null|undefined} commissionRates - * @memberof cosmos.staking.v1beta1.Commission - * @instance - */ - Commission.prototype.commissionRates = null; - - /** - * Commission updateTime. - * @member {google.protobuf.ITimestamp|null|undefined} updateTime - * @memberof cosmos.staking.v1beta1.Commission - * @instance - */ - Commission.prototype.updateTime = null; - - /** - * Creates a new Commission instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.Commission - * @static - * @param {cosmos.staking.v1beta1.ICommission=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.Commission} Commission instance - */ - Commission.create = function create(properties) { - return new Commission(properties); - }; - - /** - * Encodes the specified Commission message. Does not implicitly {@link cosmos.staking.v1beta1.Commission.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.Commission - * @static - * @param {cosmos.staking.v1beta1.ICommission} message Commission message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Commission.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.commissionRates != null && Object.hasOwnProperty.call(message, "commissionRates")) - $root.cosmos.staking.v1beta1.CommissionRates.encode(message.commissionRates, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime")) - $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Commission message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.Commission.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.Commission - * @static - * @param {cosmos.staking.v1beta1.ICommission} message Commission message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Commission.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Commission message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.Commission - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.Commission} Commission - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Commission.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.Commission(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.commissionRates = $root.cosmos.staking.v1beta1.CommissionRates.decode(reader, reader.uint32()); - break; - case 2: - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Commission message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.Commission - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.Commission} Commission - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Commission.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Commission message. - * @function verify - * @memberof cosmos.staking.v1beta1.Commission - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Commission.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.commissionRates != null && message.hasOwnProperty("commissionRates")) { - let error = $root.cosmos.staking.v1beta1.CommissionRates.verify(message.commissionRates); - if (error) - return "commissionRates." + error; - } - if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - let error = $root.google.protobuf.Timestamp.verify(message.updateTime); - if (error) - return "updateTime." + error; - } - return null; - }; - - /** - * Creates a Commission message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.Commission - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.Commission} Commission - */ - Commission.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.Commission) - return object; - let message = new $root.cosmos.staking.v1beta1.Commission(); - if (object.commissionRates != null) { - if (typeof object.commissionRates !== "object") - throw TypeError(".cosmos.staking.v1beta1.Commission.commissionRates: object expected"); - message.commissionRates = $root.cosmos.staking.v1beta1.CommissionRates.fromObject(object.commissionRates); - } - if (object.updateTime != null) { - if (typeof object.updateTime !== "object") - throw TypeError(".cosmos.staking.v1beta1.Commission.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); - } - return message; - }; - - /** - * Creates a plain object from a Commission message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.Commission - * @static - * @param {cosmos.staking.v1beta1.Commission} message Commission - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Commission.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.commissionRates = null; - object.updateTime = null; - } - if (message.commissionRates != null && message.hasOwnProperty("commissionRates")) - object.commissionRates = $root.cosmos.staking.v1beta1.CommissionRates.toObject(message.commissionRates, options); - if (message.updateTime != null && message.hasOwnProperty("updateTime")) - object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options); - return object; - }; - - /** - * Converts this Commission to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.Commission - * @instance - * @returns {Object.} JSON object - */ - Commission.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Commission; - })(v1beta1.Commission || {}); - - v1beta1.Description = (function(Description) { - - /** - * Properties of a Description. - * @memberof cosmos.staking.v1beta1 - * @interface IDescription - * @property {string|null} [moniker] Description moniker - * @property {string|null} [identity] Description identity - * @property {string|null} [website] Description website - * @property {string|null} [securityContact] Description securityContact - * @property {string|null} [details] Description details - */ - - /** - * Constructs a new Description. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a Description. - * @implements IDescription - * @constructor - * @param {cosmos.staking.v1beta1.IDescription=} [properties] Properties to set - */ - function Description(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Description moniker. - * @member {string} moniker - * @memberof cosmos.staking.v1beta1.Description - * @instance - */ - Description.prototype.moniker = ""; - - /** - * Description identity. - * @member {string} identity - * @memberof cosmos.staking.v1beta1.Description - * @instance - */ - Description.prototype.identity = ""; - - /** - * Description website. - * @member {string} website - * @memberof cosmos.staking.v1beta1.Description - * @instance - */ - Description.prototype.website = ""; - - /** - * Description securityContact. - * @member {string} securityContact - * @memberof cosmos.staking.v1beta1.Description - * @instance - */ - Description.prototype.securityContact = ""; - - /** - * Description details. - * @member {string} details - * @memberof cosmos.staking.v1beta1.Description - * @instance - */ - Description.prototype.details = ""; - - /** - * Creates a new Description instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.Description - * @static - * @param {cosmos.staking.v1beta1.IDescription=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.Description} Description instance - */ - Description.create = function create(properties) { - return new Description(properties); - }; - - /** - * Encodes the specified Description message. Does not implicitly {@link cosmos.staking.v1beta1.Description.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.Description - * @static - * @param {cosmos.staking.v1beta1.IDescription} message Description message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Description.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.moniker != null && Object.hasOwnProperty.call(message, "moniker")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.moniker); - if (message.identity != null && Object.hasOwnProperty.call(message, "identity")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.identity); - if (message.website != null && Object.hasOwnProperty.call(message, "website")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.website); - if (message.securityContact != null && Object.hasOwnProperty.call(message, "securityContact")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.securityContact); - if (message.details != null && Object.hasOwnProperty.call(message, "details")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.details); - return writer; - }; - - /** - * Encodes the specified Description message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.Description.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.Description - * @static - * @param {cosmos.staking.v1beta1.IDescription} message Description message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Description.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Description message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.Description - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.Description} Description - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Description.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.Description(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.moniker = reader.string(); - break; - case 2: - message.identity = reader.string(); - break; - case 3: - message.website = reader.string(); - break; - case 4: - message.securityContact = reader.string(); - break; - case 5: - message.details = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Description message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.Description - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.Description} Description - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Description.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Description message. - * @function verify - * @memberof cosmos.staking.v1beta1.Description - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Description.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.moniker != null && message.hasOwnProperty("moniker")) - if (!$util.isString(message.moniker)) - return "moniker: string expected"; - if (message.identity != null && message.hasOwnProperty("identity")) - if (!$util.isString(message.identity)) - return "identity: string expected"; - if (message.website != null && message.hasOwnProperty("website")) - if (!$util.isString(message.website)) - return "website: string expected"; - if (message.securityContact != null && message.hasOwnProperty("securityContact")) - if (!$util.isString(message.securityContact)) - return "securityContact: string expected"; - if (message.details != null && message.hasOwnProperty("details")) - if (!$util.isString(message.details)) - return "details: string expected"; - return null; - }; - - /** - * Creates a Description message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.Description - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.Description} Description - */ - Description.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.Description) - return object; - let message = new $root.cosmos.staking.v1beta1.Description(); - if (object.moniker != null) - message.moniker = String(object.moniker); - if (object.identity != null) - message.identity = String(object.identity); - if (object.website != null) - message.website = String(object.website); - if (object.securityContact != null) - message.securityContact = String(object.securityContact); - if (object.details != null) - message.details = String(object.details); - return message; - }; - - /** - * Creates a plain object from a Description message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.Description - * @static - * @param {cosmos.staking.v1beta1.Description} message Description - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Description.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.moniker = ""; - object.identity = ""; - object.website = ""; - object.securityContact = ""; - object.details = ""; - } - if (message.moniker != null && message.hasOwnProperty("moniker")) - object.moniker = message.moniker; - if (message.identity != null && message.hasOwnProperty("identity")) - object.identity = message.identity; - if (message.website != null && message.hasOwnProperty("website")) - object.website = message.website; - if (message.securityContact != null && message.hasOwnProperty("securityContact")) - object.securityContact = message.securityContact; - if (message.details != null && message.hasOwnProperty("details")) - object.details = message.details; - return object; - }; - - /** - * Converts this Description to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.Description - * @instance - * @returns {Object.} JSON object - */ - Description.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Description; - })(v1beta1.Description || {}); - - v1beta1.Validator = (function(Validator) { - - /** - * Properties of a Validator. - * @memberof cosmos.staking.v1beta1 - * @interface IValidator - * @property {string|null} [operatorAddress] Validator operatorAddress - * @property {google.protobuf.IAny|null} [consensusPubkey] Validator consensusPubkey - * @property {boolean|null} [jailed] Validator jailed - * @property {cosmos.staking.v1beta1.BondStatus|null} [status] Validator status - * @property {string|null} [tokens] Validator tokens - * @property {string|null} [delegatorShares] Validator delegatorShares - * @property {cosmos.staking.v1beta1.IDescription|null} [description] Validator description - * @property {number|Long|null} [unbondingHeight] Validator unbondingHeight - * @property {google.protobuf.ITimestamp|null} [unbondingTime] Validator unbondingTime - * @property {cosmos.staking.v1beta1.ICommission|null} [commission] Validator commission - * @property {string|null} [minSelfDelegation] Validator minSelfDelegation - */ - - /** - * Constructs a new Validator. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a Validator. - * @implements IValidator - * @constructor - * @param {cosmos.staking.v1beta1.IValidator=} [properties] Properties to set - */ - function Validator(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Validator operatorAddress. - * @member {string} operatorAddress - * @memberof cosmos.staking.v1beta1.Validator - * @instance - */ - Validator.prototype.operatorAddress = ""; - - /** - * Validator consensusPubkey. - * @member {google.protobuf.IAny|null|undefined} consensusPubkey - * @memberof cosmos.staking.v1beta1.Validator - * @instance - */ - Validator.prototype.consensusPubkey = null; - - /** - * Validator jailed. - * @member {boolean} jailed - * @memberof cosmos.staking.v1beta1.Validator - * @instance - */ - Validator.prototype.jailed = false; - - /** - * Validator status. - * @member {cosmos.staking.v1beta1.BondStatus} status - * @memberof cosmos.staking.v1beta1.Validator - * @instance - */ - Validator.prototype.status = 0; - - /** - * Validator tokens. - * @member {string} tokens - * @memberof cosmos.staking.v1beta1.Validator - * @instance - */ - Validator.prototype.tokens = ""; - - /** - * Validator delegatorShares. - * @member {string} delegatorShares - * @memberof cosmos.staking.v1beta1.Validator - * @instance - */ - Validator.prototype.delegatorShares = ""; - - /** - * Validator description. - * @member {cosmos.staking.v1beta1.IDescription|null|undefined} description - * @memberof cosmos.staking.v1beta1.Validator - * @instance - */ - Validator.prototype.description = null; - - /** - * Validator unbondingHeight. - * @member {number|Long} unbondingHeight - * @memberof cosmos.staking.v1beta1.Validator - * @instance - */ - Validator.prototype.unbondingHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Validator unbondingTime. - * @member {google.protobuf.ITimestamp|null|undefined} unbondingTime - * @memberof cosmos.staking.v1beta1.Validator - * @instance - */ - Validator.prototype.unbondingTime = null; - - /** - * Validator commission. - * @member {cosmos.staking.v1beta1.ICommission|null|undefined} commission - * @memberof cosmos.staking.v1beta1.Validator - * @instance - */ - Validator.prototype.commission = null; - - /** - * Validator minSelfDelegation. - * @member {string} minSelfDelegation - * @memberof cosmos.staking.v1beta1.Validator - * @instance - */ - Validator.prototype.minSelfDelegation = ""; - - /** - * Creates a new Validator instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.Validator - * @static - * @param {cosmos.staking.v1beta1.IValidator=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.Validator} Validator instance - */ - Validator.create = function create(properties) { - return new Validator(properties); - }; - - /** - * Encodes the specified Validator message. Does not implicitly {@link cosmos.staking.v1beta1.Validator.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.Validator - * @static - * @param {cosmos.staking.v1beta1.IValidator} message Validator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Validator.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.operatorAddress != null && Object.hasOwnProperty.call(message, "operatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.operatorAddress); - if (message.consensusPubkey != null && Object.hasOwnProperty.call(message, "consensusPubkey")) - $root.google.protobuf.Any.encode(message.consensusPubkey, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.jailed != null && Object.hasOwnProperty.call(message, "jailed")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.jailed); - if (message.status != null && Object.hasOwnProperty.call(message, "status")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.status); - if (message.tokens != null && Object.hasOwnProperty.call(message, "tokens")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.tokens); - if (message.delegatorShares != null && Object.hasOwnProperty.call(message, "delegatorShares")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.delegatorShares); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - $root.cosmos.staking.v1beta1.Description.encode(message.description, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.unbondingHeight != null && Object.hasOwnProperty.call(message, "unbondingHeight")) - writer.uint32(/* id 8, wireType 0 =*/64).int64(message.unbondingHeight); - if (message.unbondingTime != null && Object.hasOwnProperty.call(message, "unbondingTime")) - $root.google.protobuf.Timestamp.encode(message.unbondingTime, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.commission != null && Object.hasOwnProperty.call(message, "commission")) - $root.cosmos.staking.v1beta1.Commission.encode(message.commission, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); - if (message.minSelfDelegation != null && Object.hasOwnProperty.call(message, "minSelfDelegation")) - writer.uint32(/* id 11, wireType 2 =*/90).string(message.minSelfDelegation); - return writer; - }; - - /** - * Encodes the specified Validator message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.Validator.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.Validator - * @static - * @param {cosmos.staking.v1beta1.IValidator} message Validator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Validator.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Validator message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.Validator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.Validator} Validator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Validator.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.Validator(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.operatorAddress = reader.string(); - break; - case 2: - message.consensusPubkey = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 3: - message.jailed = reader.bool(); - break; - case 4: - message.status = reader.int32(); - break; - case 5: - message.tokens = reader.string(); - break; - case 6: - message.delegatorShares = reader.string(); - break; - case 7: - message.description = $root.cosmos.staking.v1beta1.Description.decode(reader, reader.uint32()); - break; - case 8: - message.unbondingHeight = reader.int64(); - break; - case 9: - message.unbondingTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 10: - message.commission = $root.cosmos.staking.v1beta1.Commission.decode(reader, reader.uint32()); - break; - case 11: - message.minSelfDelegation = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Validator message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.Validator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.Validator} Validator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Validator.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Validator message. - * @function verify - * @memberof cosmos.staking.v1beta1.Validator - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Validator.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.operatorAddress != null && message.hasOwnProperty("operatorAddress")) - if (!$util.isString(message.operatorAddress)) - return "operatorAddress: string expected"; - if (message.consensusPubkey != null && message.hasOwnProperty("consensusPubkey")) { - let error = $root.google.protobuf.Any.verify(message.consensusPubkey); - if (error) - return "consensusPubkey." + error; - } - if (message.jailed != null && message.hasOwnProperty("jailed")) - if (typeof message.jailed !== "boolean") - return "jailed: boolean expected"; - if (message.status != null && message.hasOwnProperty("status")) - switch (message.status) { - default: - return "status: enum value expected"; - case 0: - case 1: - case 2: - case 3: - break; - } - if (message.tokens != null && message.hasOwnProperty("tokens")) - if (!$util.isString(message.tokens)) - return "tokens: string expected"; - if (message.delegatorShares != null && message.hasOwnProperty("delegatorShares")) - if (!$util.isString(message.delegatorShares)) - return "delegatorShares: string expected"; - if (message.description != null && message.hasOwnProperty("description")) { - let error = $root.cosmos.staking.v1beta1.Description.verify(message.description); - if (error) - return "description." + error; - } - if (message.unbondingHeight != null && message.hasOwnProperty("unbondingHeight")) - if (!$util.isInteger(message.unbondingHeight) && !(message.unbondingHeight && $util.isInteger(message.unbondingHeight.low) && $util.isInteger(message.unbondingHeight.high))) - return "unbondingHeight: integer|Long expected"; - if (message.unbondingTime != null && message.hasOwnProperty("unbondingTime")) { - let error = $root.google.protobuf.Timestamp.verify(message.unbondingTime); - if (error) - return "unbondingTime." + error; - } - if (message.commission != null && message.hasOwnProperty("commission")) { - let error = $root.cosmos.staking.v1beta1.Commission.verify(message.commission); - if (error) - return "commission." + error; - } - if (message.minSelfDelegation != null && message.hasOwnProperty("minSelfDelegation")) - if (!$util.isString(message.minSelfDelegation)) - return "minSelfDelegation: string expected"; - return null; - }; - - /** - * Creates a Validator message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.Validator - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.Validator} Validator - */ - Validator.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.Validator) - return object; - let message = new $root.cosmos.staking.v1beta1.Validator(); - if (object.operatorAddress != null) - message.operatorAddress = String(object.operatorAddress); - if (object.consensusPubkey != null) { - if (typeof object.consensusPubkey !== "object") - throw TypeError(".cosmos.staking.v1beta1.Validator.consensusPubkey: object expected"); - message.consensusPubkey = $root.google.protobuf.Any.fromObject(object.consensusPubkey); - } - if (object.jailed != null) - message.jailed = Boolean(object.jailed); - switch (object.status) { - case "BOND_STATUS_UNSPECIFIED": - case 0: - message.status = 0; - break; - case "BOND_STATUS_UNBONDED": - case 1: - message.status = 1; - break; - case "BOND_STATUS_UNBONDING": - case 2: - message.status = 2; - break; - case "BOND_STATUS_BONDED": - case 3: - message.status = 3; - break; - } - if (object.tokens != null) - message.tokens = String(object.tokens); - if (object.delegatorShares != null) - message.delegatorShares = String(object.delegatorShares); - if (object.description != null) { - if (typeof object.description !== "object") - throw TypeError(".cosmos.staking.v1beta1.Validator.description: object expected"); - message.description = $root.cosmos.staking.v1beta1.Description.fromObject(object.description); - } - if (object.unbondingHeight != null) - if ($util.Long) - (message.unbondingHeight = $util.Long.fromValue(object.unbondingHeight)).unsigned = false; - else if (typeof object.unbondingHeight === "string") - message.unbondingHeight = parseInt(object.unbondingHeight, 10); - else if (typeof object.unbondingHeight === "number") - message.unbondingHeight = object.unbondingHeight; - else if (typeof object.unbondingHeight === "object") - message.unbondingHeight = new $util.LongBits(object.unbondingHeight.low >>> 0, object.unbondingHeight.high >>> 0).toNumber(); - if (object.unbondingTime != null) { - if (typeof object.unbondingTime !== "object") - throw TypeError(".cosmos.staking.v1beta1.Validator.unbondingTime: object expected"); - message.unbondingTime = $root.google.protobuf.Timestamp.fromObject(object.unbondingTime); - } - if (object.commission != null) { - if (typeof object.commission !== "object") - throw TypeError(".cosmos.staking.v1beta1.Validator.commission: object expected"); - message.commission = $root.cosmos.staking.v1beta1.Commission.fromObject(object.commission); - } - if (object.minSelfDelegation != null) - message.minSelfDelegation = String(object.minSelfDelegation); - return message; - }; - - /** - * Creates a plain object from a Validator message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.Validator - * @static - * @param {cosmos.staking.v1beta1.Validator} message Validator - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Validator.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.operatorAddress = ""; - object.consensusPubkey = null; - object.jailed = false; - object.status = options.enums === String ? "BOND_STATUS_UNSPECIFIED" : 0; - object.tokens = ""; - object.delegatorShares = ""; - object.description = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.unbondingHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.unbondingHeight = options.longs === String ? "0" : 0; - object.unbondingTime = null; - object.commission = null; - object.minSelfDelegation = ""; - } - if (message.operatorAddress != null && message.hasOwnProperty("operatorAddress")) - object.operatorAddress = message.operatorAddress; - if (message.consensusPubkey != null && message.hasOwnProperty("consensusPubkey")) - object.consensusPubkey = $root.google.protobuf.Any.toObject(message.consensusPubkey, options); - if (message.jailed != null && message.hasOwnProperty("jailed")) - object.jailed = message.jailed; - if (message.status != null && message.hasOwnProperty("status")) - object.status = options.enums === String ? $root.cosmos.staking.v1beta1.BondStatus[message.status] : message.status; - if (message.tokens != null && message.hasOwnProperty("tokens")) - object.tokens = message.tokens; - if (message.delegatorShares != null && message.hasOwnProperty("delegatorShares")) - object.delegatorShares = message.delegatorShares; - if (message.description != null && message.hasOwnProperty("description")) - object.description = $root.cosmos.staking.v1beta1.Description.toObject(message.description, options); - if (message.unbondingHeight != null && message.hasOwnProperty("unbondingHeight")) - if (typeof message.unbondingHeight === "number") - object.unbondingHeight = options.longs === String ? String(message.unbondingHeight) : message.unbondingHeight; - else - object.unbondingHeight = options.longs === String ? $util.Long.prototype.toString.call(message.unbondingHeight) : options.longs === Number ? new $util.LongBits(message.unbondingHeight.low >>> 0, message.unbondingHeight.high >>> 0).toNumber() : message.unbondingHeight; - if (message.unbondingTime != null && message.hasOwnProperty("unbondingTime")) - object.unbondingTime = $root.google.protobuf.Timestamp.toObject(message.unbondingTime, options); - if (message.commission != null && message.hasOwnProperty("commission")) - object.commission = $root.cosmos.staking.v1beta1.Commission.toObject(message.commission, options); - if (message.minSelfDelegation != null && message.hasOwnProperty("minSelfDelegation")) - object.minSelfDelegation = message.minSelfDelegation; - return object; - }; - - /** - * Converts this Validator to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.Validator - * @instance - * @returns {Object.} JSON object - */ - Validator.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Validator; - })(v1beta1.Validator || {}); - - /** - * BondStatus enum. - * @name cosmos.staking.v1beta1.BondStatus - * @enum {string} - * @property {number} BOND_STATUS_UNSPECIFIED=0 BOND_STATUS_UNSPECIFIED value - * @property {number} BOND_STATUS_UNBONDED=1 BOND_STATUS_UNBONDED value - * @property {number} BOND_STATUS_UNBONDING=2 BOND_STATUS_UNBONDING value - * @property {number} BOND_STATUS_BONDED=3 BOND_STATUS_BONDED value - */ - v1beta1.BondStatus = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "BOND_STATUS_UNSPECIFIED"] = 0; - values[valuesById[1] = "BOND_STATUS_UNBONDED"] = 1; - values[valuesById[2] = "BOND_STATUS_UNBONDING"] = 2; - values[valuesById[3] = "BOND_STATUS_BONDED"] = 3; - return values; - })(); - - v1beta1.ValAddresses = (function(ValAddresses) { - - /** - * Properties of a ValAddresses. - * @memberof cosmos.staking.v1beta1 - * @interface IValAddresses - * @property {Array.|null} [addresses] ValAddresses addresses - */ - - /** - * Constructs a new ValAddresses. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a ValAddresses. - * @implements IValAddresses - * @constructor - * @param {cosmos.staking.v1beta1.IValAddresses=} [properties] Properties to set - */ - function ValAddresses(properties) { - this.addresses = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValAddresses addresses. - * @member {Array.} addresses - * @memberof cosmos.staking.v1beta1.ValAddresses - * @instance - */ - ValAddresses.prototype.addresses = $util.emptyArray; - - /** - * Creates a new ValAddresses instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.ValAddresses - * @static - * @param {cosmos.staking.v1beta1.IValAddresses=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.ValAddresses} ValAddresses instance - */ - ValAddresses.create = function create(properties) { - return new ValAddresses(properties); - }; - - /** - * Encodes the specified ValAddresses message. Does not implicitly {@link cosmos.staking.v1beta1.ValAddresses.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.ValAddresses - * @static - * @param {cosmos.staking.v1beta1.IValAddresses} message ValAddresses message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValAddresses.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.addresses != null && message.addresses.length) - for (let i = 0; i < message.addresses.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.addresses[i]); - return writer; - }; - - /** - * Encodes the specified ValAddresses message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.ValAddresses.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.ValAddresses - * @static - * @param {cosmos.staking.v1beta1.IValAddresses} message ValAddresses message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValAddresses.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValAddresses message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.ValAddresses - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.ValAddresses} ValAddresses - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValAddresses.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.ValAddresses(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.addresses && message.addresses.length)) - message.addresses = []; - message.addresses.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValAddresses message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.ValAddresses - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.ValAddresses} ValAddresses - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValAddresses.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValAddresses message. - * @function verify - * @memberof cosmos.staking.v1beta1.ValAddresses - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValAddresses.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.addresses != null && message.hasOwnProperty("addresses")) { - if (!Array.isArray(message.addresses)) - return "addresses: array expected"; - for (let i = 0; i < message.addresses.length; ++i) - if (!$util.isString(message.addresses[i])) - return "addresses: string[] expected"; - } - return null; - }; - - /** - * Creates a ValAddresses message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.ValAddresses - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.ValAddresses} ValAddresses - */ - ValAddresses.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.ValAddresses) - return object; - let message = new $root.cosmos.staking.v1beta1.ValAddresses(); - if (object.addresses) { - if (!Array.isArray(object.addresses)) - throw TypeError(".cosmos.staking.v1beta1.ValAddresses.addresses: array expected"); - message.addresses = []; - for (let i = 0; i < object.addresses.length; ++i) - message.addresses[i] = String(object.addresses[i]); - } - return message; - }; - - /** - * Creates a plain object from a ValAddresses message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.ValAddresses - * @static - * @param {cosmos.staking.v1beta1.ValAddresses} message ValAddresses - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValAddresses.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.addresses = []; - if (message.addresses && message.addresses.length) { - object.addresses = []; - for (let j = 0; j < message.addresses.length; ++j) - object.addresses[j] = message.addresses[j]; - } - return object; - }; - - /** - * Converts this ValAddresses to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.ValAddresses - * @instance - * @returns {Object.} JSON object - */ - ValAddresses.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValAddresses; - })(v1beta1.ValAddresses || {}); - - v1beta1.DVPair = (function(DVPair) { - - /** - * Properties of a DVPair. - * @memberof cosmos.staking.v1beta1 - * @interface IDVPair - * @property {string|null} [delegatorAddress] DVPair delegatorAddress - * @property {string|null} [validatorAddress] DVPair validatorAddress - */ - - /** - * Constructs a new DVPair. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a DVPair. - * @implements IDVPair - * @constructor - * @param {cosmos.staking.v1beta1.IDVPair=} [properties] Properties to set - */ - function DVPair(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DVPair delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.staking.v1beta1.DVPair - * @instance - */ - DVPair.prototype.delegatorAddress = ""; - - /** - * DVPair validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.staking.v1beta1.DVPair - * @instance - */ - DVPair.prototype.validatorAddress = ""; - - /** - * Creates a new DVPair instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.DVPair - * @static - * @param {cosmos.staking.v1beta1.IDVPair=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.DVPair} DVPair instance - */ - DVPair.create = function create(properties) { - return new DVPair(properties); - }; - - /** - * Encodes the specified DVPair message. Does not implicitly {@link cosmos.staking.v1beta1.DVPair.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.DVPair - * @static - * @param {cosmos.staking.v1beta1.IDVPair} message DVPair message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DVPair.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorAddress); - return writer; - }; - - /** - * Encodes the specified DVPair message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.DVPair.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.DVPair - * @static - * @param {cosmos.staking.v1beta1.IDVPair} message DVPair message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DVPair.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DVPair message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.DVPair - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.DVPair} DVPair - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DVPair.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.DVPair(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.validatorAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DVPair message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.DVPair - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.DVPair} DVPair - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DVPair.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DVPair message. - * @function verify - * @memberof cosmos.staking.v1beta1.DVPair - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DVPair.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - return null; - }; - - /** - * Creates a DVPair message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.DVPair - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.DVPair} DVPair - */ - DVPair.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.DVPair) - return object; - let message = new $root.cosmos.staking.v1beta1.DVPair(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - return message; - }; - - /** - * Creates a plain object from a DVPair message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.DVPair - * @static - * @param {cosmos.staking.v1beta1.DVPair} message DVPair - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DVPair.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddress = ""; - object.validatorAddress = ""; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - return object; - }; - - /** - * Converts this DVPair to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.DVPair - * @instance - * @returns {Object.} JSON object - */ - DVPair.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DVPair; - })(v1beta1.DVPair || {}); - - v1beta1.DVPairs = (function(DVPairs) { - - /** - * Properties of a DVPairs. - * @memberof cosmos.staking.v1beta1 - * @interface IDVPairs - * @property {Array.|null} [pairs] DVPairs pairs - */ - - /** - * Constructs a new DVPairs. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a DVPairs. - * @implements IDVPairs - * @constructor - * @param {cosmos.staking.v1beta1.IDVPairs=} [properties] Properties to set - */ - function DVPairs(properties) { - this.pairs = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DVPairs pairs. - * @member {Array.} pairs - * @memberof cosmos.staking.v1beta1.DVPairs - * @instance - */ - DVPairs.prototype.pairs = $util.emptyArray; - - /** - * Creates a new DVPairs instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.DVPairs - * @static - * @param {cosmos.staking.v1beta1.IDVPairs=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.DVPairs} DVPairs instance - */ - DVPairs.create = function create(properties) { - return new DVPairs(properties); - }; - - /** - * Encodes the specified DVPairs message. Does not implicitly {@link cosmos.staking.v1beta1.DVPairs.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.DVPairs - * @static - * @param {cosmos.staking.v1beta1.IDVPairs} message DVPairs message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DVPairs.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pairs != null && message.pairs.length) - for (let i = 0; i < message.pairs.length; ++i) - $root.cosmos.staking.v1beta1.DVPair.encode(message.pairs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified DVPairs message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.DVPairs.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.DVPairs - * @static - * @param {cosmos.staking.v1beta1.IDVPairs} message DVPairs message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DVPairs.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DVPairs message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.DVPairs - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.DVPairs} DVPairs - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DVPairs.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.DVPairs(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.pairs && message.pairs.length)) - message.pairs = []; - message.pairs.push($root.cosmos.staking.v1beta1.DVPair.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DVPairs message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.DVPairs - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.DVPairs} DVPairs - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DVPairs.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DVPairs message. - * @function verify - * @memberof cosmos.staking.v1beta1.DVPairs - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DVPairs.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pairs != null && message.hasOwnProperty("pairs")) { - if (!Array.isArray(message.pairs)) - return "pairs: array expected"; - for (let i = 0; i < message.pairs.length; ++i) { - let error = $root.cosmos.staking.v1beta1.DVPair.verify(message.pairs[i]); - if (error) - return "pairs." + error; - } - } - return null; - }; - - /** - * Creates a DVPairs message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.DVPairs - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.DVPairs} DVPairs - */ - DVPairs.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.DVPairs) - return object; - let message = new $root.cosmos.staking.v1beta1.DVPairs(); - if (object.pairs) { - if (!Array.isArray(object.pairs)) - throw TypeError(".cosmos.staking.v1beta1.DVPairs.pairs: array expected"); - message.pairs = []; - for (let i = 0; i < object.pairs.length; ++i) { - if (typeof object.pairs[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.DVPairs.pairs: object expected"); - message.pairs[i] = $root.cosmos.staking.v1beta1.DVPair.fromObject(object.pairs[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a DVPairs message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.DVPairs - * @static - * @param {cosmos.staking.v1beta1.DVPairs} message DVPairs - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DVPairs.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.pairs = []; - if (message.pairs && message.pairs.length) { - object.pairs = []; - for (let j = 0; j < message.pairs.length; ++j) - object.pairs[j] = $root.cosmos.staking.v1beta1.DVPair.toObject(message.pairs[j], options); - } - return object; - }; - - /** - * Converts this DVPairs to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.DVPairs - * @instance - * @returns {Object.} JSON object - */ - DVPairs.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DVPairs; - })(v1beta1.DVPairs || {}); - - v1beta1.DVVTriplet = (function(DVVTriplet) { - - /** - * Properties of a DVVTriplet. - * @memberof cosmos.staking.v1beta1 - * @interface IDVVTriplet - * @property {string|null} [delegatorAddress] DVVTriplet delegatorAddress - * @property {string|null} [validatorSrcAddress] DVVTriplet validatorSrcAddress - * @property {string|null} [validatorDstAddress] DVVTriplet validatorDstAddress - */ - - /** - * Constructs a new DVVTriplet. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a DVVTriplet. - * @implements IDVVTriplet - * @constructor - * @param {cosmos.staking.v1beta1.IDVVTriplet=} [properties] Properties to set - */ - function DVVTriplet(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DVVTriplet delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.staking.v1beta1.DVVTriplet - * @instance - */ - DVVTriplet.prototype.delegatorAddress = ""; - - /** - * DVVTriplet validatorSrcAddress. - * @member {string} validatorSrcAddress - * @memberof cosmos.staking.v1beta1.DVVTriplet - * @instance - */ - DVVTriplet.prototype.validatorSrcAddress = ""; - - /** - * DVVTriplet validatorDstAddress. - * @member {string} validatorDstAddress - * @memberof cosmos.staking.v1beta1.DVVTriplet - * @instance - */ - DVVTriplet.prototype.validatorDstAddress = ""; - - /** - * Creates a new DVVTriplet instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.DVVTriplet - * @static - * @param {cosmos.staking.v1beta1.IDVVTriplet=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.DVVTriplet} DVVTriplet instance - */ - DVVTriplet.create = function create(properties) { - return new DVVTriplet(properties); - }; - - /** - * Encodes the specified DVVTriplet message. Does not implicitly {@link cosmos.staking.v1beta1.DVVTriplet.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.DVVTriplet - * @static - * @param {cosmos.staking.v1beta1.IDVVTriplet} message DVVTriplet message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DVVTriplet.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.validatorSrcAddress != null && Object.hasOwnProperty.call(message, "validatorSrcAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorSrcAddress); - if (message.validatorDstAddress != null && Object.hasOwnProperty.call(message, "validatorDstAddress")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.validatorDstAddress); - return writer; - }; - - /** - * Encodes the specified DVVTriplet message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.DVVTriplet.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.DVVTriplet - * @static - * @param {cosmos.staking.v1beta1.IDVVTriplet} message DVVTriplet message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DVVTriplet.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DVVTriplet message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.DVVTriplet - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.DVVTriplet} DVVTriplet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DVVTriplet.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.DVVTriplet(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.validatorSrcAddress = reader.string(); - break; - case 3: - message.validatorDstAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DVVTriplet message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.DVVTriplet - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.DVVTriplet} DVVTriplet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DVVTriplet.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DVVTriplet message. - * @function verify - * @memberof cosmos.staking.v1beta1.DVVTriplet - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DVVTriplet.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.validatorSrcAddress != null && message.hasOwnProperty("validatorSrcAddress")) - if (!$util.isString(message.validatorSrcAddress)) - return "validatorSrcAddress: string expected"; - if (message.validatorDstAddress != null && message.hasOwnProperty("validatorDstAddress")) - if (!$util.isString(message.validatorDstAddress)) - return "validatorDstAddress: string expected"; - return null; - }; - - /** - * Creates a DVVTriplet message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.DVVTriplet - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.DVVTriplet} DVVTriplet - */ - DVVTriplet.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.DVVTriplet) - return object; - let message = new $root.cosmos.staking.v1beta1.DVVTriplet(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.validatorSrcAddress != null) - message.validatorSrcAddress = String(object.validatorSrcAddress); - if (object.validatorDstAddress != null) - message.validatorDstAddress = String(object.validatorDstAddress); - return message; - }; - - /** - * Creates a plain object from a DVVTriplet message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.DVVTriplet - * @static - * @param {cosmos.staking.v1beta1.DVVTriplet} message DVVTriplet - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DVVTriplet.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddress = ""; - object.validatorSrcAddress = ""; - object.validatorDstAddress = ""; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.validatorSrcAddress != null && message.hasOwnProperty("validatorSrcAddress")) - object.validatorSrcAddress = message.validatorSrcAddress; - if (message.validatorDstAddress != null && message.hasOwnProperty("validatorDstAddress")) - object.validatorDstAddress = message.validatorDstAddress; - return object; - }; - - /** - * Converts this DVVTriplet to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.DVVTriplet - * @instance - * @returns {Object.} JSON object - */ - DVVTriplet.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DVVTriplet; - })(v1beta1.DVVTriplet || {}); - - v1beta1.DVVTriplets = (function(DVVTriplets) { - - /** - * Properties of a DVVTriplets. - * @memberof cosmos.staking.v1beta1 - * @interface IDVVTriplets - * @property {Array.|null} [triplets] DVVTriplets triplets - */ - - /** - * Constructs a new DVVTriplets. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a DVVTriplets. - * @implements IDVVTriplets - * @constructor - * @param {cosmos.staking.v1beta1.IDVVTriplets=} [properties] Properties to set - */ - function DVVTriplets(properties) { - this.triplets = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DVVTriplets triplets. - * @member {Array.} triplets - * @memberof cosmos.staking.v1beta1.DVVTriplets - * @instance - */ - DVVTriplets.prototype.triplets = $util.emptyArray; - - /** - * Creates a new DVVTriplets instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.DVVTriplets - * @static - * @param {cosmos.staking.v1beta1.IDVVTriplets=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.DVVTriplets} DVVTriplets instance - */ - DVVTriplets.create = function create(properties) { - return new DVVTriplets(properties); - }; - - /** - * Encodes the specified DVVTriplets message. Does not implicitly {@link cosmos.staking.v1beta1.DVVTriplets.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.DVVTriplets - * @static - * @param {cosmos.staking.v1beta1.IDVVTriplets} message DVVTriplets message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DVVTriplets.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.triplets != null && message.triplets.length) - for (let i = 0; i < message.triplets.length; ++i) - $root.cosmos.staking.v1beta1.DVVTriplet.encode(message.triplets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified DVVTriplets message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.DVVTriplets.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.DVVTriplets - * @static - * @param {cosmos.staking.v1beta1.IDVVTriplets} message DVVTriplets message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DVVTriplets.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DVVTriplets message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.DVVTriplets - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.DVVTriplets} DVVTriplets - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DVVTriplets.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.DVVTriplets(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.triplets && message.triplets.length)) - message.triplets = []; - message.triplets.push($root.cosmos.staking.v1beta1.DVVTriplet.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DVVTriplets message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.DVVTriplets - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.DVVTriplets} DVVTriplets - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DVVTriplets.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DVVTriplets message. - * @function verify - * @memberof cosmos.staking.v1beta1.DVVTriplets - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DVVTriplets.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.triplets != null && message.hasOwnProperty("triplets")) { - if (!Array.isArray(message.triplets)) - return "triplets: array expected"; - for (let i = 0; i < message.triplets.length; ++i) { - let error = $root.cosmos.staking.v1beta1.DVVTriplet.verify(message.triplets[i]); - if (error) - return "triplets." + error; - } - } - return null; - }; - - /** - * Creates a DVVTriplets message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.DVVTriplets - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.DVVTriplets} DVVTriplets - */ - DVVTriplets.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.DVVTriplets) - return object; - let message = new $root.cosmos.staking.v1beta1.DVVTriplets(); - if (object.triplets) { - if (!Array.isArray(object.triplets)) - throw TypeError(".cosmos.staking.v1beta1.DVVTriplets.triplets: array expected"); - message.triplets = []; - for (let i = 0; i < object.triplets.length; ++i) { - if (typeof object.triplets[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.DVVTriplets.triplets: object expected"); - message.triplets[i] = $root.cosmos.staking.v1beta1.DVVTriplet.fromObject(object.triplets[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a DVVTriplets message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.DVVTriplets - * @static - * @param {cosmos.staking.v1beta1.DVVTriplets} message DVVTriplets - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DVVTriplets.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.triplets = []; - if (message.triplets && message.triplets.length) { - object.triplets = []; - for (let j = 0; j < message.triplets.length; ++j) - object.triplets[j] = $root.cosmos.staking.v1beta1.DVVTriplet.toObject(message.triplets[j], options); - } - return object; - }; - - /** - * Converts this DVVTriplets to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.DVVTriplets - * @instance - * @returns {Object.} JSON object - */ - DVVTriplets.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DVVTriplets; - })(v1beta1.DVVTriplets || {}); - - v1beta1.Delegation = (function(Delegation) { - - /** - * Properties of a Delegation. - * @memberof cosmos.staking.v1beta1 - * @interface IDelegation - * @property {string|null} [delegatorAddress] Delegation delegatorAddress - * @property {string|null} [validatorAddress] Delegation validatorAddress - * @property {string|null} [shares] Delegation shares - */ - - /** - * Constructs a new Delegation. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a Delegation. - * @implements IDelegation - * @constructor - * @param {cosmos.staking.v1beta1.IDelegation=} [properties] Properties to set - */ - function Delegation(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Delegation delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.staking.v1beta1.Delegation - * @instance - */ - Delegation.prototype.delegatorAddress = ""; - - /** - * Delegation validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.staking.v1beta1.Delegation - * @instance - */ - Delegation.prototype.validatorAddress = ""; - - /** - * Delegation shares. - * @member {string} shares - * @memberof cosmos.staking.v1beta1.Delegation - * @instance - */ - Delegation.prototype.shares = ""; - - /** - * Creates a new Delegation instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.Delegation - * @static - * @param {cosmos.staking.v1beta1.IDelegation=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.Delegation} Delegation instance - */ - Delegation.create = function create(properties) { - return new Delegation(properties); - }; - - /** - * Encodes the specified Delegation message. Does not implicitly {@link cosmos.staking.v1beta1.Delegation.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.Delegation - * @static - * @param {cosmos.staking.v1beta1.IDelegation} message Delegation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Delegation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorAddress); - if (message.shares != null && Object.hasOwnProperty.call(message, "shares")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.shares); - return writer; - }; - - /** - * Encodes the specified Delegation message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.Delegation.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.Delegation - * @static - * @param {cosmos.staking.v1beta1.IDelegation} message Delegation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Delegation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Delegation message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.Delegation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.Delegation} Delegation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Delegation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.Delegation(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.validatorAddress = reader.string(); - break; - case 3: - message.shares = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Delegation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.Delegation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.Delegation} Delegation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Delegation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Delegation message. - * @function verify - * @memberof cosmos.staking.v1beta1.Delegation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Delegation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.shares != null && message.hasOwnProperty("shares")) - if (!$util.isString(message.shares)) - return "shares: string expected"; - return null; - }; - - /** - * Creates a Delegation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.Delegation - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.Delegation} Delegation - */ - Delegation.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.Delegation) - return object; - let message = new $root.cosmos.staking.v1beta1.Delegation(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.shares != null) - message.shares = String(object.shares); - return message; - }; - - /** - * Creates a plain object from a Delegation message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.Delegation - * @static - * @param {cosmos.staking.v1beta1.Delegation} message Delegation - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Delegation.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddress = ""; - object.validatorAddress = ""; - object.shares = ""; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.shares != null && message.hasOwnProperty("shares")) - object.shares = message.shares; - return object; - }; - - /** - * Converts this Delegation to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.Delegation - * @instance - * @returns {Object.} JSON object - */ - Delegation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Delegation; - })(v1beta1.Delegation || {}); - - v1beta1.UnbondingDelegation = (function(UnbondingDelegation) { - - /** - * Properties of an UnbondingDelegation. - * @memberof cosmos.staking.v1beta1 - * @interface IUnbondingDelegation - * @property {string|null} [delegatorAddress] UnbondingDelegation delegatorAddress - * @property {string|null} [validatorAddress] UnbondingDelegation validatorAddress - * @property {Array.|null} [entries] UnbondingDelegation entries - */ - - /** - * Constructs a new UnbondingDelegation. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents an UnbondingDelegation. - * @implements IUnbondingDelegation - * @constructor - * @param {cosmos.staking.v1beta1.IUnbondingDelegation=} [properties] Properties to set - */ - function UnbondingDelegation(properties) { - this.entries = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * UnbondingDelegation delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.staking.v1beta1.UnbondingDelegation - * @instance - */ - UnbondingDelegation.prototype.delegatorAddress = ""; - - /** - * UnbondingDelegation validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.staking.v1beta1.UnbondingDelegation - * @instance - */ - UnbondingDelegation.prototype.validatorAddress = ""; - - /** - * UnbondingDelegation entries. - * @member {Array.} entries - * @memberof cosmos.staking.v1beta1.UnbondingDelegation - * @instance - */ - UnbondingDelegation.prototype.entries = $util.emptyArray; - - /** - * Creates a new UnbondingDelegation instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.UnbondingDelegation - * @static - * @param {cosmos.staking.v1beta1.IUnbondingDelegation=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.UnbondingDelegation} UnbondingDelegation instance - */ - UnbondingDelegation.create = function create(properties) { - return new UnbondingDelegation(properties); - }; - - /** - * Encodes the specified UnbondingDelegation message. Does not implicitly {@link cosmos.staking.v1beta1.UnbondingDelegation.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.UnbondingDelegation - * @static - * @param {cosmos.staking.v1beta1.IUnbondingDelegation} message UnbondingDelegation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UnbondingDelegation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorAddress); - if (message.entries != null && message.entries.length) - for (let i = 0; i < message.entries.length; ++i) - $root.cosmos.staking.v1beta1.UnbondingDelegationEntry.encode(message.entries[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified UnbondingDelegation message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.UnbondingDelegation.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.UnbondingDelegation - * @static - * @param {cosmos.staking.v1beta1.IUnbondingDelegation} message UnbondingDelegation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UnbondingDelegation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an UnbondingDelegation message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.UnbondingDelegation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.UnbondingDelegation} UnbondingDelegation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UnbondingDelegation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.UnbondingDelegation(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.validatorAddress = reader.string(); - break; - case 3: - if (!(message.entries && message.entries.length)) - message.entries = []; - message.entries.push($root.cosmos.staking.v1beta1.UnbondingDelegationEntry.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an UnbondingDelegation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.UnbondingDelegation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.UnbondingDelegation} UnbondingDelegation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UnbondingDelegation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an UnbondingDelegation message. - * @function verify - * @memberof cosmos.staking.v1beta1.UnbondingDelegation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UnbondingDelegation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.entries != null && message.hasOwnProperty("entries")) { - if (!Array.isArray(message.entries)) - return "entries: array expected"; - for (let i = 0; i < message.entries.length; ++i) { - let error = $root.cosmos.staking.v1beta1.UnbondingDelegationEntry.verify(message.entries[i]); - if (error) - return "entries." + error; - } - } - return null; - }; - - /** - * Creates an UnbondingDelegation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.UnbondingDelegation - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.UnbondingDelegation} UnbondingDelegation - */ - UnbondingDelegation.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.UnbondingDelegation) - return object; - let message = new $root.cosmos.staking.v1beta1.UnbondingDelegation(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.entries) { - if (!Array.isArray(object.entries)) - throw TypeError(".cosmos.staking.v1beta1.UnbondingDelegation.entries: array expected"); - message.entries = []; - for (let i = 0; i < object.entries.length; ++i) { - if (typeof object.entries[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.UnbondingDelegation.entries: object expected"); - message.entries[i] = $root.cosmos.staking.v1beta1.UnbondingDelegationEntry.fromObject(object.entries[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an UnbondingDelegation message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.UnbondingDelegation - * @static - * @param {cosmos.staking.v1beta1.UnbondingDelegation} message UnbondingDelegation - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UnbondingDelegation.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.entries = []; - if (options.defaults) { - object.delegatorAddress = ""; - object.validatorAddress = ""; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.entries && message.entries.length) { - object.entries = []; - for (let j = 0; j < message.entries.length; ++j) - object.entries[j] = $root.cosmos.staking.v1beta1.UnbondingDelegationEntry.toObject(message.entries[j], options); - } - return object; - }; - - /** - * Converts this UnbondingDelegation to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.UnbondingDelegation - * @instance - * @returns {Object.} JSON object - */ - UnbondingDelegation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return UnbondingDelegation; - })(v1beta1.UnbondingDelegation || {}); - - v1beta1.UnbondingDelegationEntry = (function(UnbondingDelegationEntry) { - - /** - * Properties of an UnbondingDelegationEntry. - * @memberof cosmos.staking.v1beta1 - * @interface IUnbondingDelegationEntry - * @property {number|Long|null} [creationHeight] UnbondingDelegationEntry creationHeight - * @property {google.protobuf.ITimestamp|null} [completionTime] UnbondingDelegationEntry completionTime - * @property {string|null} [initialBalance] UnbondingDelegationEntry initialBalance - * @property {string|null} [balance] UnbondingDelegationEntry balance - */ - - /** - * Constructs a new UnbondingDelegationEntry. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents an UnbondingDelegationEntry. - * @implements IUnbondingDelegationEntry - * @constructor - * @param {cosmos.staking.v1beta1.IUnbondingDelegationEntry=} [properties] Properties to set - */ - function UnbondingDelegationEntry(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * UnbondingDelegationEntry creationHeight. - * @member {number|Long} creationHeight - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @instance - */ - UnbondingDelegationEntry.prototype.creationHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * UnbondingDelegationEntry completionTime. - * @member {google.protobuf.ITimestamp|null|undefined} completionTime - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @instance - */ - UnbondingDelegationEntry.prototype.completionTime = null; - - /** - * UnbondingDelegationEntry initialBalance. - * @member {string} initialBalance - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @instance - */ - UnbondingDelegationEntry.prototype.initialBalance = ""; - - /** - * UnbondingDelegationEntry balance. - * @member {string} balance - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @instance - */ - UnbondingDelegationEntry.prototype.balance = ""; - - /** - * Creates a new UnbondingDelegationEntry instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @static - * @param {cosmos.staking.v1beta1.IUnbondingDelegationEntry=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.UnbondingDelegationEntry} UnbondingDelegationEntry instance - */ - UnbondingDelegationEntry.create = function create(properties) { - return new UnbondingDelegationEntry(properties); - }; - - /** - * Encodes the specified UnbondingDelegationEntry message. Does not implicitly {@link cosmos.staking.v1beta1.UnbondingDelegationEntry.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @static - * @param {cosmos.staking.v1beta1.IUnbondingDelegationEntry} message UnbondingDelegationEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UnbondingDelegationEntry.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.creationHeight != null && Object.hasOwnProperty.call(message, "creationHeight")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.creationHeight); - if (message.completionTime != null && Object.hasOwnProperty.call(message, "completionTime")) - $root.google.protobuf.Timestamp.encode(message.completionTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.initialBalance != null && Object.hasOwnProperty.call(message, "initialBalance")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.initialBalance); - if (message.balance != null && Object.hasOwnProperty.call(message, "balance")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.balance); - return writer; - }; - - /** - * Encodes the specified UnbondingDelegationEntry message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.UnbondingDelegationEntry.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @static - * @param {cosmos.staking.v1beta1.IUnbondingDelegationEntry} message UnbondingDelegationEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - UnbondingDelegationEntry.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an UnbondingDelegationEntry message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.UnbondingDelegationEntry} UnbondingDelegationEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UnbondingDelegationEntry.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.UnbondingDelegationEntry(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.creationHeight = reader.int64(); - break; - case 2: - message.completionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 3: - message.initialBalance = reader.string(); - break; - case 4: - message.balance = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an UnbondingDelegationEntry message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.UnbondingDelegationEntry} UnbondingDelegationEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - UnbondingDelegationEntry.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an UnbondingDelegationEntry message. - * @function verify - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - UnbondingDelegationEntry.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.creationHeight != null && message.hasOwnProperty("creationHeight")) - if (!$util.isInteger(message.creationHeight) && !(message.creationHeight && $util.isInteger(message.creationHeight.low) && $util.isInteger(message.creationHeight.high))) - return "creationHeight: integer|Long expected"; - if (message.completionTime != null && message.hasOwnProperty("completionTime")) { - let error = $root.google.protobuf.Timestamp.verify(message.completionTime); - if (error) - return "completionTime." + error; - } - if (message.initialBalance != null && message.hasOwnProperty("initialBalance")) - if (!$util.isString(message.initialBalance)) - return "initialBalance: string expected"; - if (message.balance != null && message.hasOwnProperty("balance")) - if (!$util.isString(message.balance)) - return "balance: string expected"; - return null; - }; - - /** - * Creates an UnbondingDelegationEntry message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.UnbondingDelegationEntry} UnbondingDelegationEntry - */ - UnbondingDelegationEntry.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.UnbondingDelegationEntry) - return object; - let message = new $root.cosmos.staking.v1beta1.UnbondingDelegationEntry(); - if (object.creationHeight != null) - if ($util.Long) - (message.creationHeight = $util.Long.fromValue(object.creationHeight)).unsigned = false; - else if (typeof object.creationHeight === "string") - message.creationHeight = parseInt(object.creationHeight, 10); - else if (typeof object.creationHeight === "number") - message.creationHeight = object.creationHeight; - else if (typeof object.creationHeight === "object") - message.creationHeight = new $util.LongBits(object.creationHeight.low >>> 0, object.creationHeight.high >>> 0).toNumber(); - if (object.completionTime != null) { - if (typeof object.completionTime !== "object") - throw TypeError(".cosmos.staking.v1beta1.UnbondingDelegationEntry.completionTime: object expected"); - message.completionTime = $root.google.protobuf.Timestamp.fromObject(object.completionTime); - } - if (object.initialBalance != null) - message.initialBalance = String(object.initialBalance); - if (object.balance != null) - message.balance = String(object.balance); - return message; - }; - - /** - * Creates a plain object from an UnbondingDelegationEntry message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @static - * @param {cosmos.staking.v1beta1.UnbondingDelegationEntry} message UnbondingDelegationEntry - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - UnbondingDelegationEntry.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.creationHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.creationHeight = options.longs === String ? "0" : 0; - object.completionTime = null; - object.initialBalance = ""; - object.balance = ""; - } - if (message.creationHeight != null && message.hasOwnProperty("creationHeight")) - if (typeof message.creationHeight === "number") - object.creationHeight = options.longs === String ? String(message.creationHeight) : message.creationHeight; - else - object.creationHeight = options.longs === String ? $util.Long.prototype.toString.call(message.creationHeight) : options.longs === Number ? new $util.LongBits(message.creationHeight.low >>> 0, message.creationHeight.high >>> 0).toNumber() : message.creationHeight; - if (message.completionTime != null && message.hasOwnProperty("completionTime")) - object.completionTime = $root.google.protobuf.Timestamp.toObject(message.completionTime, options); - if (message.initialBalance != null && message.hasOwnProperty("initialBalance")) - object.initialBalance = message.initialBalance; - if (message.balance != null && message.hasOwnProperty("balance")) - object.balance = message.balance; - return object; - }; - - /** - * Converts this UnbondingDelegationEntry to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.UnbondingDelegationEntry - * @instance - * @returns {Object.} JSON object - */ - UnbondingDelegationEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return UnbondingDelegationEntry; - })(v1beta1.UnbondingDelegationEntry || {}); - - v1beta1.RedelegationEntry = (function(RedelegationEntry) { - - /** - * Properties of a RedelegationEntry. - * @memberof cosmos.staking.v1beta1 - * @interface IRedelegationEntry - * @property {number|Long|null} [creationHeight] RedelegationEntry creationHeight - * @property {google.protobuf.ITimestamp|null} [completionTime] RedelegationEntry completionTime - * @property {string|null} [initialBalance] RedelegationEntry initialBalance - * @property {string|null} [sharesDst] RedelegationEntry sharesDst - */ - - /** - * Constructs a new RedelegationEntry. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a RedelegationEntry. - * @implements IRedelegationEntry - * @constructor - * @param {cosmos.staking.v1beta1.IRedelegationEntry=} [properties] Properties to set - */ - function RedelegationEntry(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RedelegationEntry creationHeight. - * @member {number|Long} creationHeight - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @instance - */ - RedelegationEntry.prototype.creationHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * RedelegationEntry completionTime. - * @member {google.protobuf.ITimestamp|null|undefined} completionTime - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @instance - */ - RedelegationEntry.prototype.completionTime = null; - - /** - * RedelegationEntry initialBalance. - * @member {string} initialBalance - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @instance - */ - RedelegationEntry.prototype.initialBalance = ""; - - /** - * RedelegationEntry sharesDst. - * @member {string} sharesDst - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @instance - */ - RedelegationEntry.prototype.sharesDst = ""; - - /** - * Creates a new RedelegationEntry instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @static - * @param {cosmos.staking.v1beta1.IRedelegationEntry=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.RedelegationEntry} RedelegationEntry instance - */ - RedelegationEntry.create = function create(properties) { - return new RedelegationEntry(properties); - }; - - /** - * Encodes the specified RedelegationEntry message. Does not implicitly {@link cosmos.staking.v1beta1.RedelegationEntry.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @static - * @param {cosmos.staking.v1beta1.IRedelegationEntry} message RedelegationEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RedelegationEntry.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.creationHeight != null && Object.hasOwnProperty.call(message, "creationHeight")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.creationHeight); - if (message.completionTime != null && Object.hasOwnProperty.call(message, "completionTime")) - $root.google.protobuf.Timestamp.encode(message.completionTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.initialBalance != null && Object.hasOwnProperty.call(message, "initialBalance")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.initialBalance); - if (message.sharesDst != null && Object.hasOwnProperty.call(message, "sharesDst")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.sharesDst); - return writer; - }; - - /** - * Encodes the specified RedelegationEntry message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.RedelegationEntry.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @static - * @param {cosmos.staking.v1beta1.IRedelegationEntry} message RedelegationEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RedelegationEntry.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RedelegationEntry message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.RedelegationEntry} RedelegationEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RedelegationEntry.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.RedelegationEntry(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.creationHeight = reader.int64(); - break; - case 2: - message.completionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 3: - message.initialBalance = reader.string(); - break; - case 4: - message.sharesDst = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RedelegationEntry message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.RedelegationEntry} RedelegationEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RedelegationEntry.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RedelegationEntry message. - * @function verify - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RedelegationEntry.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.creationHeight != null && message.hasOwnProperty("creationHeight")) - if (!$util.isInteger(message.creationHeight) && !(message.creationHeight && $util.isInteger(message.creationHeight.low) && $util.isInteger(message.creationHeight.high))) - return "creationHeight: integer|Long expected"; - if (message.completionTime != null && message.hasOwnProperty("completionTime")) { - let error = $root.google.protobuf.Timestamp.verify(message.completionTime); - if (error) - return "completionTime." + error; - } - if (message.initialBalance != null && message.hasOwnProperty("initialBalance")) - if (!$util.isString(message.initialBalance)) - return "initialBalance: string expected"; - if (message.sharesDst != null && message.hasOwnProperty("sharesDst")) - if (!$util.isString(message.sharesDst)) - return "sharesDst: string expected"; - return null; - }; - - /** - * Creates a RedelegationEntry message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.RedelegationEntry} RedelegationEntry - */ - RedelegationEntry.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.RedelegationEntry) - return object; - let message = new $root.cosmos.staking.v1beta1.RedelegationEntry(); - if (object.creationHeight != null) - if ($util.Long) - (message.creationHeight = $util.Long.fromValue(object.creationHeight)).unsigned = false; - else if (typeof object.creationHeight === "string") - message.creationHeight = parseInt(object.creationHeight, 10); - else if (typeof object.creationHeight === "number") - message.creationHeight = object.creationHeight; - else if (typeof object.creationHeight === "object") - message.creationHeight = new $util.LongBits(object.creationHeight.low >>> 0, object.creationHeight.high >>> 0).toNumber(); - if (object.completionTime != null) { - if (typeof object.completionTime !== "object") - throw TypeError(".cosmos.staking.v1beta1.RedelegationEntry.completionTime: object expected"); - message.completionTime = $root.google.protobuf.Timestamp.fromObject(object.completionTime); - } - if (object.initialBalance != null) - message.initialBalance = String(object.initialBalance); - if (object.sharesDst != null) - message.sharesDst = String(object.sharesDst); - return message; - }; - - /** - * Creates a plain object from a RedelegationEntry message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @static - * @param {cosmos.staking.v1beta1.RedelegationEntry} message RedelegationEntry - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RedelegationEntry.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.creationHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.creationHeight = options.longs === String ? "0" : 0; - object.completionTime = null; - object.initialBalance = ""; - object.sharesDst = ""; - } - if (message.creationHeight != null && message.hasOwnProperty("creationHeight")) - if (typeof message.creationHeight === "number") - object.creationHeight = options.longs === String ? String(message.creationHeight) : message.creationHeight; - else - object.creationHeight = options.longs === String ? $util.Long.prototype.toString.call(message.creationHeight) : options.longs === Number ? new $util.LongBits(message.creationHeight.low >>> 0, message.creationHeight.high >>> 0).toNumber() : message.creationHeight; - if (message.completionTime != null && message.hasOwnProperty("completionTime")) - object.completionTime = $root.google.protobuf.Timestamp.toObject(message.completionTime, options); - if (message.initialBalance != null && message.hasOwnProperty("initialBalance")) - object.initialBalance = message.initialBalance; - if (message.sharesDst != null && message.hasOwnProperty("sharesDst")) - object.sharesDst = message.sharesDst; - return object; - }; - - /** - * Converts this RedelegationEntry to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.RedelegationEntry - * @instance - * @returns {Object.} JSON object - */ - RedelegationEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RedelegationEntry; - })(v1beta1.RedelegationEntry || {}); - - v1beta1.Redelegation = (function(Redelegation) { - - /** - * Properties of a Redelegation. - * @memberof cosmos.staking.v1beta1 - * @interface IRedelegation - * @property {string|null} [delegatorAddress] Redelegation delegatorAddress - * @property {string|null} [validatorSrcAddress] Redelegation validatorSrcAddress - * @property {string|null} [validatorDstAddress] Redelegation validatorDstAddress - * @property {Array.|null} [entries] Redelegation entries - */ - - /** - * Constructs a new Redelegation. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a Redelegation. - * @implements IRedelegation - * @constructor - * @param {cosmos.staking.v1beta1.IRedelegation=} [properties] Properties to set - */ - function Redelegation(properties) { - this.entries = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Redelegation delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.staking.v1beta1.Redelegation - * @instance - */ - Redelegation.prototype.delegatorAddress = ""; - - /** - * Redelegation validatorSrcAddress. - * @member {string} validatorSrcAddress - * @memberof cosmos.staking.v1beta1.Redelegation - * @instance - */ - Redelegation.prototype.validatorSrcAddress = ""; - - /** - * Redelegation validatorDstAddress. - * @member {string} validatorDstAddress - * @memberof cosmos.staking.v1beta1.Redelegation - * @instance - */ - Redelegation.prototype.validatorDstAddress = ""; - - /** - * Redelegation entries. - * @member {Array.} entries - * @memberof cosmos.staking.v1beta1.Redelegation - * @instance - */ - Redelegation.prototype.entries = $util.emptyArray; - - /** - * Creates a new Redelegation instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.Redelegation - * @static - * @param {cosmos.staking.v1beta1.IRedelegation=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.Redelegation} Redelegation instance - */ - Redelegation.create = function create(properties) { - return new Redelegation(properties); - }; - - /** - * Encodes the specified Redelegation message. Does not implicitly {@link cosmos.staking.v1beta1.Redelegation.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.Redelegation - * @static - * @param {cosmos.staking.v1beta1.IRedelegation} message Redelegation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Redelegation.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.validatorSrcAddress != null && Object.hasOwnProperty.call(message, "validatorSrcAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorSrcAddress); - if (message.validatorDstAddress != null && Object.hasOwnProperty.call(message, "validatorDstAddress")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.validatorDstAddress); - if (message.entries != null && message.entries.length) - for (let i = 0; i < message.entries.length; ++i) - $root.cosmos.staking.v1beta1.RedelegationEntry.encode(message.entries[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Redelegation message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.Redelegation.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.Redelegation - * @static - * @param {cosmos.staking.v1beta1.IRedelegation} message Redelegation message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Redelegation.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Redelegation message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.Redelegation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.Redelegation} Redelegation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Redelegation.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.Redelegation(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.validatorSrcAddress = reader.string(); - break; - case 3: - message.validatorDstAddress = reader.string(); - break; - case 4: - if (!(message.entries && message.entries.length)) - message.entries = []; - message.entries.push($root.cosmos.staking.v1beta1.RedelegationEntry.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Redelegation message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.Redelegation - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.Redelegation} Redelegation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Redelegation.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Redelegation message. - * @function verify - * @memberof cosmos.staking.v1beta1.Redelegation - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Redelegation.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.validatorSrcAddress != null && message.hasOwnProperty("validatorSrcAddress")) - if (!$util.isString(message.validatorSrcAddress)) - return "validatorSrcAddress: string expected"; - if (message.validatorDstAddress != null && message.hasOwnProperty("validatorDstAddress")) - if (!$util.isString(message.validatorDstAddress)) - return "validatorDstAddress: string expected"; - if (message.entries != null && message.hasOwnProperty("entries")) { - if (!Array.isArray(message.entries)) - return "entries: array expected"; - for (let i = 0; i < message.entries.length; ++i) { - let error = $root.cosmos.staking.v1beta1.RedelegationEntry.verify(message.entries[i]); - if (error) - return "entries." + error; - } - } - return null; - }; - - /** - * Creates a Redelegation message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.Redelegation - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.Redelegation} Redelegation - */ - Redelegation.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.Redelegation) - return object; - let message = new $root.cosmos.staking.v1beta1.Redelegation(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.validatorSrcAddress != null) - message.validatorSrcAddress = String(object.validatorSrcAddress); - if (object.validatorDstAddress != null) - message.validatorDstAddress = String(object.validatorDstAddress); - if (object.entries) { - if (!Array.isArray(object.entries)) - throw TypeError(".cosmos.staking.v1beta1.Redelegation.entries: array expected"); - message.entries = []; - for (let i = 0; i < object.entries.length; ++i) { - if (typeof object.entries[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.Redelegation.entries: object expected"); - message.entries[i] = $root.cosmos.staking.v1beta1.RedelegationEntry.fromObject(object.entries[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a Redelegation message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.Redelegation - * @static - * @param {cosmos.staking.v1beta1.Redelegation} message Redelegation - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Redelegation.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.entries = []; - if (options.defaults) { - object.delegatorAddress = ""; - object.validatorSrcAddress = ""; - object.validatorDstAddress = ""; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.validatorSrcAddress != null && message.hasOwnProperty("validatorSrcAddress")) - object.validatorSrcAddress = message.validatorSrcAddress; - if (message.validatorDstAddress != null && message.hasOwnProperty("validatorDstAddress")) - object.validatorDstAddress = message.validatorDstAddress; - if (message.entries && message.entries.length) { - object.entries = []; - for (let j = 0; j < message.entries.length; ++j) - object.entries[j] = $root.cosmos.staking.v1beta1.RedelegationEntry.toObject(message.entries[j], options); - } - return object; - }; - - /** - * Converts this Redelegation to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.Redelegation - * @instance - * @returns {Object.} JSON object - */ - Redelegation.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Redelegation; - })(v1beta1.Redelegation || {}); - - v1beta1.Params = (function(Params) { - - /** - * Properties of a Params. - * @memberof cosmos.staking.v1beta1 - * @interface IParams - * @property {google.protobuf.IDuration|null} [unbondingTime] Params unbondingTime - * @property {number|null} [maxValidators] Params maxValidators - * @property {number|null} [maxEntries] Params maxEntries - * @property {number|null} [historicalEntries] Params historicalEntries - * @property {string|null} [bondDenom] Params bondDenom - */ - - /** - * Constructs a new Params. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a Params. - * @implements IParams - * @constructor - * @param {cosmos.staking.v1beta1.IParams=} [properties] Properties to set - */ - function Params(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Params unbondingTime. - * @member {google.protobuf.IDuration|null|undefined} unbondingTime - * @memberof cosmos.staking.v1beta1.Params - * @instance - */ - Params.prototype.unbondingTime = null; - - /** - * Params maxValidators. - * @member {number} maxValidators - * @memberof cosmos.staking.v1beta1.Params - * @instance - */ - Params.prototype.maxValidators = 0; - - /** - * Params maxEntries. - * @member {number} maxEntries - * @memberof cosmos.staking.v1beta1.Params - * @instance - */ - Params.prototype.maxEntries = 0; - - /** - * Params historicalEntries. - * @member {number} historicalEntries - * @memberof cosmos.staking.v1beta1.Params - * @instance - */ - Params.prototype.historicalEntries = 0; - - /** - * Params bondDenom. - * @member {string} bondDenom - * @memberof cosmos.staking.v1beta1.Params - * @instance - */ - Params.prototype.bondDenom = ""; - - /** - * Creates a new Params instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.Params - * @static - * @param {cosmos.staking.v1beta1.IParams=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.Params} Params instance - */ - Params.create = function create(properties) { - return new Params(properties); - }; - - /** - * Encodes the specified Params message. Does not implicitly {@link cosmos.staking.v1beta1.Params.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.Params - * @static - * @param {cosmos.staking.v1beta1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.unbondingTime != null && Object.hasOwnProperty.call(message, "unbondingTime")) - $root.google.protobuf.Duration.encode(message.unbondingTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.maxValidators != null && Object.hasOwnProperty.call(message, "maxValidators")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.maxValidators); - if (message.maxEntries != null && Object.hasOwnProperty.call(message, "maxEntries")) - writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.maxEntries); - if (message.historicalEntries != null && Object.hasOwnProperty.call(message, "historicalEntries")) - writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.historicalEntries); - if (message.bondDenom != null && Object.hasOwnProperty.call(message, "bondDenom")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.bondDenom); - return writer; - }; - - /** - * Encodes the specified Params message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.Params.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.Params - * @static - * @param {cosmos.staking.v1beta1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Params message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.Params(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.unbondingTime = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 2: - message.maxValidators = reader.uint32(); - break; - case 3: - message.maxEntries = reader.uint32(); - break; - case 4: - message.historicalEntries = reader.uint32(); - break; - case 5: - message.bondDenom = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Params message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Params message. - * @function verify - * @memberof cosmos.staking.v1beta1.Params - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Params.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.unbondingTime != null && message.hasOwnProperty("unbondingTime")) { - let error = $root.google.protobuf.Duration.verify(message.unbondingTime); - if (error) - return "unbondingTime." + error; - } - if (message.maxValidators != null && message.hasOwnProperty("maxValidators")) - if (!$util.isInteger(message.maxValidators)) - return "maxValidators: integer expected"; - if (message.maxEntries != null && message.hasOwnProperty("maxEntries")) - if (!$util.isInteger(message.maxEntries)) - return "maxEntries: integer expected"; - if (message.historicalEntries != null && message.hasOwnProperty("historicalEntries")) - if (!$util.isInteger(message.historicalEntries)) - return "historicalEntries: integer expected"; - if (message.bondDenom != null && message.hasOwnProperty("bondDenom")) - if (!$util.isString(message.bondDenom)) - return "bondDenom: string expected"; - return null; - }; - - /** - * Creates a Params message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.Params - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.Params} Params - */ - Params.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.Params) - return object; - let message = new $root.cosmos.staking.v1beta1.Params(); - if (object.unbondingTime != null) { - if (typeof object.unbondingTime !== "object") - throw TypeError(".cosmos.staking.v1beta1.Params.unbondingTime: object expected"); - message.unbondingTime = $root.google.protobuf.Duration.fromObject(object.unbondingTime); - } - if (object.maxValidators != null) - message.maxValidators = object.maxValidators >>> 0; - if (object.maxEntries != null) - message.maxEntries = object.maxEntries >>> 0; - if (object.historicalEntries != null) - message.historicalEntries = object.historicalEntries >>> 0; - if (object.bondDenom != null) - message.bondDenom = String(object.bondDenom); - return message; - }; - - /** - * Creates a plain object from a Params message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.Params - * @static - * @param {cosmos.staking.v1beta1.Params} message Params - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Params.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.unbondingTime = null; - object.maxValidators = 0; - object.maxEntries = 0; - object.historicalEntries = 0; - object.bondDenom = ""; - } - if (message.unbondingTime != null && message.hasOwnProperty("unbondingTime")) - object.unbondingTime = $root.google.protobuf.Duration.toObject(message.unbondingTime, options); - if (message.maxValidators != null && message.hasOwnProperty("maxValidators")) - object.maxValidators = message.maxValidators; - if (message.maxEntries != null && message.hasOwnProperty("maxEntries")) - object.maxEntries = message.maxEntries; - if (message.historicalEntries != null && message.hasOwnProperty("historicalEntries")) - object.historicalEntries = message.historicalEntries; - if (message.bondDenom != null && message.hasOwnProperty("bondDenom")) - object.bondDenom = message.bondDenom; - return object; - }; - - /** - * Converts this Params to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.Params - * @instance - * @returns {Object.} JSON object - */ - Params.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Params; - })(v1beta1.Params || {}); - - v1beta1.DelegationResponse = (function(DelegationResponse) { - - /** - * Properties of a DelegationResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IDelegationResponse - * @property {cosmos.staking.v1beta1.IDelegation|null} [delegation] DelegationResponse delegation - * @property {cosmos.base.v1beta1.ICoin|null} [balance] DelegationResponse balance - */ - - /** - * Constructs a new DelegationResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a DelegationResponse. - * @implements IDelegationResponse - * @constructor - * @param {cosmos.staking.v1beta1.IDelegationResponse=} [properties] Properties to set - */ - function DelegationResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DelegationResponse delegation. - * @member {cosmos.staking.v1beta1.IDelegation|null|undefined} delegation - * @memberof cosmos.staking.v1beta1.DelegationResponse - * @instance - */ - DelegationResponse.prototype.delegation = null; - - /** - * DelegationResponse balance. - * @member {cosmos.base.v1beta1.ICoin|null|undefined} balance - * @memberof cosmos.staking.v1beta1.DelegationResponse - * @instance - */ - DelegationResponse.prototype.balance = null; - - /** - * Creates a new DelegationResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.DelegationResponse - * @static - * @param {cosmos.staking.v1beta1.IDelegationResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.DelegationResponse} DelegationResponse instance - */ - DelegationResponse.create = function create(properties) { - return new DelegationResponse(properties); - }; - - /** - * Encodes the specified DelegationResponse message. Does not implicitly {@link cosmos.staking.v1beta1.DelegationResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.DelegationResponse - * @static - * @param {cosmos.staking.v1beta1.IDelegationResponse} message DelegationResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DelegationResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegation != null && Object.hasOwnProperty.call(message, "delegation")) - $root.cosmos.staking.v1beta1.Delegation.encode(message.delegation, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.balance != null && Object.hasOwnProperty.call(message, "balance")) - $root.cosmos.base.v1beta1.Coin.encode(message.balance, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified DelegationResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.DelegationResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.DelegationResponse - * @static - * @param {cosmos.staking.v1beta1.IDelegationResponse} message DelegationResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DelegationResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DelegationResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.DelegationResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.DelegationResponse} DelegationResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DelegationResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.DelegationResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegation = $root.cosmos.staking.v1beta1.Delegation.decode(reader, reader.uint32()); - break; - case 2: - message.balance = $root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DelegationResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.DelegationResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.DelegationResponse} DelegationResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DelegationResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DelegationResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.DelegationResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DelegationResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegation != null && message.hasOwnProperty("delegation")) { - let error = $root.cosmos.staking.v1beta1.Delegation.verify(message.delegation); - if (error) - return "delegation." + error; - } - if (message.balance != null && message.hasOwnProperty("balance")) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.balance); - if (error) - return "balance." + error; - } - return null; - }; - - /** - * Creates a DelegationResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.DelegationResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.DelegationResponse} DelegationResponse - */ - DelegationResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.DelegationResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.DelegationResponse(); - if (object.delegation != null) { - if (typeof object.delegation !== "object") - throw TypeError(".cosmos.staking.v1beta1.DelegationResponse.delegation: object expected"); - message.delegation = $root.cosmos.staking.v1beta1.Delegation.fromObject(object.delegation); - } - if (object.balance != null) { - if (typeof object.balance !== "object") - throw TypeError(".cosmos.staking.v1beta1.DelegationResponse.balance: object expected"); - message.balance = $root.cosmos.base.v1beta1.Coin.fromObject(object.balance); - } - return message; - }; - - /** - * Creates a plain object from a DelegationResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.DelegationResponse - * @static - * @param {cosmos.staking.v1beta1.DelegationResponse} message DelegationResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DelegationResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegation = null; - object.balance = null; - } - if (message.delegation != null && message.hasOwnProperty("delegation")) - object.delegation = $root.cosmos.staking.v1beta1.Delegation.toObject(message.delegation, options); - if (message.balance != null && message.hasOwnProperty("balance")) - object.balance = $root.cosmos.base.v1beta1.Coin.toObject(message.balance, options); - return object; - }; - - /** - * Converts this DelegationResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.DelegationResponse - * @instance - * @returns {Object.} JSON object - */ - DelegationResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DelegationResponse; - })(v1beta1.DelegationResponse || {}); - - v1beta1.RedelegationEntryResponse = (function(RedelegationEntryResponse) { - - /** - * Properties of a RedelegationEntryResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IRedelegationEntryResponse - * @property {cosmos.staking.v1beta1.IRedelegationEntry|null} [redelegationEntry] RedelegationEntryResponse redelegationEntry - * @property {string|null} [balance] RedelegationEntryResponse balance - */ - - /** - * Constructs a new RedelegationEntryResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a RedelegationEntryResponse. - * @implements IRedelegationEntryResponse - * @constructor - * @param {cosmos.staking.v1beta1.IRedelegationEntryResponse=} [properties] Properties to set - */ - function RedelegationEntryResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RedelegationEntryResponse redelegationEntry. - * @member {cosmos.staking.v1beta1.IRedelegationEntry|null|undefined} redelegationEntry - * @memberof cosmos.staking.v1beta1.RedelegationEntryResponse - * @instance - */ - RedelegationEntryResponse.prototype.redelegationEntry = null; - - /** - * RedelegationEntryResponse balance. - * @member {string} balance - * @memberof cosmos.staking.v1beta1.RedelegationEntryResponse - * @instance - */ - RedelegationEntryResponse.prototype.balance = ""; - - /** - * Creates a new RedelegationEntryResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.RedelegationEntryResponse - * @static - * @param {cosmos.staking.v1beta1.IRedelegationEntryResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.RedelegationEntryResponse} RedelegationEntryResponse instance - */ - RedelegationEntryResponse.create = function create(properties) { - return new RedelegationEntryResponse(properties); - }; - - /** - * Encodes the specified RedelegationEntryResponse message. Does not implicitly {@link cosmos.staking.v1beta1.RedelegationEntryResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.RedelegationEntryResponse - * @static - * @param {cosmos.staking.v1beta1.IRedelegationEntryResponse} message RedelegationEntryResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RedelegationEntryResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.redelegationEntry != null && Object.hasOwnProperty.call(message, "redelegationEntry")) - $root.cosmos.staking.v1beta1.RedelegationEntry.encode(message.redelegationEntry, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.balance != null && Object.hasOwnProperty.call(message, "balance")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.balance); - return writer; - }; - - /** - * Encodes the specified RedelegationEntryResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.RedelegationEntryResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.RedelegationEntryResponse - * @static - * @param {cosmos.staking.v1beta1.IRedelegationEntryResponse} message RedelegationEntryResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RedelegationEntryResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RedelegationEntryResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.RedelegationEntryResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.RedelegationEntryResponse} RedelegationEntryResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RedelegationEntryResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.RedelegationEntryResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.redelegationEntry = $root.cosmos.staking.v1beta1.RedelegationEntry.decode(reader, reader.uint32()); - break; - case 4: - message.balance = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RedelegationEntryResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.RedelegationEntryResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.RedelegationEntryResponse} RedelegationEntryResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RedelegationEntryResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RedelegationEntryResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.RedelegationEntryResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RedelegationEntryResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.redelegationEntry != null && message.hasOwnProperty("redelegationEntry")) { - let error = $root.cosmos.staking.v1beta1.RedelegationEntry.verify(message.redelegationEntry); - if (error) - return "redelegationEntry." + error; - } - if (message.balance != null && message.hasOwnProperty("balance")) - if (!$util.isString(message.balance)) - return "balance: string expected"; - return null; - }; - - /** - * Creates a RedelegationEntryResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.RedelegationEntryResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.RedelegationEntryResponse} RedelegationEntryResponse - */ - RedelegationEntryResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.RedelegationEntryResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.RedelegationEntryResponse(); - if (object.redelegationEntry != null) { - if (typeof object.redelegationEntry !== "object") - throw TypeError(".cosmos.staking.v1beta1.RedelegationEntryResponse.redelegationEntry: object expected"); - message.redelegationEntry = $root.cosmos.staking.v1beta1.RedelegationEntry.fromObject(object.redelegationEntry); - } - if (object.balance != null) - message.balance = String(object.balance); - return message; - }; - - /** - * Creates a plain object from a RedelegationEntryResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.RedelegationEntryResponse - * @static - * @param {cosmos.staking.v1beta1.RedelegationEntryResponse} message RedelegationEntryResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RedelegationEntryResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.redelegationEntry = null; - object.balance = ""; - } - if (message.redelegationEntry != null && message.hasOwnProperty("redelegationEntry")) - object.redelegationEntry = $root.cosmos.staking.v1beta1.RedelegationEntry.toObject(message.redelegationEntry, options); - if (message.balance != null && message.hasOwnProperty("balance")) - object.balance = message.balance; - return object; - }; - - /** - * Converts this RedelegationEntryResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.RedelegationEntryResponse - * @instance - * @returns {Object.} JSON object - */ - RedelegationEntryResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RedelegationEntryResponse; - })(v1beta1.RedelegationEntryResponse || {}); - - v1beta1.RedelegationResponse = (function(RedelegationResponse) { - - /** - * Properties of a RedelegationResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IRedelegationResponse - * @property {cosmos.staking.v1beta1.IRedelegation|null} [redelegation] RedelegationResponse redelegation - * @property {Array.|null} [entries] RedelegationResponse entries - */ - - /** - * Constructs a new RedelegationResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a RedelegationResponse. - * @implements IRedelegationResponse - * @constructor - * @param {cosmos.staking.v1beta1.IRedelegationResponse=} [properties] Properties to set - */ - function RedelegationResponse(properties) { - this.entries = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RedelegationResponse redelegation. - * @member {cosmos.staking.v1beta1.IRedelegation|null|undefined} redelegation - * @memberof cosmos.staking.v1beta1.RedelegationResponse - * @instance - */ - RedelegationResponse.prototype.redelegation = null; - - /** - * RedelegationResponse entries. - * @member {Array.} entries - * @memberof cosmos.staking.v1beta1.RedelegationResponse - * @instance - */ - RedelegationResponse.prototype.entries = $util.emptyArray; - - /** - * Creates a new RedelegationResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.RedelegationResponse - * @static - * @param {cosmos.staking.v1beta1.IRedelegationResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.RedelegationResponse} RedelegationResponse instance - */ - RedelegationResponse.create = function create(properties) { - return new RedelegationResponse(properties); - }; - - /** - * Encodes the specified RedelegationResponse message. Does not implicitly {@link cosmos.staking.v1beta1.RedelegationResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.RedelegationResponse - * @static - * @param {cosmos.staking.v1beta1.IRedelegationResponse} message RedelegationResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RedelegationResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.redelegation != null && Object.hasOwnProperty.call(message, "redelegation")) - $root.cosmos.staking.v1beta1.Redelegation.encode(message.redelegation, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.entries != null && message.entries.length) - for (let i = 0; i < message.entries.length; ++i) - $root.cosmos.staking.v1beta1.RedelegationEntryResponse.encode(message.entries[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified RedelegationResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.RedelegationResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.RedelegationResponse - * @static - * @param {cosmos.staking.v1beta1.IRedelegationResponse} message RedelegationResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RedelegationResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RedelegationResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.RedelegationResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.RedelegationResponse} RedelegationResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RedelegationResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.RedelegationResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.redelegation = $root.cosmos.staking.v1beta1.Redelegation.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.entries && message.entries.length)) - message.entries = []; - message.entries.push($root.cosmos.staking.v1beta1.RedelegationEntryResponse.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RedelegationResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.RedelegationResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.RedelegationResponse} RedelegationResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RedelegationResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RedelegationResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.RedelegationResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RedelegationResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.redelegation != null && message.hasOwnProperty("redelegation")) { - let error = $root.cosmos.staking.v1beta1.Redelegation.verify(message.redelegation); - if (error) - return "redelegation." + error; - } - if (message.entries != null && message.hasOwnProperty("entries")) { - if (!Array.isArray(message.entries)) - return "entries: array expected"; - for (let i = 0; i < message.entries.length; ++i) { - let error = $root.cosmos.staking.v1beta1.RedelegationEntryResponse.verify(message.entries[i]); - if (error) - return "entries." + error; - } - } - return null; - }; - - /** - * Creates a RedelegationResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.RedelegationResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.RedelegationResponse} RedelegationResponse - */ - RedelegationResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.RedelegationResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.RedelegationResponse(); - if (object.redelegation != null) { - if (typeof object.redelegation !== "object") - throw TypeError(".cosmos.staking.v1beta1.RedelegationResponse.redelegation: object expected"); - message.redelegation = $root.cosmos.staking.v1beta1.Redelegation.fromObject(object.redelegation); - } - if (object.entries) { - if (!Array.isArray(object.entries)) - throw TypeError(".cosmos.staking.v1beta1.RedelegationResponse.entries: array expected"); - message.entries = []; - for (let i = 0; i < object.entries.length; ++i) { - if (typeof object.entries[i] !== "object") - throw TypeError(".cosmos.staking.v1beta1.RedelegationResponse.entries: object expected"); - message.entries[i] = $root.cosmos.staking.v1beta1.RedelegationEntryResponse.fromObject(object.entries[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a RedelegationResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.RedelegationResponse - * @static - * @param {cosmos.staking.v1beta1.RedelegationResponse} message RedelegationResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RedelegationResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.entries = []; - if (options.defaults) - object.redelegation = null; - if (message.redelegation != null && message.hasOwnProperty("redelegation")) - object.redelegation = $root.cosmos.staking.v1beta1.Redelegation.toObject(message.redelegation, options); - if (message.entries && message.entries.length) { - object.entries = []; - for (let j = 0; j < message.entries.length; ++j) - object.entries[j] = $root.cosmos.staking.v1beta1.RedelegationEntryResponse.toObject(message.entries[j], options); - } - return object; - }; - - /** - * Converts this RedelegationResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.RedelegationResponse - * @instance - * @returns {Object.} JSON object - */ - RedelegationResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RedelegationResponse; - })(v1beta1.RedelegationResponse || {}); - - v1beta1.Pool = (function(Pool) { - - /** - * Properties of a Pool. - * @memberof cosmos.staking.v1beta1 - * @interface IPool - * @property {string|null} [notBondedTokens] Pool notBondedTokens - * @property {string|null} [bondedTokens] Pool bondedTokens - */ - - /** - * Constructs a new Pool. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a Pool. - * @implements IPool - * @constructor - * @param {cosmos.staking.v1beta1.IPool=} [properties] Properties to set - */ - function Pool(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Pool notBondedTokens. - * @member {string} notBondedTokens - * @memberof cosmos.staking.v1beta1.Pool - * @instance - */ - Pool.prototype.notBondedTokens = ""; - - /** - * Pool bondedTokens. - * @member {string} bondedTokens - * @memberof cosmos.staking.v1beta1.Pool - * @instance - */ - Pool.prototype.bondedTokens = ""; - - /** - * Creates a new Pool instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.Pool - * @static - * @param {cosmos.staking.v1beta1.IPool=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.Pool} Pool instance - */ - Pool.create = function create(properties) { - return new Pool(properties); - }; - - /** - * Encodes the specified Pool message. Does not implicitly {@link cosmos.staking.v1beta1.Pool.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.Pool - * @static - * @param {cosmos.staking.v1beta1.IPool} message Pool message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Pool.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.notBondedTokens != null && Object.hasOwnProperty.call(message, "notBondedTokens")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.notBondedTokens); - if (message.bondedTokens != null && Object.hasOwnProperty.call(message, "bondedTokens")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.bondedTokens); - return writer; - }; - - /** - * Encodes the specified Pool message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.Pool.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.Pool - * @static - * @param {cosmos.staking.v1beta1.IPool} message Pool message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Pool.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Pool message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.Pool - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.Pool} Pool - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Pool.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.Pool(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.notBondedTokens = reader.string(); - break; - case 2: - message.bondedTokens = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Pool message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.Pool - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.Pool} Pool - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Pool.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Pool message. - * @function verify - * @memberof cosmos.staking.v1beta1.Pool - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Pool.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.notBondedTokens != null && message.hasOwnProperty("notBondedTokens")) - if (!$util.isString(message.notBondedTokens)) - return "notBondedTokens: string expected"; - if (message.bondedTokens != null && message.hasOwnProperty("bondedTokens")) - if (!$util.isString(message.bondedTokens)) - return "bondedTokens: string expected"; - return null; - }; - - /** - * Creates a Pool message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.Pool - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.Pool} Pool - */ - Pool.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.Pool) - return object; - let message = new $root.cosmos.staking.v1beta1.Pool(); - if (object.notBondedTokens != null) - message.notBondedTokens = String(object.notBondedTokens); - if (object.bondedTokens != null) - message.bondedTokens = String(object.bondedTokens); - return message; - }; - - /** - * Creates a plain object from a Pool message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.Pool - * @static - * @param {cosmos.staking.v1beta1.Pool} message Pool - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Pool.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.notBondedTokens = ""; - object.bondedTokens = ""; - } - if (message.notBondedTokens != null && message.hasOwnProperty("notBondedTokens")) - object.notBondedTokens = message.notBondedTokens; - if (message.bondedTokens != null && message.hasOwnProperty("bondedTokens")) - object.bondedTokens = message.bondedTokens; - return object; - }; - - /** - * Converts this Pool to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.Pool - * @instance - * @returns {Object.} JSON object - */ - Pool.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Pool; - })(v1beta1.Pool || {}); - - v1beta1.Msg = (function(Msg) { - - /** - * Constructs a new Msg service. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a Msg - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Msg(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Msg.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Msg; - - /** - * Creates new Msg service using the specified rpc implementation. - * @function create - * @memberof cosmos.staking.v1beta1.Msg - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Msg} RPC service. Useful where requests and/or responses are streamed. - */ - Msg.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Msg#createValidator}. - * @memberof cosmos.staking.v1beta1.Msg - * @typedef CreateValidatorCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IMsgCreateValidatorResponse} [response] MsgCreateValidatorResponse - */ - - /** - * Calls CreateValidator. - * @function createValidator - * @memberof cosmos.staking.v1beta1.Msg - * @instance - * @param {cosmos.staking.v1beta1.IMsgCreateValidator} request MsgCreateValidator message or plain object - * @param {cosmos.staking.v1beta1.Msg.CreateValidatorCallback} callback Node-style callback called with the error, if any, and MsgCreateValidatorResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.createValidator = function createValidator(request, callback) { - return this.rpcCall(createValidator, $root.cosmos.staking.v1beta1.MsgCreateValidator, $root.cosmos.staking.v1beta1.MsgCreateValidatorResponse, request, callback); - }, "name", { value: "CreateValidator" }); - - /** - * Calls CreateValidator. - * @function createValidator - * @memberof cosmos.staking.v1beta1.Msg - * @instance - * @param {cosmos.staking.v1beta1.IMsgCreateValidator} request MsgCreateValidator message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Msg#editValidator}. - * @memberof cosmos.staking.v1beta1.Msg - * @typedef EditValidatorCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IMsgEditValidatorResponse} [response] MsgEditValidatorResponse - */ - - /** - * Calls EditValidator. - * @function editValidator - * @memberof cosmos.staking.v1beta1.Msg - * @instance - * @param {cosmos.staking.v1beta1.IMsgEditValidator} request MsgEditValidator message or plain object - * @param {cosmos.staking.v1beta1.Msg.EditValidatorCallback} callback Node-style callback called with the error, if any, and MsgEditValidatorResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.editValidator = function editValidator(request, callback) { - return this.rpcCall(editValidator, $root.cosmos.staking.v1beta1.MsgEditValidator, $root.cosmos.staking.v1beta1.MsgEditValidatorResponse, request, callback); - }, "name", { value: "EditValidator" }); - - /** - * Calls EditValidator. - * @function editValidator - * @memberof cosmos.staking.v1beta1.Msg - * @instance - * @param {cosmos.staking.v1beta1.IMsgEditValidator} request MsgEditValidator message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Msg#delegate}. - * @memberof cosmos.staking.v1beta1.Msg - * @typedef DelegateCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IMsgDelegateResponse} [response] MsgDelegateResponse - */ - - /** - * Calls Delegate. - * @function delegate - * @memberof cosmos.staking.v1beta1.Msg - * @instance - * @param {cosmos.staking.v1beta1.IMsgDelegate} request MsgDelegate message or plain object - * @param {cosmos.staking.v1beta1.Msg.DelegateCallback} callback Node-style callback called with the error, if any, and MsgDelegateResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.delegate = function delegate(request, callback) { - return this.rpcCall(delegate, $root.cosmos.staking.v1beta1.MsgDelegate, $root.cosmos.staking.v1beta1.MsgDelegateResponse, request, callback); - }, "name", { value: "Delegate" }); - - /** - * Calls Delegate. - * @function delegate - * @memberof cosmos.staking.v1beta1.Msg - * @instance - * @param {cosmos.staking.v1beta1.IMsgDelegate} request MsgDelegate message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Msg#beginRedelegate}. - * @memberof cosmos.staking.v1beta1.Msg - * @typedef BeginRedelegateCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IMsgBeginRedelegateResponse} [response] MsgBeginRedelegateResponse - */ - - /** - * Calls BeginRedelegate. - * @function beginRedelegate - * @memberof cosmos.staking.v1beta1.Msg - * @instance - * @param {cosmos.staking.v1beta1.IMsgBeginRedelegate} request MsgBeginRedelegate message or plain object - * @param {cosmos.staking.v1beta1.Msg.BeginRedelegateCallback} callback Node-style callback called with the error, if any, and MsgBeginRedelegateResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.beginRedelegate = function beginRedelegate(request, callback) { - return this.rpcCall(beginRedelegate, $root.cosmos.staking.v1beta1.MsgBeginRedelegate, $root.cosmos.staking.v1beta1.MsgBeginRedelegateResponse, request, callback); - }, "name", { value: "BeginRedelegate" }); - - /** - * Calls BeginRedelegate. - * @function beginRedelegate - * @memberof cosmos.staking.v1beta1.Msg - * @instance - * @param {cosmos.staking.v1beta1.IMsgBeginRedelegate} request MsgBeginRedelegate message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.staking.v1beta1.Msg#undelegate}. - * @memberof cosmos.staking.v1beta1.Msg - * @typedef UndelegateCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.staking.v1beta1.IMsgUndelegateResponse} [response] MsgUndelegateResponse - */ - - /** - * Calls Undelegate. - * @function undelegate - * @memberof cosmos.staking.v1beta1.Msg - * @instance - * @param {cosmos.staking.v1beta1.IMsgUndelegate} request MsgUndelegate message or plain object - * @param {cosmos.staking.v1beta1.Msg.UndelegateCallback} callback Node-style callback called with the error, if any, and MsgUndelegateResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.undelegate = function undelegate(request, callback) { - return this.rpcCall(undelegate, $root.cosmos.staking.v1beta1.MsgUndelegate, $root.cosmos.staking.v1beta1.MsgUndelegateResponse, request, callback); - }, "name", { value: "Undelegate" }); - - /** - * Calls Undelegate. - * @function undelegate - * @memberof cosmos.staking.v1beta1.Msg - * @instance - * @param {cosmos.staking.v1beta1.IMsgUndelegate} request MsgUndelegate message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Msg; - })(v1beta1.Msg || {}); - - v1beta1.MsgCreateValidator = (function(MsgCreateValidator) { - - /** - * Properties of a MsgCreateValidator. - * @memberof cosmos.staking.v1beta1 - * @interface IMsgCreateValidator - * @property {cosmos.staking.v1beta1.IDescription|null} [description] MsgCreateValidator description - * @property {cosmos.staking.v1beta1.ICommissionRates|null} [commission] MsgCreateValidator commission - * @property {string|null} [minSelfDelegation] MsgCreateValidator minSelfDelegation - * @property {string|null} [delegatorAddress] MsgCreateValidator delegatorAddress - * @property {string|null} [validatorAddress] MsgCreateValidator validatorAddress - * @property {google.protobuf.IAny|null} [pubkey] MsgCreateValidator pubkey - * @property {cosmos.base.v1beta1.ICoin|null} [value] MsgCreateValidator value - */ - - /** - * Constructs a new MsgCreateValidator. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a MsgCreateValidator. - * @implements IMsgCreateValidator - * @constructor - * @param {cosmos.staking.v1beta1.IMsgCreateValidator=} [properties] Properties to set - */ - function MsgCreateValidator(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgCreateValidator description. - * @member {cosmos.staking.v1beta1.IDescription|null|undefined} description - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @instance - */ - MsgCreateValidator.prototype.description = null; - - /** - * MsgCreateValidator commission. - * @member {cosmos.staking.v1beta1.ICommissionRates|null|undefined} commission - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @instance - */ - MsgCreateValidator.prototype.commission = null; - - /** - * MsgCreateValidator minSelfDelegation. - * @member {string} minSelfDelegation - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @instance - */ - MsgCreateValidator.prototype.minSelfDelegation = ""; - - /** - * MsgCreateValidator delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @instance - */ - MsgCreateValidator.prototype.delegatorAddress = ""; - - /** - * MsgCreateValidator validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @instance - */ - MsgCreateValidator.prototype.validatorAddress = ""; - - /** - * MsgCreateValidator pubkey. - * @member {google.protobuf.IAny|null|undefined} pubkey - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @instance - */ - MsgCreateValidator.prototype.pubkey = null; - - /** - * MsgCreateValidator value. - * @member {cosmos.base.v1beta1.ICoin|null|undefined} value - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @instance - */ - MsgCreateValidator.prototype.value = null; - - /** - * Creates a new MsgCreateValidator instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @static - * @param {cosmos.staking.v1beta1.IMsgCreateValidator=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.MsgCreateValidator} MsgCreateValidator instance - */ - MsgCreateValidator.create = function create(properties) { - return new MsgCreateValidator(properties); - }; - - /** - * Encodes the specified MsgCreateValidator message. Does not implicitly {@link cosmos.staking.v1beta1.MsgCreateValidator.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @static - * @param {cosmos.staking.v1beta1.IMsgCreateValidator} message MsgCreateValidator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgCreateValidator.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - $root.cosmos.staking.v1beta1.Description.encode(message.description, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.commission != null && Object.hasOwnProperty.call(message, "commission")) - $root.cosmos.staking.v1beta1.CommissionRates.encode(message.commission, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.minSelfDelegation != null && Object.hasOwnProperty.call(message, "minSelfDelegation")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.minSelfDelegation); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.delegatorAddress); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.validatorAddress); - if (message.pubkey != null && Object.hasOwnProperty.call(message, "pubkey")) - $root.google.protobuf.Any.encode(message.pubkey, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - $root.cosmos.base.v1beta1.Coin.encode(message.value, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MsgCreateValidator message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.MsgCreateValidator.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @static - * @param {cosmos.staking.v1beta1.IMsgCreateValidator} message MsgCreateValidator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgCreateValidator.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgCreateValidator message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.MsgCreateValidator} MsgCreateValidator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgCreateValidator.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.MsgCreateValidator(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.description = $root.cosmos.staking.v1beta1.Description.decode(reader, reader.uint32()); - break; - case 2: - message.commission = $root.cosmos.staking.v1beta1.CommissionRates.decode(reader, reader.uint32()); - break; - case 3: - message.minSelfDelegation = reader.string(); - break; - case 4: - message.delegatorAddress = reader.string(); - break; - case 5: - message.validatorAddress = reader.string(); - break; - case 6: - message.pubkey = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 7: - message.value = $root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgCreateValidator message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.MsgCreateValidator} MsgCreateValidator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgCreateValidator.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgCreateValidator message. - * @function verify - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgCreateValidator.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.description != null && message.hasOwnProperty("description")) { - let error = $root.cosmos.staking.v1beta1.Description.verify(message.description); - if (error) - return "description." + error; - } - if (message.commission != null && message.hasOwnProperty("commission")) { - let error = $root.cosmos.staking.v1beta1.CommissionRates.verify(message.commission); - if (error) - return "commission." + error; - } - if (message.minSelfDelegation != null && message.hasOwnProperty("minSelfDelegation")) - if (!$util.isString(message.minSelfDelegation)) - return "minSelfDelegation: string expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.pubkey != null && message.hasOwnProperty("pubkey")) { - let error = $root.google.protobuf.Any.verify(message.pubkey); - if (error) - return "pubkey." + error; - } - if (message.value != null && message.hasOwnProperty("value")) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.value); - if (error) - return "value." + error; - } - return null; - }; - - /** - * Creates a MsgCreateValidator message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.MsgCreateValidator} MsgCreateValidator - */ - MsgCreateValidator.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.MsgCreateValidator) - return object; - let message = new $root.cosmos.staking.v1beta1.MsgCreateValidator(); - if (object.description != null) { - if (typeof object.description !== "object") - throw TypeError(".cosmos.staking.v1beta1.MsgCreateValidator.description: object expected"); - message.description = $root.cosmos.staking.v1beta1.Description.fromObject(object.description); - } - if (object.commission != null) { - if (typeof object.commission !== "object") - throw TypeError(".cosmos.staking.v1beta1.MsgCreateValidator.commission: object expected"); - message.commission = $root.cosmos.staking.v1beta1.CommissionRates.fromObject(object.commission); - } - if (object.minSelfDelegation != null) - message.minSelfDelegation = String(object.minSelfDelegation); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.pubkey != null) { - if (typeof object.pubkey !== "object") - throw TypeError(".cosmos.staking.v1beta1.MsgCreateValidator.pubkey: object expected"); - message.pubkey = $root.google.protobuf.Any.fromObject(object.pubkey); - } - if (object.value != null) { - if (typeof object.value !== "object") - throw TypeError(".cosmos.staking.v1beta1.MsgCreateValidator.value: object expected"); - message.value = $root.cosmos.base.v1beta1.Coin.fromObject(object.value); - } - return message; - }; - - /** - * Creates a plain object from a MsgCreateValidator message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @static - * @param {cosmos.staking.v1beta1.MsgCreateValidator} message MsgCreateValidator - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgCreateValidator.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.description = null; - object.commission = null; - object.minSelfDelegation = ""; - object.delegatorAddress = ""; - object.validatorAddress = ""; - object.pubkey = null; - object.value = null; - } - if (message.description != null && message.hasOwnProperty("description")) - object.description = $root.cosmos.staking.v1beta1.Description.toObject(message.description, options); - if (message.commission != null && message.hasOwnProperty("commission")) - object.commission = $root.cosmos.staking.v1beta1.CommissionRates.toObject(message.commission, options); - if (message.minSelfDelegation != null && message.hasOwnProperty("minSelfDelegation")) - object.minSelfDelegation = message.minSelfDelegation; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.pubkey != null && message.hasOwnProperty("pubkey")) - object.pubkey = $root.google.protobuf.Any.toObject(message.pubkey, options); - if (message.value != null && message.hasOwnProperty("value")) - object.value = $root.cosmos.base.v1beta1.Coin.toObject(message.value, options); - return object; - }; - - /** - * Converts this MsgCreateValidator to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.MsgCreateValidator - * @instance - * @returns {Object.} JSON object - */ - MsgCreateValidator.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgCreateValidator; - })(v1beta1.MsgCreateValidator || {}); - - v1beta1.MsgCreateValidatorResponse = (function(MsgCreateValidatorResponse) { - - /** - * Properties of a MsgCreateValidatorResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IMsgCreateValidatorResponse - */ - - /** - * Constructs a new MsgCreateValidatorResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a MsgCreateValidatorResponse. - * @implements IMsgCreateValidatorResponse - * @constructor - * @param {cosmos.staking.v1beta1.IMsgCreateValidatorResponse=} [properties] Properties to set - */ - function MsgCreateValidatorResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgCreateValidatorResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.MsgCreateValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgCreateValidatorResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.MsgCreateValidatorResponse} MsgCreateValidatorResponse instance - */ - MsgCreateValidatorResponse.create = function create(properties) { - return new MsgCreateValidatorResponse(properties); - }; - - /** - * Encodes the specified MsgCreateValidatorResponse message. Does not implicitly {@link cosmos.staking.v1beta1.MsgCreateValidatorResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.MsgCreateValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgCreateValidatorResponse} message MsgCreateValidatorResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgCreateValidatorResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgCreateValidatorResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.MsgCreateValidatorResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.MsgCreateValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgCreateValidatorResponse} message MsgCreateValidatorResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgCreateValidatorResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgCreateValidatorResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.MsgCreateValidatorResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.MsgCreateValidatorResponse} MsgCreateValidatorResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgCreateValidatorResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.MsgCreateValidatorResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgCreateValidatorResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.MsgCreateValidatorResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.MsgCreateValidatorResponse} MsgCreateValidatorResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgCreateValidatorResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgCreateValidatorResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.MsgCreateValidatorResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgCreateValidatorResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgCreateValidatorResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.MsgCreateValidatorResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.MsgCreateValidatorResponse} MsgCreateValidatorResponse - */ - MsgCreateValidatorResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.MsgCreateValidatorResponse) - return object; - return new $root.cosmos.staking.v1beta1.MsgCreateValidatorResponse(); - }; - - /** - * Creates a plain object from a MsgCreateValidatorResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.MsgCreateValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.MsgCreateValidatorResponse} message MsgCreateValidatorResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgCreateValidatorResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgCreateValidatorResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.MsgCreateValidatorResponse - * @instance - * @returns {Object.} JSON object - */ - MsgCreateValidatorResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgCreateValidatorResponse; - })(v1beta1.MsgCreateValidatorResponse || {}); - - v1beta1.MsgEditValidator = (function(MsgEditValidator) { - - /** - * Properties of a MsgEditValidator. - * @memberof cosmos.staking.v1beta1 - * @interface IMsgEditValidator - * @property {cosmos.staking.v1beta1.IDescription|null} [description] MsgEditValidator description - * @property {string|null} [validatorAddress] MsgEditValidator validatorAddress - * @property {string|null} [commissionRate] MsgEditValidator commissionRate - * @property {string|null} [minSelfDelegation] MsgEditValidator minSelfDelegation - */ - - /** - * Constructs a new MsgEditValidator. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a MsgEditValidator. - * @implements IMsgEditValidator - * @constructor - * @param {cosmos.staking.v1beta1.IMsgEditValidator=} [properties] Properties to set - */ - function MsgEditValidator(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgEditValidator description. - * @member {cosmos.staking.v1beta1.IDescription|null|undefined} description - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @instance - */ - MsgEditValidator.prototype.description = null; - - /** - * MsgEditValidator validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @instance - */ - MsgEditValidator.prototype.validatorAddress = ""; - - /** - * MsgEditValidator commissionRate. - * @member {string} commissionRate - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @instance - */ - MsgEditValidator.prototype.commissionRate = ""; - - /** - * MsgEditValidator minSelfDelegation. - * @member {string} minSelfDelegation - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @instance - */ - MsgEditValidator.prototype.minSelfDelegation = ""; - - /** - * Creates a new MsgEditValidator instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @static - * @param {cosmos.staking.v1beta1.IMsgEditValidator=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.MsgEditValidator} MsgEditValidator instance - */ - MsgEditValidator.create = function create(properties) { - return new MsgEditValidator(properties); - }; - - /** - * Encodes the specified MsgEditValidator message. Does not implicitly {@link cosmos.staking.v1beta1.MsgEditValidator.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @static - * @param {cosmos.staking.v1beta1.IMsgEditValidator} message MsgEditValidator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgEditValidator.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - $root.cosmos.staking.v1beta1.Description.encode(message.description, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorAddress); - if (message.commissionRate != null && Object.hasOwnProperty.call(message, "commissionRate")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.commissionRate); - if (message.minSelfDelegation != null && Object.hasOwnProperty.call(message, "minSelfDelegation")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.minSelfDelegation); - return writer; - }; - - /** - * Encodes the specified MsgEditValidator message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.MsgEditValidator.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @static - * @param {cosmos.staking.v1beta1.IMsgEditValidator} message MsgEditValidator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgEditValidator.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgEditValidator message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.MsgEditValidator} MsgEditValidator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgEditValidator.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.MsgEditValidator(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.description = $root.cosmos.staking.v1beta1.Description.decode(reader, reader.uint32()); - break; - case 2: - message.validatorAddress = reader.string(); - break; - case 3: - message.commissionRate = reader.string(); - break; - case 4: - message.minSelfDelegation = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgEditValidator message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.MsgEditValidator} MsgEditValidator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgEditValidator.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgEditValidator message. - * @function verify - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgEditValidator.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.description != null && message.hasOwnProperty("description")) { - let error = $root.cosmos.staking.v1beta1.Description.verify(message.description); - if (error) - return "description." + error; - } - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.commissionRate != null && message.hasOwnProperty("commissionRate")) - if (!$util.isString(message.commissionRate)) - return "commissionRate: string expected"; - if (message.minSelfDelegation != null && message.hasOwnProperty("minSelfDelegation")) - if (!$util.isString(message.minSelfDelegation)) - return "minSelfDelegation: string expected"; - return null; - }; - - /** - * Creates a MsgEditValidator message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.MsgEditValidator} MsgEditValidator - */ - MsgEditValidator.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.MsgEditValidator) - return object; - let message = new $root.cosmos.staking.v1beta1.MsgEditValidator(); - if (object.description != null) { - if (typeof object.description !== "object") - throw TypeError(".cosmos.staking.v1beta1.MsgEditValidator.description: object expected"); - message.description = $root.cosmos.staking.v1beta1.Description.fromObject(object.description); - } - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.commissionRate != null) - message.commissionRate = String(object.commissionRate); - if (object.minSelfDelegation != null) - message.minSelfDelegation = String(object.minSelfDelegation); - return message; - }; - - /** - * Creates a plain object from a MsgEditValidator message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @static - * @param {cosmos.staking.v1beta1.MsgEditValidator} message MsgEditValidator - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgEditValidator.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.description = null; - object.validatorAddress = ""; - object.commissionRate = ""; - object.minSelfDelegation = ""; - } - if (message.description != null && message.hasOwnProperty("description")) - object.description = $root.cosmos.staking.v1beta1.Description.toObject(message.description, options); - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.commissionRate != null && message.hasOwnProperty("commissionRate")) - object.commissionRate = message.commissionRate; - if (message.minSelfDelegation != null && message.hasOwnProperty("minSelfDelegation")) - object.minSelfDelegation = message.minSelfDelegation; - return object; - }; - - /** - * Converts this MsgEditValidator to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.MsgEditValidator - * @instance - * @returns {Object.} JSON object - */ - MsgEditValidator.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgEditValidator; - })(v1beta1.MsgEditValidator || {}); - - v1beta1.MsgEditValidatorResponse = (function(MsgEditValidatorResponse) { - - /** - * Properties of a MsgEditValidatorResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IMsgEditValidatorResponse - */ - - /** - * Constructs a new MsgEditValidatorResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a MsgEditValidatorResponse. - * @implements IMsgEditValidatorResponse - * @constructor - * @param {cosmos.staking.v1beta1.IMsgEditValidatorResponse=} [properties] Properties to set - */ - function MsgEditValidatorResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgEditValidatorResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.MsgEditValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgEditValidatorResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.MsgEditValidatorResponse} MsgEditValidatorResponse instance - */ - MsgEditValidatorResponse.create = function create(properties) { - return new MsgEditValidatorResponse(properties); - }; - - /** - * Encodes the specified MsgEditValidatorResponse message. Does not implicitly {@link cosmos.staking.v1beta1.MsgEditValidatorResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.MsgEditValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgEditValidatorResponse} message MsgEditValidatorResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgEditValidatorResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgEditValidatorResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.MsgEditValidatorResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.MsgEditValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgEditValidatorResponse} message MsgEditValidatorResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgEditValidatorResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgEditValidatorResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.MsgEditValidatorResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.MsgEditValidatorResponse} MsgEditValidatorResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgEditValidatorResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.MsgEditValidatorResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgEditValidatorResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.MsgEditValidatorResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.MsgEditValidatorResponse} MsgEditValidatorResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgEditValidatorResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgEditValidatorResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.MsgEditValidatorResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgEditValidatorResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgEditValidatorResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.MsgEditValidatorResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.MsgEditValidatorResponse} MsgEditValidatorResponse - */ - MsgEditValidatorResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.MsgEditValidatorResponse) - return object; - return new $root.cosmos.staking.v1beta1.MsgEditValidatorResponse(); - }; - - /** - * Creates a plain object from a MsgEditValidatorResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.MsgEditValidatorResponse - * @static - * @param {cosmos.staking.v1beta1.MsgEditValidatorResponse} message MsgEditValidatorResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgEditValidatorResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgEditValidatorResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.MsgEditValidatorResponse - * @instance - * @returns {Object.} JSON object - */ - MsgEditValidatorResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgEditValidatorResponse; - })(v1beta1.MsgEditValidatorResponse || {}); - - v1beta1.MsgDelegate = (function(MsgDelegate) { - - /** - * Properties of a MsgDelegate. - * @memberof cosmos.staking.v1beta1 - * @interface IMsgDelegate - * @property {string|null} [delegatorAddress] MsgDelegate delegatorAddress - * @property {string|null} [validatorAddress] MsgDelegate validatorAddress - * @property {cosmos.base.v1beta1.ICoin|null} [amount] MsgDelegate amount - */ - - /** - * Constructs a new MsgDelegate. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a MsgDelegate. - * @implements IMsgDelegate - * @constructor - * @param {cosmos.staking.v1beta1.IMsgDelegate=} [properties] Properties to set - */ - function MsgDelegate(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgDelegate delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.staking.v1beta1.MsgDelegate - * @instance - */ - MsgDelegate.prototype.delegatorAddress = ""; - - /** - * MsgDelegate validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.staking.v1beta1.MsgDelegate - * @instance - */ - MsgDelegate.prototype.validatorAddress = ""; - - /** - * MsgDelegate amount. - * @member {cosmos.base.v1beta1.ICoin|null|undefined} amount - * @memberof cosmos.staking.v1beta1.MsgDelegate - * @instance - */ - MsgDelegate.prototype.amount = null; - - /** - * Creates a new MsgDelegate instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.MsgDelegate - * @static - * @param {cosmos.staking.v1beta1.IMsgDelegate=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.MsgDelegate} MsgDelegate instance - */ - MsgDelegate.create = function create(properties) { - return new MsgDelegate(properties); - }; - - /** - * Encodes the specified MsgDelegate message. Does not implicitly {@link cosmos.staking.v1beta1.MsgDelegate.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.MsgDelegate - * @static - * @param {cosmos.staking.v1beta1.IMsgDelegate} message MsgDelegate message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgDelegate.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorAddress); - if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) - $root.cosmos.base.v1beta1.Coin.encode(message.amount, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MsgDelegate message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.MsgDelegate.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.MsgDelegate - * @static - * @param {cosmos.staking.v1beta1.IMsgDelegate} message MsgDelegate message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgDelegate.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgDelegate message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.MsgDelegate - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.MsgDelegate} MsgDelegate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgDelegate.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.MsgDelegate(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.validatorAddress = reader.string(); - break; - case 3: - message.amount = $root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgDelegate message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.MsgDelegate - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.MsgDelegate} MsgDelegate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgDelegate.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgDelegate message. - * @function verify - * @memberof cosmos.staking.v1beta1.MsgDelegate - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgDelegate.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.amount); - if (error) - return "amount." + error; - } - return null; - }; - - /** - * Creates a MsgDelegate message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.MsgDelegate - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.MsgDelegate} MsgDelegate - */ - MsgDelegate.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.MsgDelegate) - return object; - let message = new $root.cosmos.staking.v1beta1.MsgDelegate(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.amount != null) { - if (typeof object.amount !== "object") - throw TypeError(".cosmos.staking.v1beta1.MsgDelegate.amount: object expected"); - message.amount = $root.cosmos.base.v1beta1.Coin.fromObject(object.amount); - } - return message; - }; - - /** - * Creates a plain object from a MsgDelegate message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.MsgDelegate - * @static - * @param {cosmos.staking.v1beta1.MsgDelegate} message MsgDelegate - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgDelegate.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddress = ""; - object.validatorAddress = ""; - object.amount = null; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.amount != null && message.hasOwnProperty("amount")) - object.amount = $root.cosmos.base.v1beta1.Coin.toObject(message.amount, options); - return object; - }; - - /** - * Converts this MsgDelegate to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.MsgDelegate - * @instance - * @returns {Object.} JSON object - */ - MsgDelegate.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgDelegate; - })(v1beta1.MsgDelegate || {}); - - v1beta1.MsgDelegateResponse = (function(MsgDelegateResponse) { - - /** - * Properties of a MsgDelegateResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IMsgDelegateResponse - */ - - /** - * Constructs a new MsgDelegateResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a MsgDelegateResponse. - * @implements IMsgDelegateResponse - * @constructor - * @param {cosmos.staking.v1beta1.IMsgDelegateResponse=} [properties] Properties to set - */ - function MsgDelegateResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgDelegateResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.MsgDelegateResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgDelegateResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.MsgDelegateResponse} MsgDelegateResponse instance - */ - MsgDelegateResponse.create = function create(properties) { - return new MsgDelegateResponse(properties); - }; - - /** - * Encodes the specified MsgDelegateResponse message. Does not implicitly {@link cosmos.staking.v1beta1.MsgDelegateResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.MsgDelegateResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgDelegateResponse} message MsgDelegateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgDelegateResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgDelegateResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.MsgDelegateResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.MsgDelegateResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgDelegateResponse} message MsgDelegateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgDelegateResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgDelegateResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.MsgDelegateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.MsgDelegateResponse} MsgDelegateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgDelegateResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.MsgDelegateResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgDelegateResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.MsgDelegateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.MsgDelegateResponse} MsgDelegateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgDelegateResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgDelegateResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.MsgDelegateResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgDelegateResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgDelegateResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.MsgDelegateResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.MsgDelegateResponse} MsgDelegateResponse - */ - MsgDelegateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.MsgDelegateResponse) - return object; - return new $root.cosmos.staking.v1beta1.MsgDelegateResponse(); - }; - - /** - * Creates a plain object from a MsgDelegateResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.MsgDelegateResponse - * @static - * @param {cosmos.staking.v1beta1.MsgDelegateResponse} message MsgDelegateResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgDelegateResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgDelegateResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.MsgDelegateResponse - * @instance - * @returns {Object.} JSON object - */ - MsgDelegateResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgDelegateResponse; - })(v1beta1.MsgDelegateResponse || {}); - - v1beta1.MsgBeginRedelegate = (function(MsgBeginRedelegate) { - - /** - * Properties of a MsgBeginRedelegate. - * @memberof cosmos.staking.v1beta1 - * @interface IMsgBeginRedelegate - * @property {string|null} [delegatorAddress] MsgBeginRedelegate delegatorAddress - * @property {string|null} [validatorSrcAddress] MsgBeginRedelegate validatorSrcAddress - * @property {string|null} [validatorDstAddress] MsgBeginRedelegate validatorDstAddress - * @property {cosmos.base.v1beta1.ICoin|null} [amount] MsgBeginRedelegate amount - */ - - /** - * Constructs a new MsgBeginRedelegate. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a MsgBeginRedelegate. - * @implements IMsgBeginRedelegate - * @constructor - * @param {cosmos.staking.v1beta1.IMsgBeginRedelegate=} [properties] Properties to set - */ - function MsgBeginRedelegate(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgBeginRedelegate delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @instance - */ - MsgBeginRedelegate.prototype.delegatorAddress = ""; - - /** - * MsgBeginRedelegate validatorSrcAddress. - * @member {string} validatorSrcAddress - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @instance - */ - MsgBeginRedelegate.prototype.validatorSrcAddress = ""; - - /** - * MsgBeginRedelegate validatorDstAddress. - * @member {string} validatorDstAddress - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @instance - */ - MsgBeginRedelegate.prototype.validatorDstAddress = ""; - - /** - * MsgBeginRedelegate amount. - * @member {cosmos.base.v1beta1.ICoin|null|undefined} amount - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @instance - */ - MsgBeginRedelegate.prototype.amount = null; - - /** - * Creates a new MsgBeginRedelegate instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @static - * @param {cosmos.staking.v1beta1.IMsgBeginRedelegate=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.MsgBeginRedelegate} MsgBeginRedelegate instance - */ - MsgBeginRedelegate.create = function create(properties) { - return new MsgBeginRedelegate(properties); - }; - - /** - * Encodes the specified MsgBeginRedelegate message. Does not implicitly {@link cosmos.staking.v1beta1.MsgBeginRedelegate.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @static - * @param {cosmos.staking.v1beta1.IMsgBeginRedelegate} message MsgBeginRedelegate message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgBeginRedelegate.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.validatorSrcAddress != null && Object.hasOwnProperty.call(message, "validatorSrcAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorSrcAddress); - if (message.validatorDstAddress != null && Object.hasOwnProperty.call(message, "validatorDstAddress")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.validatorDstAddress); - if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) - $root.cosmos.base.v1beta1.Coin.encode(message.amount, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MsgBeginRedelegate message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.MsgBeginRedelegate.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @static - * @param {cosmos.staking.v1beta1.IMsgBeginRedelegate} message MsgBeginRedelegate message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgBeginRedelegate.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgBeginRedelegate message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.MsgBeginRedelegate} MsgBeginRedelegate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgBeginRedelegate.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.MsgBeginRedelegate(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.validatorSrcAddress = reader.string(); - break; - case 3: - message.validatorDstAddress = reader.string(); - break; - case 4: - message.amount = $root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgBeginRedelegate message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.MsgBeginRedelegate} MsgBeginRedelegate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgBeginRedelegate.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgBeginRedelegate message. - * @function verify - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgBeginRedelegate.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.validatorSrcAddress != null && message.hasOwnProperty("validatorSrcAddress")) - if (!$util.isString(message.validatorSrcAddress)) - return "validatorSrcAddress: string expected"; - if (message.validatorDstAddress != null && message.hasOwnProperty("validatorDstAddress")) - if (!$util.isString(message.validatorDstAddress)) - return "validatorDstAddress: string expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.amount); - if (error) - return "amount." + error; - } - return null; - }; - - /** - * Creates a MsgBeginRedelegate message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.MsgBeginRedelegate} MsgBeginRedelegate - */ - MsgBeginRedelegate.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.MsgBeginRedelegate) - return object; - let message = new $root.cosmos.staking.v1beta1.MsgBeginRedelegate(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.validatorSrcAddress != null) - message.validatorSrcAddress = String(object.validatorSrcAddress); - if (object.validatorDstAddress != null) - message.validatorDstAddress = String(object.validatorDstAddress); - if (object.amount != null) { - if (typeof object.amount !== "object") - throw TypeError(".cosmos.staking.v1beta1.MsgBeginRedelegate.amount: object expected"); - message.amount = $root.cosmos.base.v1beta1.Coin.fromObject(object.amount); - } - return message; - }; - - /** - * Creates a plain object from a MsgBeginRedelegate message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @static - * @param {cosmos.staking.v1beta1.MsgBeginRedelegate} message MsgBeginRedelegate - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgBeginRedelegate.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddress = ""; - object.validatorSrcAddress = ""; - object.validatorDstAddress = ""; - object.amount = null; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.validatorSrcAddress != null && message.hasOwnProperty("validatorSrcAddress")) - object.validatorSrcAddress = message.validatorSrcAddress; - if (message.validatorDstAddress != null && message.hasOwnProperty("validatorDstAddress")) - object.validatorDstAddress = message.validatorDstAddress; - if (message.amount != null && message.hasOwnProperty("amount")) - object.amount = $root.cosmos.base.v1beta1.Coin.toObject(message.amount, options); - return object; - }; - - /** - * Converts this MsgBeginRedelegate to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegate - * @instance - * @returns {Object.} JSON object - */ - MsgBeginRedelegate.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgBeginRedelegate; - })(v1beta1.MsgBeginRedelegate || {}); - - v1beta1.MsgBeginRedelegateResponse = (function(MsgBeginRedelegateResponse) { - - /** - * Properties of a MsgBeginRedelegateResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IMsgBeginRedelegateResponse - * @property {google.protobuf.ITimestamp|null} [completionTime] MsgBeginRedelegateResponse completionTime - */ - - /** - * Constructs a new MsgBeginRedelegateResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a MsgBeginRedelegateResponse. - * @implements IMsgBeginRedelegateResponse - * @constructor - * @param {cosmos.staking.v1beta1.IMsgBeginRedelegateResponse=} [properties] Properties to set - */ - function MsgBeginRedelegateResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgBeginRedelegateResponse completionTime. - * @member {google.protobuf.ITimestamp|null|undefined} completionTime - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegateResponse - * @instance - */ - MsgBeginRedelegateResponse.prototype.completionTime = null; - - /** - * Creates a new MsgBeginRedelegateResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegateResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgBeginRedelegateResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.MsgBeginRedelegateResponse} MsgBeginRedelegateResponse instance - */ - MsgBeginRedelegateResponse.create = function create(properties) { - return new MsgBeginRedelegateResponse(properties); - }; - - /** - * Encodes the specified MsgBeginRedelegateResponse message. Does not implicitly {@link cosmos.staking.v1beta1.MsgBeginRedelegateResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegateResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgBeginRedelegateResponse} message MsgBeginRedelegateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgBeginRedelegateResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.completionTime != null && Object.hasOwnProperty.call(message, "completionTime")) - $root.google.protobuf.Timestamp.encode(message.completionTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MsgBeginRedelegateResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.MsgBeginRedelegateResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegateResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgBeginRedelegateResponse} message MsgBeginRedelegateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgBeginRedelegateResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgBeginRedelegateResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.MsgBeginRedelegateResponse} MsgBeginRedelegateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgBeginRedelegateResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.MsgBeginRedelegateResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.completionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgBeginRedelegateResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.MsgBeginRedelegateResponse} MsgBeginRedelegateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgBeginRedelegateResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgBeginRedelegateResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegateResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgBeginRedelegateResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.completionTime != null && message.hasOwnProperty("completionTime")) { - let error = $root.google.protobuf.Timestamp.verify(message.completionTime); - if (error) - return "completionTime." + error; - } - return null; - }; - - /** - * Creates a MsgBeginRedelegateResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegateResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.MsgBeginRedelegateResponse} MsgBeginRedelegateResponse - */ - MsgBeginRedelegateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.MsgBeginRedelegateResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.MsgBeginRedelegateResponse(); - if (object.completionTime != null) { - if (typeof object.completionTime !== "object") - throw TypeError(".cosmos.staking.v1beta1.MsgBeginRedelegateResponse.completionTime: object expected"); - message.completionTime = $root.google.protobuf.Timestamp.fromObject(object.completionTime); - } - return message; - }; - - /** - * Creates a plain object from a MsgBeginRedelegateResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegateResponse - * @static - * @param {cosmos.staking.v1beta1.MsgBeginRedelegateResponse} message MsgBeginRedelegateResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgBeginRedelegateResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.completionTime = null; - if (message.completionTime != null && message.hasOwnProperty("completionTime")) - object.completionTime = $root.google.protobuf.Timestamp.toObject(message.completionTime, options); - return object; - }; - - /** - * Converts this MsgBeginRedelegateResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.MsgBeginRedelegateResponse - * @instance - * @returns {Object.} JSON object - */ - MsgBeginRedelegateResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgBeginRedelegateResponse; - })(v1beta1.MsgBeginRedelegateResponse || {}); - - v1beta1.MsgUndelegate = (function(MsgUndelegate) { - - /** - * Properties of a MsgUndelegate. - * @memberof cosmos.staking.v1beta1 - * @interface IMsgUndelegate - * @property {string|null} [delegatorAddress] MsgUndelegate delegatorAddress - * @property {string|null} [validatorAddress] MsgUndelegate validatorAddress - * @property {cosmos.base.v1beta1.ICoin|null} [amount] MsgUndelegate amount - */ - - /** - * Constructs a new MsgUndelegate. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a MsgUndelegate. - * @implements IMsgUndelegate - * @constructor - * @param {cosmos.staking.v1beta1.IMsgUndelegate=} [properties] Properties to set - */ - function MsgUndelegate(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgUndelegate delegatorAddress. - * @member {string} delegatorAddress - * @memberof cosmos.staking.v1beta1.MsgUndelegate - * @instance - */ - MsgUndelegate.prototype.delegatorAddress = ""; - - /** - * MsgUndelegate validatorAddress. - * @member {string} validatorAddress - * @memberof cosmos.staking.v1beta1.MsgUndelegate - * @instance - */ - MsgUndelegate.prototype.validatorAddress = ""; - - /** - * MsgUndelegate amount. - * @member {cosmos.base.v1beta1.ICoin|null|undefined} amount - * @memberof cosmos.staking.v1beta1.MsgUndelegate - * @instance - */ - MsgUndelegate.prototype.amount = null; - - /** - * Creates a new MsgUndelegate instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.MsgUndelegate - * @static - * @param {cosmos.staking.v1beta1.IMsgUndelegate=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.MsgUndelegate} MsgUndelegate instance - */ - MsgUndelegate.create = function create(properties) { - return new MsgUndelegate(properties); - }; - - /** - * Encodes the specified MsgUndelegate message. Does not implicitly {@link cosmos.staking.v1beta1.MsgUndelegate.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.MsgUndelegate - * @static - * @param {cosmos.staking.v1beta1.IMsgUndelegate} message MsgUndelegate message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUndelegate.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.delegatorAddress != null && Object.hasOwnProperty.call(message, "delegatorAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.delegatorAddress); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.validatorAddress); - if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) - $root.cosmos.base.v1beta1.Coin.encode(message.amount, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MsgUndelegate message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.MsgUndelegate.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.MsgUndelegate - * @static - * @param {cosmos.staking.v1beta1.IMsgUndelegate} message MsgUndelegate message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUndelegate.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgUndelegate message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.MsgUndelegate - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.MsgUndelegate} MsgUndelegate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUndelegate.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.MsgUndelegate(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.delegatorAddress = reader.string(); - break; - case 2: - message.validatorAddress = reader.string(); - break; - case 3: - message.amount = $root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgUndelegate message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.MsgUndelegate - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.MsgUndelegate} MsgUndelegate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUndelegate.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgUndelegate message. - * @function verify - * @memberof cosmos.staking.v1beta1.MsgUndelegate - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgUndelegate.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - if (!$util.isString(message.delegatorAddress)) - return "delegatorAddress: string expected"; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!$util.isString(message.validatorAddress)) - return "validatorAddress: string expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.amount); - if (error) - return "amount." + error; - } - return null; - }; - - /** - * Creates a MsgUndelegate message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.MsgUndelegate - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.MsgUndelegate} MsgUndelegate - */ - MsgUndelegate.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.MsgUndelegate) - return object; - let message = new $root.cosmos.staking.v1beta1.MsgUndelegate(); - if (object.delegatorAddress != null) - message.delegatorAddress = String(object.delegatorAddress); - if (object.validatorAddress != null) - message.validatorAddress = String(object.validatorAddress); - if (object.amount != null) { - if (typeof object.amount !== "object") - throw TypeError(".cosmos.staking.v1beta1.MsgUndelegate.amount: object expected"); - message.amount = $root.cosmos.base.v1beta1.Coin.fromObject(object.amount); - } - return message; - }; - - /** - * Creates a plain object from a MsgUndelegate message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.MsgUndelegate - * @static - * @param {cosmos.staking.v1beta1.MsgUndelegate} message MsgUndelegate - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgUndelegate.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.delegatorAddress = ""; - object.validatorAddress = ""; - object.amount = null; - } - if (message.delegatorAddress != null && message.hasOwnProperty("delegatorAddress")) - object.delegatorAddress = message.delegatorAddress; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = message.validatorAddress; - if (message.amount != null && message.hasOwnProperty("amount")) - object.amount = $root.cosmos.base.v1beta1.Coin.toObject(message.amount, options); - return object; - }; - - /** - * Converts this MsgUndelegate to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.MsgUndelegate - * @instance - * @returns {Object.} JSON object - */ - MsgUndelegate.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgUndelegate; - })(v1beta1.MsgUndelegate || {}); - - v1beta1.MsgUndelegateResponse = (function(MsgUndelegateResponse) { - - /** - * Properties of a MsgUndelegateResponse. - * @memberof cosmos.staking.v1beta1 - * @interface IMsgUndelegateResponse - * @property {google.protobuf.ITimestamp|null} [completionTime] MsgUndelegateResponse completionTime - */ - - /** - * Constructs a new MsgUndelegateResponse. - * @memberof cosmos.staking.v1beta1 - * @classdesc Represents a MsgUndelegateResponse. - * @implements IMsgUndelegateResponse - * @constructor - * @param {cosmos.staking.v1beta1.IMsgUndelegateResponse=} [properties] Properties to set - */ - function MsgUndelegateResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgUndelegateResponse completionTime. - * @member {google.protobuf.ITimestamp|null|undefined} completionTime - * @memberof cosmos.staking.v1beta1.MsgUndelegateResponse - * @instance - */ - MsgUndelegateResponse.prototype.completionTime = null; - - /** - * Creates a new MsgUndelegateResponse instance using the specified properties. - * @function create - * @memberof cosmos.staking.v1beta1.MsgUndelegateResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgUndelegateResponse=} [properties] Properties to set - * @returns {cosmos.staking.v1beta1.MsgUndelegateResponse} MsgUndelegateResponse instance - */ - MsgUndelegateResponse.create = function create(properties) { - return new MsgUndelegateResponse(properties); - }; - - /** - * Encodes the specified MsgUndelegateResponse message. Does not implicitly {@link cosmos.staking.v1beta1.MsgUndelegateResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.staking.v1beta1.MsgUndelegateResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgUndelegateResponse} message MsgUndelegateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUndelegateResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.completionTime != null && Object.hasOwnProperty.call(message, "completionTime")) - $root.google.protobuf.Timestamp.encode(message.completionTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MsgUndelegateResponse message, length delimited. Does not implicitly {@link cosmos.staking.v1beta1.MsgUndelegateResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.staking.v1beta1.MsgUndelegateResponse - * @static - * @param {cosmos.staking.v1beta1.IMsgUndelegateResponse} message MsgUndelegateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUndelegateResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgUndelegateResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.staking.v1beta1.MsgUndelegateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.staking.v1beta1.MsgUndelegateResponse} MsgUndelegateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUndelegateResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.staking.v1beta1.MsgUndelegateResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.completionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgUndelegateResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.staking.v1beta1.MsgUndelegateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.staking.v1beta1.MsgUndelegateResponse} MsgUndelegateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUndelegateResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgUndelegateResponse message. - * @function verify - * @memberof cosmos.staking.v1beta1.MsgUndelegateResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgUndelegateResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.completionTime != null && message.hasOwnProperty("completionTime")) { - let error = $root.google.protobuf.Timestamp.verify(message.completionTime); - if (error) - return "completionTime." + error; - } - return null; - }; - - /** - * Creates a MsgUndelegateResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.staking.v1beta1.MsgUndelegateResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.staking.v1beta1.MsgUndelegateResponse} MsgUndelegateResponse - */ - MsgUndelegateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.staking.v1beta1.MsgUndelegateResponse) - return object; - let message = new $root.cosmos.staking.v1beta1.MsgUndelegateResponse(); - if (object.completionTime != null) { - if (typeof object.completionTime !== "object") - throw TypeError(".cosmos.staking.v1beta1.MsgUndelegateResponse.completionTime: object expected"); - message.completionTime = $root.google.protobuf.Timestamp.fromObject(object.completionTime); - } - return message; - }; - - /** - * Creates a plain object from a MsgUndelegateResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.staking.v1beta1.MsgUndelegateResponse - * @static - * @param {cosmos.staking.v1beta1.MsgUndelegateResponse} message MsgUndelegateResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgUndelegateResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.completionTime = null; - if (message.completionTime != null && message.hasOwnProperty("completionTime")) - object.completionTime = $root.google.protobuf.Timestamp.toObject(message.completionTime, options); - return object; - }; - - /** - * Converts this MsgUndelegateResponse to JSON. - * @function toJSON - * @memberof cosmos.staking.v1beta1.MsgUndelegateResponse - * @instance - * @returns {Object.} JSON object - */ - MsgUndelegateResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgUndelegateResponse; - })(v1beta1.MsgUndelegateResponse || {}); - - return v1beta1; - })(staking.v1beta1 || {}); - - return staking; - })(cosmos.staking || {}); - - /** - * Namespace tx. - * @memberof cosmos - * @namespace - */ - - cosmos.tx = (function(tx) { - - /** - * Namespace signing. - * @memberof cosmos.tx - * @namespace - */ - - tx.signing = (function(signing) { - - /** - * Namespace v1beta1. - * @memberof cosmos.tx.signing - * @namespace - */ - - signing.v1beta1 = (function(v1beta1) { - - /** - * SignMode enum. - * @name cosmos.tx.signing.v1beta1.SignMode - * @enum {string} - * @property {number} SIGN_MODE_UNSPECIFIED=0 SIGN_MODE_UNSPECIFIED value - * @property {number} SIGN_MODE_DIRECT=1 SIGN_MODE_DIRECT value - * @property {number} SIGN_MODE_TEXTUAL=2 SIGN_MODE_TEXTUAL value - * @property {number} SIGN_MODE_LEGACY_AMINO_JSON=127 SIGN_MODE_LEGACY_AMINO_JSON value - */ - v1beta1.SignMode = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "SIGN_MODE_UNSPECIFIED"] = 0; - values[valuesById[1] = "SIGN_MODE_DIRECT"] = 1; - values[valuesById[2] = "SIGN_MODE_TEXTUAL"] = 2; - values[valuesById[127] = "SIGN_MODE_LEGACY_AMINO_JSON"] = 127; - return values; - })(); - - v1beta1.SignatureDescriptors = (function(SignatureDescriptors) { - - /** - * Properties of a SignatureDescriptors. - * @memberof cosmos.tx.signing.v1beta1 - * @interface ISignatureDescriptors - * @property {Array.|null} [signatures] SignatureDescriptors signatures - */ - - /** - * Constructs a new SignatureDescriptors. - * @memberof cosmos.tx.signing.v1beta1 - * @classdesc Represents a SignatureDescriptors. - * @implements ISignatureDescriptors - * @constructor - * @param {cosmos.tx.signing.v1beta1.ISignatureDescriptors=} [properties] Properties to set - */ - function SignatureDescriptors(properties) { - this.signatures = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SignatureDescriptors signatures. - * @member {Array.} signatures - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptors - * @instance - */ - SignatureDescriptors.prototype.signatures = $util.emptyArray; - - /** - * Creates a new SignatureDescriptors instance using the specified properties. - * @function create - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptors - * @static - * @param {cosmos.tx.signing.v1beta1.ISignatureDescriptors=} [properties] Properties to set - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptors} SignatureDescriptors instance - */ - SignatureDescriptors.create = function create(properties) { - return new SignatureDescriptors(properties); - }; - - /** - * Encodes the specified SignatureDescriptors message. Does not implicitly {@link cosmos.tx.signing.v1beta1.SignatureDescriptors.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptors - * @static - * @param {cosmos.tx.signing.v1beta1.ISignatureDescriptors} message SignatureDescriptors message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignatureDescriptors.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.signatures != null && message.signatures.length) - for (let i = 0; i < message.signatures.length; ++i) - $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.encode(message.signatures[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SignatureDescriptors message, length delimited. Does not implicitly {@link cosmos.tx.signing.v1beta1.SignatureDescriptors.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptors - * @static - * @param {cosmos.tx.signing.v1beta1.ISignatureDescriptors} message SignatureDescriptors message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignatureDescriptors.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SignatureDescriptors message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptors - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptors} SignatureDescriptors - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignatureDescriptors.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.signing.v1beta1.SignatureDescriptors(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.signatures && message.signatures.length)) - message.signatures = []; - message.signatures.push($root.cosmos.tx.signing.v1beta1.SignatureDescriptor.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SignatureDescriptors message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptors - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptors} SignatureDescriptors - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignatureDescriptors.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SignatureDescriptors message. - * @function verify - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptors - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SignatureDescriptors.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.signatures != null && message.hasOwnProperty("signatures")) { - if (!Array.isArray(message.signatures)) - return "signatures: array expected"; - for (let i = 0; i < message.signatures.length; ++i) { - let error = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.verify(message.signatures[i]); - if (error) - return "signatures." + error; - } - } - return null; - }; - - /** - * Creates a SignatureDescriptors message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptors - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptors} SignatureDescriptors - */ - SignatureDescriptors.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.signing.v1beta1.SignatureDescriptors) - return object; - let message = new $root.cosmos.tx.signing.v1beta1.SignatureDescriptors(); - if (object.signatures) { - if (!Array.isArray(object.signatures)) - throw TypeError(".cosmos.tx.signing.v1beta1.SignatureDescriptors.signatures: array expected"); - message.signatures = []; - for (let i = 0; i < object.signatures.length; ++i) { - if (typeof object.signatures[i] !== "object") - throw TypeError(".cosmos.tx.signing.v1beta1.SignatureDescriptors.signatures: object expected"); - message.signatures[i] = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.fromObject(object.signatures[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a SignatureDescriptors message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptors - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptors} message SignatureDescriptors - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SignatureDescriptors.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.signatures = []; - if (message.signatures && message.signatures.length) { - object.signatures = []; - for (let j = 0; j < message.signatures.length; ++j) - object.signatures[j] = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.toObject(message.signatures[j], options); - } - return object; - }; - - /** - * Converts this SignatureDescriptors to JSON. - * @function toJSON - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptors - * @instance - * @returns {Object.} JSON object - */ - SignatureDescriptors.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SignatureDescriptors; - })(v1beta1.SignatureDescriptors || {}); - - v1beta1.SignatureDescriptor = (function(SignatureDescriptor) { - - /** - * Properties of a SignatureDescriptor. - * @memberof cosmos.tx.signing.v1beta1 - * @interface ISignatureDescriptor - * @property {google.protobuf.IAny|null} [publicKey] SignatureDescriptor publicKey - * @property {cosmos.tx.signing.v1beta1.SignatureDescriptor.IData|null} [data] SignatureDescriptor data - * @property {number|Long|null} [sequence] SignatureDescriptor sequence - */ - - /** - * Constructs a new SignatureDescriptor. - * @memberof cosmos.tx.signing.v1beta1 - * @classdesc Represents a SignatureDescriptor. - * @implements ISignatureDescriptor - * @constructor - * @param {cosmos.tx.signing.v1beta1.ISignatureDescriptor=} [properties] Properties to set - */ - function SignatureDescriptor(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SignatureDescriptor publicKey. - * @member {google.protobuf.IAny|null|undefined} publicKey - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @instance - */ - SignatureDescriptor.prototype.publicKey = null; - - /** - * SignatureDescriptor data. - * @member {cosmos.tx.signing.v1beta1.SignatureDescriptor.IData|null|undefined} data - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @instance - */ - SignatureDescriptor.prototype.data = null; - - /** - * SignatureDescriptor sequence. - * @member {number|Long} sequence - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @instance - */ - SignatureDescriptor.prototype.sequence = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new SignatureDescriptor instance using the specified properties. - * @function create - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @static - * @param {cosmos.tx.signing.v1beta1.ISignatureDescriptor=} [properties] Properties to set - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor} SignatureDescriptor instance - */ - SignatureDescriptor.create = function create(properties) { - return new SignatureDescriptor(properties); - }; - - /** - * Encodes the specified SignatureDescriptor message. Does not implicitly {@link cosmos.tx.signing.v1beta1.SignatureDescriptor.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @static - * @param {cosmos.tx.signing.v1beta1.ISignatureDescriptor} message SignatureDescriptor message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignatureDescriptor.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.publicKey != null && Object.hasOwnProperty.call(message, "publicKey")) - $root.google.protobuf.Any.encode(message.publicKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.encode(message.data, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.sequence != null && Object.hasOwnProperty.call(message, "sequence")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.sequence); - return writer; - }; - - /** - * Encodes the specified SignatureDescriptor message, length delimited. Does not implicitly {@link cosmos.tx.signing.v1beta1.SignatureDescriptor.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @static - * @param {cosmos.tx.signing.v1beta1.ISignatureDescriptor} message SignatureDescriptor message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignatureDescriptor.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SignatureDescriptor message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor} SignatureDescriptor - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignatureDescriptor.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.signing.v1beta1.SignatureDescriptor(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.publicKey = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 2: - message.data = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.decode(reader, reader.uint32()); - break; - case 3: - message.sequence = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SignatureDescriptor message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor} SignatureDescriptor - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignatureDescriptor.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SignatureDescriptor message. - * @function verify - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SignatureDescriptor.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.publicKey != null && message.hasOwnProperty("publicKey")) { - let error = $root.google.protobuf.Any.verify(message.publicKey); - if (error) - return "publicKey." + error; - } - if (message.data != null && message.hasOwnProperty("data")) { - let error = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.verify(message.data); - if (error) - return "data." + error; - } - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (!$util.isInteger(message.sequence) && !(message.sequence && $util.isInteger(message.sequence.low) && $util.isInteger(message.sequence.high))) - return "sequence: integer|Long expected"; - return null; - }; - - /** - * Creates a SignatureDescriptor message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor} SignatureDescriptor - */ - SignatureDescriptor.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.signing.v1beta1.SignatureDescriptor) - return object; - let message = new $root.cosmos.tx.signing.v1beta1.SignatureDescriptor(); - if (object.publicKey != null) { - if (typeof object.publicKey !== "object") - throw TypeError(".cosmos.tx.signing.v1beta1.SignatureDescriptor.publicKey: object expected"); - message.publicKey = $root.google.protobuf.Any.fromObject(object.publicKey); - } - if (object.data != null) { - if (typeof object.data !== "object") - throw TypeError(".cosmos.tx.signing.v1beta1.SignatureDescriptor.data: object expected"); - message.data = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.fromObject(object.data); - } - if (object.sequence != null) - if ($util.Long) - (message.sequence = $util.Long.fromValue(object.sequence)).unsigned = true; - else if (typeof object.sequence === "string") - message.sequence = parseInt(object.sequence, 10); - else if (typeof object.sequence === "number") - message.sequence = object.sequence; - else if (typeof object.sequence === "object") - message.sequence = new $util.LongBits(object.sequence.low >>> 0, object.sequence.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a SignatureDescriptor message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor} message SignatureDescriptor - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SignatureDescriptor.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.publicKey = null; - object.data = null; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.sequence = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.sequence = options.longs === String ? "0" : 0; - } - if (message.publicKey != null && message.hasOwnProperty("publicKey")) - object.publicKey = $root.google.protobuf.Any.toObject(message.publicKey, options); - if (message.data != null && message.hasOwnProperty("data")) - object.data = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.toObject(message.data, options); - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (typeof message.sequence === "number") - object.sequence = options.longs === String ? String(message.sequence) : message.sequence; - else - object.sequence = options.longs === String ? $util.Long.prototype.toString.call(message.sequence) : options.longs === Number ? new $util.LongBits(message.sequence.low >>> 0, message.sequence.high >>> 0).toNumber(true) : message.sequence; - return object; - }; - - /** - * Converts this SignatureDescriptor to JSON. - * @function toJSON - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @instance - * @returns {Object.} JSON object - */ - SignatureDescriptor.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - SignatureDescriptor.Data = (function(Data) { - - /** - * Properties of a Data. - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @interface IData - * @property {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.ISingle|null} [single] Data single - * @property {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.IMulti|null} [multi] Data multi - */ - - /** - * Constructs a new Data. - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor - * @classdesc Represents a Data. - * @implements IData - * @constructor - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.IData=} [properties] Properties to set - */ - function Data(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Data single. - * @member {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.ISingle|null|undefined} single - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @instance - */ - Data.prototype.single = null; - - /** - * Data multi. - * @member {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.IMulti|null|undefined} multi - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @instance - */ - Data.prototype.multi = null; - - // OneOf field names bound to virtual getters and setters - let $oneOfFields; - - /** - * Data sum. - * @member {"single"|"multi"|undefined} sum - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @instance - */ - Object.defineProperty(Data.prototype, "sum", { - get: $util.oneOfGetter($oneOfFields = ["single", "multi"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Data instance using the specified properties. - * @function create - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.IData=} [properties] Properties to set - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data} Data instance - */ - Data.create = function create(properties) { - return new Data(properties); - }; - - /** - * Encodes the specified Data message. Does not implicitly {@link cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.IData} message Data message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Data.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.single != null && Object.hasOwnProperty.call(message, "single")) - $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single.encode(message.single, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.multi != null && Object.hasOwnProperty.call(message, "multi")) - $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi.encode(message.multi, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Data message, length delimited. Does not implicitly {@link cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.IData} message Data message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Data.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Data message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data} Data - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Data.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.single = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single.decode(reader, reader.uint32()); - break; - case 2: - message.multi = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Data message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data} Data - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Data.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Data message. - * @function verify - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Data.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - let properties = {}; - if (message.single != null && message.hasOwnProperty("single")) { - properties.sum = 1; - { - let error = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single.verify(message.single); - if (error) - return "single." + error; - } - } - if (message.multi != null && message.hasOwnProperty("multi")) { - if (properties.sum === 1) - return "sum: multiple values"; - properties.sum = 1; - { - let error = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi.verify(message.multi); - if (error) - return "multi." + error; - } - } - return null; - }; - - /** - * Creates a Data message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data} Data - */ - Data.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data) - return object; - let message = new $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data(); - if (object.single != null) { - if (typeof object.single !== "object") - throw TypeError(".cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.single: object expected"); - message.single = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single.fromObject(object.single); - } - if (object.multi != null) { - if (typeof object.multi !== "object") - throw TypeError(".cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.multi: object expected"); - message.multi = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi.fromObject(object.multi); - } - return message; - }; - - /** - * Creates a plain object from a Data message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data} message Data - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Data.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (message.single != null && message.hasOwnProperty("single")) { - object.single = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single.toObject(message.single, options); - if (options.oneofs) - object.sum = "single"; - } - if (message.multi != null && message.hasOwnProperty("multi")) { - object.multi = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi.toObject(message.multi, options); - if (options.oneofs) - object.sum = "multi"; - } - return object; - }; - - /** - * Converts this Data to JSON. - * @function toJSON - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @instance - * @returns {Object.} JSON object - */ - Data.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - Data.Single = (function(Single) { - - /** - * Properties of a Single. - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @interface ISingle - * @property {cosmos.tx.signing.v1beta1.SignMode|null} [mode] Single mode - * @property {Uint8Array|null} [signature] Single signature - */ - - /** - * Constructs a new Single. - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @classdesc Represents a Single. - * @implements ISingle - * @constructor - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.ISingle=} [properties] Properties to set - */ - function Single(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Single mode. - * @member {cosmos.tx.signing.v1beta1.SignMode} mode - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single - * @instance - */ - Single.prototype.mode = 0; - - /** - * Single signature. - * @member {Uint8Array} signature - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single - * @instance - */ - Single.prototype.signature = $util.newBuffer([]); - - /** - * Creates a new Single instance using the specified properties. - * @function create - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.ISingle=} [properties] Properties to set - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single} Single instance - */ - Single.create = function create(properties) { - return new Single(properties); - }; - - /** - * Encodes the specified Single message. Does not implicitly {@link cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.ISingle} message Single message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Single.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.mode != null && Object.hasOwnProperty.call(message, "mode")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.mode); - if (message.signature != null && Object.hasOwnProperty.call(message, "signature")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.signature); - return writer; - }; - - /** - * Encodes the specified Single message, length delimited. Does not implicitly {@link cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.ISingle} message Single message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Single.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Single message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single} Single - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Single.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.mode = reader.int32(); - break; - case 2: - message.signature = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Single message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single} Single - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Single.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Single message. - * @function verify - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Single.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.mode != null && message.hasOwnProperty("mode")) - switch (message.mode) { - default: - return "mode: enum value expected"; - case 0: - case 1: - case 2: - case 127: - break; - } - if (message.signature != null && message.hasOwnProperty("signature")) - if (!(message.signature && typeof message.signature.length === "number" || $util.isString(message.signature))) - return "signature: buffer expected"; - return null; - }; - - /** - * Creates a Single message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single} Single - */ - Single.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single) - return object; - let message = new $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single(); - switch (object.mode) { - case "SIGN_MODE_UNSPECIFIED": - case 0: - message.mode = 0; - break; - case "SIGN_MODE_DIRECT": - case 1: - message.mode = 1; - break; - case "SIGN_MODE_TEXTUAL": - case 2: - message.mode = 2; - break; - case "SIGN_MODE_LEGACY_AMINO_JSON": - case 127: - message.mode = 127; - break; - } - if (object.signature != null) - if (typeof object.signature === "string") - $util.base64.decode(object.signature, message.signature = $util.newBuffer($util.base64.length(object.signature)), 0); - else if (object.signature.length) - message.signature = object.signature; - return message; - }; - - /** - * Creates a plain object from a Single message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single} message Single - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Single.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.mode = options.enums === String ? "SIGN_MODE_UNSPECIFIED" : 0; - if (options.bytes === String) - object.signature = ""; - else { - object.signature = []; - if (options.bytes !== Array) - object.signature = $util.newBuffer(object.signature); - } - } - if (message.mode != null && message.hasOwnProperty("mode")) - object.mode = options.enums === String ? $root.cosmos.tx.signing.v1beta1.SignMode[message.mode] : message.mode; - if (message.signature != null && message.hasOwnProperty("signature")) - object.signature = options.bytes === String ? $util.base64.encode(message.signature, 0, message.signature.length) : options.bytes === Array ? Array.prototype.slice.call(message.signature) : message.signature; - return object; - }; - - /** - * Converts this Single to JSON. - * @function toJSON - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single - * @instance - * @returns {Object.} JSON object - */ - Single.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Single; - })(Data.Single || {}); - - Data.Multi = (function(Multi) { - - /** - * Properties of a Multi. - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @interface IMulti - * @property {cosmos.crypto.multisig.v1beta1.ICompactBitArray|null} [bitarray] Multi bitarray - * @property {Array.|null} [signatures] Multi signatures - */ - - /** - * Constructs a new Multi. - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data - * @classdesc Represents a Multi. - * @implements IMulti - * @constructor - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.IMulti=} [properties] Properties to set - */ - function Multi(properties) { - this.signatures = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Multi bitarray. - * @member {cosmos.crypto.multisig.v1beta1.ICompactBitArray|null|undefined} bitarray - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi - * @instance - */ - Multi.prototype.bitarray = null; - - /** - * Multi signatures. - * @member {Array.} signatures - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi - * @instance - */ - Multi.prototype.signatures = $util.emptyArray; - - /** - * Creates a new Multi instance using the specified properties. - * @function create - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.IMulti=} [properties] Properties to set - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi} Multi instance - */ - Multi.create = function create(properties) { - return new Multi(properties); - }; - - /** - * Encodes the specified Multi message. Does not implicitly {@link cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.IMulti} message Multi message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Multi.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.bitarray != null && Object.hasOwnProperty.call(message, "bitarray")) - $root.cosmos.crypto.multisig.v1beta1.CompactBitArray.encode(message.bitarray, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.signatures != null && message.signatures.length) - for (let i = 0; i < message.signatures.length; ++i) - $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.encode(message.signatures[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Multi message, length delimited. Does not implicitly {@link cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.IMulti} message Multi message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Multi.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Multi message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi} Multi - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Multi.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.bitarray = $root.cosmos.crypto.multisig.v1beta1.CompactBitArray.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.signatures && message.signatures.length)) - message.signatures = []; - message.signatures.push($root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Multi message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi} Multi - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Multi.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Multi message. - * @function verify - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Multi.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.bitarray != null && message.hasOwnProperty("bitarray")) { - let error = $root.cosmos.crypto.multisig.v1beta1.CompactBitArray.verify(message.bitarray); - if (error) - return "bitarray." + error; - } - if (message.signatures != null && message.hasOwnProperty("signatures")) { - if (!Array.isArray(message.signatures)) - return "signatures: array expected"; - for (let i = 0; i < message.signatures.length; ++i) { - let error = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.verify(message.signatures[i]); - if (error) - return "signatures." + error; - } - } - return null; - }; - - /** - * Creates a Multi message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi} Multi - */ - Multi.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi) - return object; - let message = new $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi(); - if (object.bitarray != null) { - if (typeof object.bitarray !== "object") - throw TypeError(".cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi.bitarray: object expected"); - message.bitarray = $root.cosmos.crypto.multisig.v1beta1.CompactBitArray.fromObject(object.bitarray); - } - if (object.signatures) { - if (!Array.isArray(object.signatures)) - throw TypeError(".cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi.signatures: array expected"); - message.signatures = []; - for (let i = 0; i < object.signatures.length; ++i) { - if (typeof object.signatures[i] !== "object") - throw TypeError(".cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi.signatures: object expected"); - message.signatures[i] = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.fromObject(object.signatures[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a Multi message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi - * @static - * @param {cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi} message Multi - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Multi.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.signatures = []; - if (options.defaults) - object.bitarray = null; - if (message.bitarray != null && message.hasOwnProperty("bitarray")) - object.bitarray = $root.cosmos.crypto.multisig.v1beta1.CompactBitArray.toObject(message.bitarray, options); - if (message.signatures && message.signatures.length) { - object.signatures = []; - for (let j = 0; j < message.signatures.length; ++j) - object.signatures[j] = $root.cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.toObject(message.signatures[j], options); - } - return object; - }; - - /** - * Converts this Multi to JSON. - * @function toJSON - * @memberof cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi - * @instance - * @returns {Object.} JSON object - */ - Multi.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Multi; - })(Data.Multi || {}); - - return Data; - })(SignatureDescriptor.Data || {}); - - return SignatureDescriptor; - })(v1beta1.SignatureDescriptor || {}); - - return v1beta1; - })(signing.v1beta1 || {}); - - return signing; - })(tx.signing || {}); - - /** - * Namespace v1beta1. - * @memberof cosmos.tx - * @namespace - */ - - tx.v1beta1 = (function(v1beta1) { - - v1beta1.Service = (function(Service) { - - /** - * Constructs a new Service service. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a Service - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Service(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Service.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Service; - - /** - * Creates new Service service using the specified rpc implementation. - * @function create - * @memberof cosmos.tx.v1beta1.Service - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Service} RPC service. Useful where requests and/or responses are streamed. - */ - Service.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.tx.v1beta1.Service#simulate}. - * @memberof cosmos.tx.v1beta1.Service - * @typedef SimulateCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.tx.v1beta1.ISimulateResponse} [response] SimulateResponse - */ - - /** - * Calls Simulate. - * @function simulate - * @memberof cosmos.tx.v1beta1.Service - * @instance - * @param {cosmos.tx.v1beta1.ISimulateRequest} request SimulateRequest message or plain object - * @param {cosmos.tx.v1beta1.Service.SimulateCallback} callback Node-style callback called with the error, if any, and SimulateResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Service.prototype.simulate = function simulate(request, callback) { - return this.rpcCall(simulate, $root.cosmos.tx.v1beta1.SimulateRequest, $root.cosmos.tx.v1beta1.SimulateResponse, request, callback); - }, "name", { value: "Simulate" }); - - /** - * Calls Simulate. - * @function simulate - * @memberof cosmos.tx.v1beta1.Service - * @instance - * @param {cosmos.tx.v1beta1.ISimulateRequest} request SimulateRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.tx.v1beta1.Service#getTx}. - * @memberof cosmos.tx.v1beta1.Service - * @typedef GetTxCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.tx.v1beta1.IGetTxResponse} [response] GetTxResponse - */ - - /** - * Calls GetTx. - * @function getTx - * @memberof cosmos.tx.v1beta1.Service - * @instance - * @param {cosmos.tx.v1beta1.IGetTxRequest} request GetTxRequest message or plain object - * @param {cosmos.tx.v1beta1.Service.GetTxCallback} callback Node-style callback called with the error, if any, and GetTxResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Service.prototype.getTx = function getTx(request, callback) { - return this.rpcCall(getTx, $root.cosmos.tx.v1beta1.GetTxRequest, $root.cosmos.tx.v1beta1.GetTxResponse, request, callback); - }, "name", { value: "GetTx" }); - - /** - * Calls GetTx. - * @function getTx - * @memberof cosmos.tx.v1beta1.Service - * @instance - * @param {cosmos.tx.v1beta1.IGetTxRequest} request GetTxRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.tx.v1beta1.Service#broadcastTx}. - * @memberof cosmos.tx.v1beta1.Service - * @typedef BroadcastTxCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.tx.v1beta1.IBroadcastTxResponse} [response] BroadcastTxResponse - */ - - /** - * Calls BroadcastTx. - * @function broadcastTx - * @memberof cosmos.tx.v1beta1.Service - * @instance - * @param {cosmos.tx.v1beta1.IBroadcastTxRequest} request BroadcastTxRequest message or plain object - * @param {cosmos.tx.v1beta1.Service.BroadcastTxCallback} callback Node-style callback called with the error, if any, and BroadcastTxResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Service.prototype.broadcastTx = function broadcastTx(request, callback) { - return this.rpcCall(broadcastTx, $root.cosmos.tx.v1beta1.BroadcastTxRequest, $root.cosmos.tx.v1beta1.BroadcastTxResponse, request, callback); - }, "name", { value: "BroadcastTx" }); - - /** - * Calls BroadcastTx. - * @function broadcastTx - * @memberof cosmos.tx.v1beta1.Service - * @instance - * @param {cosmos.tx.v1beta1.IBroadcastTxRequest} request BroadcastTxRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.tx.v1beta1.Service#getTxsEvent}. - * @memberof cosmos.tx.v1beta1.Service - * @typedef GetTxsEventCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.tx.v1beta1.IGetTxsEventResponse} [response] GetTxsEventResponse - */ - - /** - * Calls GetTxsEvent. - * @function getTxsEvent - * @memberof cosmos.tx.v1beta1.Service - * @instance - * @param {cosmos.tx.v1beta1.IGetTxsEventRequest} request GetTxsEventRequest message or plain object - * @param {cosmos.tx.v1beta1.Service.GetTxsEventCallback} callback Node-style callback called with the error, if any, and GetTxsEventResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Service.prototype.getTxsEvent = function getTxsEvent(request, callback) { - return this.rpcCall(getTxsEvent, $root.cosmos.tx.v1beta1.GetTxsEventRequest, $root.cosmos.tx.v1beta1.GetTxsEventResponse, request, callback); - }, "name", { value: "GetTxsEvent" }); - - /** - * Calls GetTxsEvent. - * @function getTxsEvent - * @memberof cosmos.tx.v1beta1.Service - * @instance - * @param {cosmos.tx.v1beta1.IGetTxsEventRequest} request GetTxsEventRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Service; - })(v1beta1.Service || {}); - - v1beta1.GetTxsEventRequest = (function(GetTxsEventRequest) { - - /** - * Properties of a GetTxsEventRequest. - * @memberof cosmos.tx.v1beta1 - * @interface IGetTxsEventRequest - * @property {Array.|null} [events] GetTxsEventRequest events - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] GetTxsEventRequest pagination - * @property {cosmos.tx.v1beta1.OrderBy|null} [orderBy] GetTxsEventRequest orderBy - */ - - /** - * Constructs a new GetTxsEventRequest. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a GetTxsEventRequest. - * @implements IGetTxsEventRequest - * @constructor - * @param {cosmos.tx.v1beta1.IGetTxsEventRequest=} [properties] Properties to set - */ - function GetTxsEventRequest(properties) { - this.events = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetTxsEventRequest events. - * @member {Array.} events - * @memberof cosmos.tx.v1beta1.GetTxsEventRequest - * @instance - */ - GetTxsEventRequest.prototype.events = $util.emptyArray; - - /** - * GetTxsEventRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof cosmos.tx.v1beta1.GetTxsEventRequest - * @instance - */ - GetTxsEventRequest.prototype.pagination = null; - - /** - * GetTxsEventRequest orderBy. - * @member {cosmos.tx.v1beta1.OrderBy} orderBy - * @memberof cosmos.tx.v1beta1.GetTxsEventRequest - * @instance - */ - GetTxsEventRequest.prototype.orderBy = 0; - - /** - * Creates a new GetTxsEventRequest instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.GetTxsEventRequest - * @static - * @param {cosmos.tx.v1beta1.IGetTxsEventRequest=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.GetTxsEventRequest} GetTxsEventRequest instance - */ - GetTxsEventRequest.create = function create(properties) { - return new GetTxsEventRequest(properties); - }; - - /** - * Encodes the specified GetTxsEventRequest message. Does not implicitly {@link cosmos.tx.v1beta1.GetTxsEventRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.GetTxsEventRequest - * @static - * @param {cosmos.tx.v1beta1.IGetTxsEventRequest} message GetTxsEventRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetTxsEventRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.events != null && message.events.length) - for (let i = 0; i < message.events.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.events[i]); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.orderBy); - return writer; - }; - - /** - * Encodes the specified GetTxsEventRequest message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.GetTxsEventRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.GetTxsEventRequest - * @static - * @param {cosmos.tx.v1beta1.IGetTxsEventRequest} message GetTxsEventRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetTxsEventRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetTxsEventRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.GetTxsEventRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.GetTxsEventRequest} GetTxsEventRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTxsEventRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.GetTxsEventRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.events && message.events.length)) - message.events = []; - message.events.push(reader.string()); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - case 3: - message.orderBy = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetTxsEventRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.GetTxsEventRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.GetTxsEventRequest} GetTxsEventRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTxsEventRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetTxsEventRequest message. - * @function verify - * @memberof cosmos.tx.v1beta1.GetTxsEventRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetTxsEventRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.events != null && message.hasOwnProperty("events")) { - if (!Array.isArray(message.events)) - return "events: array expected"; - for (let i = 0; i < message.events.length; ++i) - if (!$util.isString(message.events[i])) - return "events: string[] expected"; - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - if (message.orderBy != null && message.hasOwnProperty("orderBy")) - switch (message.orderBy) { - default: - return "orderBy: enum value expected"; - case 0: - case 1: - case 2: - break; - } - return null; - }; - - /** - * Creates a GetTxsEventRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.GetTxsEventRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.GetTxsEventRequest} GetTxsEventRequest - */ - GetTxsEventRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.GetTxsEventRequest) - return object; - let message = new $root.cosmos.tx.v1beta1.GetTxsEventRequest(); - if (object.events) { - if (!Array.isArray(object.events)) - throw TypeError(".cosmos.tx.v1beta1.GetTxsEventRequest.events: array expected"); - message.events = []; - for (let i = 0; i < object.events.length; ++i) - message.events[i] = String(object.events[i]); - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.tx.v1beta1.GetTxsEventRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - switch (object.orderBy) { - case "ORDER_BY_UNSPECIFIED": - case 0: - message.orderBy = 0; - break; - case "ORDER_BY_ASC": - case 1: - message.orderBy = 1; - break; - case "ORDER_BY_DESC": - case 2: - message.orderBy = 2; - break; - } - return message; - }; - - /** - * Creates a plain object from a GetTxsEventRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.GetTxsEventRequest - * @static - * @param {cosmos.tx.v1beta1.GetTxsEventRequest} message GetTxsEventRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetTxsEventRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.events = []; - if (options.defaults) { - object.pagination = null; - object.orderBy = options.enums === String ? "ORDER_BY_UNSPECIFIED" : 0; - } - if (message.events && message.events.length) { - object.events = []; - for (let j = 0; j < message.events.length; ++j) - object.events[j] = message.events[j]; - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - if (message.orderBy != null && message.hasOwnProperty("orderBy")) - object.orderBy = options.enums === String ? $root.cosmos.tx.v1beta1.OrderBy[message.orderBy] : message.orderBy; - return object; - }; - - /** - * Converts this GetTxsEventRequest to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.GetTxsEventRequest - * @instance - * @returns {Object.} JSON object - */ - GetTxsEventRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetTxsEventRequest; - })(v1beta1.GetTxsEventRequest || {}); - - /** - * OrderBy enum. - * @name cosmos.tx.v1beta1.OrderBy - * @enum {string} - * @property {number} ORDER_BY_UNSPECIFIED=0 ORDER_BY_UNSPECIFIED value - * @property {number} ORDER_BY_ASC=1 ORDER_BY_ASC value - * @property {number} ORDER_BY_DESC=2 ORDER_BY_DESC value - */ - v1beta1.OrderBy = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "ORDER_BY_UNSPECIFIED"] = 0; - values[valuesById[1] = "ORDER_BY_ASC"] = 1; - values[valuesById[2] = "ORDER_BY_DESC"] = 2; - return values; - })(); - - v1beta1.GetTxsEventResponse = (function(GetTxsEventResponse) { - - /** - * Properties of a GetTxsEventResponse. - * @memberof cosmos.tx.v1beta1 - * @interface IGetTxsEventResponse - * @property {Array.|null} [txs] GetTxsEventResponse txs - * @property {Array.|null} [txResponses] GetTxsEventResponse txResponses - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] GetTxsEventResponse pagination - */ - - /** - * Constructs a new GetTxsEventResponse. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a GetTxsEventResponse. - * @implements IGetTxsEventResponse - * @constructor - * @param {cosmos.tx.v1beta1.IGetTxsEventResponse=} [properties] Properties to set - */ - function GetTxsEventResponse(properties) { - this.txs = []; - this.txResponses = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetTxsEventResponse txs. - * @member {Array.} txs - * @memberof cosmos.tx.v1beta1.GetTxsEventResponse - * @instance - */ - GetTxsEventResponse.prototype.txs = $util.emptyArray; - - /** - * GetTxsEventResponse txResponses. - * @member {Array.} txResponses - * @memberof cosmos.tx.v1beta1.GetTxsEventResponse - * @instance - */ - GetTxsEventResponse.prototype.txResponses = $util.emptyArray; - - /** - * GetTxsEventResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof cosmos.tx.v1beta1.GetTxsEventResponse - * @instance - */ - GetTxsEventResponse.prototype.pagination = null; - - /** - * Creates a new GetTxsEventResponse instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.GetTxsEventResponse - * @static - * @param {cosmos.tx.v1beta1.IGetTxsEventResponse=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.GetTxsEventResponse} GetTxsEventResponse instance - */ - GetTxsEventResponse.create = function create(properties) { - return new GetTxsEventResponse(properties); - }; - - /** - * Encodes the specified GetTxsEventResponse message. Does not implicitly {@link cosmos.tx.v1beta1.GetTxsEventResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.GetTxsEventResponse - * @static - * @param {cosmos.tx.v1beta1.IGetTxsEventResponse} message GetTxsEventResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetTxsEventResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.txs != null && message.txs.length) - for (let i = 0; i < message.txs.length; ++i) - $root.cosmos.tx.v1beta1.Tx.encode(message.txs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.txResponses != null && message.txResponses.length) - for (let i = 0; i < message.txResponses.length; ++i) - $root.cosmos.base.abci.v1beta1.TxResponse.encode(message.txResponses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GetTxsEventResponse message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.GetTxsEventResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.GetTxsEventResponse - * @static - * @param {cosmos.tx.v1beta1.IGetTxsEventResponse} message GetTxsEventResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetTxsEventResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetTxsEventResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.GetTxsEventResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.GetTxsEventResponse} GetTxsEventResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTxsEventResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.GetTxsEventResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.txs && message.txs.length)) - message.txs = []; - message.txs.push($root.cosmos.tx.v1beta1.Tx.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.txResponses && message.txResponses.length)) - message.txResponses = []; - message.txResponses.push($root.cosmos.base.abci.v1beta1.TxResponse.decode(reader, reader.uint32())); - break; - case 3: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetTxsEventResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.GetTxsEventResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.GetTxsEventResponse} GetTxsEventResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTxsEventResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetTxsEventResponse message. - * @function verify - * @memberof cosmos.tx.v1beta1.GetTxsEventResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetTxsEventResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.txs != null && message.hasOwnProperty("txs")) { - if (!Array.isArray(message.txs)) - return "txs: array expected"; - for (let i = 0; i < message.txs.length; ++i) { - let error = $root.cosmos.tx.v1beta1.Tx.verify(message.txs[i]); - if (error) - return "txs." + error; - } - } - if (message.txResponses != null && message.hasOwnProperty("txResponses")) { - if (!Array.isArray(message.txResponses)) - return "txResponses: array expected"; - for (let i = 0; i < message.txResponses.length; ++i) { - let error = $root.cosmos.base.abci.v1beta1.TxResponse.verify(message.txResponses[i]); - if (error) - return "txResponses." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a GetTxsEventResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.GetTxsEventResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.GetTxsEventResponse} GetTxsEventResponse - */ - GetTxsEventResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.GetTxsEventResponse) - return object; - let message = new $root.cosmos.tx.v1beta1.GetTxsEventResponse(); - if (object.txs) { - if (!Array.isArray(object.txs)) - throw TypeError(".cosmos.tx.v1beta1.GetTxsEventResponse.txs: array expected"); - message.txs = []; - for (let i = 0; i < object.txs.length; ++i) { - if (typeof object.txs[i] !== "object") - throw TypeError(".cosmos.tx.v1beta1.GetTxsEventResponse.txs: object expected"); - message.txs[i] = $root.cosmos.tx.v1beta1.Tx.fromObject(object.txs[i]); - } - } - if (object.txResponses) { - if (!Array.isArray(object.txResponses)) - throw TypeError(".cosmos.tx.v1beta1.GetTxsEventResponse.txResponses: array expected"); - message.txResponses = []; - for (let i = 0; i < object.txResponses.length; ++i) { - if (typeof object.txResponses[i] !== "object") - throw TypeError(".cosmos.tx.v1beta1.GetTxsEventResponse.txResponses: object expected"); - message.txResponses[i] = $root.cosmos.base.abci.v1beta1.TxResponse.fromObject(object.txResponses[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".cosmos.tx.v1beta1.GetTxsEventResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a GetTxsEventResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.GetTxsEventResponse - * @static - * @param {cosmos.tx.v1beta1.GetTxsEventResponse} message GetTxsEventResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetTxsEventResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.txs = []; - object.txResponses = []; - } - if (options.defaults) - object.pagination = null; - if (message.txs && message.txs.length) { - object.txs = []; - for (let j = 0; j < message.txs.length; ++j) - object.txs[j] = $root.cosmos.tx.v1beta1.Tx.toObject(message.txs[j], options); - } - if (message.txResponses && message.txResponses.length) { - object.txResponses = []; - for (let j = 0; j < message.txResponses.length; ++j) - object.txResponses[j] = $root.cosmos.base.abci.v1beta1.TxResponse.toObject(message.txResponses[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this GetTxsEventResponse to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.GetTxsEventResponse - * @instance - * @returns {Object.} JSON object - */ - GetTxsEventResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetTxsEventResponse; - })(v1beta1.GetTxsEventResponse || {}); - - v1beta1.BroadcastTxRequest = (function(BroadcastTxRequest) { - - /** - * Properties of a BroadcastTxRequest. - * @memberof cosmos.tx.v1beta1 - * @interface IBroadcastTxRequest - * @property {Uint8Array|null} [txBytes] BroadcastTxRequest txBytes - * @property {cosmos.tx.v1beta1.BroadcastMode|null} [mode] BroadcastTxRequest mode - */ - - /** - * Constructs a new BroadcastTxRequest. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a BroadcastTxRequest. - * @implements IBroadcastTxRequest - * @constructor - * @param {cosmos.tx.v1beta1.IBroadcastTxRequest=} [properties] Properties to set - */ - function BroadcastTxRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BroadcastTxRequest txBytes. - * @member {Uint8Array} txBytes - * @memberof cosmos.tx.v1beta1.BroadcastTxRequest - * @instance - */ - BroadcastTxRequest.prototype.txBytes = $util.newBuffer([]); - - /** - * BroadcastTxRequest mode. - * @member {cosmos.tx.v1beta1.BroadcastMode} mode - * @memberof cosmos.tx.v1beta1.BroadcastTxRequest - * @instance - */ - BroadcastTxRequest.prototype.mode = 0; - - /** - * Creates a new BroadcastTxRequest instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.BroadcastTxRequest - * @static - * @param {cosmos.tx.v1beta1.IBroadcastTxRequest=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.BroadcastTxRequest} BroadcastTxRequest instance - */ - BroadcastTxRequest.create = function create(properties) { - return new BroadcastTxRequest(properties); - }; - - /** - * Encodes the specified BroadcastTxRequest message. Does not implicitly {@link cosmos.tx.v1beta1.BroadcastTxRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.BroadcastTxRequest - * @static - * @param {cosmos.tx.v1beta1.IBroadcastTxRequest} message BroadcastTxRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BroadcastTxRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.txBytes != null && Object.hasOwnProperty.call(message, "txBytes")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.txBytes); - if (message.mode != null && Object.hasOwnProperty.call(message, "mode")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.mode); - return writer; - }; - - /** - * Encodes the specified BroadcastTxRequest message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.BroadcastTxRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.BroadcastTxRequest - * @static - * @param {cosmos.tx.v1beta1.IBroadcastTxRequest} message BroadcastTxRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BroadcastTxRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BroadcastTxRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.BroadcastTxRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.BroadcastTxRequest} BroadcastTxRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BroadcastTxRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.BroadcastTxRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.txBytes = reader.bytes(); - break; - case 2: - message.mode = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BroadcastTxRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.BroadcastTxRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.BroadcastTxRequest} BroadcastTxRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BroadcastTxRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BroadcastTxRequest message. - * @function verify - * @memberof cosmos.tx.v1beta1.BroadcastTxRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BroadcastTxRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.txBytes != null && message.hasOwnProperty("txBytes")) - if (!(message.txBytes && typeof message.txBytes.length === "number" || $util.isString(message.txBytes))) - return "txBytes: buffer expected"; - if (message.mode != null && message.hasOwnProperty("mode")) - switch (message.mode) { - default: - return "mode: enum value expected"; - case 0: - case 1: - case 2: - case 3: - break; - } - return null; - }; - - /** - * Creates a BroadcastTxRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.BroadcastTxRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.BroadcastTxRequest} BroadcastTxRequest - */ - BroadcastTxRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.BroadcastTxRequest) - return object; - let message = new $root.cosmos.tx.v1beta1.BroadcastTxRequest(); - if (object.txBytes != null) - if (typeof object.txBytes === "string") - $util.base64.decode(object.txBytes, message.txBytes = $util.newBuffer($util.base64.length(object.txBytes)), 0); - else if (object.txBytes.length) - message.txBytes = object.txBytes; - switch (object.mode) { - case "BROADCAST_MODE_UNSPECIFIED": - case 0: - message.mode = 0; - break; - case "BROADCAST_MODE_BLOCK": - case 1: - message.mode = 1; - break; - case "BROADCAST_MODE_SYNC": - case 2: - message.mode = 2; - break; - case "BROADCAST_MODE_ASYNC": - case 3: - message.mode = 3; - break; - } - return message; - }; - - /** - * Creates a plain object from a BroadcastTxRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.BroadcastTxRequest - * @static - * @param {cosmos.tx.v1beta1.BroadcastTxRequest} message BroadcastTxRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BroadcastTxRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.txBytes = ""; - else { - object.txBytes = []; - if (options.bytes !== Array) - object.txBytes = $util.newBuffer(object.txBytes); - } - object.mode = options.enums === String ? "BROADCAST_MODE_UNSPECIFIED" : 0; - } - if (message.txBytes != null && message.hasOwnProperty("txBytes")) - object.txBytes = options.bytes === String ? $util.base64.encode(message.txBytes, 0, message.txBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.txBytes) : message.txBytes; - if (message.mode != null && message.hasOwnProperty("mode")) - object.mode = options.enums === String ? $root.cosmos.tx.v1beta1.BroadcastMode[message.mode] : message.mode; - return object; - }; - - /** - * Converts this BroadcastTxRequest to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.BroadcastTxRequest - * @instance - * @returns {Object.} JSON object - */ - BroadcastTxRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BroadcastTxRequest; - })(v1beta1.BroadcastTxRequest || {}); - - /** - * BroadcastMode enum. - * @name cosmos.tx.v1beta1.BroadcastMode - * @enum {string} - * @property {number} BROADCAST_MODE_UNSPECIFIED=0 BROADCAST_MODE_UNSPECIFIED value - * @property {number} BROADCAST_MODE_BLOCK=1 BROADCAST_MODE_BLOCK value - * @property {number} BROADCAST_MODE_SYNC=2 BROADCAST_MODE_SYNC value - * @property {number} BROADCAST_MODE_ASYNC=3 BROADCAST_MODE_ASYNC value - */ - v1beta1.BroadcastMode = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "BROADCAST_MODE_UNSPECIFIED"] = 0; - values[valuesById[1] = "BROADCAST_MODE_BLOCK"] = 1; - values[valuesById[2] = "BROADCAST_MODE_SYNC"] = 2; - values[valuesById[3] = "BROADCAST_MODE_ASYNC"] = 3; - return values; - })(); - - v1beta1.BroadcastTxResponse = (function(BroadcastTxResponse) { - - /** - * Properties of a BroadcastTxResponse. - * @memberof cosmos.tx.v1beta1 - * @interface IBroadcastTxResponse - * @property {cosmos.base.abci.v1beta1.ITxResponse|null} [txResponse] BroadcastTxResponse txResponse - */ - - /** - * Constructs a new BroadcastTxResponse. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a BroadcastTxResponse. - * @implements IBroadcastTxResponse - * @constructor - * @param {cosmos.tx.v1beta1.IBroadcastTxResponse=} [properties] Properties to set - */ - function BroadcastTxResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BroadcastTxResponse txResponse. - * @member {cosmos.base.abci.v1beta1.ITxResponse|null|undefined} txResponse - * @memberof cosmos.tx.v1beta1.BroadcastTxResponse - * @instance - */ - BroadcastTxResponse.prototype.txResponse = null; - - /** - * Creates a new BroadcastTxResponse instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.BroadcastTxResponse - * @static - * @param {cosmos.tx.v1beta1.IBroadcastTxResponse=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.BroadcastTxResponse} BroadcastTxResponse instance - */ - BroadcastTxResponse.create = function create(properties) { - return new BroadcastTxResponse(properties); - }; - - /** - * Encodes the specified BroadcastTxResponse message. Does not implicitly {@link cosmos.tx.v1beta1.BroadcastTxResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.BroadcastTxResponse - * @static - * @param {cosmos.tx.v1beta1.IBroadcastTxResponse} message BroadcastTxResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BroadcastTxResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.txResponse != null && Object.hasOwnProperty.call(message, "txResponse")) - $root.cosmos.base.abci.v1beta1.TxResponse.encode(message.txResponse, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BroadcastTxResponse message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.BroadcastTxResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.BroadcastTxResponse - * @static - * @param {cosmos.tx.v1beta1.IBroadcastTxResponse} message BroadcastTxResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BroadcastTxResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BroadcastTxResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.BroadcastTxResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.BroadcastTxResponse} BroadcastTxResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BroadcastTxResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.BroadcastTxResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.txResponse = $root.cosmos.base.abci.v1beta1.TxResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BroadcastTxResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.BroadcastTxResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.BroadcastTxResponse} BroadcastTxResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BroadcastTxResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BroadcastTxResponse message. - * @function verify - * @memberof cosmos.tx.v1beta1.BroadcastTxResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BroadcastTxResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.txResponse != null && message.hasOwnProperty("txResponse")) { - let error = $root.cosmos.base.abci.v1beta1.TxResponse.verify(message.txResponse); - if (error) - return "txResponse." + error; - } - return null; - }; - - /** - * Creates a BroadcastTxResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.BroadcastTxResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.BroadcastTxResponse} BroadcastTxResponse - */ - BroadcastTxResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.BroadcastTxResponse) - return object; - let message = new $root.cosmos.tx.v1beta1.BroadcastTxResponse(); - if (object.txResponse != null) { - if (typeof object.txResponse !== "object") - throw TypeError(".cosmos.tx.v1beta1.BroadcastTxResponse.txResponse: object expected"); - message.txResponse = $root.cosmos.base.abci.v1beta1.TxResponse.fromObject(object.txResponse); - } - return message; - }; - - /** - * Creates a plain object from a BroadcastTxResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.BroadcastTxResponse - * @static - * @param {cosmos.tx.v1beta1.BroadcastTxResponse} message BroadcastTxResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BroadcastTxResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.txResponse = null; - if (message.txResponse != null && message.hasOwnProperty("txResponse")) - object.txResponse = $root.cosmos.base.abci.v1beta1.TxResponse.toObject(message.txResponse, options); - return object; - }; - - /** - * Converts this BroadcastTxResponse to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.BroadcastTxResponse - * @instance - * @returns {Object.} JSON object - */ - BroadcastTxResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BroadcastTxResponse; - })(v1beta1.BroadcastTxResponse || {}); - - v1beta1.SimulateRequest = (function(SimulateRequest) { - - /** - * Properties of a SimulateRequest. - * @memberof cosmos.tx.v1beta1 - * @interface ISimulateRequest - * @property {cosmos.tx.v1beta1.ITx|null} [tx] SimulateRequest tx - */ - - /** - * Constructs a new SimulateRequest. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a SimulateRequest. - * @implements ISimulateRequest - * @constructor - * @param {cosmos.tx.v1beta1.ISimulateRequest=} [properties] Properties to set - */ - function SimulateRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SimulateRequest tx. - * @member {cosmos.tx.v1beta1.ITx|null|undefined} tx - * @memberof cosmos.tx.v1beta1.SimulateRequest - * @instance - */ - SimulateRequest.prototype.tx = null; - - /** - * Creates a new SimulateRequest instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.SimulateRequest - * @static - * @param {cosmos.tx.v1beta1.ISimulateRequest=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.SimulateRequest} SimulateRequest instance - */ - SimulateRequest.create = function create(properties) { - return new SimulateRequest(properties); - }; - - /** - * Encodes the specified SimulateRequest message. Does not implicitly {@link cosmos.tx.v1beta1.SimulateRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.SimulateRequest - * @static - * @param {cosmos.tx.v1beta1.ISimulateRequest} message SimulateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SimulateRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.tx != null && Object.hasOwnProperty.call(message, "tx")) - $root.cosmos.tx.v1beta1.Tx.encode(message.tx, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SimulateRequest message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.SimulateRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.SimulateRequest - * @static - * @param {cosmos.tx.v1beta1.ISimulateRequest} message SimulateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SimulateRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SimulateRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.SimulateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.SimulateRequest} SimulateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SimulateRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.SimulateRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.tx = $root.cosmos.tx.v1beta1.Tx.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SimulateRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.SimulateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.SimulateRequest} SimulateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SimulateRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SimulateRequest message. - * @function verify - * @memberof cosmos.tx.v1beta1.SimulateRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SimulateRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tx != null && message.hasOwnProperty("tx")) { - let error = $root.cosmos.tx.v1beta1.Tx.verify(message.tx); - if (error) - return "tx." + error; - } - return null; - }; - - /** - * Creates a SimulateRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.SimulateRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.SimulateRequest} SimulateRequest - */ - SimulateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.SimulateRequest) - return object; - let message = new $root.cosmos.tx.v1beta1.SimulateRequest(); - if (object.tx != null) { - if (typeof object.tx !== "object") - throw TypeError(".cosmos.tx.v1beta1.SimulateRequest.tx: object expected"); - message.tx = $root.cosmos.tx.v1beta1.Tx.fromObject(object.tx); - } - return message; - }; - - /** - * Creates a plain object from a SimulateRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.SimulateRequest - * @static - * @param {cosmos.tx.v1beta1.SimulateRequest} message SimulateRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SimulateRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.tx = null; - if (message.tx != null && message.hasOwnProperty("tx")) - object.tx = $root.cosmos.tx.v1beta1.Tx.toObject(message.tx, options); - return object; - }; - - /** - * Converts this SimulateRequest to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.SimulateRequest - * @instance - * @returns {Object.} JSON object - */ - SimulateRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SimulateRequest; - })(v1beta1.SimulateRequest || {}); - - v1beta1.SimulateResponse = (function(SimulateResponse) { - - /** - * Properties of a SimulateResponse. - * @memberof cosmos.tx.v1beta1 - * @interface ISimulateResponse - * @property {cosmos.base.abci.v1beta1.IGasInfo|null} [gasInfo] SimulateResponse gasInfo - * @property {cosmos.base.abci.v1beta1.IResult|null} [result] SimulateResponse result - */ - - /** - * Constructs a new SimulateResponse. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a SimulateResponse. - * @implements ISimulateResponse - * @constructor - * @param {cosmos.tx.v1beta1.ISimulateResponse=} [properties] Properties to set - */ - function SimulateResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SimulateResponse gasInfo. - * @member {cosmos.base.abci.v1beta1.IGasInfo|null|undefined} gasInfo - * @memberof cosmos.tx.v1beta1.SimulateResponse - * @instance - */ - SimulateResponse.prototype.gasInfo = null; - - /** - * SimulateResponse result. - * @member {cosmos.base.abci.v1beta1.IResult|null|undefined} result - * @memberof cosmos.tx.v1beta1.SimulateResponse - * @instance - */ - SimulateResponse.prototype.result = null; - - /** - * Creates a new SimulateResponse instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.SimulateResponse - * @static - * @param {cosmos.tx.v1beta1.ISimulateResponse=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.SimulateResponse} SimulateResponse instance - */ - SimulateResponse.create = function create(properties) { - return new SimulateResponse(properties); - }; - - /** - * Encodes the specified SimulateResponse message. Does not implicitly {@link cosmos.tx.v1beta1.SimulateResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.SimulateResponse - * @static - * @param {cosmos.tx.v1beta1.ISimulateResponse} message SimulateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SimulateResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.gasInfo != null && Object.hasOwnProperty.call(message, "gasInfo")) - $root.cosmos.base.abci.v1beta1.GasInfo.encode(message.gasInfo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.result != null && Object.hasOwnProperty.call(message, "result")) - $root.cosmos.base.abci.v1beta1.Result.encode(message.result, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SimulateResponse message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.SimulateResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.SimulateResponse - * @static - * @param {cosmos.tx.v1beta1.ISimulateResponse} message SimulateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SimulateResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SimulateResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.SimulateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.SimulateResponse} SimulateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SimulateResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.SimulateResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.gasInfo = $root.cosmos.base.abci.v1beta1.GasInfo.decode(reader, reader.uint32()); - break; - case 2: - message.result = $root.cosmos.base.abci.v1beta1.Result.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SimulateResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.SimulateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.SimulateResponse} SimulateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SimulateResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SimulateResponse message. - * @function verify - * @memberof cosmos.tx.v1beta1.SimulateResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SimulateResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.gasInfo != null && message.hasOwnProperty("gasInfo")) { - let error = $root.cosmos.base.abci.v1beta1.GasInfo.verify(message.gasInfo); - if (error) - return "gasInfo." + error; - } - if (message.result != null && message.hasOwnProperty("result")) { - let error = $root.cosmos.base.abci.v1beta1.Result.verify(message.result); - if (error) - return "result." + error; - } - return null; - }; - - /** - * Creates a SimulateResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.SimulateResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.SimulateResponse} SimulateResponse - */ - SimulateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.SimulateResponse) - return object; - let message = new $root.cosmos.tx.v1beta1.SimulateResponse(); - if (object.gasInfo != null) { - if (typeof object.gasInfo !== "object") - throw TypeError(".cosmos.tx.v1beta1.SimulateResponse.gasInfo: object expected"); - message.gasInfo = $root.cosmos.base.abci.v1beta1.GasInfo.fromObject(object.gasInfo); - } - if (object.result != null) { - if (typeof object.result !== "object") - throw TypeError(".cosmos.tx.v1beta1.SimulateResponse.result: object expected"); - message.result = $root.cosmos.base.abci.v1beta1.Result.fromObject(object.result); - } - return message; - }; - - /** - * Creates a plain object from a SimulateResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.SimulateResponse - * @static - * @param {cosmos.tx.v1beta1.SimulateResponse} message SimulateResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SimulateResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.gasInfo = null; - object.result = null; - } - if (message.gasInfo != null && message.hasOwnProperty("gasInfo")) - object.gasInfo = $root.cosmos.base.abci.v1beta1.GasInfo.toObject(message.gasInfo, options); - if (message.result != null && message.hasOwnProperty("result")) - object.result = $root.cosmos.base.abci.v1beta1.Result.toObject(message.result, options); - return object; - }; - - /** - * Converts this SimulateResponse to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.SimulateResponse - * @instance - * @returns {Object.} JSON object - */ - SimulateResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SimulateResponse; - })(v1beta1.SimulateResponse || {}); - - v1beta1.GetTxRequest = (function(GetTxRequest) { - - /** - * Properties of a GetTxRequest. - * @memberof cosmos.tx.v1beta1 - * @interface IGetTxRequest - * @property {string|null} [hash] GetTxRequest hash - */ - - /** - * Constructs a new GetTxRequest. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a GetTxRequest. - * @implements IGetTxRequest - * @constructor - * @param {cosmos.tx.v1beta1.IGetTxRequest=} [properties] Properties to set - */ - function GetTxRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetTxRequest hash. - * @member {string} hash - * @memberof cosmos.tx.v1beta1.GetTxRequest - * @instance - */ - GetTxRequest.prototype.hash = ""; - - /** - * Creates a new GetTxRequest instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.GetTxRequest - * @static - * @param {cosmos.tx.v1beta1.IGetTxRequest=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.GetTxRequest} GetTxRequest instance - */ - GetTxRequest.create = function create(properties) { - return new GetTxRequest(properties); - }; - - /** - * Encodes the specified GetTxRequest message. Does not implicitly {@link cosmos.tx.v1beta1.GetTxRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.GetTxRequest - * @static - * @param {cosmos.tx.v1beta1.IGetTxRequest} message GetTxRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetTxRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.hash); - return writer; - }; - - /** - * Encodes the specified GetTxRequest message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.GetTxRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.GetTxRequest - * @static - * @param {cosmos.tx.v1beta1.IGetTxRequest} message GetTxRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetTxRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetTxRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.GetTxRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.GetTxRequest} GetTxRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTxRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.GetTxRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.hash = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetTxRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.GetTxRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.GetTxRequest} GetTxRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTxRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetTxRequest message. - * @function verify - * @memberof cosmos.tx.v1beta1.GetTxRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetTxRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!$util.isString(message.hash)) - return "hash: string expected"; - return null; - }; - - /** - * Creates a GetTxRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.GetTxRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.GetTxRequest} GetTxRequest - */ - GetTxRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.GetTxRequest) - return object; - let message = new $root.cosmos.tx.v1beta1.GetTxRequest(); - if (object.hash != null) - message.hash = String(object.hash); - return message; - }; - - /** - * Creates a plain object from a GetTxRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.GetTxRequest - * @static - * @param {cosmos.tx.v1beta1.GetTxRequest} message GetTxRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetTxRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.hash = ""; - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = message.hash; - return object; - }; - - /** - * Converts this GetTxRequest to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.GetTxRequest - * @instance - * @returns {Object.} JSON object - */ - GetTxRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetTxRequest; - })(v1beta1.GetTxRequest || {}); - - v1beta1.GetTxResponse = (function(GetTxResponse) { - - /** - * Properties of a GetTxResponse. - * @memberof cosmos.tx.v1beta1 - * @interface IGetTxResponse - * @property {cosmos.tx.v1beta1.ITx|null} [tx] GetTxResponse tx - * @property {cosmos.base.abci.v1beta1.ITxResponse|null} [txResponse] GetTxResponse txResponse - */ - - /** - * Constructs a new GetTxResponse. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a GetTxResponse. - * @implements IGetTxResponse - * @constructor - * @param {cosmos.tx.v1beta1.IGetTxResponse=} [properties] Properties to set - */ - function GetTxResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GetTxResponse tx. - * @member {cosmos.tx.v1beta1.ITx|null|undefined} tx - * @memberof cosmos.tx.v1beta1.GetTxResponse - * @instance - */ - GetTxResponse.prototype.tx = null; - - /** - * GetTxResponse txResponse. - * @member {cosmos.base.abci.v1beta1.ITxResponse|null|undefined} txResponse - * @memberof cosmos.tx.v1beta1.GetTxResponse - * @instance - */ - GetTxResponse.prototype.txResponse = null; - - /** - * Creates a new GetTxResponse instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.GetTxResponse - * @static - * @param {cosmos.tx.v1beta1.IGetTxResponse=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.GetTxResponse} GetTxResponse instance - */ - GetTxResponse.create = function create(properties) { - return new GetTxResponse(properties); - }; - - /** - * Encodes the specified GetTxResponse message. Does not implicitly {@link cosmos.tx.v1beta1.GetTxResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.GetTxResponse - * @static - * @param {cosmos.tx.v1beta1.IGetTxResponse} message GetTxResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetTxResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.tx != null && Object.hasOwnProperty.call(message, "tx")) - $root.cosmos.tx.v1beta1.Tx.encode(message.tx, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.txResponse != null && Object.hasOwnProperty.call(message, "txResponse")) - $root.cosmos.base.abci.v1beta1.TxResponse.encode(message.txResponse, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GetTxResponse message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.GetTxResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.GetTxResponse - * @static - * @param {cosmos.tx.v1beta1.IGetTxResponse} message GetTxResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GetTxResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GetTxResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.GetTxResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.GetTxResponse} GetTxResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTxResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.GetTxResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.tx = $root.cosmos.tx.v1beta1.Tx.decode(reader, reader.uint32()); - break; - case 2: - message.txResponse = $root.cosmos.base.abci.v1beta1.TxResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GetTxResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.GetTxResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.GetTxResponse} GetTxResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GetTxResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GetTxResponse message. - * @function verify - * @memberof cosmos.tx.v1beta1.GetTxResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GetTxResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tx != null && message.hasOwnProperty("tx")) { - let error = $root.cosmos.tx.v1beta1.Tx.verify(message.tx); - if (error) - return "tx." + error; - } - if (message.txResponse != null && message.hasOwnProperty("txResponse")) { - let error = $root.cosmos.base.abci.v1beta1.TxResponse.verify(message.txResponse); - if (error) - return "txResponse." + error; - } - return null; - }; - - /** - * Creates a GetTxResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.GetTxResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.GetTxResponse} GetTxResponse - */ - GetTxResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.GetTxResponse) - return object; - let message = new $root.cosmos.tx.v1beta1.GetTxResponse(); - if (object.tx != null) { - if (typeof object.tx !== "object") - throw TypeError(".cosmos.tx.v1beta1.GetTxResponse.tx: object expected"); - message.tx = $root.cosmos.tx.v1beta1.Tx.fromObject(object.tx); - } - if (object.txResponse != null) { - if (typeof object.txResponse !== "object") - throw TypeError(".cosmos.tx.v1beta1.GetTxResponse.txResponse: object expected"); - message.txResponse = $root.cosmos.base.abci.v1beta1.TxResponse.fromObject(object.txResponse); - } - return message; - }; - - /** - * Creates a plain object from a GetTxResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.GetTxResponse - * @static - * @param {cosmos.tx.v1beta1.GetTxResponse} message GetTxResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GetTxResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.tx = null; - object.txResponse = null; - } - if (message.tx != null && message.hasOwnProperty("tx")) - object.tx = $root.cosmos.tx.v1beta1.Tx.toObject(message.tx, options); - if (message.txResponse != null && message.hasOwnProperty("txResponse")) - object.txResponse = $root.cosmos.base.abci.v1beta1.TxResponse.toObject(message.txResponse, options); - return object; - }; - - /** - * Converts this GetTxResponse to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.GetTxResponse - * @instance - * @returns {Object.} JSON object - */ - GetTxResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GetTxResponse; - })(v1beta1.GetTxResponse || {}); - - v1beta1.Tx = (function(Tx) { - - /** - * Properties of a Tx. - * @memberof cosmos.tx.v1beta1 - * @interface ITx - * @property {cosmos.tx.v1beta1.ITxBody|null} [body] Tx body - * @property {cosmos.tx.v1beta1.IAuthInfo|null} [authInfo] Tx authInfo - * @property {Array.|null} [signatures] Tx signatures - */ - - /** - * Constructs a new Tx. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a Tx. - * @implements ITx - * @constructor - * @param {cosmos.tx.v1beta1.ITx=} [properties] Properties to set - */ - function Tx(properties) { - this.signatures = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Tx body. - * @member {cosmos.tx.v1beta1.ITxBody|null|undefined} body - * @memberof cosmos.tx.v1beta1.Tx - * @instance - */ - Tx.prototype.body = null; - - /** - * Tx authInfo. - * @member {cosmos.tx.v1beta1.IAuthInfo|null|undefined} authInfo - * @memberof cosmos.tx.v1beta1.Tx - * @instance - */ - Tx.prototype.authInfo = null; - - /** - * Tx signatures. - * @member {Array.} signatures - * @memberof cosmos.tx.v1beta1.Tx - * @instance - */ - Tx.prototype.signatures = $util.emptyArray; - - /** - * Creates a new Tx instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.Tx - * @static - * @param {cosmos.tx.v1beta1.ITx=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.Tx} Tx instance - */ - Tx.create = function create(properties) { - return new Tx(properties); - }; - - /** - * Encodes the specified Tx message. Does not implicitly {@link cosmos.tx.v1beta1.Tx.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.Tx - * @static - * @param {cosmos.tx.v1beta1.ITx} message Tx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Tx.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.body != null && Object.hasOwnProperty.call(message, "body")) - $root.cosmos.tx.v1beta1.TxBody.encode(message.body, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.authInfo != null && Object.hasOwnProperty.call(message, "authInfo")) - $root.cosmos.tx.v1beta1.AuthInfo.encode(message.authInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.signatures != null && message.signatures.length) - for (let i = 0; i < message.signatures.length; ++i) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.signatures[i]); - return writer; - }; - - /** - * Encodes the specified Tx message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.Tx.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.Tx - * @static - * @param {cosmos.tx.v1beta1.ITx} message Tx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Tx.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Tx message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.Tx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.Tx} Tx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Tx.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.Tx(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.body = $root.cosmos.tx.v1beta1.TxBody.decode(reader, reader.uint32()); - break; - case 2: - message.authInfo = $root.cosmos.tx.v1beta1.AuthInfo.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.signatures && message.signatures.length)) - message.signatures = []; - message.signatures.push(reader.bytes()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Tx message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.Tx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.Tx} Tx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Tx.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Tx message. - * @function verify - * @memberof cosmos.tx.v1beta1.Tx - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Tx.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.body != null && message.hasOwnProperty("body")) { - let error = $root.cosmos.tx.v1beta1.TxBody.verify(message.body); - if (error) - return "body." + error; - } - if (message.authInfo != null && message.hasOwnProperty("authInfo")) { - let error = $root.cosmos.tx.v1beta1.AuthInfo.verify(message.authInfo); - if (error) - return "authInfo." + error; - } - if (message.signatures != null && message.hasOwnProperty("signatures")) { - if (!Array.isArray(message.signatures)) - return "signatures: array expected"; - for (let i = 0; i < message.signatures.length; ++i) - if (!(message.signatures[i] && typeof message.signatures[i].length === "number" || $util.isString(message.signatures[i]))) - return "signatures: buffer[] expected"; - } - return null; - }; - - /** - * Creates a Tx message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.Tx - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.Tx} Tx - */ - Tx.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.Tx) - return object; - let message = new $root.cosmos.tx.v1beta1.Tx(); - if (object.body != null) { - if (typeof object.body !== "object") - throw TypeError(".cosmos.tx.v1beta1.Tx.body: object expected"); - message.body = $root.cosmos.tx.v1beta1.TxBody.fromObject(object.body); - } - if (object.authInfo != null) { - if (typeof object.authInfo !== "object") - throw TypeError(".cosmos.tx.v1beta1.Tx.authInfo: object expected"); - message.authInfo = $root.cosmos.tx.v1beta1.AuthInfo.fromObject(object.authInfo); - } - if (object.signatures) { - if (!Array.isArray(object.signatures)) - throw TypeError(".cosmos.tx.v1beta1.Tx.signatures: array expected"); - message.signatures = []; - for (let i = 0; i < object.signatures.length; ++i) - if (typeof object.signatures[i] === "string") - $util.base64.decode(object.signatures[i], message.signatures[i] = $util.newBuffer($util.base64.length(object.signatures[i])), 0); - else if (object.signatures[i].length) - message.signatures[i] = object.signatures[i]; - } - return message; - }; - - /** - * Creates a plain object from a Tx message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.Tx - * @static - * @param {cosmos.tx.v1beta1.Tx} message Tx - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Tx.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.signatures = []; - if (options.defaults) { - object.body = null; - object.authInfo = null; - } - if (message.body != null && message.hasOwnProperty("body")) - object.body = $root.cosmos.tx.v1beta1.TxBody.toObject(message.body, options); - if (message.authInfo != null && message.hasOwnProperty("authInfo")) - object.authInfo = $root.cosmos.tx.v1beta1.AuthInfo.toObject(message.authInfo, options); - if (message.signatures && message.signatures.length) { - object.signatures = []; - for (let j = 0; j < message.signatures.length; ++j) - object.signatures[j] = options.bytes === String ? $util.base64.encode(message.signatures[j], 0, message.signatures[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.signatures[j]) : message.signatures[j]; - } - return object; - }; - - /** - * Converts this Tx to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.Tx - * @instance - * @returns {Object.} JSON object - */ - Tx.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Tx; - })(v1beta1.Tx || {}); - - v1beta1.TxRaw = (function(TxRaw) { - - /** - * Properties of a TxRaw. - * @memberof cosmos.tx.v1beta1 - * @interface ITxRaw - * @property {Uint8Array|null} [bodyBytes] TxRaw bodyBytes - * @property {Uint8Array|null} [authInfoBytes] TxRaw authInfoBytes - * @property {Array.|null} [signatures] TxRaw signatures - */ - - /** - * Constructs a new TxRaw. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a TxRaw. - * @implements ITxRaw - * @constructor - * @param {cosmos.tx.v1beta1.ITxRaw=} [properties] Properties to set - */ - function TxRaw(properties) { - this.signatures = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * TxRaw bodyBytes. - * @member {Uint8Array} bodyBytes - * @memberof cosmos.tx.v1beta1.TxRaw - * @instance - */ - TxRaw.prototype.bodyBytes = $util.newBuffer([]); - - /** - * TxRaw authInfoBytes. - * @member {Uint8Array} authInfoBytes - * @memberof cosmos.tx.v1beta1.TxRaw - * @instance - */ - TxRaw.prototype.authInfoBytes = $util.newBuffer([]); - - /** - * TxRaw signatures. - * @member {Array.} signatures - * @memberof cosmos.tx.v1beta1.TxRaw - * @instance - */ - TxRaw.prototype.signatures = $util.emptyArray; - - /** - * Creates a new TxRaw instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.TxRaw - * @static - * @param {cosmos.tx.v1beta1.ITxRaw=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.TxRaw} TxRaw instance - */ - TxRaw.create = function create(properties) { - return new TxRaw(properties); - }; - - /** - * Encodes the specified TxRaw message. Does not implicitly {@link cosmos.tx.v1beta1.TxRaw.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.TxRaw - * @static - * @param {cosmos.tx.v1beta1.ITxRaw} message TxRaw message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TxRaw.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.bodyBytes != null && Object.hasOwnProperty.call(message, "bodyBytes")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.bodyBytes); - if (message.authInfoBytes != null && Object.hasOwnProperty.call(message, "authInfoBytes")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.authInfoBytes); - if (message.signatures != null && message.signatures.length) - for (let i = 0; i < message.signatures.length; ++i) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.signatures[i]); - return writer; - }; - - /** - * Encodes the specified TxRaw message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.TxRaw.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.TxRaw - * @static - * @param {cosmos.tx.v1beta1.ITxRaw} message TxRaw message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TxRaw.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TxRaw message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.TxRaw - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.TxRaw} TxRaw - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TxRaw.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.TxRaw(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.bodyBytes = reader.bytes(); - break; - case 2: - message.authInfoBytes = reader.bytes(); - break; - case 3: - if (!(message.signatures && message.signatures.length)) - message.signatures = []; - message.signatures.push(reader.bytes()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TxRaw message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.TxRaw - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.TxRaw} TxRaw - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TxRaw.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TxRaw message. - * @function verify - * @memberof cosmos.tx.v1beta1.TxRaw - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TxRaw.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.bodyBytes != null && message.hasOwnProperty("bodyBytes")) - if (!(message.bodyBytes && typeof message.bodyBytes.length === "number" || $util.isString(message.bodyBytes))) - return "bodyBytes: buffer expected"; - if (message.authInfoBytes != null && message.hasOwnProperty("authInfoBytes")) - if (!(message.authInfoBytes && typeof message.authInfoBytes.length === "number" || $util.isString(message.authInfoBytes))) - return "authInfoBytes: buffer expected"; - if (message.signatures != null && message.hasOwnProperty("signatures")) { - if (!Array.isArray(message.signatures)) - return "signatures: array expected"; - for (let i = 0; i < message.signatures.length; ++i) - if (!(message.signatures[i] && typeof message.signatures[i].length === "number" || $util.isString(message.signatures[i]))) - return "signatures: buffer[] expected"; - } - return null; - }; - - /** - * Creates a TxRaw message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.TxRaw - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.TxRaw} TxRaw - */ - TxRaw.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.TxRaw) - return object; - let message = new $root.cosmos.tx.v1beta1.TxRaw(); - if (object.bodyBytes != null) - if (typeof object.bodyBytes === "string") - $util.base64.decode(object.bodyBytes, message.bodyBytes = $util.newBuffer($util.base64.length(object.bodyBytes)), 0); - else if (object.bodyBytes.length) - message.bodyBytes = object.bodyBytes; - if (object.authInfoBytes != null) - if (typeof object.authInfoBytes === "string") - $util.base64.decode(object.authInfoBytes, message.authInfoBytes = $util.newBuffer($util.base64.length(object.authInfoBytes)), 0); - else if (object.authInfoBytes.length) - message.authInfoBytes = object.authInfoBytes; - if (object.signatures) { - if (!Array.isArray(object.signatures)) - throw TypeError(".cosmos.tx.v1beta1.TxRaw.signatures: array expected"); - message.signatures = []; - for (let i = 0; i < object.signatures.length; ++i) - if (typeof object.signatures[i] === "string") - $util.base64.decode(object.signatures[i], message.signatures[i] = $util.newBuffer($util.base64.length(object.signatures[i])), 0); - else if (object.signatures[i].length) - message.signatures[i] = object.signatures[i]; - } - return message; - }; - - /** - * Creates a plain object from a TxRaw message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.TxRaw - * @static - * @param {cosmos.tx.v1beta1.TxRaw} message TxRaw - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TxRaw.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.signatures = []; - if (options.defaults) { - if (options.bytes === String) - object.bodyBytes = ""; - else { - object.bodyBytes = []; - if (options.bytes !== Array) - object.bodyBytes = $util.newBuffer(object.bodyBytes); - } - if (options.bytes === String) - object.authInfoBytes = ""; - else { - object.authInfoBytes = []; - if (options.bytes !== Array) - object.authInfoBytes = $util.newBuffer(object.authInfoBytes); - } - } - if (message.bodyBytes != null && message.hasOwnProperty("bodyBytes")) - object.bodyBytes = options.bytes === String ? $util.base64.encode(message.bodyBytes, 0, message.bodyBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.bodyBytes) : message.bodyBytes; - if (message.authInfoBytes != null && message.hasOwnProperty("authInfoBytes")) - object.authInfoBytes = options.bytes === String ? $util.base64.encode(message.authInfoBytes, 0, message.authInfoBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.authInfoBytes) : message.authInfoBytes; - if (message.signatures && message.signatures.length) { - object.signatures = []; - for (let j = 0; j < message.signatures.length; ++j) - object.signatures[j] = options.bytes === String ? $util.base64.encode(message.signatures[j], 0, message.signatures[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.signatures[j]) : message.signatures[j]; - } - return object; - }; - - /** - * Converts this TxRaw to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.TxRaw - * @instance - * @returns {Object.} JSON object - */ - TxRaw.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return TxRaw; - })(v1beta1.TxRaw || {}); - - v1beta1.SignDoc = (function(SignDoc) { - - /** - * Properties of a SignDoc. - * @memberof cosmos.tx.v1beta1 - * @interface ISignDoc - * @property {Uint8Array|null} [bodyBytes] SignDoc bodyBytes - * @property {Uint8Array|null} [authInfoBytes] SignDoc authInfoBytes - * @property {string|null} [chainId] SignDoc chainId - * @property {number|Long|null} [accountNumber] SignDoc accountNumber - */ - - /** - * Constructs a new SignDoc. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a SignDoc. - * @implements ISignDoc - * @constructor - * @param {cosmos.tx.v1beta1.ISignDoc=} [properties] Properties to set - */ - function SignDoc(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SignDoc bodyBytes. - * @member {Uint8Array} bodyBytes - * @memberof cosmos.tx.v1beta1.SignDoc - * @instance - */ - SignDoc.prototype.bodyBytes = $util.newBuffer([]); - - /** - * SignDoc authInfoBytes. - * @member {Uint8Array} authInfoBytes - * @memberof cosmos.tx.v1beta1.SignDoc - * @instance - */ - SignDoc.prototype.authInfoBytes = $util.newBuffer([]); - - /** - * SignDoc chainId. - * @member {string} chainId - * @memberof cosmos.tx.v1beta1.SignDoc - * @instance - */ - SignDoc.prototype.chainId = ""; - - /** - * SignDoc accountNumber. - * @member {number|Long} accountNumber - * @memberof cosmos.tx.v1beta1.SignDoc - * @instance - */ - SignDoc.prototype.accountNumber = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new SignDoc instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.SignDoc - * @static - * @param {cosmos.tx.v1beta1.ISignDoc=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.SignDoc} SignDoc instance - */ - SignDoc.create = function create(properties) { - return new SignDoc(properties); - }; - - /** - * Encodes the specified SignDoc message. Does not implicitly {@link cosmos.tx.v1beta1.SignDoc.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.SignDoc - * @static - * @param {cosmos.tx.v1beta1.ISignDoc} message SignDoc message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignDoc.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.bodyBytes != null && Object.hasOwnProperty.call(message, "bodyBytes")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.bodyBytes); - if (message.authInfoBytes != null && Object.hasOwnProperty.call(message, "authInfoBytes")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.authInfoBytes); - if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.chainId); - if (message.accountNumber != null && Object.hasOwnProperty.call(message, "accountNumber")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.accountNumber); - return writer; - }; - - /** - * Encodes the specified SignDoc message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.SignDoc.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.SignDoc - * @static - * @param {cosmos.tx.v1beta1.ISignDoc} message SignDoc message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignDoc.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SignDoc message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.SignDoc - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.SignDoc} SignDoc - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignDoc.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.SignDoc(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.bodyBytes = reader.bytes(); - break; - case 2: - message.authInfoBytes = reader.bytes(); - break; - case 3: - message.chainId = reader.string(); - break; - case 4: - message.accountNumber = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SignDoc message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.SignDoc - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.SignDoc} SignDoc - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignDoc.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SignDoc message. - * @function verify - * @memberof cosmos.tx.v1beta1.SignDoc - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SignDoc.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.bodyBytes != null && message.hasOwnProperty("bodyBytes")) - if (!(message.bodyBytes && typeof message.bodyBytes.length === "number" || $util.isString(message.bodyBytes))) - return "bodyBytes: buffer expected"; - if (message.authInfoBytes != null && message.hasOwnProperty("authInfoBytes")) - if (!(message.authInfoBytes && typeof message.authInfoBytes.length === "number" || $util.isString(message.authInfoBytes))) - return "authInfoBytes: buffer expected"; - if (message.chainId != null && message.hasOwnProperty("chainId")) - if (!$util.isString(message.chainId)) - return "chainId: string expected"; - if (message.accountNumber != null && message.hasOwnProperty("accountNumber")) - if (!$util.isInteger(message.accountNumber) && !(message.accountNumber && $util.isInteger(message.accountNumber.low) && $util.isInteger(message.accountNumber.high))) - return "accountNumber: integer|Long expected"; - return null; - }; - - /** - * Creates a SignDoc message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.SignDoc - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.SignDoc} SignDoc - */ - SignDoc.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.SignDoc) - return object; - let message = new $root.cosmos.tx.v1beta1.SignDoc(); - if (object.bodyBytes != null) - if (typeof object.bodyBytes === "string") - $util.base64.decode(object.bodyBytes, message.bodyBytes = $util.newBuffer($util.base64.length(object.bodyBytes)), 0); - else if (object.bodyBytes.length) - message.bodyBytes = object.bodyBytes; - if (object.authInfoBytes != null) - if (typeof object.authInfoBytes === "string") - $util.base64.decode(object.authInfoBytes, message.authInfoBytes = $util.newBuffer($util.base64.length(object.authInfoBytes)), 0); - else if (object.authInfoBytes.length) - message.authInfoBytes = object.authInfoBytes; - if (object.chainId != null) - message.chainId = String(object.chainId); - if (object.accountNumber != null) - if ($util.Long) - (message.accountNumber = $util.Long.fromValue(object.accountNumber)).unsigned = true; - else if (typeof object.accountNumber === "string") - message.accountNumber = parseInt(object.accountNumber, 10); - else if (typeof object.accountNumber === "number") - message.accountNumber = object.accountNumber; - else if (typeof object.accountNumber === "object") - message.accountNumber = new $util.LongBits(object.accountNumber.low >>> 0, object.accountNumber.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a SignDoc message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.SignDoc - * @static - * @param {cosmos.tx.v1beta1.SignDoc} message SignDoc - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SignDoc.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.bodyBytes = ""; - else { - object.bodyBytes = []; - if (options.bytes !== Array) - object.bodyBytes = $util.newBuffer(object.bodyBytes); - } - if (options.bytes === String) - object.authInfoBytes = ""; - else { - object.authInfoBytes = []; - if (options.bytes !== Array) - object.authInfoBytes = $util.newBuffer(object.authInfoBytes); - } - object.chainId = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.accountNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.accountNumber = options.longs === String ? "0" : 0; - } - if (message.bodyBytes != null && message.hasOwnProperty("bodyBytes")) - object.bodyBytes = options.bytes === String ? $util.base64.encode(message.bodyBytes, 0, message.bodyBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.bodyBytes) : message.bodyBytes; - if (message.authInfoBytes != null && message.hasOwnProperty("authInfoBytes")) - object.authInfoBytes = options.bytes === String ? $util.base64.encode(message.authInfoBytes, 0, message.authInfoBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.authInfoBytes) : message.authInfoBytes; - if (message.chainId != null && message.hasOwnProperty("chainId")) - object.chainId = message.chainId; - if (message.accountNumber != null && message.hasOwnProperty("accountNumber")) - if (typeof message.accountNumber === "number") - object.accountNumber = options.longs === String ? String(message.accountNumber) : message.accountNumber; - else - object.accountNumber = options.longs === String ? $util.Long.prototype.toString.call(message.accountNumber) : options.longs === Number ? new $util.LongBits(message.accountNumber.low >>> 0, message.accountNumber.high >>> 0).toNumber(true) : message.accountNumber; - return object; - }; - - /** - * Converts this SignDoc to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.SignDoc - * @instance - * @returns {Object.} JSON object - */ - SignDoc.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SignDoc; - })(v1beta1.SignDoc || {}); - - v1beta1.TxBody = (function(TxBody) { - - /** - * Properties of a TxBody. - * @memberof cosmos.tx.v1beta1 - * @interface ITxBody - * @property {Array.|null} [messages] TxBody messages - * @property {string|null} [memo] TxBody memo - * @property {number|Long|null} [timeoutHeight] TxBody timeoutHeight - * @property {Array.|null} [extensionOptions] TxBody extensionOptions - * @property {Array.|null} [nonCriticalExtensionOptions] TxBody nonCriticalExtensionOptions - */ - - /** - * Constructs a new TxBody. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a TxBody. - * @implements ITxBody - * @constructor - * @param {cosmos.tx.v1beta1.ITxBody=} [properties] Properties to set - */ - function TxBody(properties) { - this.messages = []; - this.extensionOptions = []; - this.nonCriticalExtensionOptions = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * TxBody messages. - * @member {Array.} messages - * @memberof cosmos.tx.v1beta1.TxBody - * @instance - */ - TxBody.prototype.messages = $util.emptyArray; - - /** - * TxBody memo. - * @member {string} memo - * @memberof cosmos.tx.v1beta1.TxBody - * @instance - */ - TxBody.prototype.memo = ""; - - /** - * TxBody timeoutHeight. - * @member {number|Long} timeoutHeight - * @memberof cosmos.tx.v1beta1.TxBody - * @instance - */ - TxBody.prototype.timeoutHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * TxBody extensionOptions. - * @member {Array.} extensionOptions - * @memberof cosmos.tx.v1beta1.TxBody - * @instance - */ - TxBody.prototype.extensionOptions = $util.emptyArray; - - /** - * TxBody nonCriticalExtensionOptions. - * @member {Array.} nonCriticalExtensionOptions - * @memberof cosmos.tx.v1beta1.TxBody - * @instance - */ - TxBody.prototype.nonCriticalExtensionOptions = $util.emptyArray; - - /** - * Creates a new TxBody instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.TxBody - * @static - * @param {cosmos.tx.v1beta1.ITxBody=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.TxBody} TxBody instance - */ - TxBody.create = function create(properties) { - return new TxBody(properties); - }; - - /** - * Encodes the specified TxBody message. Does not implicitly {@link cosmos.tx.v1beta1.TxBody.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.TxBody - * @static - * @param {cosmos.tx.v1beta1.ITxBody} message TxBody message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TxBody.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.messages != null && message.messages.length) - for (let i = 0; i < message.messages.length; ++i) - $root.google.protobuf.Any.encode(message.messages[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.memo != null && Object.hasOwnProperty.call(message, "memo")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.memo); - if (message.timeoutHeight != null && Object.hasOwnProperty.call(message, "timeoutHeight")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.timeoutHeight); - if (message.extensionOptions != null && message.extensionOptions.length) - for (let i = 0; i < message.extensionOptions.length; ++i) - $root.google.protobuf.Any.encode(message.extensionOptions[i], writer.uint32(/* id 1023, wireType 2 =*/8186).fork()).ldelim(); - if (message.nonCriticalExtensionOptions != null && message.nonCriticalExtensionOptions.length) - for (let i = 0; i < message.nonCriticalExtensionOptions.length; ++i) - $root.google.protobuf.Any.encode(message.nonCriticalExtensionOptions[i], writer.uint32(/* id 2047, wireType 2 =*/16378).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified TxBody message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.TxBody.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.TxBody - * @static - * @param {cosmos.tx.v1beta1.ITxBody} message TxBody message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TxBody.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TxBody message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.TxBody - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.TxBody} TxBody - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TxBody.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.TxBody(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.messages && message.messages.length)) - message.messages = []; - message.messages.push($root.google.protobuf.Any.decode(reader, reader.uint32())); - break; - case 2: - message.memo = reader.string(); - break; - case 3: - message.timeoutHeight = reader.uint64(); - break; - case 1023: - if (!(message.extensionOptions && message.extensionOptions.length)) - message.extensionOptions = []; - message.extensionOptions.push($root.google.protobuf.Any.decode(reader, reader.uint32())); - break; - case 2047: - if (!(message.nonCriticalExtensionOptions && message.nonCriticalExtensionOptions.length)) - message.nonCriticalExtensionOptions = []; - message.nonCriticalExtensionOptions.push($root.google.protobuf.Any.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TxBody message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.TxBody - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.TxBody} TxBody - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TxBody.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TxBody message. - * @function verify - * @memberof cosmos.tx.v1beta1.TxBody - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TxBody.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.messages != null && message.hasOwnProperty("messages")) { - if (!Array.isArray(message.messages)) - return "messages: array expected"; - for (let i = 0; i < message.messages.length; ++i) { - let error = $root.google.protobuf.Any.verify(message.messages[i]); - if (error) - return "messages." + error; - } - } - if (message.memo != null && message.hasOwnProperty("memo")) - if (!$util.isString(message.memo)) - return "memo: string expected"; - if (message.timeoutHeight != null && message.hasOwnProperty("timeoutHeight")) - if (!$util.isInteger(message.timeoutHeight) && !(message.timeoutHeight && $util.isInteger(message.timeoutHeight.low) && $util.isInteger(message.timeoutHeight.high))) - return "timeoutHeight: integer|Long expected"; - if (message.extensionOptions != null && message.hasOwnProperty("extensionOptions")) { - if (!Array.isArray(message.extensionOptions)) - return "extensionOptions: array expected"; - for (let i = 0; i < message.extensionOptions.length; ++i) { - let error = $root.google.protobuf.Any.verify(message.extensionOptions[i]); - if (error) - return "extensionOptions." + error; - } - } - if (message.nonCriticalExtensionOptions != null && message.hasOwnProperty("nonCriticalExtensionOptions")) { - if (!Array.isArray(message.nonCriticalExtensionOptions)) - return "nonCriticalExtensionOptions: array expected"; - for (let i = 0; i < message.nonCriticalExtensionOptions.length; ++i) { - let error = $root.google.protobuf.Any.verify(message.nonCriticalExtensionOptions[i]); - if (error) - return "nonCriticalExtensionOptions." + error; - } - } - return null; - }; - - /** - * Creates a TxBody message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.TxBody - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.TxBody} TxBody - */ - TxBody.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.TxBody) - return object; - let message = new $root.cosmos.tx.v1beta1.TxBody(); - if (object.messages) { - if (!Array.isArray(object.messages)) - throw TypeError(".cosmos.tx.v1beta1.TxBody.messages: array expected"); - message.messages = []; - for (let i = 0; i < object.messages.length; ++i) { - if (typeof object.messages[i] !== "object") - throw TypeError(".cosmos.tx.v1beta1.TxBody.messages: object expected"); - message.messages[i] = $root.google.protobuf.Any.fromObject(object.messages[i]); - } - } - if (object.memo != null) - message.memo = String(object.memo); - if (object.timeoutHeight != null) - if ($util.Long) - (message.timeoutHeight = $util.Long.fromValue(object.timeoutHeight)).unsigned = true; - else if (typeof object.timeoutHeight === "string") - message.timeoutHeight = parseInt(object.timeoutHeight, 10); - else if (typeof object.timeoutHeight === "number") - message.timeoutHeight = object.timeoutHeight; - else if (typeof object.timeoutHeight === "object") - message.timeoutHeight = new $util.LongBits(object.timeoutHeight.low >>> 0, object.timeoutHeight.high >>> 0).toNumber(true); - if (object.extensionOptions) { - if (!Array.isArray(object.extensionOptions)) - throw TypeError(".cosmos.tx.v1beta1.TxBody.extensionOptions: array expected"); - message.extensionOptions = []; - for (let i = 0; i < object.extensionOptions.length; ++i) { - if (typeof object.extensionOptions[i] !== "object") - throw TypeError(".cosmos.tx.v1beta1.TxBody.extensionOptions: object expected"); - message.extensionOptions[i] = $root.google.protobuf.Any.fromObject(object.extensionOptions[i]); - } - } - if (object.nonCriticalExtensionOptions) { - if (!Array.isArray(object.nonCriticalExtensionOptions)) - throw TypeError(".cosmos.tx.v1beta1.TxBody.nonCriticalExtensionOptions: array expected"); - message.nonCriticalExtensionOptions = []; - for (let i = 0; i < object.nonCriticalExtensionOptions.length; ++i) { - if (typeof object.nonCriticalExtensionOptions[i] !== "object") - throw TypeError(".cosmos.tx.v1beta1.TxBody.nonCriticalExtensionOptions: object expected"); - message.nonCriticalExtensionOptions[i] = $root.google.protobuf.Any.fromObject(object.nonCriticalExtensionOptions[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a TxBody message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.TxBody - * @static - * @param {cosmos.tx.v1beta1.TxBody} message TxBody - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TxBody.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.messages = []; - object.extensionOptions = []; - object.nonCriticalExtensionOptions = []; - } - if (options.defaults) { - object.memo = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.timeoutHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.timeoutHeight = options.longs === String ? "0" : 0; - } - if (message.messages && message.messages.length) { - object.messages = []; - for (let j = 0; j < message.messages.length; ++j) - object.messages[j] = $root.google.protobuf.Any.toObject(message.messages[j], options); - } - if (message.memo != null && message.hasOwnProperty("memo")) - object.memo = message.memo; - if (message.timeoutHeight != null && message.hasOwnProperty("timeoutHeight")) - if (typeof message.timeoutHeight === "number") - object.timeoutHeight = options.longs === String ? String(message.timeoutHeight) : message.timeoutHeight; - else - object.timeoutHeight = options.longs === String ? $util.Long.prototype.toString.call(message.timeoutHeight) : options.longs === Number ? new $util.LongBits(message.timeoutHeight.low >>> 0, message.timeoutHeight.high >>> 0).toNumber(true) : message.timeoutHeight; - if (message.extensionOptions && message.extensionOptions.length) { - object.extensionOptions = []; - for (let j = 0; j < message.extensionOptions.length; ++j) - object.extensionOptions[j] = $root.google.protobuf.Any.toObject(message.extensionOptions[j], options); - } - if (message.nonCriticalExtensionOptions && message.nonCriticalExtensionOptions.length) { - object.nonCriticalExtensionOptions = []; - for (let j = 0; j < message.nonCriticalExtensionOptions.length; ++j) - object.nonCriticalExtensionOptions[j] = $root.google.protobuf.Any.toObject(message.nonCriticalExtensionOptions[j], options); - } - return object; - }; - - /** - * Converts this TxBody to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.TxBody - * @instance - * @returns {Object.} JSON object - */ - TxBody.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return TxBody; - })(v1beta1.TxBody || {}); - - v1beta1.AuthInfo = (function(AuthInfo) { - - /** - * Properties of an AuthInfo. - * @memberof cosmos.tx.v1beta1 - * @interface IAuthInfo - * @property {Array.|null} [signerInfos] AuthInfo signerInfos - * @property {cosmos.tx.v1beta1.IFee|null} [fee] AuthInfo fee - */ - - /** - * Constructs a new AuthInfo. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents an AuthInfo. - * @implements IAuthInfo - * @constructor - * @param {cosmos.tx.v1beta1.IAuthInfo=} [properties] Properties to set - */ - function AuthInfo(properties) { - this.signerInfos = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * AuthInfo signerInfos. - * @member {Array.} signerInfos - * @memberof cosmos.tx.v1beta1.AuthInfo - * @instance - */ - AuthInfo.prototype.signerInfos = $util.emptyArray; - - /** - * AuthInfo fee. - * @member {cosmos.tx.v1beta1.IFee|null|undefined} fee - * @memberof cosmos.tx.v1beta1.AuthInfo - * @instance - */ - AuthInfo.prototype.fee = null; - - /** - * Creates a new AuthInfo instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.AuthInfo - * @static - * @param {cosmos.tx.v1beta1.IAuthInfo=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.AuthInfo} AuthInfo instance - */ - AuthInfo.create = function create(properties) { - return new AuthInfo(properties); - }; - - /** - * Encodes the specified AuthInfo message. Does not implicitly {@link cosmos.tx.v1beta1.AuthInfo.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.AuthInfo - * @static - * @param {cosmos.tx.v1beta1.IAuthInfo} message AuthInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AuthInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.signerInfos != null && message.signerInfos.length) - for (let i = 0; i < message.signerInfos.length; ++i) - $root.cosmos.tx.v1beta1.SignerInfo.encode(message.signerInfos[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.fee != null && Object.hasOwnProperty.call(message, "fee")) - $root.cosmos.tx.v1beta1.Fee.encode(message.fee, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified AuthInfo message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.AuthInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.AuthInfo - * @static - * @param {cosmos.tx.v1beta1.IAuthInfo} message AuthInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - AuthInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an AuthInfo message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.AuthInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.AuthInfo} AuthInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AuthInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.AuthInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.signerInfos && message.signerInfos.length)) - message.signerInfos = []; - message.signerInfos.push($root.cosmos.tx.v1beta1.SignerInfo.decode(reader, reader.uint32())); - break; - case 2: - message.fee = $root.cosmos.tx.v1beta1.Fee.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an AuthInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.AuthInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.AuthInfo} AuthInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - AuthInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an AuthInfo message. - * @function verify - * @memberof cosmos.tx.v1beta1.AuthInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - AuthInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.signerInfos != null && message.hasOwnProperty("signerInfos")) { - if (!Array.isArray(message.signerInfos)) - return "signerInfos: array expected"; - for (let i = 0; i < message.signerInfos.length; ++i) { - let error = $root.cosmos.tx.v1beta1.SignerInfo.verify(message.signerInfos[i]); - if (error) - return "signerInfos." + error; - } - } - if (message.fee != null && message.hasOwnProperty("fee")) { - let error = $root.cosmos.tx.v1beta1.Fee.verify(message.fee); - if (error) - return "fee." + error; - } - return null; - }; - - /** - * Creates an AuthInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.AuthInfo - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.AuthInfo} AuthInfo - */ - AuthInfo.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.AuthInfo) - return object; - let message = new $root.cosmos.tx.v1beta1.AuthInfo(); - if (object.signerInfos) { - if (!Array.isArray(object.signerInfos)) - throw TypeError(".cosmos.tx.v1beta1.AuthInfo.signerInfos: array expected"); - message.signerInfos = []; - for (let i = 0; i < object.signerInfos.length; ++i) { - if (typeof object.signerInfos[i] !== "object") - throw TypeError(".cosmos.tx.v1beta1.AuthInfo.signerInfos: object expected"); - message.signerInfos[i] = $root.cosmos.tx.v1beta1.SignerInfo.fromObject(object.signerInfos[i]); - } - } - if (object.fee != null) { - if (typeof object.fee !== "object") - throw TypeError(".cosmos.tx.v1beta1.AuthInfo.fee: object expected"); - message.fee = $root.cosmos.tx.v1beta1.Fee.fromObject(object.fee); - } - return message; - }; - - /** - * Creates a plain object from an AuthInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.AuthInfo - * @static - * @param {cosmos.tx.v1beta1.AuthInfo} message AuthInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - AuthInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.signerInfos = []; - if (options.defaults) - object.fee = null; - if (message.signerInfos && message.signerInfos.length) { - object.signerInfos = []; - for (let j = 0; j < message.signerInfos.length; ++j) - object.signerInfos[j] = $root.cosmos.tx.v1beta1.SignerInfo.toObject(message.signerInfos[j], options); - } - if (message.fee != null && message.hasOwnProperty("fee")) - object.fee = $root.cosmos.tx.v1beta1.Fee.toObject(message.fee, options); - return object; - }; - - /** - * Converts this AuthInfo to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.AuthInfo - * @instance - * @returns {Object.} JSON object - */ - AuthInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return AuthInfo; - })(v1beta1.AuthInfo || {}); - - v1beta1.SignerInfo = (function(SignerInfo) { - - /** - * Properties of a SignerInfo. - * @memberof cosmos.tx.v1beta1 - * @interface ISignerInfo - * @property {google.protobuf.IAny|null} [publicKey] SignerInfo publicKey - * @property {cosmos.tx.v1beta1.IModeInfo|null} [modeInfo] SignerInfo modeInfo - * @property {number|Long|null} [sequence] SignerInfo sequence - */ - - /** - * Constructs a new SignerInfo. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a SignerInfo. - * @implements ISignerInfo - * @constructor - * @param {cosmos.tx.v1beta1.ISignerInfo=} [properties] Properties to set - */ - function SignerInfo(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SignerInfo publicKey. - * @member {google.protobuf.IAny|null|undefined} publicKey - * @memberof cosmos.tx.v1beta1.SignerInfo - * @instance - */ - SignerInfo.prototype.publicKey = null; - - /** - * SignerInfo modeInfo. - * @member {cosmos.tx.v1beta1.IModeInfo|null|undefined} modeInfo - * @memberof cosmos.tx.v1beta1.SignerInfo - * @instance - */ - SignerInfo.prototype.modeInfo = null; - - /** - * SignerInfo sequence. - * @member {number|Long} sequence - * @memberof cosmos.tx.v1beta1.SignerInfo - * @instance - */ - SignerInfo.prototype.sequence = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new SignerInfo instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.SignerInfo - * @static - * @param {cosmos.tx.v1beta1.ISignerInfo=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.SignerInfo} SignerInfo instance - */ - SignerInfo.create = function create(properties) { - return new SignerInfo(properties); - }; - - /** - * Encodes the specified SignerInfo message. Does not implicitly {@link cosmos.tx.v1beta1.SignerInfo.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.SignerInfo - * @static - * @param {cosmos.tx.v1beta1.ISignerInfo} message SignerInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignerInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.publicKey != null && Object.hasOwnProperty.call(message, "publicKey")) - $root.google.protobuf.Any.encode(message.publicKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.modeInfo != null && Object.hasOwnProperty.call(message, "modeInfo")) - $root.cosmos.tx.v1beta1.ModeInfo.encode(message.modeInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.sequence != null && Object.hasOwnProperty.call(message, "sequence")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.sequence); - return writer; - }; - - /** - * Encodes the specified SignerInfo message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.SignerInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.SignerInfo - * @static - * @param {cosmos.tx.v1beta1.ISignerInfo} message SignerInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignerInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SignerInfo message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.SignerInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.SignerInfo} SignerInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignerInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.SignerInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.publicKey = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 2: - message.modeInfo = $root.cosmos.tx.v1beta1.ModeInfo.decode(reader, reader.uint32()); - break; - case 3: - message.sequence = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SignerInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.SignerInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.SignerInfo} SignerInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignerInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SignerInfo message. - * @function verify - * @memberof cosmos.tx.v1beta1.SignerInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SignerInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.publicKey != null && message.hasOwnProperty("publicKey")) { - let error = $root.google.protobuf.Any.verify(message.publicKey); - if (error) - return "publicKey." + error; - } - if (message.modeInfo != null && message.hasOwnProperty("modeInfo")) { - let error = $root.cosmos.tx.v1beta1.ModeInfo.verify(message.modeInfo); - if (error) - return "modeInfo." + error; - } - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (!$util.isInteger(message.sequence) && !(message.sequence && $util.isInteger(message.sequence.low) && $util.isInteger(message.sequence.high))) - return "sequence: integer|Long expected"; - return null; - }; - - /** - * Creates a SignerInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.SignerInfo - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.SignerInfo} SignerInfo - */ - SignerInfo.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.SignerInfo) - return object; - let message = new $root.cosmos.tx.v1beta1.SignerInfo(); - if (object.publicKey != null) { - if (typeof object.publicKey !== "object") - throw TypeError(".cosmos.tx.v1beta1.SignerInfo.publicKey: object expected"); - message.publicKey = $root.google.protobuf.Any.fromObject(object.publicKey); - } - if (object.modeInfo != null) { - if (typeof object.modeInfo !== "object") - throw TypeError(".cosmos.tx.v1beta1.SignerInfo.modeInfo: object expected"); - message.modeInfo = $root.cosmos.tx.v1beta1.ModeInfo.fromObject(object.modeInfo); - } - if (object.sequence != null) - if ($util.Long) - (message.sequence = $util.Long.fromValue(object.sequence)).unsigned = true; - else if (typeof object.sequence === "string") - message.sequence = parseInt(object.sequence, 10); - else if (typeof object.sequence === "number") - message.sequence = object.sequence; - else if (typeof object.sequence === "object") - message.sequence = new $util.LongBits(object.sequence.low >>> 0, object.sequence.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a SignerInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.SignerInfo - * @static - * @param {cosmos.tx.v1beta1.SignerInfo} message SignerInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SignerInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.publicKey = null; - object.modeInfo = null; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.sequence = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.sequence = options.longs === String ? "0" : 0; - } - if (message.publicKey != null && message.hasOwnProperty("publicKey")) - object.publicKey = $root.google.protobuf.Any.toObject(message.publicKey, options); - if (message.modeInfo != null && message.hasOwnProperty("modeInfo")) - object.modeInfo = $root.cosmos.tx.v1beta1.ModeInfo.toObject(message.modeInfo, options); - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (typeof message.sequence === "number") - object.sequence = options.longs === String ? String(message.sequence) : message.sequence; - else - object.sequence = options.longs === String ? $util.Long.prototype.toString.call(message.sequence) : options.longs === Number ? new $util.LongBits(message.sequence.low >>> 0, message.sequence.high >>> 0).toNumber(true) : message.sequence; - return object; - }; - - /** - * Converts this SignerInfo to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.SignerInfo - * @instance - * @returns {Object.} JSON object - */ - SignerInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SignerInfo; - })(v1beta1.SignerInfo || {}); - - v1beta1.ModeInfo = (function(ModeInfo) { - - /** - * Properties of a ModeInfo. - * @memberof cosmos.tx.v1beta1 - * @interface IModeInfo - * @property {cosmos.tx.v1beta1.ModeInfo.ISingle|null} [single] ModeInfo single - * @property {cosmos.tx.v1beta1.ModeInfo.IMulti|null} [multi] ModeInfo multi - */ - - /** - * Constructs a new ModeInfo. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a ModeInfo. - * @implements IModeInfo - * @constructor - * @param {cosmos.tx.v1beta1.IModeInfo=} [properties] Properties to set - */ - function ModeInfo(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ModeInfo single. - * @member {cosmos.tx.v1beta1.ModeInfo.ISingle|null|undefined} single - * @memberof cosmos.tx.v1beta1.ModeInfo - * @instance - */ - ModeInfo.prototype.single = null; - - /** - * ModeInfo multi. - * @member {cosmos.tx.v1beta1.ModeInfo.IMulti|null|undefined} multi - * @memberof cosmos.tx.v1beta1.ModeInfo - * @instance - */ - ModeInfo.prototype.multi = null; - - // OneOf field names bound to virtual getters and setters - let $oneOfFields; - - /** - * ModeInfo sum. - * @member {"single"|"multi"|undefined} sum - * @memberof cosmos.tx.v1beta1.ModeInfo - * @instance - */ - Object.defineProperty(ModeInfo.prototype, "sum", { - get: $util.oneOfGetter($oneOfFields = ["single", "multi"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new ModeInfo instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.ModeInfo - * @static - * @param {cosmos.tx.v1beta1.IModeInfo=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.ModeInfo} ModeInfo instance - */ - ModeInfo.create = function create(properties) { - return new ModeInfo(properties); - }; - - /** - * Encodes the specified ModeInfo message. Does not implicitly {@link cosmos.tx.v1beta1.ModeInfo.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.ModeInfo - * @static - * @param {cosmos.tx.v1beta1.IModeInfo} message ModeInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ModeInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.single != null && Object.hasOwnProperty.call(message, "single")) - $root.cosmos.tx.v1beta1.ModeInfo.Single.encode(message.single, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.multi != null && Object.hasOwnProperty.call(message, "multi")) - $root.cosmos.tx.v1beta1.ModeInfo.Multi.encode(message.multi, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ModeInfo message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.ModeInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.ModeInfo - * @static - * @param {cosmos.tx.v1beta1.IModeInfo} message ModeInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ModeInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ModeInfo message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.ModeInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.ModeInfo} ModeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ModeInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.ModeInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.single = $root.cosmos.tx.v1beta1.ModeInfo.Single.decode(reader, reader.uint32()); - break; - case 2: - message.multi = $root.cosmos.tx.v1beta1.ModeInfo.Multi.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ModeInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.ModeInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.ModeInfo} ModeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ModeInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ModeInfo message. - * @function verify - * @memberof cosmos.tx.v1beta1.ModeInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ModeInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - let properties = {}; - if (message.single != null && message.hasOwnProperty("single")) { - properties.sum = 1; - { - let error = $root.cosmos.tx.v1beta1.ModeInfo.Single.verify(message.single); - if (error) - return "single." + error; - } - } - if (message.multi != null && message.hasOwnProperty("multi")) { - if (properties.sum === 1) - return "sum: multiple values"; - properties.sum = 1; - { - let error = $root.cosmos.tx.v1beta1.ModeInfo.Multi.verify(message.multi); - if (error) - return "multi." + error; - } - } - return null; - }; - - /** - * Creates a ModeInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.ModeInfo - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.ModeInfo} ModeInfo - */ - ModeInfo.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.ModeInfo) - return object; - let message = new $root.cosmos.tx.v1beta1.ModeInfo(); - if (object.single != null) { - if (typeof object.single !== "object") - throw TypeError(".cosmos.tx.v1beta1.ModeInfo.single: object expected"); - message.single = $root.cosmos.tx.v1beta1.ModeInfo.Single.fromObject(object.single); - } - if (object.multi != null) { - if (typeof object.multi !== "object") - throw TypeError(".cosmos.tx.v1beta1.ModeInfo.multi: object expected"); - message.multi = $root.cosmos.tx.v1beta1.ModeInfo.Multi.fromObject(object.multi); - } - return message; - }; - - /** - * Creates a plain object from a ModeInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.ModeInfo - * @static - * @param {cosmos.tx.v1beta1.ModeInfo} message ModeInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ModeInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (message.single != null && message.hasOwnProperty("single")) { - object.single = $root.cosmos.tx.v1beta1.ModeInfo.Single.toObject(message.single, options); - if (options.oneofs) - object.sum = "single"; - } - if (message.multi != null && message.hasOwnProperty("multi")) { - object.multi = $root.cosmos.tx.v1beta1.ModeInfo.Multi.toObject(message.multi, options); - if (options.oneofs) - object.sum = "multi"; - } - return object; - }; - - /** - * Converts this ModeInfo to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.ModeInfo - * @instance - * @returns {Object.} JSON object - */ - ModeInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - ModeInfo.Single = (function(Single) { - - /** - * Properties of a Single. - * @memberof cosmos.tx.v1beta1.ModeInfo - * @interface ISingle - * @property {cosmos.tx.signing.v1beta1.SignMode|null} [mode] Single mode - */ - - /** - * Constructs a new Single. - * @memberof cosmos.tx.v1beta1.ModeInfo - * @classdesc Represents a Single. - * @implements ISingle - * @constructor - * @param {cosmos.tx.v1beta1.ModeInfo.ISingle=} [properties] Properties to set - */ - function Single(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Single mode. - * @member {cosmos.tx.signing.v1beta1.SignMode} mode - * @memberof cosmos.tx.v1beta1.ModeInfo.Single - * @instance - */ - Single.prototype.mode = 0; - - /** - * Creates a new Single instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.ModeInfo.Single - * @static - * @param {cosmos.tx.v1beta1.ModeInfo.ISingle=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.ModeInfo.Single} Single instance - */ - Single.create = function create(properties) { - return new Single(properties); - }; - - /** - * Encodes the specified Single message. Does not implicitly {@link cosmos.tx.v1beta1.ModeInfo.Single.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.ModeInfo.Single - * @static - * @param {cosmos.tx.v1beta1.ModeInfo.ISingle} message Single message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Single.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.mode != null && Object.hasOwnProperty.call(message, "mode")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.mode); - return writer; - }; - - /** - * Encodes the specified Single message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.ModeInfo.Single.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.ModeInfo.Single - * @static - * @param {cosmos.tx.v1beta1.ModeInfo.ISingle} message Single message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Single.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Single message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.ModeInfo.Single - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.ModeInfo.Single} Single - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Single.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.ModeInfo.Single(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.mode = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Single message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.ModeInfo.Single - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.ModeInfo.Single} Single - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Single.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Single message. - * @function verify - * @memberof cosmos.tx.v1beta1.ModeInfo.Single - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Single.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.mode != null && message.hasOwnProperty("mode")) - switch (message.mode) { - default: - return "mode: enum value expected"; - case 0: - case 1: - case 2: - case 127: - break; - } - return null; - }; - - /** - * Creates a Single message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.ModeInfo.Single - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.ModeInfo.Single} Single - */ - Single.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.ModeInfo.Single) - return object; - let message = new $root.cosmos.tx.v1beta1.ModeInfo.Single(); - switch (object.mode) { - case "SIGN_MODE_UNSPECIFIED": - case 0: - message.mode = 0; - break; - case "SIGN_MODE_DIRECT": - case 1: - message.mode = 1; - break; - case "SIGN_MODE_TEXTUAL": - case 2: - message.mode = 2; - break; - case "SIGN_MODE_LEGACY_AMINO_JSON": - case 127: - message.mode = 127; - break; - } - return message; - }; - - /** - * Creates a plain object from a Single message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.ModeInfo.Single - * @static - * @param {cosmos.tx.v1beta1.ModeInfo.Single} message Single - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Single.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.mode = options.enums === String ? "SIGN_MODE_UNSPECIFIED" : 0; - if (message.mode != null && message.hasOwnProperty("mode")) - object.mode = options.enums === String ? $root.cosmos.tx.signing.v1beta1.SignMode[message.mode] : message.mode; - return object; - }; - - /** - * Converts this Single to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.ModeInfo.Single - * @instance - * @returns {Object.} JSON object - */ - Single.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Single; - })(ModeInfo.Single || {}); - - ModeInfo.Multi = (function(Multi) { - - /** - * Properties of a Multi. - * @memberof cosmos.tx.v1beta1.ModeInfo - * @interface IMulti - * @property {cosmos.crypto.multisig.v1beta1.ICompactBitArray|null} [bitarray] Multi bitarray - * @property {Array.|null} [modeInfos] Multi modeInfos - */ - - /** - * Constructs a new Multi. - * @memberof cosmos.tx.v1beta1.ModeInfo - * @classdesc Represents a Multi. - * @implements IMulti - * @constructor - * @param {cosmos.tx.v1beta1.ModeInfo.IMulti=} [properties] Properties to set - */ - function Multi(properties) { - this.modeInfos = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Multi bitarray. - * @member {cosmos.crypto.multisig.v1beta1.ICompactBitArray|null|undefined} bitarray - * @memberof cosmos.tx.v1beta1.ModeInfo.Multi - * @instance - */ - Multi.prototype.bitarray = null; - - /** - * Multi modeInfos. - * @member {Array.} modeInfos - * @memberof cosmos.tx.v1beta1.ModeInfo.Multi - * @instance - */ - Multi.prototype.modeInfos = $util.emptyArray; - - /** - * Creates a new Multi instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.ModeInfo.Multi - * @static - * @param {cosmos.tx.v1beta1.ModeInfo.IMulti=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.ModeInfo.Multi} Multi instance - */ - Multi.create = function create(properties) { - return new Multi(properties); - }; - - /** - * Encodes the specified Multi message. Does not implicitly {@link cosmos.tx.v1beta1.ModeInfo.Multi.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.ModeInfo.Multi - * @static - * @param {cosmos.tx.v1beta1.ModeInfo.IMulti} message Multi message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Multi.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.bitarray != null && Object.hasOwnProperty.call(message, "bitarray")) - $root.cosmos.crypto.multisig.v1beta1.CompactBitArray.encode(message.bitarray, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.modeInfos != null && message.modeInfos.length) - for (let i = 0; i < message.modeInfos.length; ++i) - $root.cosmos.tx.v1beta1.ModeInfo.encode(message.modeInfos[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Multi message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.ModeInfo.Multi.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.ModeInfo.Multi - * @static - * @param {cosmos.tx.v1beta1.ModeInfo.IMulti} message Multi message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Multi.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Multi message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.ModeInfo.Multi - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.ModeInfo.Multi} Multi - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Multi.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.ModeInfo.Multi(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.bitarray = $root.cosmos.crypto.multisig.v1beta1.CompactBitArray.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.modeInfos && message.modeInfos.length)) - message.modeInfos = []; - message.modeInfos.push($root.cosmos.tx.v1beta1.ModeInfo.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Multi message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.ModeInfo.Multi - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.ModeInfo.Multi} Multi - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Multi.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Multi message. - * @function verify - * @memberof cosmos.tx.v1beta1.ModeInfo.Multi - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Multi.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.bitarray != null && message.hasOwnProperty("bitarray")) { - let error = $root.cosmos.crypto.multisig.v1beta1.CompactBitArray.verify(message.bitarray); - if (error) - return "bitarray." + error; - } - if (message.modeInfos != null && message.hasOwnProperty("modeInfos")) { - if (!Array.isArray(message.modeInfos)) - return "modeInfos: array expected"; - for (let i = 0; i < message.modeInfos.length; ++i) { - let error = $root.cosmos.tx.v1beta1.ModeInfo.verify(message.modeInfos[i]); - if (error) - return "modeInfos." + error; - } - } - return null; - }; - - /** - * Creates a Multi message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.ModeInfo.Multi - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.ModeInfo.Multi} Multi - */ - Multi.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.ModeInfo.Multi) - return object; - let message = new $root.cosmos.tx.v1beta1.ModeInfo.Multi(); - if (object.bitarray != null) { - if (typeof object.bitarray !== "object") - throw TypeError(".cosmos.tx.v1beta1.ModeInfo.Multi.bitarray: object expected"); - message.bitarray = $root.cosmos.crypto.multisig.v1beta1.CompactBitArray.fromObject(object.bitarray); - } - if (object.modeInfos) { - if (!Array.isArray(object.modeInfos)) - throw TypeError(".cosmos.tx.v1beta1.ModeInfo.Multi.modeInfos: array expected"); - message.modeInfos = []; - for (let i = 0; i < object.modeInfos.length; ++i) { - if (typeof object.modeInfos[i] !== "object") - throw TypeError(".cosmos.tx.v1beta1.ModeInfo.Multi.modeInfos: object expected"); - message.modeInfos[i] = $root.cosmos.tx.v1beta1.ModeInfo.fromObject(object.modeInfos[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a Multi message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.ModeInfo.Multi - * @static - * @param {cosmos.tx.v1beta1.ModeInfo.Multi} message Multi - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Multi.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.modeInfos = []; - if (options.defaults) - object.bitarray = null; - if (message.bitarray != null && message.hasOwnProperty("bitarray")) - object.bitarray = $root.cosmos.crypto.multisig.v1beta1.CompactBitArray.toObject(message.bitarray, options); - if (message.modeInfos && message.modeInfos.length) { - object.modeInfos = []; - for (let j = 0; j < message.modeInfos.length; ++j) - object.modeInfos[j] = $root.cosmos.tx.v1beta1.ModeInfo.toObject(message.modeInfos[j], options); - } - return object; - }; - - /** - * Converts this Multi to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.ModeInfo.Multi - * @instance - * @returns {Object.} JSON object - */ - Multi.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Multi; - })(ModeInfo.Multi || {}); - - return ModeInfo; - })(v1beta1.ModeInfo || {}); - - v1beta1.Fee = (function(Fee) { - - /** - * Properties of a Fee. - * @memberof cosmos.tx.v1beta1 - * @interface IFee - * @property {Array.|null} [amount] Fee amount - * @property {number|Long|null} [gasLimit] Fee gasLimit - * @property {string|null} [payer] Fee payer - * @property {string|null} [granter] Fee granter - */ - - /** - * Constructs a new Fee. - * @memberof cosmos.tx.v1beta1 - * @classdesc Represents a Fee. - * @implements IFee - * @constructor - * @param {cosmos.tx.v1beta1.IFee=} [properties] Properties to set - */ - function Fee(properties) { - this.amount = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Fee amount. - * @member {Array.} amount - * @memberof cosmos.tx.v1beta1.Fee - * @instance - */ - Fee.prototype.amount = $util.emptyArray; - - /** - * Fee gasLimit. - * @member {number|Long} gasLimit - * @memberof cosmos.tx.v1beta1.Fee - * @instance - */ - Fee.prototype.gasLimit = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Fee payer. - * @member {string} payer - * @memberof cosmos.tx.v1beta1.Fee - * @instance - */ - Fee.prototype.payer = ""; - - /** - * Fee granter. - * @member {string} granter - * @memberof cosmos.tx.v1beta1.Fee - * @instance - */ - Fee.prototype.granter = ""; - - /** - * Creates a new Fee instance using the specified properties. - * @function create - * @memberof cosmos.tx.v1beta1.Fee - * @static - * @param {cosmos.tx.v1beta1.IFee=} [properties] Properties to set - * @returns {cosmos.tx.v1beta1.Fee} Fee instance - */ - Fee.create = function create(properties) { - return new Fee(properties); - }; - - /** - * Encodes the specified Fee message. Does not implicitly {@link cosmos.tx.v1beta1.Fee.verify|verify} messages. - * @function encode - * @memberof cosmos.tx.v1beta1.Fee - * @static - * @param {cosmos.tx.v1beta1.IFee} message Fee message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Fee.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.amount != null && message.amount.length) - for (let i = 0; i < message.amount.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.amount[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.gasLimit != null && Object.hasOwnProperty.call(message, "gasLimit")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.gasLimit); - if (message.payer != null && Object.hasOwnProperty.call(message, "payer")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.payer); - if (message.granter != null && Object.hasOwnProperty.call(message, "granter")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.granter); - return writer; - }; - - /** - * Encodes the specified Fee message, length delimited. Does not implicitly {@link cosmos.tx.v1beta1.Fee.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.tx.v1beta1.Fee - * @static - * @param {cosmos.tx.v1beta1.IFee} message Fee message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Fee.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Fee message from the specified reader or buffer. - * @function decode - * @memberof cosmos.tx.v1beta1.Fee - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.tx.v1beta1.Fee} Fee - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Fee.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.tx.v1beta1.Fee(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.amount && message.amount.length)) - message.amount = []; - message.amount.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - case 2: - message.gasLimit = reader.uint64(); - break; - case 3: - message.payer = reader.string(); - break; - case 4: - message.granter = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Fee message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.tx.v1beta1.Fee - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.tx.v1beta1.Fee} Fee - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Fee.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Fee message. - * @function verify - * @memberof cosmos.tx.v1beta1.Fee - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Fee.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - if (!Array.isArray(message.amount)) - return "amount: array expected"; - for (let i = 0; i < message.amount.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.amount[i]); - if (error) - return "amount." + error; - } - } - if (message.gasLimit != null && message.hasOwnProperty("gasLimit")) - if (!$util.isInteger(message.gasLimit) && !(message.gasLimit && $util.isInteger(message.gasLimit.low) && $util.isInteger(message.gasLimit.high))) - return "gasLimit: integer|Long expected"; - if (message.payer != null && message.hasOwnProperty("payer")) - if (!$util.isString(message.payer)) - return "payer: string expected"; - if (message.granter != null && message.hasOwnProperty("granter")) - if (!$util.isString(message.granter)) - return "granter: string expected"; - return null; - }; - - /** - * Creates a Fee message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.tx.v1beta1.Fee - * @static - * @param {Object.} object Plain object - * @returns {cosmos.tx.v1beta1.Fee} Fee - */ - Fee.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.tx.v1beta1.Fee) - return object; - let message = new $root.cosmos.tx.v1beta1.Fee(); - if (object.amount) { - if (!Array.isArray(object.amount)) - throw TypeError(".cosmos.tx.v1beta1.Fee.amount: array expected"); - message.amount = []; - for (let i = 0; i < object.amount.length; ++i) { - if (typeof object.amount[i] !== "object") - throw TypeError(".cosmos.tx.v1beta1.Fee.amount: object expected"); - message.amount[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.amount[i]); - } - } - if (object.gasLimit != null) - if ($util.Long) - (message.gasLimit = $util.Long.fromValue(object.gasLimit)).unsigned = true; - else if (typeof object.gasLimit === "string") - message.gasLimit = parseInt(object.gasLimit, 10); - else if (typeof object.gasLimit === "number") - message.gasLimit = object.gasLimit; - else if (typeof object.gasLimit === "object") - message.gasLimit = new $util.LongBits(object.gasLimit.low >>> 0, object.gasLimit.high >>> 0).toNumber(true); - if (object.payer != null) - message.payer = String(object.payer); - if (object.granter != null) - message.granter = String(object.granter); - return message; - }; - - /** - * Creates a plain object from a Fee message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.tx.v1beta1.Fee - * @static - * @param {cosmos.tx.v1beta1.Fee} message Fee - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Fee.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.amount = []; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.gasLimit = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasLimit = options.longs === String ? "0" : 0; - object.payer = ""; - object.granter = ""; - } - if (message.amount && message.amount.length) { - object.amount = []; - for (let j = 0; j < message.amount.length; ++j) - object.amount[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.amount[j], options); - } - if (message.gasLimit != null && message.hasOwnProperty("gasLimit")) - if (typeof message.gasLimit === "number") - object.gasLimit = options.longs === String ? String(message.gasLimit) : message.gasLimit; - else - object.gasLimit = options.longs === String ? $util.Long.prototype.toString.call(message.gasLimit) : options.longs === Number ? new $util.LongBits(message.gasLimit.low >>> 0, message.gasLimit.high >>> 0).toNumber(true) : message.gasLimit; - if (message.payer != null && message.hasOwnProperty("payer")) - object.payer = message.payer; - if (message.granter != null && message.hasOwnProperty("granter")) - object.granter = message.granter; - return object; - }; - - /** - * Converts this Fee to JSON. - * @function toJSON - * @memberof cosmos.tx.v1beta1.Fee - * @instance - * @returns {Object.} JSON object - */ - Fee.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Fee; - })(v1beta1.Fee || {}); - - return v1beta1; - })(tx.v1beta1 || {}); - - return tx; - })(cosmos.tx || {}); - - /** - * Namespace upgrade. - * @memberof cosmos - * @namespace - */ - - cosmos.upgrade = (function(upgrade) { - - /** - * Namespace v1beta1. - * @memberof cosmos.upgrade - * @namespace - */ - - upgrade.v1beta1 = (function(v1beta1) { - - v1beta1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof cosmos.upgrade.v1beta1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof cosmos.upgrade.v1beta1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.upgrade.v1beta1.Query#currentPlan}. - * @memberof cosmos.upgrade.v1beta1.Query - * @typedef CurrentPlanCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.upgrade.v1beta1.IQueryCurrentPlanResponse} [response] QueryCurrentPlanResponse - */ - - /** - * Calls CurrentPlan. - * @function currentPlan - * @memberof cosmos.upgrade.v1beta1.Query - * @instance - * @param {cosmos.upgrade.v1beta1.IQueryCurrentPlanRequest} request QueryCurrentPlanRequest message or plain object - * @param {cosmos.upgrade.v1beta1.Query.CurrentPlanCallback} callback Node-style callback called with the error, if any, and QueryCurrentPlanResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.currentPlan = function currentPlan(request, callback) { - return this.rpcCall(currentPlan, $root.cosmos.upgrade.v1beta1.QueryCurrentPlanRequest, $root.cosmos.upgrade.v1beta1.QueryCurrentPlanResponse, request, callback); - }, "name", { value: "CurrentPlan" }); - - /** - * Calls CurrentPlan. - * @function currentPlan - * @memberof cosmos.upgrade.v1beta1.Query - * @instance - * @param {cosmos.upgrade.v1beta1.IQueryCurrentPlanRequest} request QueryCurrentPlanRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.upgrade.v1beta1.Query#appliedPlan}. - * @memberof cosmos.upgrade.v1beta1.Query - * @typedef AppliedPlanCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.upgrade.v1beta1.IQueryAppliedPlanResponse} [response] QueryAppliedPlanResponse - */ - - /** - * Calls AppliedPlan. - * @function appliedPlan - * @memberof cosmos.upgrade.v1beta1.Query - * @instance - * @param {cosmos.upgrade.v1beta1.IQueryAppliedPlanRequest} request QueryAppliedPlanRequest message or plain object - * @param {cosmos.upgrade.v1beta1.Query.AppliedPlanCallback} callback Node-style callback called with the error, if any, and QueryAppliedPlanResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.appliedPlan = function appliedPlan(request, callback) { - return this.rpcCall(appliedPlan, $root.cosmos.upgrade.v1beta1.QueryAppliedPlanRequest, $root.cosmos.upgrade.v1beta1.QueryAppliedPlanResponse, request, callback); - }, "name", { value: "AppliedPlan" }); - - /** - * Calls AppliedPlan. - * @function appliedPlan - * @memberof cosmos.upgrade.v1beta1.Query - * @instance - * @param {cosmos.upgrade.v1beta1.IQueryAppliedPlanRequest} request QueryAppliedPlanRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link cosmos.upgrade.v1beta1.Query#upgradedConsensusState}. - * @memberof cosmos.upgrade.v1beta1.Query - * @typedef UpgradedConsensusStateCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.upgrade.v1beta1.IQueryUpgradedConsensusStateResponse} [response] QueryUpgradedConsensusStateResponse - */ - - /** - * Calls UpgradedConsensusState. - * @function upgradedConsensusState - * @memberof cosmos.upgrade.v1beta1.Query - * @instance - * @param {cosmos.upgrade.v1beta1.IQueryUpgradedConsensusStateRequest} request QueryUpgradedConsensusStateRequest message or plain object - * @param {cosmos.upgrade.v1beta1.Query.UpgradedConsensusStateCallback} callback Node-style callback called with the error, if any, and QueryUpgradedConsensusStateResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.upgradedConsensusState = function upgradedConsensusState(request, callback) { - return this.rpcCall(upgradedConsensusState, $root.cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest, $root.cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse, request, callback); - }, "name", { value: "UpgradedConsensusState" }); - - /** - * Calls UpgradedConsensusState. - * @function upgradedConsensusState - * @memberof cosmos.upgrade.v1beta1.Query - * @instance - * @param {cosmos.upgrade.v1beta1.IQueryUpgradedConsensusStateRequest} request QueryUpgradedConsensusStateRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1beta1.Query || {}); - - v1beta1.QueryCurrentPlanRequest = (function(QueryCurrentPlanRequest) { - - /** - * Properties of a QueryCurrentPlanRequest. - * @memberof cosmos.upgrade.v1beta1 - * @interface IQueryCurrentPlanRequest - */ - - /** - * Constructs a new QueryCurrentPlanRequest. - * @memberof cosmos.upgrade.v1beta1 - * @classdesc Represents a QueryCurrentPlanRequest. - * @implements IQueryCurrentPlanRequest - * @constructor - * @param {cosmos.upgrade.v1beta1.IQueryCurrentPlanRequest=} [properties] Properties to set - */ - function QueryCurrentPlanRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryCurrentPlanRequest instance using the specified properties. - * @function create - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanRequest - * @static - * @param {cosmos.upgrade.v1beta1.IQueryCurrentPlanRequest=} [properties] Properties to set - * @returns {cosmos.upgrade.v1beta1.QueryCurrentPlanRequest} QueryCurrentPlanRequest instance - */ - QueryCurrentPlanRequest.create = function create(properties) { - return new QueryCurrentPlanRequest(properties); - }; - - /** - * Encodes the specified QueryCurrentPlanRequest message. Does not implicitly {@link cosmos.upgrade.v1beta1.QueryCurrentPlanRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanRequest - * @static - * @param {cosmos.upgrade.v1beta1.IQueryCurrentPlanRequest} message QueryCurrentPlanRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryCurrentPlanRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryCurrentPlanRequest message, length delimited. Does not implicitly {@link cosmos.upgrade.v1beta1.QueryCurrentPlanRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanRequest - * @static - * @param {cosmos.upgrade.v1beta1.IQueryCurrentPlanRequest} message QueryCurrentPlanRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryCurrentPlanRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryCurrentPlanRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.upgrade.v1beta1.QueryCurrentPlanRequest} QueryCurrentPlanRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryCurrentPlanRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.upgrade.v1beta1.QueryCurrentPlanRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryCurrentPlanRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.upgrade.v1beta1.QueryCurrentPlanRequest} QueryCurrentPlanRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryCurrentPlanRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryCurrentPlanRequest message. - * @function verify - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryCurrentPlanRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryCurrentPlanRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.upgrade.v1beta1.QueryCurrentPlanRequest} QueryCurrentPlanRequest - */ - QueryCurrentPlanRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.upgrade.v1beta1.QueryCurrentPlanRequest) - return object; - return new $root.cosmos.upgrade.v1beta1.QueryCurrentPlanRequest(); - }; - - /** - * Creates a plain object from a QueryCurrentPlanRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanRequest - * @static - * @param {cosmos.upgrade.v1beta1.QueryCurrentPlanRequest} message QueryCurrentPlanRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryCurrentPlanRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryCurrentPlanRequest to JSON. - * @function toJSON - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanRequest - * @instance - * @returns {Object.} JSON object - */ - QueryCurrentPlanRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryCurrentPlanRequest; - })(v1beta1.QueryCurrentPlanRequest || {}); - - v1beta1.QueryCurrentPlanResponse = (function(QueryCurrentPlanResponse) { - - /** - * Properties of a QueryCurrentPlanResponse. - * @memberof cosmos.upgrade.v1beta1 - * @interface IQueryCurrentPlanResponse - * @property {cosmos.upgrade.v1beta1.IPlan|null} [plan] QueryCurrentPlanResponse plan - */ - - /** - * Constructs a new QueryCurrentPlanResponse. - * @memberof cosmos.upgrade.v1beta1 - * @classdesc Represents a QueryCurrentPlanResponse. - * @implements IQueryCurrentPlanResponse - * @constructor - * @param {cosmos.upgrade.v1beta1.IQueryCurrentPlanResponse=} [properties] Properties to set - */ - function QueryCurrentPlanResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryCurrentPlanResponse plan. - * @member {cosmos.upgrade.v1beta1.IPlan|null|undefined} plan - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanResponse - * @instance - */ - QueryCurrentPlanResponse.prototype.plan = null; - - /** - * Creates a new QueryCurrentPlanResponse instance using the specified properties. - * @function create - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanResponse - * @static - * @param {cosmos.upgrade.v1beta1.IQueryCurrentPlanResponse=} [properties] Properties to set - * @returns {cosmos.upgrade.v1beta1.QueryCurrentPlanResponse} QueryCurrentPlanResponse instance - */ - QueryCurrentPlanResponse.create = function create(properties) { - return new QueryCurrentPlanResponse(properties); - }; - - /** - * Encodes the specified QueryCurrentPlanResponse message. Does not implicitly {@link cosmos.upgrade.v1beta1.QueryCurrentPlanResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanResponse - * @static - * @param {cosmos.upgrade.v1beta1.IQueryCurrentPlanResponse} message QueryCurrentPlanResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryCurrentPlanResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.plan != null && Object.hasOwnProperty.call(message, "plan")) - $root.cosmos.upgrade.v1beta1.Plan.encode(message.plan, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryCurrentPlanResponse message, length delimited. Does not implicitly {@link cosmos.upgrade.v1beta1.QueryCurrentPlanResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanResponse - * @static - * @param {cosmos.upgrade.v1beta1.IQueryCurrentPlanResponse} message QueryCurrentPlanResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryCurrentPlanResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryCurrentPlanResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.upgrade.v1beta1.QueryCurrentPlanResponse} QueryCurrentPlanResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryCurrentPlanResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.upgrade.v1beta1.QueryCurrentPlanResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.plan = $root.cosmos.upgrade.v1beta1.Plan.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryCurrentPlanResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.upgrade.v1beta1.QueryCurrentPlanResponse} QueryCurrentPlanResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryCurrentPlanResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryCurrentPlanResponse message. - * @function verify - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryCurrentPlanResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.plan != null && message.hasOwnProperty("plan")) { - let error = $root.cosmos.upgrade.v1beta1.Plan.verify(message.plan); - if (error) - return "plan." + error; - } - return null; - }; - - /** - * Creates a QueryCurrentPlanResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.upgrade.v1beta1.QueryCurrentPlanResponse} QueryCurrentPlanResponse - */ - QueryCurrentPlanResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.upgrade.v1beta1.QueryCurrentPlanResponse) - return object; - let message = new $root.cosmos.upgrade.v1beta1.QueryCurrentPlanResponse(); - if (object.plan != null) { - if (typeof object.plan !== "object") - throw TypeError(".cosmos.upgrade.v1beta1.QueryCurrentPlanResponse.plan: object expected"); - message.plan = $root.cosmos.upgrade.v1beta1.Plan.fromObject(object.plan); - } - return message; - }; - - /** - * Creates a plain object from a QueryCurrentPlanResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanResponse - * @static - * @param {cosmos.upgrade.v1beta1.QueryCurrentPlanResponse} message QueryCurrentPlanResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryCurrentPlanResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.plan = null; - if (message.plan != null && message.hasOwnProperty("plan")) - object.plan = $root.cosmos.upgrade.v1beta1.Plan.toObject(message.plan, options); - return object; - }; - - /** - * Converts this QueryCurrentPlanResponse to JSON. - * @function toJSON - * @memberof cosmos.upgrade.v1beta1.QueryCurrentPlanResponse - * @instance - * @returns {Object.} JSON object - */ - QueryCurrentPlanResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryCurrentPlanResponse; - })(v1beta1.QueryCurrentPlanResponse || {}); - - v1beta1.QueryAppliedPlanRequest = (function(QueryAppliedPlanRequest) { - - /** - * Properties of a QueryAppliedPlanRequest. - * @memberof cosmos.upgrade.v1beta1 - * @interface IQueryAppliedPlanRequest - * @property {string|null} [name] QueryAppliedPlanRequest name - */ - - /** - * Constructs a new QueryAppliedPlanRequest. - * @memberof cosmos.upgrade.v1beta1 - * @classdesc Represents a QueryAppliedPlanRequest. - * @implements IQueryAppliedPlanRequest - * @constructor - * @param {cosmos.upgrade.v1beta1.IQueryAppliedPlanRequest=} [properties] Properties to set - */ - function QueryAppliedPlanRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryAppliedPlanRequest name. - * @member {string} name - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanRequest - * @instance - */ - QueryAppliedPlanRequest.prototype.name = ""; - - /** - * Creates a new QueryAppliedPlanRequest instance using the specified properties. - * @function create - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanRequest - * @static - * @param {cosmos.upgrade.v1beta1.IQueryAppliedPlanRequest=} [properties] Properties to set - * @returns {cosmos.upgrade.v1beta1.QueryAppliedPlanRequest} QueryAppliedPlanRequest instance - */ - QueryAppliedPlanRequest.create = function create(properties) { - return new QueryAppliedPlanRequest(properties); - }; - - /** - * Encodes the specified QueryAppliedPlanRequest message. Does not implicitly {@link cosmos.upgrade.v1beta1.QueryAppliedPlanRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanRequest - * @static - * @param {cosmos.upgrade.v1beta1.IQueryAppliedPlanRequest} message QueryAppliedPlanRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAppliedPlanRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - return writer; - }; - - /** - * Encodes the specified QueryAppliedPlanRequest message, length delimited. Does not implicitly {@link cosmos.upgrade.v1beta1.QueryAppliedPlanRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanRequest - * @static - * @param {cosmos.upgrade.v1beta1.IQueryAppliedPlanRequest} message QueryAppliedPlanRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAppliedPlanRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryAppliedPlanRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.upgrade.v1beta1.QueryAppliedPlanRequest} QueryAppliedPlanRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAppliedPlanRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.upgrade.v1beta1.QueryAppliedPlanRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryAppliedPlanRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.upgrade.v1beta1.QueryAppliedPlanRequest} QueryAppliedPlanRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAppliedPlanRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryAppliedPlanRequest message. - * @function verify - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryAppliedPlanRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - return null; - }; - - /** - * Creates a QueryAppliedPlanRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.upgrade.v1beta1.QueryAppliedPlanRequest} QueryAppliedPlanRequest - */ - QueryAppliedPlanRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.upgrade.v1beta1.QueryAppliedPlanRequest) - return object; - let message = new $root.cosmos.upgrade.v1beta1.QueryAppliedPlanRequest(); - if (object.name != null) - message.name = String(object.name); - return message; - }; - - /** - * Creates a plain object from a QueryAppliedPlanRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanRequest - * @static - * @param {cosmos.upgrade.v1beta1.QueryAppliedPlanRequest} message QueryAppliedPlanRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryAppliedPlanRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.name = ""; - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - return object; - }; - - /** - * Converts this QueryAppliedPlanRequest to JSON. - * @function toJSON - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanRequest - * @instance - * @returns {Object.} JSON object - */ - QueryAppliedPlanRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryAppliedPlanRequest; - })(v1beta1.QueryAppliedPlanRequest || {}); - - v1beta1.QueryAppliedPlanResponse = (function(QueryAppliedPlanResponse) { - - /** - * Properties of a QueryAppliedPlanResponse. - * @memberof cosmos.upgrade.v1beta1 - * @interface IQueryAppliedPlanResponse - * @property {number|Long|null} [height] QueryAppliedPlanResponse height - */ - - /** - * Constructs a new QueryAppliedPlanResponse. - * @memberof cosmos.upgrade.v1beta1 - * @classdesc Represents a QueryAppliedPlanResponse. - * @implements IQueryAppliedPlanResponse - * @constructor - * @param {cosmos.upgrade.v1beta1.IQueryAppliedPlanResponse=} [properties] Properties to set - */ - function QueryAppliedPlanResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryAppliedPlanResponse height. - * @member {number|Long} height - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanResponse - * @instance - */ - QueryAppliedPlanResponse.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new QueryAppliedPlanResponse instance using the specified properties. - * @function create - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanResponse - * @static - * @param {cosmos.upgrade.v1beta1.IQueryAppliedPlanResponse=} [properties] Properties to set - * @returns {cosmos.upgrade.v1beta1.QueryAppliedPlanResponse} QueryAppliedPlanResponse instance - */ - QueryAppliedPlanResponse.create = function create(properties) { - return new QueryAppliedPlanResponse(properties); - }; - - /** - * Encodes the specified QueryAppliedPlanResponse message. Does not implicitly {@link cosmos.upgrade.v1beta1.QueryAppliedPlanResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanResponse - * @static - * @param {cosmos.upgrade.v1beta1.IQueryAppliedPlanResponse} message QueryAppliedPlanResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAppliedPlanResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); - return writer; - }; - - /** - * Encodes the specified QueryAppliedPlanResponse message, length delimited. Does not implicitly {@link cosmos.upgrade.v1beta1.QueryAppliedPlanResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanResponse - * @static - * @param {cosmos.upgrade.v1beta1.IQueryAppliedPlanResponse} message QueryAppliedPlanResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryAppliedPlanResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryAppliedPlanResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.upgrade.v1beta1.QueryAppliedPlanResponse} QueryAppliedPlanResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAppliedPlanResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.upgrade.v1beta1.QueryAppliedPlanResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryAppliedPlanResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.upgrade.v1beta1.QueryAppliedPlanResponse} QueryAppliedPlanResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryAppliedPlanResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryAppliedPlanResponse message. - * @function verify - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryAppliedPlanResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - return null; - }; - - /** - * Creates a QueryAppliedPlanResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.upgrade.v1beta1.QueryAppliedPlanResponse} QueryAppliedPlanResponse - */ - QueryAppliedPlanResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.upgrade.v1beta1.QueryAppliedPlanResponse) - return object; - let message = new $root.cosmos.upgrade.v1beta1.QueryAppliedPlanResponse(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a QueryAppliedPlanResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanResponse - * @static - * @param {cosmos.upgrade.v1beta1.QueryAppliedPlanResponse} message QueryAppliedPlanResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryAppliedPlanResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - return object; - }; - - /** - * Converts this QueryAppliedPlanResponse to JSON. - * @function toJSON - * @memberof cosmos.upgrade.v1beta1.QueryAppliedPlanResponse - * @instance - * @returns {Object.} JSON object - */ - QueryAppliedPlanResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryAppliedPlanResponse; - })(v1beta1.QueryAppliedPlanResponse || {}); - - v1beta1.QueryUpgradedConsensusStateRequest = (function(QueryUpgradedConsensusStateRequest) { - - /** - * Properties of a QueryUpgradedConsensusStateRequest. - * @memberof cosmos.upgrade.v1beta1 - * @interface IQueryUpgradedConsensusStateRequest - * @property {number|Long|null} [lastHeight] QueryUpgradedConsensusStateRequest lastHeight - */ - - /** - * Constructs a new QueryUpgradedConsensusStateRequest. - * @memberof cosmos.upgrade.v1beta1 - * @classdesc Represents a QueryUpgradedConsensusStateRequest. - * @implements IQueryUpgradedConsensusStateRequest - * @constructor - * @param {cosmos.upgrade.v1beta1.IQueryUpgradedConsensusStateRequest=} [properties] Properties to set - */ - function QueryUpgradedConsensusStateRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryUpgradedConsensusStateRequest lastHeight. - * @member {number|Long} lastHeight - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest - * @instance - */ - QueryUpgradedConsensusStateRequest.prototype.lastHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new QueryUpgradedConsensusStateRequest instance using the specified properties. - * @function create - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest - * @static - * @param {cosmos.upgrade.v1beta1.IQueryUpgradedConsensusStateRequest=} [properties] Properties to set - * @returns {cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest} QueryUpgradedConsensusStateRequest instance - */ - QueryUpgradedConsensusStateRequest.create = function create(properties) { - return new QueryUpgradedConsensusStateRequest(properties); - }; - - /** - * Encodes the specified QueryUpgradedConsensusStateRequest message. Does not implicitly {@link cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest.verify|verify} messages. - * @function encode - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest - * @static - * @param {cosmos.upgrade.v1beta1.IQueryUpgradedConsensusStateRequest} message QueryUpgradedConsensusStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUpgradedConsensusStateRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.lastHeight != null && Object.hasOwnProperty.call(message, "lastHeight")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.lastHeight); - return writer; - }; - - /** - * Encodes the specified QueryUpgradedConsensusStateRequest message, length delimited. Does not implicitly {@link cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest - * @static - * @param {cosmos.upgrade.v1beta1.IQueryUpgradedConsensusStateRequest} message QueryUpgradedConsensusStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUpgradedConsensusStateRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryUpgradedConsensusStateRequest message from the specified reader or buffer. - * @function decode - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest} QueryUpgradedConsensusStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUpgradedConsensusStateRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.lastHeight = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryUpgradedConsensusStateRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest} QueryUpgradedConsensusStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUpgradedConsensusStateRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryUpgradedConsensusStateRequest message. - * @function verify - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryUpgradedConsensusStateRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.lastHeight != null && message.hasOwnProperty("lastHeight")) - if (!$util.isInteger(message.lastHeight) && !(message.lastHeight && $util.isInteger(message.lastHeight.low) && $util.isInteger(message.lastHeight.high))) - return "lastHeight: integer|Long expected"; - return null; - }; - - /** - * Creates a QueryUpgradedConsensusStateRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest - * @static - * @param {Object.} object Plain object - * @returns {cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest} QueryUpgradedConsensusStateRequest - */ - QueryUpgradedConsensusStateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest) - return object; - let message = new $root.cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest(); - if (object.lastHeight != null) - if ($util.Long) - (message.lastHeight = $util.Long.fromValue(object.lastHeight)).unsigned = false; - else if (typeof object.lastHeight === "string") - message.lastHeight = parseInt(object.lastHeight, 10); - else if (typeof object.lastHeight === "number") - message.lastHeight = object.lastHeight; - else if (typeof object.lastHeight === "object") - message.lastHeight = new $util.LongBits(object.lastHeight.low >>> 0, object.lastHeight.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a QueryUpgradedConsensusStateRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest - * @static - * @param {cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest} message QueryUpgradedConsensusStateRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryUpgradedConsensusStateRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.lastHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.lastHeight = options.longs === String ? "0" : 0; - if (message.lastHeight != null && message.hasOwnProperty("lastHeight")) - if (typeof message.lastHeight === "number") - object.lastHeight = options.longs === String ? String(message.lastHeight) : message.lastHeight; - else - object.lastHeight = options.longs === String ? $util.Long.prototype.toString.call(message.lastHeight) : options.longs === Number ? new $util.LongBits(message.lastHeight.low >>> 0, message.lastHeight.high >>> 0).toNumber() : message.lastHeight; - return object; - }; - - /** - * Converts this QueryUpgradedConsensusStateRequest to JSON. - * @function toJSON - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest - * @instance - * @returns {Object.} JSON object - */ - QueryUpgradedConsensusStateRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryUpgradedConsensusStateRequest; - })(v1beta1.QueryUpgradedConsensusStateRequest || {}); - - v1beta1.QueryUpgradedConsensusStateResponse = (function(QueryUpgradedConsensusStateResponse) { - - /** - * Properties of a QueryUpgradedConsensusStateResponse. - * @memberof cosmos.upgrade.v1beta1 - * @interface IQueryUpgradedConsensusStateResponse - * @property {google.protobuf.IAny|null} [upgradedConsensusState] QueryUpgradedConsensusStateResponse upgradedConsensusState - */ - - /** - * Constructs a new QueryUpgradedConsensusStateResponse. - * @memberof cosmos.upgrade.v1beta1 - * @classdesc Represents a QueryUpgradedConsensusStateResponse. - * @implements IQueryUpgradedConsensusStateResponse - * @constructor - * @param {cosmos.upgrade.v1beta1.IQueryUpgradedConsensusStateResponse=} [properties] Properties to set - */ - function QueryUpgradedConsensusStateResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryUpgradedConsensusStateResponse upgradedConsensusState. - * @member {google.protobuf.IAny|null|undefined} upgradedConsensusState - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse - * @instance - */ - QueryUpgradedConsensusStateResponse.prototype.upgradedConsensusState = null; - - /** - * Creates a new QueryUpgradedConsensusStateResponse instance using the specified properties. - * @function create - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse - * @static - * @param {cosmos.upgrade.v1beta1.IQueryUpgradedConsensusStateResponse=} [properties] Properties to set - * @returns {cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse} QueryUpgradedConsensusStateResponse instance - */ - QueryUpgradedConsensusStateResponse.create = function create(properties) { - return new QueryUpgradedConsensusStateResponse(properties); - }; - - /** - * Encodes the specified QueryUpgradedConsensusStateResponse message. Does not implicitly {@link cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse - * @static - * @param {cosmos.upgrade.v1beta1.IQueryUpgradedConsensusStateResponse} message QueryUpgradedConsensusStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUpgradedConsensusStateResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.upgradedConsensusState != null && Object.hasOwnProperty.call(message, "upgradedConsensusState")) - $root.google.protobuf.Any.encode(message.upgradedConsensusState, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryUpgradedConsensusStateResponse message, length delimited. Does not implicitly {@link cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse - * @static - * @param {cosmos.upgrade.v1beta1.IQueryUpgradedConsensusStateResponse} message QueryUpgradedConsensusStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUpgradedConsensusStateResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryUpgradedConsensusStateResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse} QueryUpgradedConsensusStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUpgradedConsensusStateResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.upgradedConsensusState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryUpgradedConsensusStateResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse} QueryUpgradedConsensusStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUpgradedConsensusStateResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryUpgradedConsensusStateResponse message. - * @function verify - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryUpgradedConsensusStateResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.upgradedConsensusState != null && message.hasOwnProperty("upgradedConsensusState")) { - let error = $root.google.protobuf.Any.verify(message.upgradedConsensusState); - if (error) - return "upgradedConsensusState." + error; - } - return null; - }; - - /** - * Creates a QueryUpgradedConsensusStateResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse} QueryUpgradedConsensusStateResponse - */ - QueryUpgradedConsensusStateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse) - return object; - let message = new $root.cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse(); - if (object.upgradedConsensusState != null) { - if (typeof object.upgradedConsensusState !== "object") - throw TypeError(".cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse.upgradedConsensusState: object expected"); - message.upgradedConsensusState = $root.google.protobuf.Any.fromObject(object.upgradedConsensusState); - } - return message; - }; - - /** - * Creates a plain object from a QueryUpgradedConsensusStateResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse - * @static - * @param {cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse} message QueryUpgradedConsensusStateResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryUpgradedConsensusStateResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.upgradedConsensusState = null; - if (message.upgradedConsensusState != null && message.hasOwnProperty("upgradedConsensusState")) - object.upgradedConsensusState = $root.google.protobuf.Any.toObject(message.upgradedConsensusState, options); - return object; - }; - - /** - * Converts this QueryUpgradedConsensusStateResponse to JSON. - * @function toJSON - * @memberof cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse - * @instance - * @returns {Object.} JSON object - */ - QueryUpgradedConsensusStateResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryUpgradedConsensusStateResponse; - })(v1beta1.QueryUpgradedConsensusStateResponse || {}); - - v1beta1.Plan = (function(Plan) { - - /** - * Properties of a Plan. - * @memberof cosmos.upgrade.v1beta1 - * @interface IPlan - * @property {string|null} [name] Plan name - * @property {google.protobuf.ITimestamp|null} [time] Plan time - * @property {number|Long|null} [height] Plan height - * @property {string|null} [info] Plan info - * @property {google.protobuf.IAny|null} [upgradedClientState] Plan upgradedClientState - */ - - /** - * Constructs a new Plan. - * @memberof cosmos.upgrade.v1beta1 - * @classdesc Represents a Plan. - * @implements IPlan - * @constructor - * @param {cosmos.upgrade.v1beta1.IPlan=} [properties] Properties to set - */ - function Plan(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Plan name. - * @member {string} name - * @memberof cosmos.upgrade.v1beta1.Plan - * @instance - */ - Plan.prototype.name = ""; - - /** - * Plan time. - * @member {google.protobuf.ITimestamp|null|undefined} time - * @memberof cosmos.upgrade.v1beta1.Plan - * @instance - */ - Plan.prototype.time = null; - - /** - * Plan height. - * @member {number|Long} height - * @memberof cosmos.upgrade.v1beta1.Plan - * @instance - */ - Plan.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Plan info. - * @member {string} info - * @memberof cosmos.upgrade.v1beta1.Plan - * @instance - */ - Plan.prototype.info = ""; - - /** - * Plan upgradedClientState. - * @member {google.protobuf.IAny|null|undefined} upgradedClientState - * @memberof cosmos.upgrade.v1beta1.Plan - * @instance - */ - Plan.prototype.upgradedClientState = null; - - /** - * Creates a new Plan instance using the specified properties. - * @function create - * @memberof cosmos.upgrade.v1beta1.Plan - * @static - * @param {cosmos.upgrade.v1beta1.IPlan=} [properties] Properties to set - * @returns {cosmos.upgrade.v1beta1.Plan} Plan instance - */ - Plan.create = function create(properties) { - return new Plan(properties); - }; - - /** - * Encodes the specified Plan message. Does not implicitly {@link cosmos.upgrade.v1beta1.Plan.verify|verify} messages. - * @function encode - * @memberof cosmos.upgrade.v1beta1.Plan - * @static - * @param {cosmos.upgrade.v1beta1.IPlan} message Plan message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Plan.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.name != null && Object.hasOwnProperty.call(message, "name")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); - if (message.time != null && Object.hasOwnProperty.call(message, "time")) - $root.google.protobuf.Timestamp.encode(message.time, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.height); - if (message.info != null && Object.hasOwnProperty.call(message, "info")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); - if (message.upgradedClientState != null && Object.hasOwnProperty.call(message, "upgradedClientState")) - $root.google.protobuf.Any.encode(message.upgradedClientState, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Plan message, length delimited. Does not implicitly {@link cosmos.upgrade.v1beta1.Plan.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.upgrade.v1beta1.Plan - * @static - * @param {cosmos.upgrade.v1beta1.IPlan} message Plan message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Plan.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Plan message from the specified reader or buffer. - * @function decode - * @memberof cosmos.upgrade.v1beta1.Plan - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.upgrade.v1beta1.Plan} Plan - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Plan.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.upgrade.v1beta1.Plan(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.name = reader.string(); - break; - case 2: - message.time = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 3: - message.height = reader.int64(); - break; - case 4: - message.info = reader.string(); - break; - case 5: - message.upgradedClientState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Plan message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.upgrade.v1beta1.Plan - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.upgrade.v1beta1.Plan} Plan - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Plan.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Plan message. - * @function verify - * @memberof cosmos.upgrade.v1beta1.Plan - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Plan.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.name != null && message.hasOwnProperty("name")) - if (!$util.isString(message.name)) - return "name: string expected"; - if (message.time != null && message.hasOwnProperty("time")) { - let error = $root.google.protobuf.Timestamp.verify(message.time); - if (error) - return "time." + error; - } - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.info != null && message.hasOwnProperty("info")) - if (!$util.isString(message.info)) - return "info: string expected"; - if (message.upgradedClientState != null && message.hasOwnProperty("upgradedClientState")) { - let error = $root.google.protobuf.Any.verify(message.upgradedClientState); - if (error) - return "upgradedClientState." + error; - } - return null; - }; - - /** - * Creates a Plan message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.upgrade.v1beta1.Plan - * @static - * @param {Object.} object Plain object - * @returns {cosmos.upgrade.v1beta1.Plan} Plan - */ - Plan.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.upgrade.v1beta1.Plan) - return object; - let message = new $root.cosmos.upgrade.v1beta1.Plan(); - if (object.name != null) - message.name = String(object.name); - if (object.time != null) { - if (typeof object.time !== "object") - throw TypeError(".cosmos.upgrade.v1beta1.Plan.time: object expected"); - message.time = $root.google.protobuf.Timestamp.fromObject(object.time); - } - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.info != null) - message.info = String(object.info); - if (object.upgradedClientState != null) { - if (typeof object.upgradedClientState !== "object") - throw TypeError(".cosmos.upgrade.v1beta1.Plan.upgradedClientState: object expected"); - message.upgradedClientState = $root.google.protobuf.Any.fromObject(object.upgradedClientState); - } - return message; - }; - - /** - * Creates a plain object from a Plan message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.upgrade.v1beta1.Plan - * @static - * @param {cosmos.upgrade.v1beta1.Plan} message Plan - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Plan.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.name = ""; - object.time = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.info = ""; - object.upgradedClientState = null; - } - if (message.name != null && message.hasOwnProperty("name")) - object.name = message.name; - if (message.time != null && message.hasOwnProperty("time")) - object.time = $root.google.protobuf.Timestamp.toObject(message.time, options); - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.info != null && message.hasOwnProperty("info")) - object.info = message.info; - if (message.upgradedClientState != null && message.hasOwnProperty("upgradedClientState")) - object.upgradedClientState = $root.google.protobuf.Any.toObject(message.upgradedClientState, options); - return object; - }; - - /** - * Converts this Plan to JSON. - * @function toJSON - * @memberof cosmos.upgrade.v1beta1.Plan - * @instance - * @returns {Object.} JSON object - */ - Plan.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Plan; - })(v1beta1.Plan || {}); - - v1beta1.SoftwareUpgradeProposal = (function(SoftwareUpgradeProposal) { - - /** - * Properties of a SoftwareUpgradeProposal. - * @memberof cosmos.upgrade.v1beta1 - * @interface ISoftwareUpgradeProposal - * @property {string|null} [title] SoftwareUpgradeProposal title - * @property {string|null} [description] SoftwareUpgradeProposal description - * @property {cosmos.upgrade.v1beta1.IPlan|null} [plan] SoftwareUpgradeProposal plan - */ - - /** - * Constructs a new SoftwareUpgradeProposal. - * @memberof cosmos.upgrade.v1beta1 - * @classdesc Represents a SoftwareUpgradeProposal. - * @implements ISoftwareUpgradeProposal - * @constructor - * @param {cosmos.upgrade.v1beta1.ISoftwareUpgradeProposal=} [properties] Properties to set - */ - function SoftwareUpgradeProposal(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SoftwareUpgradeProposal title. - * @member {string} title - * @memberof cosmos.upgrade.v1beta1.SoftwareUpgradeProposal - * @instance - */ - SoftwareUpgradeProposal.prototype.title = ""; - - /** - * SoftwareUpgradeProposal description. - * @member {string} description - * @memberof cosmos.upgrade.v1beta1.SoftwareUpgradeProposal - * @instance - */ - SoftwareUpgradeProposal.prototype.description = ""; - - /** - * SoftwareUpgradeProposal plan. - * @member {cosmos.upgrade.v1beta1.IPlan|null|undefined} plan - * @memberof cosmos.upgrade.v1beta1.SoftwareUpgradeProposal - * @instance - */ - SoftwareUpgradeProposal.prototype.plan = null; - - /** - * Creates a new SoftwareUpgradeProposal instance using the specified properties. - * @function create - * @memberof cosmos.upgrade.v1beta1.SoftwareUpgradeProposal - * @static - * @param {cosmos.upgrade.v1beta1.ISoftwareUpgradeProposal=} [properties] Properties to set - * @returns {cosmos.upgrade.v1beta1.SoftwareUpgradeProposal} SoftwareUpgradeProposal instance - */ - SoftwareUpgradeProposal.create = function create(properties) { - return new SoftwareUpgradeProposal(properties); - }; - - /** - * Encodes the specified SoftwareUpgradeProposal message. Does not implicitly {@link cosmos.upgrade.v1beta1.SoftwareUpgradeProposal.verify|verify} messages. - * @function encode - * @memberof cosmos.upgrade.v1beta1.SoftwareUpgradeProposal - * @static - * @param {cosmos.upgrade.v1beta1.ISoftwareUpgradeProposal} message SoftwareUpgradeProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SoftwareUpgradeProposal.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.title != null && Object.hasOwnProperty.call(message, "title")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.title); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - if (message.plan != null && Object.hasOwnProperty.call(message, "plan")) - $root.cosmos.upgrade.v1beta1.Plan.encode(message.plan, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SoftwareUpgradeProposal message, length delimited. Does not implicitly {@link cosmos.upgrade.v1beta1.SoftwareUpgradeProposal.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.upgrade.v1beta1.SoftwareUpgradeProposal - * @static - * @param {cosmos.upgrade.v1beta1.ISoftwareUpgradeProposal} message SoftwareUpgradeProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SoftwareUpgradeProposal.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SoftwareUpgradeProposal message from the specified reader or buffer. - * @function decode - * @memberof cosmos.upgrade.v1beta1.SoftwareUpgradeProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.upgrade.v1beta1.SoftwareUpgradeProposal} SoftwareUpgradeProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SoftwareUpgradeProposal.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.upgrade.v1beta1.SoftwareUpgradeProposal(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.title = reader.string(); - break; - case 2: - message.description = reader.string(); - break; - case 3: - message.plan = $root.cosmos.upgrade.v1beta1.Plan.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SoftwareUpgradeProposal message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.upgrade.v1beta1.SoftwareUpgradeProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.upgrade.v1beta1.SoftwareUpgradeProposal} SoftwareUpgradeProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SoftwareUpgradeProposal.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SoftwareUpgradeProposal message. - * @function verify - * @memberof cosmos.upgrade.v1beta1.SoftwareUpgradeProposal - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SoftwareUpgradeProposal.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.title != null && message.hasOwnProperty("title")) - if (!$util.isString(message.title)) - return "title: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.plan != null && message.hasOwnProperty("plan")) { - let error = $root.cosmos.upgrade.v1beta1.Plan.verify(message.plan); - if (error) - return "plan." + error; - } - return null; - }; - - /** - * Creates a SoftwareUpgradeProposal message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.upgrade.v1beta1.SoftwareUpgradeProposal - * @static - * @param {Object.} object Plain object - * @returns {cosmos.upgrade.v1beta1.SoftwareUpgradeProposal} SoftwareUpgradeProposal - */ - SoftwareUpgradeProposal.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.upgrade.v1beta1.SoftwareUpgradeProposal) - return object; - let message = new $root.cosmos.upgrade.v1beta1.SoftwareUpgradeProposal(); - if (object.title != null) - message.title = String(object.title); - if (object.description != null) - message.description = String(object.description); - if (object.plan != null) { - if (typeof object.plan !== "object") - throw TypeError(".cosmos.upgrade.v1beta1.SoftwareUpgradeProposal.plan: object expected"); - message.plan = $root.cosmos.upgrade.v1beta1.Plan.fromObject(object.plan); - } - return message; - }; - - /** - * Creates a plain object from a SoftwareUpgradeProposal message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.upgrade.v1beta1.SoftwareUpgradeProposal - * @static - * @param {cosmos.upgrade.v1beta1.SoftwareUpgradeProposal} message SoftwareUpgradeProposal - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SoftwareUpgradeProposal.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.title = ""; - object.description = ""; - object.plan = null; - } - if (message.title != null && message.hasOwnProperty("title")) - object.title = message.title; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.plan != null && message.hasOwnProperty("plan")) - object.plan = $root.cosmos.upgrade.v1beta1.Plan.toObject(message.plan, options); - return object; - }; - - /** - * Converts this SoftwareUpgradeProposal to JSON. - * @function toJSON - * @memberof cosmos.upgrade.v1beta1.SoftwareUpgradeProposal - * @instance - * @returns {Object.} JSON object - */ - SoftwareUpgradeProposal.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SoftwareUpgradeProposal; - })(v1beta1.SoftwareUpgradeProposal || {}); - - v1beta1.CancelSoftwareUpgradeProposal = (function(CancelSoftwareUpgradeProposal) { - - /** - * Properties of a CancelSoftwareUpgradeProposal. - * @memberof cosmos.upgrade.v1beta1 - * @interface ICancelSoftwareUpgradeProposal - * @property {string|null} [title] CancelSoftwareUpgradeProposal title - * @property {string|null} [description] CancelSoftwareUpgradeProposal description - */ - - /** - * Constructs a new CancelSoftwareUpgradeProposal. - * @memberof cosmos.upgrade.v1beta1 - * @classdesc Represents a CancelSoftwareUpgradeProposal. - * @implements ICancelSoftwareUpgradeProposal - * @constructor - * @param {cosmos.upgrade.v1beta1.ICancelSoftwareUpgradeProposal=} [properties] Properties to set - */ - function CancelSoftwareUpgradeProposal(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CancelSoftwareUpgradeProposal title. - * @member {string} title - * @memberof cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal - * @instance - */ - CancelSoftwareUpgradeProposal.prototype.title = ""; - - /** - * CancelSoftwareUpgradeProposal description. - * @member {string} description - * @memberof cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal - * @instance - */ - CancelSoftwareUpgradeProposal.prototype.description = ""; - - /** - * Creates a new CancelSoftwareUpgradeProposal instance using the specified properties. - * @function create - * @memberof cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal - * @static - * @param {cosmos.upgrade.v1beta1.ICancelSoftwareUpgradeProposal=} [properties] Properties to set - * @returns {cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal} CancelSoftwareUpgradeProposal instance - */ - CancelSoftwareUpgradeProposal.create = function create(properties) { - return new CancelSoftwareUpgradeProposal(properties); - }; - - /** - * Encodes the specified CancelSoftwareUpgradeProposal message. Does not implicitly {@link cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal.verify|verify} messages. - * @function encode - * @memberof cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal - * @static - * @param {cosmos.upgrade.v1beta1.ICancelSoftwareUpgradeProposal} message CancelSoftwareUpgradeProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CancelSoftwareUpgradeProposal.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.title != null && Object.hasOwnProperty.call(message, "title")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.title); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - return writer; - }; - - /** - * Encodes the specified CancelSoftwareUpgradeProposal message, length delimited. Does not implicitly {@link cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal - * @static - * @param {cosmos.upgrade.v1beta1.ICancelSoftwareUpgradeProposal} message CancelSoftwareUpgradeProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CancelSoftwareUpgradeProposal.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CancelSoftwareUpgradeProposal message from the specified reader or buffer. - * @function decode - * @memberof cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal} CancelSoftwareUpgradeProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CancelSoftwareUpgradeProposal.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.title = reader.string(); - break; - case 2: - message.description = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CancelSoftwareUpgradeProposal message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal} CancelSoftwareUpgradeProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CancelSoftwareUpgradeProposal.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CancelSoftwareUpgradeProposal message. - * @function verify - * @memberof cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CancelSoftwareUpgradeProposal.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.title != null && message.hasOwnProperty("title")) - if (!$util.isString(message.title)) - return "title: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - return null; - }; - - /** - * Creates a CancelSoftwareUpgradeProposal message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal - * @static - * @param {Object.} object Plain object - * @returns {cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal} CancelSoftwareUpgradeProposal - */ - CancelSoftwareUpgradeProposal.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal) - return object; - let message = new $root.cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal(); - if (object.title != null) - message.title = String(object.title); - if (object.description != null) - message.description = String(object.description); - return message; - }; - - /** - * Creates a plain object from a CancelSoftwareUpgradeProposal message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal - * @static - * @param {cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal} message CancelSoftwareUpgradeProposal - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CancelSoftwareUpgradeProposal.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.title = ""; - object.description = ""; - } - if (message.title != null && message.hasOwnProperty("title")) - object.title = message.title; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - return object; - }; - - /** - * Converts this CancelSoftwareUpgradeProposal to JSON. - * @function toJSON - * @memberof cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal - * @instance - * @returns {Object.} JSON object - */ - CancelSoftwareUpgradeProposal.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CancelSoftwareUpgradeProposal; - })(v1beta1.CancelSoftwareUpgradeProposal || {}); - - return v1beta1; - })(upgrade.v1beta1 || {}); - - return upgrade; - })(cosmos.upgrade || {}); - - /** - * Namespace vesting. - * @memberof cosmos - * @namespace - */ - - cosmos.vesting = (function(vesting) { - - /** - * Namespace v1beta1. - * @memberof cosmos.vesting - * @namespace - */ - - vesting.v1beta1 = (function(v1beta1) { - - v1beta1.Msg = (function(Msg) { - - /** - * Constructs a new Msg service. - * @memberof cosmos.vesting.v1beta1 - * @classdesc Represents a Msg - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Msg(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Msg.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Msg; - - /** - * Creates new Msg service using the specified rpc implementation. - * @function create - * @memberof cosmos.vesting.v1beta1.Msg - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Msg} RPC service. Useful where requests and/or responses are streamed. - */ - Msg.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link cosmos.vesting.v1beta1.Msg#createVestingAccount}. - * @memberof cosmos.vesting.v1beta1.Msg - * @typedef CreateVestingAccountCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {cosmos.vesting.v1beta1.IMsgCreateVestingAccountResponse} [response] MsgCreateVestingAccountResponse - */ - - /** - * Calls CreateVestingAccount. - * @function createVestingAccount - * @memberof cosmos.vesting.v1beta1.Msg - * @instance - * @param {cosmos.vesting.v1beta1.IMsgCreateVestingAccount} request MsgCreateVestingAccount message or plain object - * @param {cosmos.vesting.v1beta1.Msg.CreateVestingAccountCallback} callback Node-style callback called with the error, if any, and MsgCreateVestingAccountResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.createVestingAccount = function createVestingAccount(request, callback) { - return this.rpcCall(createVestingAccount, $root.cosmos.vesting.v1beta1.MsgCreateVestingAccount, $root.cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse, request, callback); - }, "name", { value: "CreateVestingAccount" }); - - /** - * Calls CreateVestingAccount. - * @function createVestingAccount - * @memberof cosmos.vesting.v1beta1.Msg - * @instance - * @param {cosmos.vesting.v1beta1.IMsgCreateVestingAccount} request MsgCreateVestingAccount message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Msg; - })(v1beta1.Msg || {}); - - v1beta1.MsgCreateVestingAccount = (function(MsgCreateVestingAccount) { - - /** - * Properties of a MsgCreateVestingAccount. - * @memberof cosmos.vesting.v1beta1 - * @interface IMsgCreateVestingAccount - * @property {string|null} [fromAddress] MsgCreateVestingAccount fromAddress - * @property {string|null} [toAddress] MsgCreateVestingAccount toAddress - * @property {Array.|null} [amount] MsgCreateVestingAccount amount - * @property {number|Long|null} [endTime] MsgCreateVestingAccount endTime - * @property {boolean|null} [delayed] MsgCreateVestingAccount delayed - */ - - /** - * Constructs a new MsgCreateVestingAccount. - * @memberof cosmos.vesting.v1beta1 - * @classdesc Represents a MsgCreateVestingAccount. - * @implements IMsgCreateVestingAccount - * @constructor - * @param {cosmos.vesting.v1beta1.IMsgCreateVestingAccount=} [properties] Properties to set - */ - function MsgCreateVestingAccount(properties) { - this.amount = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgCreateVestingAccount fromAddress. - * @member {string} fromAddress - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @instance - */ - MsgCreateVestingAccount.prototype.fromAddress = ""; - - /** - * MsgCreateVestingAccount toAddress. - * @member {string} toAddress - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @instance - */ - MsgCreateVestingAccount.prototype.toAddress = ""; - - /** - * MsgCreateVestingAccount amount. - * @member {Array.} amount - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @instance - */ - MsgCreateVestingAccount.prototype.amount = $util.emptyArray; - - /** - * MsgCreateVestingAccount endTime. - * @member {number|Long} endTime - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @instance - */ - MsgCreateVestingAccount.prototype.endTime = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * MsgCreateVestingAccount delayed. - * @member {boolean} delayed - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @instance - */ - MsgCreateVestingAccount.prototype.delayed = false; - - /** - * Creates a new MsgCreateVestingAccount instance using the specified properties. - * @function create - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IMsgCreateVestingAccount=} [properties] Properties to set - * @returns {cosmos.vesting.v1beta1.MsgCreateVestingAccount} MsgCreateVestingAccount instance - */ - MsgCreateVestingAccount.create = function create(properties) { - return new MsgCreateVestingAccount(properties); - }; - - /** - * Encodes the specified MsgCreateVestingAccount message. Does not implicitly {@link cosmos.vesting.v1beta1.MsgCreateVestingAccount.verify|verify} messages. - * @function encode - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IMsgCreateVestingAccount} message MsgCreateVestingAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgCreateVestingAccount.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.fromAddress != null && Object.hasOwnProperty.call(message, "fromAddress")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.fromAddress); - if (message.toAddress != null && Object.hasOwnProperty.call(message, "toAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.toAddress); - if (message.amount != null && message.amount.length) - for (let i = 0; i < message.amount.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.amount[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) - writer.uint32(/* id 4, wireType 0 =*/32).int64(message.endTime); - if (message.delayed != null && Object.hasOwnProperty.call(message, "delayed")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.delayed); - return writer; - }; - - /** - * Encodes the specified MsgCreateVestingAccount message, length delimited. Does not implicitly {@link cosmos.vesting.v1beta1.MsgCreateVestingAccount.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IMsgCreateVestingAccount} message MsgCreateVestingAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgCreateVestingAccount.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgCreateVestingAccount message from the specified reader or buffer. - * @function decode - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.vesting.v1beta1.MsgCreateVestingAccount} MsgCreateVestingAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgCreateVestingAccount.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.vesting.v1beta1.MsgCreateVestingAccount(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.fromAddress = reader.string(); - break; - case 2: - message.toAddress = reader.string(); - break; - case 3: - if (!(message.amount && message.amount.length)) - message.amount = []; - message.amount.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - case 4: - message.endTime = reader.int64(); - break; - case 5: - message.delayed = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgCreateVestingAccount message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.vesting.v1beta1.MsgCreateVestingAccount} MsgCreateVestingAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgCreateVestingAccount.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgCreateVestingAccount message. - * @function verify - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgCreateVestingAccount.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.fromAddress != null && message.hasOwnProperty("fromAddress")) - if (!$util.isString(message.fromAddress)) - return "fromAddress: string expected"; - if (message.toAddress != null && message.hasOwnProperty("toAddress")) - if (!$util.isString(message.toAddress)) - return "toAddress: string expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - if (!Array.isArray(message.amount)) - return "amount: array expected"; - for (let i = 0; i < message.amount.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.amount[i]); - if (error) - return "amount." + error; - } - } - if (message.endTime != null && message.hasOwnProperty("endTime")) - if (!$util.isInteger(message.endTime) && !(message.endTime && $util.isInteger(message.endTime.low) && $util.isInteger(message.endTime.high))) - return "endTime: integer|Long expected"; - if (message.delayed != null && message.hasOwnProperty("delayed")) - if (typeof message.delayed !== "boolean") - return "delayed: boolean expected"; - return null; - }; - - /** - * Creates a MsgCreateVestingAccount message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @static - * @param {Object.} object Plain object - * @returns {cosmos.vesting.v1beta1.MsgCreateVestingAccount} MsgCreateVestingAccount - */ - MsgCreateVestingAccount.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.vesting.v1beta1.MsgCreateVestingAccount) - return object; - let message = new $root.cosmos.vesting.v1beta1.MsgCreateVestingAccount(); - if (object.fromAddress != null) - message.fromAddress = String(object.fromAddress); - if (object.toAddress != null) - message.toAddress = String(object.toAddress); - if (object.amount) { - if (!Array.isArray(object.amount)) - throw TypeError(".cosmos.vesting.v1beta1.MsgCreateVestingAccount.amount: array expected"); - message.amount = []; - for (let i = 0; i < object.amount.length; ++i) { - if (typeof object.amount[i] !== "object") - throw TypeError(".cosmos.vesting.v1beta1.MsgCreateVestingAccount.amount: object expected"); - message.amount[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.amount[i]); - } - } - if (object.endTime != null) - if ($util.Long) - (message.endTime = $util.Long.fromValue(object.endTime)).unsigned = false; - else if (typeof object.endTime === "string") - message.endTime = parseInt(object.endTime, 10); - else if (typeof object.endTime === "number") - message.endTime = object.endTime; - else if (typeof object.endTime === "object") - message.endTime = new $util.LongBits(object.endTime.low >>> 0, object.endTime.high >>> 0).toNumber(); - if (object.delayed != null) - message.delayed = Boolean(object.delayed); - return message; - }; - - /** - * Creates a plain object from a MsgCreateVestingAccount message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.MsgCreateVestingAccount} message MsgCreateVestingAccount - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgCreateVestingAccount.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.amount = []; - if (options.defaults) { - object.fromAddress = ""; - object.toAddress = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.endTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.endTime = options.longs === String ? "0" : 0; - object.delayed = false; - } - if (message.fromAddress != null && message.hasOwnProperty("fromAddress")) - object.fromAddress = message.fromAddress; - if (message.toAddress != null && message.hasOwnProperty("toAddress")) - object.toAddress = message.toAddress; - if (message.amount && message.amount.length) { - object.amount = []; - for (let j = 0; j < message.amount.length; ++j) - object.amount[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.amount[j], options); - } - if (message.endTime != null && message.hasOwnProperty("endTime")) - if (typeof message.endTime === "number") - object.endTime = options.longs === String ? String(message.endTime) : message.endTime; - else - object.endTime = options.longs === String ? $util.Long.prototype.toString.call(message.endTime) : options.longs === Number ? new $util.LongBits(message.endTime.low >>> 0, message.endTime.high >>> 0).toNumber() : message.endTime; - if (message.delayed != null && message.hasOwnProperty("delayed")) - object.delayed = message.delayed; - return object; - }; - - /** - * Converts this MsgCreateVestingAccount to JSON. - * @function toJSON - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccount - * @instance - * @returns {Object.} JSON object - */ - MsgCreateVestingAccount.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgCreateVestingAccount; - })(v1beta1.MsgCreateVestingAccount || {}); - - v1beta1.MsgCreateVestingAccountResponse = (function(MsgCreateVestingAccountResponse) { - - /** - * Properties of a MsgCreateVestingAccountResponse. - * @memberof cosmos.vesting.v1beta1 - * @interface IMsgCreateVestingAccountResponse - */ - - /** - * Constructs a new MsgCreateVestingAccountResponse. - * @memberof cosmos.vesting.v1beta1 - * @classdesc Represents a MsgCreateVestingAccountResponse. - * @implements IMsgCreateVestingAccountResponse - * @constructor - * @param {cosmos.vesting.v1beta1.IMsgCreateVestingAccountResponse=} [properties] Properties to set - */ - function MsgCreateVestingAccountResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgCreateVestingAccountResponse instance using the specified properties. - * @function create - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse - * @static - * @param {cosmos.vesting.v1beta1.IMsgCreateVestingAccountResponse=} [properties] Properties to set - * @returns {cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse} MsgCreateVestingAccountResponse instance - */ - MsgCreateVestingAccountResponse.create = function create(properties) { - return new MsgCreateVestingAccountResponse(properties); - }; - - /** - * Encodes the specified MsgCreateVestingAccountResponse message. Does not implicitly {@link cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse.verify|verify} messages. - * @function encode - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse - * @static - * @param {cosmos.vesting.v1beta1.IMsgCreateVestingAccountResponse} message MsgCreateVestingAccountResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgCreateVestingAccountResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgCreateVestingAccountResponse message, length delimited. Does not implicitly {@link cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse - * @static - * @param {cosmos.vesting.v1beta1.IMsgCreateVestingAccountResponse} message MsgCreateVestingAccountResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgCreateVestingAccountResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgCreateVestingAccountResponse message from the specified reader or buffer. - * @function decode - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse} MsgCreateVestingAccountResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgCreateVestingAccountResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgCreateVestingAccountResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse} MsgCreateVestingAccountResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgCreateVestingAccountResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgCreateVestingAccountResponse message. - * @function verify - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgCreateVestingAccountResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgCreateVestingAccountResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse - * @static - * @param {Object.} object Plain object - * @returns {cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse} MsgCreateVestingAccountResponse - */ - MsgCreateVestingAccountResponse.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse) - return object; - return new $root.cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse(); - }; - - /** - * Creates a plain object from a MsgCreateVestingAccountResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse - * @static - * @param {cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse} message MsgCreateVestingAccountResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgCreateVestingAccountResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgCreateVestingAccountResponse to JSON. - * @function toJSON - * @memberof cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse - * @instance - * @returns {Object.} JSON object - */ - MsgCreateVestingAccountResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgCreateVestingAccountResponse; - })(v1beta1.MsgCreateVestingAccountResponse || {}); - - v1beta1.BaseVestingAccount = (function(BaseVestingAccount) { - - /** - * Properties of a BaseVestingAccount. - * @memberof cosmos.vesting.v1beta1 - * @interface IBaseVestingAccount - * @property {cosmos.auth.v1beta1.IBaseAccount|null} [baseAccount] BaseVestingAccount baseAccount - * @property {Array.|null} [originalVesting] BaseVestingAccount originalVesting - * @property {Array.|null} [delegatedFree] BaseVestingAccount delegatedFree - * @property {Array.|null} [delegatedVesting] BaseVestingAccount delegatedVesting - * @property {number|Long|null} [endTime] BaseVestingAccount endTime - */ - - /** - * Constructs a new BaseVestingAccount. - * @memberof cosmos.vesting.v1beta1 - * @classdesc Represents a BaseVestingAccount. - * @implements IBaseVestingAccount - * @constructor - * @param {cosmos.vesting.v1beta1.IBaseVestingAccount=} [properties] Properties to set - */ - function BaseVestingAccount(properties) { - this.originalVesting = []; - this.delegatedFree = []; - this.delegatedVesting = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BaseVestingAccount baseAccount. - * @member {cosmos.auth.v1beta1.IBaseAccount|null|undefined} baseAccount - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @instance - */ - BaseVestingAccount.prototype.baseAccount = null; - - /** - * BaseVestingAccount originalVesting. - * @member {Array.} originalVesting - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @instance - */ - BaseVestingAccount.prototype.originalVesting = $util.emptyArray; - - /** - * BaseVestingAccount delegatedFree. - * @member {Array.} delegatedFree - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @instance - */ - BaseVestingAccount.prototype.delegatedFree = $util.emptyArray; - - /** - * BaseVestingAccount delegatedVesting. - * @member {Array.} delegatedVesting - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @instance - */ - BaseVestingAccount.prototype.delegatedVesting = $util.emptyArray; - - /** - * BaseVestingAccount endTime. - * @member {number|Long} endTime - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @instance - */ - BaseVestingAccount.prototype.endTime = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new BaseVestingAccount instance using the specified properties. - * @function create - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IBaseVestingAccount=} [properties] Properties to set - * @returns {cosmos.vesting.v1beta1.BaseVestingAccount} BaseVestingAccount instance - */ - BaseVestingAccount.create = function create(properties) { - return new BaseVestingAccount(properties); - }; - - /** - * Encodes the specified BaseVestingAccount message. Does not implicitly {@link cosmos.vesting.v1beta1.BaseVestingAccount.verify|verify} messages. - * @function encode - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IBaseVestingAccount} message BaseVestingAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BaseVestingAccount.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.baseAccount != null && Object.hasOwnProperty.call(message, "baseAccount")) - $root.cosmos.auth.v1beta1.BaseAccount.encode(message.baseAccount, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.originalVesting != null && message.originalVesting.length) - for (let i = 0; i < message.originalVesting.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.originalVesting[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.delegatedFree != null && message.delegatedFree.length) - for (let i = 0; i < message.delegatedFree.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.delegatedFree[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.delegatedVesting != null && message.delegatedVesting.length) - for (let i = 0; i < message.delegatedVesting.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.delegatedVesting[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.endTime); - return writer; - }; - - /** - * Encodes the specified BaseVestingAccount message, length delimited. Does not implicitly {@link cosmos.vesting.v1beta1.BaseVestingAccount.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IBaseVestingAccount} message BaseVestingAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BaseVestingAccount.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BaseVestingAccount message from the specified reader or buffer. - * @function decode - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.vesting.v1beta1.BaseVestingAccount} BaseVestingAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BaseVestingAccount.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.vesting.v1beta1.BaseVestingAccount(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.baseAccount = $root.cosmos.auth.v1beta1.BaseAccount.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.originalVesting && message.originalVesting.length)) - message.originalVesting = []; - message.originalVesting.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.delegatedFree && message.delegatedFree.length)) - message.delegatedFree = []; - message.delegatedFree.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.delegatedVesting && message.delegatedVesting.length)) - message.delegatedVesting = []; - message.delegatedVesting.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - case 5: - message.endTime = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BaseVestingAccount message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.vesting.v1beta1.BaseVestingAccount} BaseVestingAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BaseVestingAccount.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BaseVestingAccount message. - * @function verify - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BaseVestingAccount.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.baseAccount != null && message.hasOwnProperty("baseAccount")) { - let error = $root.cosmos.auth.v1beta1.BaseAccount.verify(message.baseAccount); - if (error) - return "baseAccount." + error; - } - if (message.originalVesting != null && message.hasOwnProperty("originalVesting")) { - if (!Array.isArray(message.originalVesting)) - return "originalVesting: array expected"; - for (let i = 0; i < message.originalVesting.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.originalVesting[i]); - if (error) - return "originalVesting." + error; - } - } - if (message.delegatedFree != null && message.hasOwnProperty("delegatedFree")) { - if (!Array.isArray(message.delegatedFree)) - return "delegatedFree: array expected"; - for (let i = 0; i < message.delegatedFree.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.delegatedFree[i]); - if (error) - return "delegatedFree." + error; - } - } - if (message.delegatedVesting != null && message.hasOwnProperty("delegatedVesting")) { - if (!Array.isArray(message.delegatedVesting)) - return "delegatedVesting: array expected"; - for (let i = 0; i < message.delegatedVesting.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.delegatedVesting[i]); - if (error) - return "delegatedVesting." + error; - } - } - if (message.endTime != null && message.hasOwnProperty("endTime")) - if (!$util.isInteger(message.endTime) && !(message.endTime && $util.isInteger(message.endTime.low) && $util.isInteger(message.endTime.high))) - return "endTime: integer|Long expected"; - return null; - }; - - /** - * Creates a BaseVestingAccount message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @static - * @param {Object.} object Plain object - * @returns {cosmos.vesting.v1beta1.BaseVestingAccount} BaseVestingAccount - */ - BaseVestingAccount.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.vesting.v1beta1.BaseVestingAccount) - return object; - let message = new $root.cosmos.vesting.v1beta1.BaseVestingAccount(); - if (object.baseAccount != null) { - if (typeof object.baseAccount !== "object") - throw TypeError(".cosmos.vesting.v1beta1.BaseVestingAccount.baseAccount: object expected"); - message.baseAccount = $root.cosmos.auth.v1beta1.BaseAccount.fromObject(object.baseAccount); - } - if (object.originalVesting) { - if (!Array.isArray(object.originalVesting)) - throw TypeError(".cosmos.vesting.v1beta1.BaseVestingAccount.originalVesting: array expected"); - message.originalVesting = []; - for (let i = 0; i < object.originalVesting.length; ++i) { - if (typeof object.originalVesting[i] !== "object") - throw TypeError(".cosmos.vesting.v1beta1.BaseVestingAccount.originalVesting: object expected"); - message.originalVesting[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.originalVesting[i]); - } - } - if (object.delegatedFree) { - if (!Array.isArray(object.delegatedFree)) - throw TypeError(".cosmos.vesting.v1beta1.BaseVestingAccount.delegatedFree: array expected"); - message.delegatedFree = []; - for (let i = 0; i < object.delegatedFree.length; ++i) { - if (typeof object.delegatedFree[i] !== "object") - throw TypeError(".cosmos.vesting.v1beta1.BaseVestingAccount.delegatedFree: object expected"); - message.delegatedFree[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.delegatedFree[i]); - } - } - if (object.delegatedVesting) { - if (!Array.isArray(object.delegatedVesting)) - throw TypeError(".cosmos.vesting.v1beta1.BaseVestingAccount.delegatedVesting: array expected"); - message.delegatedVesting = []; - for (let i = 0; i < object.delegatedVesting.length; ++i) { - if (typeof object.delegatedVesting[i] !== "object") - throw TypeError(".cosmos.vesting.v1beta1.BaseVestingAccount.delegatedVesting: object expected"); - message.delegatedVesting[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.delegatedVesting[i]); - } - } - if (object.endTime != null) - if ($util.Long) - (message.endTime = $util.Long.fromValue(object.endTime)).unsigned = false; - else if (typeof object.endTime === "string") - message.endTime = parseInt(object.endTime, 10); - else if (typeof object.endTime === "number") - message.endTime = object.endTime; - else if (typeof object.endTime === "object") - message.endTime = new $util.LongBits(object.endTime.low >>> 0, object.endTime.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a BaseVestingAccount message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.BaseVestingAccount} message BaseVestingAccount - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BaseVestingAccount.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.originalVesting = []; - object.delegatedFree = []; - object.delegatedVesting = []; - } - if (options.defaults) { - object.baseAccount = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.endTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.endTime = options.longs === String ? "0" : 0; - } - if (message.baseAccount != null && message.hasOwnProperty("baseAccount")) - object.baseAccount = $root.cosmos.auth.v1beta1.BaseAccount.toObject(message.baseAccount, options); - if (message.originalVesting && message.originalVesting.length) { - object.originalVesting = []; - for (let j = 0; j < message.originalVesting.length; ++j) - object.originalVesting[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.originalVesting[j], options); - } - if (message.delegatedFree && message.delegatedFree.length) { - object.delegatedFree = []; - for (let j = 0; j < message.delegatedFree.length; ++j) - object.delegatedFree[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.delegatedFree[j], options); - } - if (message.delegatedVesting && message.delegatedVesting.length) { - object.delegatedVesting = []; - for (let j = 0; j < message.delegatedVesting.length; ++j) - object.delegatedVesting[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.delegatedVesting[j], options); - } - if (message.endTime != null && message.hasOwnProperty("endTime")) - if (typeof message.endTime === "number") - object.endTime = options.longs === String ? String(message.endTime) : message.endTime; - else - object.endTime = options.longs === String ? $util.Long.prototype.toString.call(message.endTime) : options.longs === Number ? new $util.LongBits(message.endTime.low >>> 0, message.endTime.high >>> 0).toNumber() : message.endTime; - return object; - }; - - /** - * Converts this BaseVestingAccount to JSON. - * @function toJSON - * @memberof cosmos.vesting.v1beta1.BaseVestingAccount - * @instance - * @returns {Object.} JSON object - */ - BaseVestingAccount.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BaseVestingAccount; - })(v1beta1.BaseVestingAccount || {}); - - v1beta1.ContinuousVestingAccount = (function(ContinuousVestingAccount) { - - /** - * Properties of a ContinuousVestingAccount. - * @memberof cosmos.vesting.v1beta1 - * @interface IContinuousVestingAccount - * @property {cosmos.vesting.v1beta1.IBaseVestingAccount|null} [baseVestingAccount] ContinuousVestingAccount baseVestingAccount - * @property {number|Long|null} [startTime] ContinuousVestingAccount startTime - */ - - /** - * Constructs a new ContinuousVestingAccount. - * @memberof cosmos.vesting.v1beta1 - * @classdesc Represents a ContinuousVestingAccount. - * @implements IContinuousVestingAccount - * @constructor - * @param {cosmos.vesting.v1beta1.IContinuousVestingAccount=} [properties] Properties to set - */ - function ContinuousVestingAccount(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ContinuousVestingAccount baseVestingAccount. - * @member {cosmos.vesting.v1beta1.IBaseVestingAccount|null|undefined} baseVestingAccount - * @memberof cosmos.vesting.v1beta1.ContinuousVestingAccount - * @instance - */ - ContinuousVestingAccount.prototype.baseVestingAccount = null; - - /** - * ContinuousVestingAccount startTime. - * @member {number|Long} startTime - * @memberof cosmos.vesting.v1beta1.ContinuousVestingAccount - * @instance - */ - ContinuousVestingAccount.prototype.startTime = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new ContinuousVestingAccount instance using the specified properties. - * @function create - * @memberof cosmos.vesting.v1beta1.ContinuousVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IContinuousVestingAccount=} [properties] Properties to set - * @returns {cosmos.vesting.v1beta1.ContinuousVestingAccount} ContinuousVestingAccount instance - */ - ContinuousVestingAccount.create = function create(properties) { - return new ContinuousVestingAccount(properties); - }; - - /** - * Encodes the specified ContinuousVestingAccount message. Does not implicitly {@link cosmos.vesting.v1beta1.ContinuousVestingAccount.verify|verify} messages. - * @function encode - * @memberof cosmos.vesting.v1beta1.ContinuousVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IContinuousVestingAccount} message ContinuousVestingAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ContinuousVestingAccount.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.baseVestingAccount != null && Object.hasOwnProperty.call(message, "baseVestingAccount")) - $root.cosmos.vesting.v1beta1.BaseVestingAccount.encode(message.baseVestingAccount, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.startTime); - return writer; - }; - - /** - * Encodes the specified ContinuousVestingAccount message, length delimited. Does not implicitly {@link cosmos.vesting.v1beta1.ContinuousVestingAccount.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.vesting.v1beta1.ContinuousVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IContinuousVestingAccount} message ContinuousVestingAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ContinuousVestingAccount.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ContinuousVestingAccount message from the specified reader or buffer. - * @function decode - * @memberof cosmos.vesting.v1beta1.ContinuousVestingAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.vesting.v1beta1.ContinuousVestingAccount} ContinuousVestingAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ContinuousVestingAccount.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.vesting.v1beta1.ContinuousVestingAccount(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.baseVestingAccount = $root.cosmos.vesting.v1beta1.BaseVestingAccount.decode(reader, reader.uint32()); - break; - case 2: - message.startTime = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ContinuousVestingAccount message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.vesting.v1beta1.ContinuousVestingAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.vesting.v1beta1.ContinuousVestingAccount} ContinuousVestingAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ContinuousVestingAccount.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ContinuousVestingAccount message. - * @function verify - * @memberof cosmos.vesting.v1beta1.ContinuousVestingAccount - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ContinuousVestingAccount.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.baseVestingAccount != null && message.hasOwnProperty("baseVestingAccount")) { - let error = $root.cosmos.vesting.v1beta1.BaseVestingAccount.verify(message.baseVestingAccount); - if (error) - return "baseVestingAccount." + error; - } - if (message.startTime != null && message.hasOwnProperty("startTime")) - if (!$util.isInteger(message.startTime) && !(message.startTime && $util.isInteger(message.startTime.low) && $util.isInteger(message.startTime.high))) - return "startTime: integer|Long expected"; - return null; - }; - - /** - * Creates a ContinuousVestingAccount message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.vesting.v1beta1.ContinuousVestingAccount - * @static - * @param {Object.} object Plain object - * @returns {cosmos.vesting.v1beta1.ContinuousVestingAccount} ContinuousVestingAccount - */ - ContinuousVestingAccount.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.vesting.v1beta1.ContinuousVestingAccount) - return object; - let message = new $root.cosmos.vesting.v1beta1.ContinuousVestingAccount(); - if (object.baseVestingAccount != null) { - if (typeof object.baseVestingAccount !== "object") - throw TypeError(".cosmos.vesting.v1beta1.ContinuousVestingAccount.baseVestingAccount: object expected"); - message.baseVestingAccount = $root.cosmos.vesting.v1beta1.BaseVestingAccount.fromObject(object.baseVestingAccount); - } - if (object.startTime != null) - if ($util.Long) - (message.startTime = $util.Long.fromValue(object.startTime)).unsigned = false; - else if (typeof object.startTime === "string") - message.startTime = parseInt(object.startTime, 10); - else if (typeof object.startTime === "number") - message.startTime = object.startTime; - else if (typeof object.startTime === "object") - message.startTime = new $util.LongBits(object.startTime.low >>> 0, object.startTime.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a ContinuousVestingAccount message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.vesting.v1beta1.ContinuousVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.ContinuousVestingAccount} message ContinuousVestingAccount - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ContinuousVestingAccount.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.baseVestingAccount = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.startTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.startTime = options.longs === String ? "0" : 0; - } - if (message.baseVestingAccount != null && message.hasOwnProperty("baseVestingAccount")) - object.baseVestingAccount = $root.cosmos.vesting.v1beta1.BaseVestingAccount.toObject(message.baseVestingAccount, options); - if (message.startTime != null && message.hasOwnProperty("startTime")) - if (typeof message.startTime === "number") - object.startTime = options.longs === String ? String(message.startTime) : message.startTime; - else - object.startTime = options.longs === String ? $util.Long.prototype.toString.call(message.startTime) : options.longs === Number ? new $util.LongBits(message.startTime.low >>> 0, message.startTime.high >>> 0).toNumber() : message.startTime; - return object; - }; - - /** - * Converts this ContinuousVestingAccount to JSON. - * @function toJSON - * @memberof cosmos.vesting.v1beta1.ContinuousVestingAccount - * @instance - * @returns {Object.} JSON object - */ - ContinuousVestingAccount.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ContinuousVestingAccount; - })(v1beta1.ContinuousVestingAccount || {}); - - v1beta1.DelayedVestingAccount = (function(DelayedVestingAccount) { - - /** - * Properties of a DelayedVestingAccount. - * @memberof cosmos.vesting.v1beta1 - * @interface IDelayedVestingAccount - * @property {cosmos.vesting.v1beta1.IBaseVestingAccount|null} [baseVestingAccount] DelayedVestingAccount baseVestingAccount - */ - - /** - * Constructs a new DelayedVestingAccount. - * @memberof cosmos.vesting.v1beta1 - * @classdesc Represents a DelayedVestingAccount. - * @implements IDelayedVestingAccount - * @constructor - * @param {cosmos.vesting.v1beta1.IDelayedVestingAccount=} [properties] Properties to set - */ - function DelayedVestingAccount(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DelayedVestingAccount baseVestingAccount. - * @member {cosmos.vesting.v1beta1.IBaseVestingAccount|null|undefined} baseVestingAccount - * @memberof cosmos.vesting.v1beta1.DelayedVestingAccount - * @instance - */ - DelayedVestingAccount.prototype.baseVestingAccount = null; - - /** - * Creates a new DelayedVestingAccount instance using the specified properties. - * @function create - * @memberof cosmos.vesting.v1beta1.DelayedVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IDelayedVestingAccount=} [properties] Properties to set - * @returns {cosmos.vesting.v1beta1.DelayedVestingAccount} DelayedVestingAccount instance - */ - DelayedVestingAccount.create = function create(properties) { - return new DelayedVestingAccount(properties); - }; - - /** - * Encodes the specified DelayedVestingAccount message. Does not implicitly {@link cosmos.vesting.v1beta1.DelayedVestingAccount.verify|verify} messages. - * @function encode - * @memberof cosmos.vesting.v1beta1.DelayedVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IDelayedVestingAccount} message DelayedVestingAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DelayedVestingAccount.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.baseVestingAccount != null && Object.hasOwnProperty.call(message, "baseVestingAccount")) - $root.cosmos.vesting.v1beta1.BaseVestingAccount.encode(message.baseVestingAccount, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified DelayedVestingAccount message, length delimited. Does not implicitly {@link cosmos.vesting.v1beta1.DelayedVestingAccount.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.vesting.v1beta1.DelayedVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IDelayedVestingAccount} message DelayedVestingAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DelayedVestingAccount.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DelayedVestingAccount message from the specified reader or buffer. - * @function decode - * @memberof cosmos.vesting.v1beta1.DelayedVestingAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.vesting.v1beta1.DelayedVestingAccount} DelayedVestingAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DelayedVestingAccount.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.vesting.v1beta1.DelayedVestingAccount(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.baseVestingAccount = $root.cosmos.vesting.v1beta1.BaseVestingAccount.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DelayedVestingAccount message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.vesting.v1beta1.DelayedVestingAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.vesting.v1beta1.DelayedVestingAccount} DelayedVestingAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DelayedVestingAccount.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DelayedVestingAccount message. - * @function verify - * @memberof cosmos.vesting.v1beta1.DelayedVestingAccount - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DelayedVestingAccount.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.baseVestingAccount != null && message.hasOwnProperty("baseVestingAccount")) { - let error = $root.cosmos.vesting.v1beta1.BaseVestingAccount.verify(message.baseVestingAccount); - if (error) - return "baseVestingAccount." + error; - } - return null; - }; - - /** - * Creates a DelayedVestingAccount message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.vesting.v1beta1.DelayedVestingAccount - * @static - * @param {Object.} object Plain object - * @returns {cosmos.vesting.v1beta1.DelayedVestingAccount} DelayedVestingAccount - */ - DelayedVestingAccount.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.vesting.v1beta1.DelayedVestingAccount) - return object; - let message = new $root.cosmos.vesting.v1beta1.DelayedVestingAccount(); - if (object.baseVestingAccount != null) { - if (typeof object.baseVestingAccount !== "object") - throw TypeError(".cosmos.vesting.v1beta1.DelayedVestingAccount.baseVestingAccount: object expected"); - message.baseVestingAccount = $root.cosmos.vesting.v1beta1.BaseVestingAccount.fromObject(object.baseVestingAccount); - } - return message; - }; - - /** - * Creates a plain object from a DelayedVestingAccount message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.vesting.v1beta1.DelayedVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.DelayedVestingAccount} message DelayedVestingAccount - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DelayedVestingAccount.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.baseVestingAccount = null; - if (message.baseVestingAccount != null && message.hasOwnProperty("baseVestingAccount")) - object.baseVestingAccount = $root.cosmos.vesting.v1beta1.BaseVestingAccount.toObject(message.baseVestingAccount, options); - return object; - }; - - /** - * Converts this DelayedVestingAccount to JSON. - * @function toJSON - * @memberof cosmos.vesting.v1beta1.DelayedVestingAccount - * @instance - * @returns {Object.} JSON object - */ - DelayedVestingAccount.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DelayedVestingAccount; - })(v1beta1.DelayedVestingAccount || {}); - - v1beta1.Period = (function(Period) { - - /** - * Properties of a Period. - * @memberof cosmos.vesting.v1beta1 - * @interface IPeriod - * @property {number|Long|null} [length] Period length - * @property {Array.|null} [amount] Period amount - */ - - /** - * Constructs a new Period. - * @memberof cosmos.vesting.v1beta1 - * @classdesc Represents a Period. - * @implements IPeriod - * @constructor - * @param {cosmos.vesting.v1beta1.IPeriod=} [properties] Properties to set - */ - function Period(properties) { - this.amount = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Period length. - * @member {number|Long} length - * @memberof cosmos.vesting.v1beta1.Period - * @instance - */ - Period.prototype.length = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Period amount. - * @member {Array.} amount - * @memberof cosmos.vesting.v1beta1.Period - * @instance - */ - Period.prototype.amount = $util.emptyArray; - - /** - * Creates a new Period instance using the specified properties. - * @function create - * @memberof cosmos.vesting.v1beta1.Period - * @static - * @param {cosmos.vesting.v1beta1.IPeriod=} [properties] Properties to set - * @returns {cosmos.vesting.v1beta1.Period} Period instance - */ - Period.create = function create(properties) { - return new Period(properties); - }; - - /** - * Encodes the specified Period message. Does not implicitly {@link cosmos.vesting.v1beta1.Period.verify|verify} messages. - * @function encode - * @memberof cosmos.vesting.v1beta1.Period - * @static - * @param {cosmos.vesting.v1beta1.IPeriod} message Period message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Period.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.length != null && Object.hasOwnProperty.call(message, "length")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.length); - if (message.amount != null && message.amount.length) - for (let i = 0; i < message.amount.length; ++i) - $root.cosmos.base.v1beta1.Coin.encode(message.amount[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Period message, length delimited. Does not implicitly {@link cosmos.vesting.v1beta1.Period.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.vesting.v1beta1.Period - * @static - * @param {cosmos.vesting.v1beta1.IPeriod} message Period message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Period.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Period message from the specified reader or buffer. - * @function decode - * @memberof cosmos.vesting.v1beta1.Period - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.vesting.v1beta1.Period} Period - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Period.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.vesting.v1beta1.Period(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.length = reader.int64(); - break; - case 2: - if (!(message.amount && message.amount.length)) - message.amount = []; - message.amount.push($root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Period message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.vesting.v1beta1.Period - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.vesting.v1beta1.Period} Period - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Period.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Period message. - * @function verify - * @memberof cosmos.vesting.v1beta1.Period - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Period.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.length != null && message.hasOwnProperty("length")) - if (!$util.isInteger(message.length) && !(message.length && $util.isInteger(message.length.low) && $util.isInteger(message.length.high))) - return "length: integer|Long expected"; - if (message.amount != null && message.hasOwnProperty("amount")) { - if (!Array.isArray(message.amount)) - return "amount: array expected"; - for (let i = 0; i < message.amount.length; ++i) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.amount[i]); - if (error) - return "amount." + error; - } - } - return null; - }; - - /** - * Creates a Period message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.vesting.v1beta1.Period - * @static - * @param {Object.} object Plain object - * @returns {cosmos.vesting.v1beta1.Period} Period - */ - Period.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.vesting.v1beta1.Period) - return object; - let message = new $root.cosmos.vesting.v1beta1.Period(); - if (object.length != null) - if ($util.Long) - (message.length = $util.Long.fromValue(object.length)).unsigned = false; - else if (typeof object.length === "string") - message.length = parseInt(object.length, 10); - else if (typeof object.length === "number") - message.length = object.length; - else if (typeof object.length === "object") - message.length = new $util.LongBits(object.length.low >>> 0, object.length.high >>> 0).toNumber(); - if (object.amount) { - if (!Array.isArray(object.amount)) - throw TypeError(".cosmos.vesting.v1beta1.Period.amount: array expected"); - message.amount = []; - for (let i = 0; i < object.amount.length; ++i) { - if (typeof object.amount[i] !== "object") - throw TypeError(".cosmos.vesting.v1beta1.Period.amount: object expected"); - message.amount[i] = $root.cosmos.base.v1beta1.Coin.fromObject(object.amount[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a Period message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.vesting.v1beta1.Period - * @static - * @param {cosmos.vesting.v1beta1.Period} message Period - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Period.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.amount = []; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.length = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.length = options.longs === String ? "0" : 0; - if (message.length != null && message.hasOwnProperty("length")) - if (typeof message.length === "number") - object.length = options.longs === String ? String(message.length) : message.length; - else - object.length = options.longs === String ? $util.Long.prototype.toString.call(message.length) : options.longs === Number ? new $util.LongBits(message.length.low >>> 0, message.length.high >>> 0).toNumber() : message.length; - if (message.amount && message.amount.length) { - object.amount = []; - for (let j = 0; j < message.amount.length; ++j) - object.amount[j] = $root.cosmos.base.v1beta1.Coin.toObject(message.amount[j], options); - } - return object; - }; - - /** - * Converts this Period to JSON. - * @function toJSON - * @memberof cosmos.vesting.v1beta1.Period - * @instance - * @returns {Object.} JSON object - */ - Period.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Period; - })(v1beta1.Period || {}); - - v1beta1.PeriodicVestingAccount = (function(PeriodicVestingAccount) { - - /** - * Properties of a PeriodicVestingAccount. - * @memberof cosmos.vesting.v1beta1 - * @interface IPeriodicVestingAccount - * @property {cosmos.vesting.v1beta1.IBaseVestingAccount|null} [baseVestingAccount] PeriodicVestingAccount baseVestingAccount - * @property {number|Long|null} [startTime] PeriodicVestingAccount startTime - * @property {Array.|null} [vestingPeriods] PeriodicVestingAccount vestingPeriods - */ - - /** - * Constructs a new PeriodicVestingAccount. - * @memberof cosmos.vesting.v1beta1 - * @classdesc Represents a PeriodicVestingAccount. - * @implements IPeriodicVestingAccount - * @constructor - * @param {cosmos.vesting.v1beta1.IPeriodicVestingAccount=} [properties] Properties to set - */ - function PeriodicVestingAccount(properties) { - this.vestingPeriods = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PeriodicVestingAccount baseVestingAccount. - * @member {cosmos.vesting.v1beta1.IBaseVestingAccount|null|undefined} baseVestingAccount - * @memberof cosmos.vesting.v1beta1.PeriodicVestingAccount - * @instance - */ - PeriodicVestingAccount.prototype.baseVestingAccount = null; - - /** - * PeriodicVestingAccount startTime. - * @member {number|Long} startTime - * @memberof cosmos.vesting.v1beta1.PeriodicVestingAccount - * @instance - */ - PeriodicVestingAccount.prototype.startTime = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * PeriodicVestingAccount vestingPeriods. - * @member {Array.} vestingPeriods - * @memberof cosmos.vesting.v1beta1.PeriodicVestingAccount - * @instance - */ - PeriodicVestingAccount.prototype.vestingPeriods = $util.emptyArray; - - /** - * Creates a new PeriodicVestingAccount instance using the specified properties. - * @function create - * @memberof cosmos.vesting.v1beta1.PeriodicVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IPeriodicVestingAccount=} [properties] Properties to set - * @returns {cosmos.vesting.v1beta1.PeriodicVestingAccount} PeriodicVestingAccount instance - */ - PeriodicVestingAccount.create = function create(properties) { - return new PeriodicVestingAccount(properties); - }; - - /** - * Encodes the specified PeriodicVestingAccount message. Does not implicitly {@link cosmos.vesting.v1beta1.PeriodicVestingAccount.verify|verify} messages. - * @function encode - * @memberof cosmos.vesting.v1beta1.PeriodicVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IPeriodicVestingAccount} message PeriodicVestingAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PeriodicVestingAccount.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.baseVestingAccount != null && Object.hasOwnProperty.call(message, "baseVestingAccount")) - $root.cosmos.vesting.v1beta1.BaseVestingAccount.encode(message.baseVestingAccount, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.startTime); - if (message.vestingPeriods != null && message.vestingPeriods.length) - for (let i = 0; i < message.vestingPeriods.length; ++i) - $root.cosmos.vesting.v1beta1.Period.encode(message.vestingPeriods[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified PeriodicVestingAccount message, length delimited. Does not implicitly {@link cosmos.vesting.v1beta1.PeriodicVestingAccount.verify|verify} messages. - * @function encodeDelimited - * @memberof cosmos.vesting.v1beta1.PeriodicVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.IPeriodicVestingAccount} message PeriodicVestingAccount message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PeriodicVestingAccount.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PeriodicVestingAccount message from the specified reader or buffer. - * @function decode - * @memberof cosmos.vesting.v1beta1.PeriodicVestingAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {cosmos.vesting.v1beta1.PeriodicVestingAccount} PeriodicVestingAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PeriodicVestingAccount.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.cosmos.vesting.v1beta1.PeriodicVestingAccount(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.baseVestingAccount = $root.cosmos.vesting.v1beta1.BaseVestingAccount.decode(reader, reader.uint32()); - break; - case 2: - message.startTime = reader.int64(); - break; - case 3: - if (!(message.vestingPeriods && message.vestingPeriods.length)) - message.vestingPeriods = []; - message.vestingPeriods.push($root.cosmos.vesting.v1beta1.Period.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PeriodicVestingAccount message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof cosmos.vesting.v1beta1.PeriodicVestingAccount - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {cosmos.vesting.v1beta1.PeriodicVestingAccount} PeriodicVestingAccount - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PeriodicVestingAccount.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PeriodicVestingAccount message. - * @function verify - * @memberof cosmos.vesting.v1beta1.PeriodicVestingAccount - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PeriodicVestingAccount.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.baseVestingAccount != null && message.hasOwnProperty("baseVestingAccount")) { - let error = $root.cosmos.vesting.v1beta1.BaseVestingAccount.verify(message.baseVestingAccount); - if (error) - return "baseVestingAccount." + error; - } - if (message.startTime != null && message.hasOwnProperty("startTime")) - if (!$util.isInteger(message.startTime) && !(message.startTime && $util.isInteger(message.startTime.low) && $util.isInteger(message.startTime.high))) - return "startTime: integer|Long expected"; - if (message.vestingPeriods != null && message.hasOwnProperty("vestingPeriods")) { - if (!Array.isArray(message.vestingPeriods)) - return "vestingPeriods: array expected"; - for (let i = 0; i < message.vestingPeriods.length; ++i) { - let error = $root.cosmos.vesting.v1beta1.Period.verify(message.vestingPeriods[i]); - if (error) - return "vestingPeriods." + error; - } - } - return null; - }; - - /** - * Creates a PeriodicVestingAccount message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof cosmos.vesting.v1beta1.PeriodicVestingAccount - * @static - * @param {Object.} object Plain object - * @returns {cosmos.vesting.v1beta1.PeriodicVestingAccount} PeriodicVestingAccount - */ - PeriodicVestingAccount.fromObject = function fromObject(object) { - if (object instanceof $root.cosmos.vesting.v1beta1.PeriodicVestingAccount) - return object; - let message = new $root.cosmos.vesting.v1beta1.PeriodicVestingAccount(); - if (object.baseVestingAccount != null) { - if (typeof object.baseVestingAccount !== "object") - throw TypeError(".cosmos.vesting.v1beta1.PeriodicVestingAccount.baseVestingAccount: object expected"); - message.baseVestingAccount = $root.cosmos.vesting.v1beta1.BaseVestingAccount.fromObject(object.baseVestingAccount); - } - if (object.startTime != null) - if ($util.Long) - (message.startTime = $util.Long.fromValue(object.startTime)).unsigned = false; - else if (typeof object.startTime === "string") - message.startTime = parseInt(object.startTime, 10); - else if (typeof object.startTime === "number") - message.startTime = object.startTime; - else if (typeof object.startTime === "object") - message.startTime = new $util.LongBits(object.startTime.low >>> 0, object.startTime.high >>> 0).toNumber(); - if (object.vestingPeriods) { - if (!Array.isArray(object.vestingPeriods)) - throw TypeError(".cosmos.vesting.v1beta1.PeriodicVestingAccount.vestingPeriods: array expected"); - message.vestingPeriods = []; - for (let i = 0; i < object.vestingPeriods.length; ++i) { - if (typeof object.vestingPeriods[i] !== "object") - throw TypeError(".cosmos.vesting.v1beta1.PeriodicVestingAccount.vestingPeriods: object expected"); - message.vestingPeriods[i] = $root.cosmos.vesting.v1beta1.Period.fromObject(object.vestingPeriods[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a PeriodicVestingAccount message. Also converts values to other types if specified. - * @function toObject - * @memberof cosmos.vesting.v1beta1.PeriodicVestingAccount - * @static - * @param {cosmos.vesting.v1beta1.PeriodicVestingAccount} message PeriodicVestingAccount - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PeriodicVestingAccount.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.vestingPeriods = []; - if (options.defaults) { - object.baseVestingAccount = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.startTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.startTime = options.longs === String ? "0" : 0; - } - if (message.baseVestingAccount != null && message.hasOwnProperty("baseVestingAccount")) - object.baseVestingAccount = $root.cosmos.vesting.v1beta1.BaseVestingAccount.toObject(message.baseVestingAccount, options); - if (message.startTime != null && message.hasOwnProperty("startTime")) - if (typeof message.startTime === "number") - object.startTime = options.longs === String ? String(message.startTime) : message.startTime; - else - object.startTime = options.longs === String ? $util.Long.prototype.toString.call(message.startTime) : options.longs === Number ? new $util.LongBits(message.startTime.low >>> 0, message.startTime.high >>> 0).toNumber() : message.startTime; - if (message.vestingPeriods && message.vestingPeriods.length) { - object.vestingPeriods = []; - for (let j = 0; j < message.vestingPeriods.length; ++j) - object.vestingPeriods[j] = $root.cosmos.vesting.v1beta1.Period.toObject(message.vestingPeriods[j], options); - } - return object; - }; - - /** - * Converts this PeriodicVestingAccount to JSON. - * @function toJSON - * @memberof cosmos.vesting.v1beta1.PeriodicVestingAccount - * @instance - * @returns {Object.} JSON object - */ - PeriodicVestingAccount.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PeriodicVestingAccount; - })(v1beta1.PeriodicVestingAccount || {}); - - return v1beta1; - })(vesting.v1beta1 || {}); - - return vesting; - })(cosmos.vesting || {}); - - return cosmos; -})($root.cosmos || {}); - -/** - * Namespace google. - * @exports google - * @namespace - */ - -export const google = $root.google = ((google) => { - - /** - * Namespace protobuf. - * @memberof google - * @namespace - */ - - google.protobuf = (function(protobuf) { - - protobuf.Any = (function(Any) { - - /** - * Properties of an Any. - * @memberof google.protobuf - * @interface IAny - * @property {string|null} [type_url] Any type_url - * @property {Uint8Array|null} [value] Any value - */ - - /** - * Constructs a new Any. - * @memberof google.protobuf - * @classdesc Represents an Any. - * @implements IAny - * @constructor - * @param {google.protobuf.IAny=} [properties] Properties to set - */ - function Any(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Any type_url. - * @member {string} type_url - * @memberof google.protobuf.Any - * @instance - */ - Any.prototype.type_url = ""; - - /** - * Any value. - * @member {Uint8Array} value - * @memberof google.protobuf.Any - * @instance - */ - Any.prototype.value = $util.newBuffer([]); - - /** - * Creates a new Any instance using the specified properties. - * @function create - * @memberof google.protobuf.Any - * @static - * @param {google.protobuf.IAny=} [properties] Properties to set - * @returns {google.protobuf.Any} Any instance - */ - Any.create = function create(properties) { - return new Any(properties); - }; - - /** - * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. - * @function encode - * @memberof google.protobuf.Any - * @static - * @param {google.protobuf.IAny} message Any message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Any.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type_url != null && Object.hasOwnProperty.call(message, "type_url")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.type_url); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); - return writer; - }; - - /** - * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.Any - * @static - * @param {google.protobuf.IAny} message Any message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Any.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Any message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.Any - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.Any} Any - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Any.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type_url = reader.string(); - break; - case 2: - message.value = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Any message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.Any - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.Any} Any - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Any.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Any message. - * @function verify - * @memberof google.protobuf.Any - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Any.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type_url != null && message.hasOwnProperty("type_url")) - if (!$util.isString(message.type_url)) - return "type_url: string expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; - return null; - }; - - /** - * Creates an Any message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.Any - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.Any} Any - */ - Any.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.Any) - return object; - let message = new $root.google.protobuf.Any(); - if (object.type_url != null) - message.type_url = String(object.type_url); - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) - message.value = object.value; - return message; - }; - - /** - * Creates a plain object from an Any message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.Any - * @static - * @param {google.protobuf.Any} message Any - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Any.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.type_url = ""; - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - } - if (message.type_url != null && message.hasOwnProperty("type_url")) - object.type_url = message.type_url; - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; - return object; - }; - - /** - * Converts this Any to JSON. - * @function toJSON - * @memberof google.protobuf.Any - * @instance - * @returns {Object.} JSON object - */ - Any.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Any; - })(protobuf.Any || {}); - - protobuf.Timestamp = (function(Timestamp) { - - /** - * Properties of a Timestamp. - * @memberof google.protobuf - * @interface ITimestamp - * @property {number|Long|null} [seconds] Timestamp seconds - * @property {number|null} [nanos] Timestamp nanos - */ - - /** - * Constructs a new Timestamp. - * @memberof google.protobuf - * @classdesc Represents a Timestamp. - * @implements ITimestamp - * @constructor - * @param {google.protobuf.ITimestamp=} [properties] Properties to set - */ - function Timestamp(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Timestamp seconds. - * @member {number|Long} seconds - * @memberof google.protobuf.Timestamp - * @instance - */ - Timestamp.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Timestamp nanos. - * @member {number} nanos - * @memberof google.protobuf.Timestamp - * @instance - */ - Timestamp.prototype.nanos = 0; - - /** - * Creates a new Timestamp instance using the specified properties. - * @function create - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.ITimestamp=} [properties] Properties to set - * @returns {google.protobuf.Timestamp} Timestamp instance - */ - Timestamp.create = function create(properties) { - return new Timestamp(properties); - }; - - /** - * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @function encode - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Timestamp.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); - return writer; - }; - - /** - * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Timestamp.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Timestamp message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.Timestamp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.Timestamp} Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Timestamp.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.seconds = reader.int64(); - break; - case 2: - message.nanos = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Timestamp message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.Timestamp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.Timestamp} Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Timestamp.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Timestamp message. - * @function verify - * @memberof google.protobuf.Timestamp - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Timestamp.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) - return "seconds: integer|Long expected"; - if (message.nanos != null && message.hasOwnProperty("nanos")) - if (!$util.isInteger(message.nanos)) - return "nanos: integer expected"; - return null; - }; - - /** - * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.Timestamp - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.Timestamp} Timestamp - */ - Timestamp.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.Timestamp) - return object; - let message = new $root.google.protobuf.Timestamp(); - if (object.seconds != null) - if ($util.Long) - (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; - else if (typeof object.seconds === "string") - message.seconds = parseInt(object.seconds, 10); - else if (typeof object.seconds === "number") - message.seconds = object.seconds; - else if (typeof object.seconds === "object") - message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); - if (object.nanos != null) - message.nanos = object.nanos | 0; - return message; - }; - - /** - * Creates a plain object from a Timestamp message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.Timestamp} message Timestamp - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Timestamp.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.seconds = options.longs === String ? "0" : 0; - object.nanos = 0; - } - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (typeof message.seconds === "number") - object.seconds = options.longs === String ? String(message.seconds) : message.seconds; - else - object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; - if (message.nanos != null && message.hasOwnProperty("nanos")) - object.nanos = message.nanos; - return object; - }; - - /** - * Converts this Timestamp to JSON. - * @function toJSON - * @memberof google.protobuf.Timestamp - * @instance - * @returns {Object.} JSON object - */ - Timestamp.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Timestamp; - })(protobuf.Timestamp || {}); - - protobuf.Duration = (function(Duration) { - - /** - * Properties of a Duration. - * @memberof google.protobuf - * @interface IDuration - * @property {number|Long|null} [seconds] Duration seconds - * @property {number|null} [nanos] Duration nanos - */ - - /** - * Constructs a new Duration. - * @memberof google.protobuf - * @classdesc Represents a Duration. - * @implements IDuration - * @constructor - * @param {google.protobuf.IDuration=} [properties] Properties to set - */ - function Duration(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Duration seconds. - * @member {number|Long} seconds - * @memberof google.protobuf.Duration - * @instance - */ - Duration.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Duration nanos. - * @member {number} nanos - * @memberof google.protobuf.Duration - * @instance - */ - Duration.prototype.nanos = 0; - - /** - * Creates a new Duration instance using the specified properties. - * @function create - * @memberof google.protobuf.Duration - * @static - * @param {google.protobuf.IDuration=} [properties] Properties to set - * @returns {google.protobuf.Duration} Duration instance - */ - Duration.create = function create(properties) { - return new Duration(properties); - }; - - /** - * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. - * @function encode - * @memberof google.protobuf.Duration - * @static - * @param {google.protobuf.IDuration} message Duration message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Duration.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); - return writer; - }; - - /** - * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.Duration - * @static - * @param {google.protobuf.IDuration} message Duration message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Duration.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Duration message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.Duration - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.Duration} Duration - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Duration.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.seconds = reader.int64(); - break; - case 2: - message.nanos = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Duration message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.Duration - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.Duration} Duration - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Duration.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Duration message. - * @function verify - * @memberof google.protobuf.Duration - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Duration.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) - return "seconds: integer|Long expected"; - if (message.nanos != null && message.hasOwnProperty("nanos")) - if (!$util.isInteger(message.nanos)) - return "nanos: integer expected"; - return null; - }; - - /** - * Creates a Duration message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.Duration - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.Duration} Duration - */ - Duration.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.Duration) - return object; - let message = new $root.google.protobuf.Duration(); - if (object.seconds != null) - if ($util.Long) - (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; - else if (typeof object.seconds === "string") - message.seconds = parseInt(object.seconds, 10); - else if (typeof object.seconds === "number") - message.seconds = object.seconds; - else if (typeof object.seconds === "object") - message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); - if (object.nanos != null) - message.nanos = object.nanos | 0; - return message; - }; - - /** - * Creates a plain object from a Duration message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.Duration - * @static - * @param {google.protobuf.Duration} message Duration - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Duration.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.seconds = options.longs === String ? "0" : 0; - object.nanos = 0; - } - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (typeof message.seconds === "number") - object.seconds = options.longs === String ? String(message.seconds) : message.seconds; - else - object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; - if (message.nanos != null && message.hasOwnProperty("nanos")) - object.nanos = message.nanos; - return object; - }; - - /** - * Converts this Duration to JSON. - * @function toJSON - * @memberof google.protobuf.Duration - * @instance - * @returns {Object.} JSON object - */ - Duration.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Duration; - })(protobuf.Duration || {}); - - return protobuf; - })(google.protobuf || {}); - - return google; -})($root.google || {}); - -/** - * Namespace ibc. - * @exports ibc - * @namespace - */ - -export const ibc = $root.ibc = ((ibc) => { - - /** - * Namespace applications. - * @memberof ibc - * @namespace - */ - - ibc.applications = (function(applications) { - - /** - * Namespace transfer. - * @memberof ibc.applications - * @namespace - */ - - applications.transfer = (function(transfer) { - - /** - * Namespace v1. - * @memberof ibc.applications.transfer - * @namespace - */ - - transfer.v1 = (function(v1) { - - v1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof ibc.applications.transfer.v1 - * @interface IGenesisState - * @property {string|null} [portId] GenesisState portId - * @property {Array.|null} [denomTraces] GenesisState denomTraces - * @property {ibc.applications.transfer.v1.IParams|null} [params] GenesisState params - */ - - /** - * Constructs a new GenesisState. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {ibc.applications.transfer.v1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.denomTraces = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState portId. - * @member {string} portId - * @memberof ibc.applications.transfer.v1.GenesisState - * @instance - */ - GenesisState.prototype.portId = ""; - - /** - * GenesisState denomTraces. - * @member {Array.} denomTraces - * @memberof ibc.applications.transfer.v1.GenesisState - * @instance - */ - GenesisState.prototype.denomTraces = $util.emptyArray; - - /** - * GenesisState params. - * @member {ibc.applications.transfer.v1.IParams|null|undefined} params - * @memberof ibc.applications.transfer.v1.GenesisState - * @instance - */ - GenesisState.prototype.params = null; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof ibc.applications.transfer.v1.GenesisState - * @static - * @param {ibc.applications.transfer.v1.IGenesisState=} [properties] Properties to set - * @returns {ibc.applications.transfer.v1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link ibc.applications.transfer.v1.GenesisState.verify|verify} messages. - * @function encode - * @memberof ibc.applications.transfer.v1.GenesisState - * @static - * @param {ibc.applications.transfer.v1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.denomTraces != null && message.denomTraces.length) - for (let i = 0; i < message.denomTraces.length; ++i) - $root.ibc.applications.transfer.v1.DenomTrace.encode(message.denomTraces[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.ibc.applications.transfer.v1.Params.encode(message.params, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link ibc.applications.transfer.v1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.applications.transfer.v1.GenesisState - * @static - * @param {ibc.applications.transfer.v1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof ibc.applications.transfer.v1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.applications.transfer.v1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.applications.transfer.v1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - if (!(message.denomTraces && message.denomTraces.length)) - message.denomTraces = []; - message.denomTraces.push($root.ibc.applications.transfer.v1.DenomTrace.decode(reader, reader.uint32())); - break; - case 3: - message.params = $root.ibc.applications.transfer.v1.Params.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.applications.transfer.v1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.applications.transfer.v1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof ibc.applications.transfer.v1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.denomTraces != null && message.hasOwnProperty("denomTraces")) { - if (!Array.isArray(message.denomTraces)) - return "denomTraces: array expected"; - for (let i = 0; i < message.denomTraces.length; ++i) { - let error = $root.ibc.applications.transfer.v1.DenomTrace.verify(message.denomTraces[i]); - if (error) - return "denomTraces." + error; - } - } - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.ibc.applications.transfer.v1.Params.verify(message.params); - if (error) - return "params." + error; - } - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.applications.transfer.v1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {ibc.applications.transfer.v1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.applications.transfer.v1.GenesisState) - return object; - let message = new $root.ibc.applications.transfer.v1.GenesisState(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.denomTraces) { - if (!Array.isArray(object.denomTraces)) - throw TypeError(".ibc.applications.transfer.v1.GenesisState.denomTraces: array expected"); - message.denomTraces = []; - for (let i = 0; i < object.denomTraces.length; ++i) { - if (typeof object.denomTraces[i] !== "object") - throw TypeError(".ibc.applications.transfer.v1.GenesisState.denomTraces: object expected"); - message.denomTraces[i] = $root.ibc.applications.transfer.v1.DenomTrace.fromObject(object.denomTraces[i]); - } - } - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".ibc.applications.transfer.v1.GenesisState.params: object expected"); - message.params = $root.ibc.applications.transfer.v1.Params.fromObject(object.params); - } - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.applications.transfer.v1.GenesisState - * @static - * @param {ibc.applications.transfer.v1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.denomTraces = []; - if (options.defaults) { - object.portId = ""; - object.params = null; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.denomTraces && message.denomTraces.length) { - object.denomTraces = []; - for (let j = 0; j < message.denomTraces.length; ++j) - object.denomTraces[j] = $root.ibc.applications.transfer.v1.DenomTrace.toObject(message.denomTraces[j], options); - } - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.ibc.applications.transfer.v1.Params.toObject(message.params, options); - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof ibc.applications.transfer.v1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1.GenesisState || {}); - - v1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof ibc.applications.transfer.v1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link ibc.applications.transfer.v1.Query#denomTrace}. - * @memberof ibc.applications.transfer.v1.Query - * @typedef DenomTraceCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.applications.transfer.v1.IQueryDenomTraceResponse} [response] QueryDenomTraceResponse - */ - - /** - * Calls DenomTrace. - * @function denomTrace - * @memberof ibc.applications.transfer.v1.Query - * @instance - * @param {ibc.applications.transfer.v1.IQueryDenomTraceRequest} request QueryDenomTraceRequest message or plain object - * @param {ibc.applications.transfer.v1.Query.DenomTraceCallback} callback Node-style callback called with the error, if any, and QueryDenomTraceResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.denomTrace = function denomTrace(request, callback) { - return this.rpcCall(denomTrace, $root.ibc.applications.transfer.v1.QueryDenomTraceRequest, $root.ibc.applications.transfer.v1.QueryDenomTraceResponse, request, callback); - }, "name", { value: "DenomTrace" }); - - /** - * Calls DenomTrace. - * @function denomTrace - * @memberof ibc.applications.transfer.v1.Query - * @instance - * @param {ibc.applications.transfer.v1.IQueryDenomTraceRequest} request QueryDenomTraceRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.applications.transfer.v1.Query#denomTraces}. - * @memberof ibc.applications.transfer.v1.Query - * @typedef DenomTracesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.applications.transfer.v1.IQueryDenomTracesResponse} [response] QueryDenomTracesResponse - */ - - /** - * Calls DenomTraces. - * @function denomTraces - * @memberof ibc.applications.transfer.v1.Query - * @instance - * @param {ibc.applications.transfer.v1.IQueryDenomTracesRequest} request QueryDenomTracesRequest message or plain object - * @param {ibc.applications.transfer.v1.Query.DenomTracesCallback} callback Node-style callback called with the error, if any, and QueryDenomTracesResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.denomTraces = function denomTraces(request, callback) { - return this.rpcCall(denomTraces, $root.ibc.applications.transfer.v1.QueryDenomTracesRequest, $root.ibc.applications.transfer.v1.QueryDenomTracesResponse, request, callback); - }, "name", { value: "DenomTraces" }); - - /** - * Calls DenomTraces. - * @function denomTraces - * @memberof ibc.applications.transfer.v1.Query - * @instance - * @param {ibc.applications.transfer.v1.IQueryDenomTracesRequest} request QueryDenomTracesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.applications.transfer.v1.Query#params}. - * @memberof ibc.applications.transfer.v1.Query - * @typedef ParamsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.applications.transfer.v1.IQueryParamsResponse} [response] QueryParamsResponse - */ - - /** - * Calls Params. - * @function params - * @memberof ibc.applications.transfer.v1.Query - * @instance - * @param {ibc.applications.transfer.v1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @param {ibc.applications.transfer.v1.Query.ParamsCallback} callback Node-style callback called with the error, if any, and QueryParamsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.params = function params(request, callback) { - return this.rpcCall(params, $root.ibc.applications.transfer.v1.QueryParamsRequest, $root.ibc.applications.transfer.v1.QueryParamsResponse, request, callback); - }, "name", { value: "Params" }); - - /** - * Calls Params. - * @function params - * @memberof ibc.applications.transfer.v1.Query - * @instance - * @param {ibc.applications.transfer.v1.IQueryParamsRequest} request QueryParamsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1.Query || {}); - - v1.QueryDenomTraceRequest = (function(QueryDenomTraceRequest) { - - /** - * Properties of a QueryDenomTraceRequest. - * @memberof ibc.applications.transfer.v1 - * @interface IQueryDenomTraceRequest - * @property {string|null} [hash] QueryDenomTraceRequest hash - */ - - /** - * Constructs a new QueryDenomTraceRequest. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a QueryDenomTraceRequest. - * @implements IQueryDenomTraceRequest - * @constructor - * @param {ibc.applications.transfer.v1.IQueryDenomTraceRequest=} [properties] Properties to set - */ - function QueryDenomTraceRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDenomTraceRequest hash. - * @member {string} hash - * @memberof ibc.applications.transfer.v1.QueryDenomTraceRequest - * @instance - */ - QueryDenomTraceRequest.prototype.hash = ""; - - /** - * Creates a new QueryDenomTraceRequest instance using the specified properties. - * @function create - * @memberof ibc.applications.transfer.v1.QueryDenomTraceRequest - * @static - * @param {ibc.applications.transfer.v1.IQueryDenomTraceRequest=} [properties] Properties to set - * @returns {ibc.applications.transfer.v1.QueryDenomTraceRequest} QueryDenomTraceRequest instance - */ - QueryDenomTraceRequest.create = function create(properties) { - return new QueryDenomTraceRequest(properties); - }; - - /** - * Encodes the specified QueryDenomTraceRequest message. Does not implicitly {@link ibc.applications.transfer.v1.QueryDenomTraceRequest.verify|verify} messages. - * @function encode - * @memberof ibc.applications.transfer.v1.QueryDenomTraceRequest - * @static - * @param {ibc.applications.transfer.v1.IQueryDenomTraceRequest} message QueryDenomTraceRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomTraceRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.hash); - return writer; - }; - - /** - * Encodes the specified QueryDenomTraceRequest message, length delimited. Does not implicitly {@link ibc.applications.transfer.v1.QueryDenomTraceRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.applications.transfer.v1.QueryDenomTraceRequest - * @static - * @param {ibc.applications.transfer.v1.IQueryDenomTraceRequest} message QueryDenomTraceRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomTraceRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDenomTraceRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.applications.transfer.v1.QueryDenomTraceRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.applications.transfer.v1.QueryDenomTraceRequest} QueryDenomTraceRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomTraceRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.applications.transfer.v1.QueryDenomTraceRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.hash = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDenomTraceRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.applications.transfer.v1.QueryDenomTraceRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.applications.transfer.v1.QueryDenomTraceRequest} QueryDenomTraceRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomTraceRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDenomTraceRequest message. - * @function verify - * @memberof ibc.applications.transfer.v1.QueryDenomTraceRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDenomTraceRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!$util.isString(message.hash)) - return "hash: string expected"; - return null; - }; - - /** - * Creates a QueryDenomTraceRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.applications.transfer.v1.QueryDenomTraceRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.applications.transfer.v1.QueryDenomTraceRequest} QueryDenomTraceRequest - */ - QueryDenomTraceRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.applications.transfer.v1.QueryDenomTraceRequest) - return object; - let message = new $root.ibc.applications.transfer.v1.QueryDenomTraceRequest(); - if (object.hash != null) - message.hash = String(object.hash); - return message; - }; - - /** - * Creates a plain object from a QueryDenomTraceRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.applications.transfer.v1.QueryDenomTraceRequest - * @static - * @param {ibc.applications.transfer.v1.QueryDenomTraceRequest} message QueryDenomTraceRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDenomTraceRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.hash = ""; - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = message.hash; - return object; - }; - - /** - * Converts this QueryDenomTraceRequest to JSON. - * @function toJSON - * @memberof ibc.applications.transfer.v1.QueryDenomTraceRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDenomTraceRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDenomTraceRequest; - })(v1.QueryDenomTraceRequest || {}); - - v1.QueryDenomTraceResponse = (function(QueryDenomTraceResponse) { - - /** - * Properties of a QueryDenomTraceResponse. - * @memberof ibc.applications.transfer.v1 - * @interface IQueryDenomTraceResponse - * @property {ibc.applications.transfer.v1.IDenomTrace|null} [denomTrace] QueryDenomTraceResponse denomTrace - */ - - /** - * Constructs a new QueryDenomTraceResponse. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a QueryDenomTraceResponse. - * @implements IQueryDenomTraceResponse - * @constructor - * @param {ibc.applications.transfer.v1.IQueryDenomTraceResponse=} [properties] Properties to set - */ - function QueryDenomTraceResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDenomTraceResponse denomTrace. - * @member {ibc.applications.transfer.v1.IDenomTrace|null|undefined} denomTrace - * @memberof ibc.applications.transfer.v1.QueryDenomTraceResponse - * @instance - */ - QueryDenomTraceResponse.prototype.denomTrace = null; - - /** - * Creates a new QueryDenomTraceResponse instance using the specified properties. - * @function create - * @memberof ibc.applications.transfer.v1.QueryDenomTraceResponse - * @static - * @param {ibc.applications.transfer.v1.IQueryDenomTraceResponse=} [properties] Properties to set - * @returns {ibc.applications.transfer.v1.QueryDenomTraceResponse} QueryDenomTraceResponse instance - */ - QueryDenomTraceResponse.create = function create(properties) { - return new QueryDenomTraceResponse(properties); - }; - - /** - * Encodes the specified QueryDenomTraceResponse message. Does not implicitly {@link ibc.applications.transfer.v1.QueryDenomTraceResponse.verify|verify} messages. - * @function encode - * @memberof ibc.applications.transfer.v1.QueryDenomTraceResponse - * @static - * @param {ibc.applications.transfer.v1.IQueryDenomTraceResponse} message QueryDenomTraceResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomTraceResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.denomTrace != null && Object.hasOwnProperty.call(message, "denomTrace")) - $root.ibc.applications.transfer.v1.DenomTrace.encode(message.denomTrace, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDenomTraceResponse message, length delimited. Does not implicitly {@link ibc.applications.transfer.v1.QueryDenomTraceResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.applications.transfer.v1.QueryDenomTraceResponse - * @static - * @param {ibc.applications.transfer.v1.IQueryDenomTraceResponse} message QueryDenomTraceResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomTraceResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDenomTraceResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.applications.transfer.v1.QueryDenomTraceResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.applications.transfer.v1.QueryDenomTraceResponse} QueryDenomTraceResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomTraceResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.applications.transfer.v1.QueryDenomTraceResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.denomTrace = $root.ibc.applications.transfer.v1.DenomTrace.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDenomTraceResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.applications.transfer.v1.QueryDenomTraceResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.applications.transfer.v1.QueryDenomTraceResponse} QueryDenomTraceResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomTraceResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDenomTraceResponse message. - * @function verify - * @memberof ibc.applications.transfer.v1.QueryDenomTraceResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDenomTraceResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.denomTrace != null && message.hasOwnProperty("denomTrace")) { - let error = $root.ibc.applications.transfer.v1.DenomTrace.verify(message.denomTrace); - if (error) - return "denomTrace." + error; - } - return null; - }; - - /** - * Creates a QueryDenomTraceResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.applications.transfer.v1.QueryDenomTraceResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.applications.transfer.v1.QueryDenomTraceResponse} QueryDenomTraceResponse - */ - QueryDenomTraceResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.applications.transfer.v1.QueryDenomTraceResponse) - return object; - let message = new $root.ibc.applications.transfer.v1.QueryDenomTraceResponse(); - if (object.denomTrace != null) { - if (typeof object.denomTrace !== "object") - throw TypeError(".ibc.applications.transfer.v1.QueryDenomTraceResponse.denomTrace: object expected"); - message.denomTrace = $root.ibc.applications.transfer.v1.DenomTrace.fromObject(object.denomTrace); - } - return message; - }; - - /** - * Creates a plain object from a QueryDenomTraceResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.applications.transfer.v1.QueryDenomTraceResponse - * @static - * @param {ibc.applications.transfer.v1.QueryDenomTraceResponse} message QueryDenomTraceResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDenomTraceResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.denomTrace = null; - if (message.denomTrace != null && message.hasOwnProperty("denomTrace")) - object.denomTrace = $root.ibc.applications.transfer.v1.DenomTrace.toObject(message.denomTrace, options); - return object; - }; - - /** - * Converts this QueryDenomTraceResponse to JSON. - * @function toJSON - * @memberof ibc.applications.transfer.v1.QueryDenomTraceResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDenomTraceResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDenomTraceResponse; - })(v1.QueryDenomTraceResponse || {}); - - v1.QueryDenomTracesRequest = (function(QueryDenomTracesRequest) { - - /** - * Properties of a QueryDenomTracesRequest. - * @memberof ibc.applications.transfer.v1 - * @interface IQueryDenomTracesRequest - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryDenomTracesRequest pagination - */ - - /** - * Constructs a new QueryDenomTracesRequest. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a QueryDenomTracesRequest. - * @implements IQueryDenomTracesRequest - * @constructor - * @param {ibc.applications.transfer.v1.IQueryDenomTracesRequest=} [properties] Properties to set - */ - function QueryDenomTracesRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDenomTracesRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof ibc.applications.transfer.v1.QueryDenomTracesRequest - * @instance - */ - QueryDenomTracesRequest.prototype.pagination = null; - - /** - * Creates a new QueryDenomTracesRequest instance using the specified properties. - * @function create - * @memberof ibc.applications.transfer.v1.QueryDenomTracesRequest - * @static - * @param {ibc.applications.transfer.v1.IQueryDenomTracesRequest=} [properties] Properties to set - * @returns {ibc.applications.transfer.v1.QueryDenomTracesRequest} QueryDenomTracesRequest instance - */ - QueryDenomTracesRequest.create = function create(properties) { - return new QueryDenomTracesRequest(properties); - }; - - /** - * Encodes the specified QueryDenomTracesRequest message. Does not implicitly {@link ibc.applications.transfer.v1.QueryDenomTracesRequest.verify|verify} messages. - * @function encode - * @memberof ibc.applications.transfer.v1.QueryDenomTracesRequest - * @static - * @param {ibc.applications.transfer.v1.IQueryDenomTracesRequest} message QueryDenomTracesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomTracesRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDenomTracesRequest message, length delimited. Does not implicitly {@link ibc.applications.transfer.v1.QueryDenomTracesRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.applications.transfer.v1.QueryDenomTracesRequest - * @static - * @param {ibc.applications.transfer.v1.IQueryDenomTracesRequest} message QueryDenomTracesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomTracesRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDenomTracesRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.applications.transfer.v1.QueryDenomTracesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.applications.transfer.v1.QueryDenomTracesRequest} QueryDenomTracesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomTracesRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.applications.transfer.v1.QueryDenomTracesRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDenomTracesRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.applications.transfer.v1.QueryDenomTracesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.applications.transfer.v1.QueryDenomTracesRequest} QueryDenomTracesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomTracesRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDenomTracesRequest message. - * @function verify - * @memberof ibc.applications.transfer.v1.QueryDenomTracesRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDenomTracesRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryDenomTracesRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.applications.transfer.v1.QueryDenomTracesRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.applications.transfer.v1.QueryDenomTracesRequest} QueryDenomTracesRequest - */ - QueryDenomTracesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.applications.transfer.v1.QueryDenomTracesRequest) - return object; - let message = new $root.ibc.applications.transfer.v1.QueryDenomTracesRequest(); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.applications.transfer.v1.QueryDenomTracesRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryDenomTracesRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.applications.transfer.v1.QueryDenomTracesRequest - * @static - * @param {ibc.applications.transfer.v1.QueryDenomTracesRequest} message QueryDenomTracesRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDenomTracesRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.pagination = null; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryDenomTracesRequest to JSON. - * @function toJSON - * @memberof ibc.applications.transfer.v1.QueryDenomTracesRequest - * @instance - * @returns {Object.} JSON object - */ - QueryDenomTracesRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDenomTracesRequest; - })(v1.QueryDenomTracesRequest || {}); - - v1.QueryDenomTracesResponse = (function(QueryDenomTracesResponse) { - - /** - * Properties of a QueryDenomTracesResponse. - * @memberof ibc.applications.transfer.v1 - * @interface IQueryDenomTracesResponse - * @property {Array.|null} [denomTraces] QueryDenomTracesResponse denomTraces - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryDenomTracesResponse pagination - */ - - /** - * Constructs a new QueryDenomTracesResponse. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a QueryDenomTracesResponse. - * @implements IQueryDenomTracesResponse - * @constructor - * @param {ibc.applications.transfer.v1.IQueryDenomTracesResponse=} [properties] Properties to set - */ - function QueryDenomTracesResponse(properties) { - this.denomTraces = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryDenomTracesResponse denomTraces. - * @member {Array.} denomTraces - * @memberof ibc.applications.transfer.v1.QueryDenomTracesResponse - * @instance - */ - QueryDenomTracesResponse.prototype.denomTraces = $util.emptyArray; - - /** - * QueryDenomTracesResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof ibc.applications.transfer.v1.QueryDenomTracesResponse - * @instance - */ - QueryDenomTracesResponse.prototype.pagination = null; - - /** - * Creates a new QueryDenomTracesResponse instance using the specified properties. - * @function create - * @memberof ibc.applications.transfer.v1.QueryDenomTracesResponse - * @static - * @param {ibc.applications.transfer.v1.IQueryDenomTracesResponse=} [properties] Properties to set - * @returns {ibc.applications.transfer.v1.QueryDenomTracesResponse} QueryDenomTracesResponse instance - */ - QueryDenomTracesResponse.create = function create(properties) { - return new QueryDenomTracesResponse(properties); - }; - - /** - * Encodes the specified QueryDenomTracesResponse message. Does not implicitly {@link ibc.applications.transfer.v1.QueryDenomTracesResponse.verify|verify} messages. - * @function encode - * @memberof ibc.applications.transfer.v1.QueryDenomTracesResponse - * @static - * @param {ibc.applications.transfer.v1.IQueryDenomTracesResponse} message QueryDenomTracesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomTracesResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.denomTraces != null && message.denomTraces.length) - for (let i = 0; i < message.denomTraces.length; ++i) - $root.ibc.applications.transfer.v1.DenomTrace.encode(message.denomTraces[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryDenomTracesResponse message, length delimited. Does not implicitly {@link ibc.applications.transfer.v1.QueryDenomTracesResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.applications.transfer.v1.QueryDenomTracesResponse - * @static - * @param {ibc.applications.transfer.v1.IQueryDenomTracesResponse} message QueryDenomTracesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryDenomTracesResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryDenomTracesResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.applications.transfer.v1.QueryDenomTracesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.applications.transfer.v1.QueryDenomTracesResponse} QueryDenomTracesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomTracesResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.applications.transfer.v1.QueryDenomTracesResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.denomTraces && message.denomTraces.length)) - message.denomTraces = []; - message.denomTraces.push($root.ibc.applications.transfer.v1.DenomTrace.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryDenomTracesResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.applications.transfer.v1.QueryDenomTracesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.applications.transfer.v1.QueryDenomTracesResponse} QueryDenomTracesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryDenomTracesResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryDenomTracesResponse message. - * @function verify - * @memberof ibc.applications.transfer.v1.QueryDenomTracesResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryDenomTracesResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.denomTraces != null && message.hasOwnProperty("denomTraces")) { - if (!Array.isArray(message.denomTraces)) - return "denomTraces: array expected"; - for (let i = 0; i < message.denomTraces.length; ++i) { - let error = $root.ibc.applications.transfer.v1.DenomTrace.verify(message.denomTraces[i]); - if (error) - return "denomTraces." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryDenomTracesResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.applications.transfer.v1.QueryDenomTracesResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.applications.transfer.v1.QueryDenomTracesResponse} QueryDenomTracesResponse - */ - QueryDenomTracesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.applications.transfer.v1.QueryDenomTracesResponse) - return object; - let message = new $root.ibc.applications.transfer.v1.QueryDenomTracesResponse(); - if (object.denomTraces) { - if (!Array.isArray(object.denomTraces)) - throw TypeError(".ibc.applications.transfer.v1.QueryDenomTracesResponse.denomTraces: array expected"); - message.denomTraces = []; - for (let i = 0; i < object.denomTraces.length; ++i) { - if (typeof object.denomTraces[i] !== "object") - throw TypeError(".ibc.applications.transfer.v1.QueryDenomTracesResponse.denomTraces: object expected"); - message.denomTraces[i] = $root.ibc.applications.transfer.v1.DenomTrace.fromObject(object.denomTraces[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.applications.transfer.v1.QueryDenomTracesResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryDenomTracesResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.applications.transfer.v1.QueryDenomTracesResponse - * @static - * @param {ibc.applications.transfer.v1.QueryDenomTracesResponse} message QueryDenomTracesResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryDenomTracesResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.denomTraces = []; - if (options.defaults) - object.pagination = null; - if (message.denomTraces && message.denomTraces.length) { - object.denomTraces = []; - for (let j = 0; j < message.denomTraces.length; ++j) - object.denomTraces[j] = $root.ibc.applications.transfer.v1.DenomTrace.toObject(message.denomTraces[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryDenomTracesResponse to JSON. - * @function toJSON - * @memberof ibc.applications.transfer.v1.QueryDenomTracesResponse - * @instance - * @returns {Object.} JSON object - */ - QueryDenomTracesResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryDenomTracesResponse; - })(v1.QueryDenomTracesResponse || {}); - - v1.QueryParamsRequest = (function(QueryParamsRequest) { - - /** - * Properties of a QueryParamsRequest. - * @memberof ibc.applications.transfer.v1 - * @interface IQueryParamsRequest - */ - - /** - * Constructs a new QueryParamsRequest. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a QueryParamsRequest. - * @implements IQueryParamsRequest - * @constructor - * @param {ibc.applications.transfer.v1.IQueryParamsRequest=} [properties] Properties to set - */ - function QueryParamsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryParamsRequest instance using the specified properties. - * @function create - * @memberof ibc.applications.transfer.v1.QueryParamsRequest - * @static - * @param {ibc.applications.transfer.v1.IQueryParamsRequest=} [properties] Properties to set - * @returns {ibc.applications.transfer.v1.QueryParamsRequest} QueryParamsRequest instance - */ - QueryParamsRequest.create = function create(properties) { - return new QueryParamsRequest(properties); - }; - - /** - * Encodes the specified QueryParamsRequest message. Does not implicitly {@link ibc.applications.transfer.v1.QueryParamsRequest.verify|verify} messages. - * @function encode - * @memberof ibc.applications.transfer.v1.QueryParamsRequest - * @static - * @param {ibc.applications.transfer.v1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryParamsRequest message, length delimited. Does not implicitly {@link ibc.applications.transfer.v1.QueryParamsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.applications.transfer.v1.QueryParamsRequest - * @static - * @param {ibc.applications.transfer.v1.IQueryParamsRequest} message QueryParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.applications.transfer.v1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.applications.transfer.v1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.applications.transfer.v1.QueryParamsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.applications.transfer.v1.QueryParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.applications.transfer.v1.QueryParamsRequest} QueryParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsRequest message. - * @function verify - * @memberof ibc.applications.transfer.v1.QueryParamsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryParamsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.applications.transfer.v1.QueryParamsRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.applications.transfer.v1.QueryParamsRequest} QueryParamsRequest - */ - QueryParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.applications.transfer.v1.QueryParamsRequest) - return object; - return new $root.ibc.applications.transfer.v1.QueryParamsRequest(); - }; - - /** - * Creates a plain object from a QueryParamsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.applications.transfer.v1.QueryParamsRequest - * @static - * @param {ibc.applications.transfer.v1.QueryParamsRequest} message QueryParamsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryParamsRequest to JSON. - * @function toJSON - * @memberof ibc.applications.transfer.v1.QueryParamsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryParamsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsRequest; - })(v1.QueryParamsRequest || {}); - - v1.QueryParamsResponse = (function(QueryParamsResponse) { - - /** - * Properties of a QueryParamsResponse. - * @memberof ibc.applications.transfer.v1 - * @interface IQueryParamsResponse - * @property {ibc.applications.transfer.v1.IParams|null} [params] QueryParamsResponse params - */ - - /** - * Constructs a new QueryParamsResponse. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a QueryParamsResponse. - * @implements IQueryParamsResponse - * @constructor - * @param {ibc.applications.transfer.v1.IQueryParamsResponse=} [properties] Properties to set - */ - function QueryParamsResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryParamsResponse params. - * @member {ibc.applications.transfer.v1.IParams|null|undefined} params - * @memberof ibc.applications.transfer.v1.QueryParamsResponse - * @instance - */ - QueryParamsResponse.prototype.params = null; - - /** - * Creates a new QueryParamsResponse instance using the specified properties. - * @function create - * @memberof ibc.applications.transfer.v1.QueryParamsResponse - * @static - * @param {ibc.applications.transfer.v1.IQueryParamsResponse=} [properties] Properties to set - * @returns {ibc.applications.transfer.v1.QueryParamsResponse} QueryParamsResponse instance - */ - QueryParamsResponse.create = function create(properties) { - return new QueryParamsResponse(properties); - }; - - /** - * Encodes the specified QueryParamsResponse message. Does not implicitly {@link ibc.applications.transfer.v1.QueryParamsResponse.verify|verify} messages. - * @function encode - * @memberof ibc.applications.transfer.v1.QueryParamsResponse - * @static - * @param {ibc.applications.transfer.v1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.ibc.applications.transfer.v1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryParamsResponse message, length delimited. Does not implicitly {@link ibc.applications.transfer.v1.QueryParamsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.applications.transfer.v1.QueryParamsResponse - * @static - * @param {ibc.applications.transfer.v1.IQueryParamsResponse} message QueryParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.applications.transfer.v1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.applications.transfer.v1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.applications.transfer.v1.QueryParamsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.ibc.applications.transfer.v1.Params.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryParamsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.applications.transfer.v1.QueryParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.applications.transfer.v1.QueryParamsResponse} QueryParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryParamsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryParamsResponse message. - * @function verify - * @memberof ibc.applications.transfer.v1.QueryParamsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryParamsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.ibc.applications.transfer.v1.Params.verify(message.params); - if (error) - return "params." + error; - } - return null; - }; - - /** - * Creates a QueryParamsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.applications.transfer.v1.QueryParamsResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.applications.transfer.v1.QueryParamsResponse} QueryParamsResponse - */ - QueryParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.applications.transfer.v1.QueryParamsResponse) - return object; - let message = new $root.ibc.applications.transfer.v1.QueryParamsResponse(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".ibc.applications.transfer.v1.QueryParamsResponse.params: object expected"); - message.params = $root.ibc.applications.transfer.v1.Params.fromObject(object.params); - } - return message; - }; - - /** - * Creates a plain object from a QueryParamsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.applications.transfer.v1.QueryParamsResponse - * @static - * @param {ibc.applications.transfer.v1.QueryParamsResponse} message QueryParamsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryParamsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.params = null; - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.ibc.applications.transfer.v1.Params.toObject(message.params, options); - return object; - }; - - /** - * Converts this QueryParamsResponse to JSON. - * @function toJSON - * @memberof ibc.applications.transfer.v1.QueryParamsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryParamsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryParamsResponse; - })(v1.QueryParamsResponse || {}); - - v1.FungibleTokenPacketData = (function(FungibleTokenPacketData) { - - /** - * Properties of a FungibleTokenPacketData. - * @memberof ibc.applications.transfer.v1 - * @interface IFungibleTokenPacketData - * @property {string|null} [denom] FungibleTokenPacketData denom - * @property {number|Long|null} [amount] FungibleTokenPacketData amount - * @property {string|null} [sender] FungibleTokenPacketData sender - * @property {string|null} [receiver] FungibleTokenPacketData receiver - */ - - /** - * Constructs a new FungibleTokenPacketData. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a FungibleTokenPacketData. - * @implements IFungibleTokenPacketData - * @constructor - * @param {ibc.applications.transfer.v1.IFungibleTokenPacketData=} [properties] Properties to set - */ - function FungibleTokenPacketData(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * FungibleTokenPacketData denom. - * @member {string} denom - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @instance - */ - FungibleTokenPacketData.prototype.denom = ""; - - /** - * FungibleTokenPacketData amount. - * @member {number|Long} amount - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @instance - */ - FungibleTokenPacketData.prototype.amount = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * FungibleTokenPacketData sender. - * @member {string} sender - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @instance - */ - FungibleTokenPacketData.prototype.sender = ""; - - /** - * FungibleTokenPacketData receiver. - * @member {string} receiver - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @instance - */ - FungibleTokenPacketData.prototype.receiver = ""; - - /** - * Creates a new FungibleTokenPacketData instance using the specified properties. - * @function create - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @static - * @param {ibc.applications.transfer.v1.IFungibleTokenPacketData=} [properties] Properties to set - * @returns {ibc.applications.transfer.v1.FungibleTokenPacketData} FungibleTokenPacketData instance - */ - FungibleTokenPacketData.create = function create(properties) { - return new FungibleTokenPacketData(properties); - }; - - /** - * Encodes the specified FungibleTokenPacketData message. Does not implicitly {@link ibc.applications.transfer.v1.FungibleTokenPacketData.verify|verify} messages. - * @function encode - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @static - * @param {ibc.applications.transfer.v1.IFungibleTokenPacketData} message FungibleTokenPacketData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FungibleTokenPacketData.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.denom != null && Object.hasOwnProperty.call(message, "denom")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.denom); - if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.amount); - if (message.sender != null && Object.hasOwnProperty.call(message, "sender")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.sender); - if (message.receiver != null && Object.hasOwnProperty.call(message, "receiver")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.receiver); - return writer; - }; - - /** - * Encodes the specified FungibleTokenPacketData message, length delimited. Does not implicitly {@link ibc.applications.transfer.v1.FungibleTokenPacketData.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @static - * @param {ibc.applications.transfer.v1.IFungibleTokenPacketData} message FungibleTokenPacketData message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - FungibleTokenPacketData.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a FungibleTokenPacketData message from the specified reader or buffer. - * @function decode - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.applications.transfer.v1.FungibleTokenPacketData} FungibleTokenPacketData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FungibleTokenPacketData.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.applications.transfer.v1.FungibleTokenPacketData(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.denom = reader.string(); - break; - case 2: - message.amount = reader.uint64(); - break; - case 3: - message.sender = reader.string(); - break; - case 4: - message.receiver = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a FungibleTokenPacketData message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.applications.transfer.v1.FungibleTokenPacketData} FungibleTokenPacketData - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - FungibleTokenPacketData.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a FungibleTokenPacketData message. - * @function verify - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - FungibleTokenPacketData.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.denom != null && message.hasOwnProperty("denom")) - if (!$util.isString(message.denom)) - return "denom: string expected"; - if (message.amount != null && message.hasOwnProperty("amount")) - if (!$util.isInteger(message.amount) && !(message.amount && $util.isInteger(message.amount.low) && $util.isInteger(message.amount.high))) - return "amount: integer|Long expected"; - if (message.sender != null && message.hasOwnProperty("sender")) - if (!$util.isString(message.sender)) - return "sender: string expected"; - if (message.receiver != null && message.hasOwnProperty("receiver")) - if (!$util.isString(message.receiver)) - return "receiver: string expected"; - return null; - }; - - /** - * Creates a FungibleTokenPacketData message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @static - * @param {Object.} object Plain object - * @returns {ibc.applications.transfer.v1.FungibleTokenPacketData} FungibleTokenPacketData - */ - FungibleTokenPacketData.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.applications.transfer.v1.FungibleTokenPacketData) - return object; - let message = new $root.ibc.applications.transfer.v1.FungibleTokenPacketData(); - if (object.denom != null) - message.denom = String(object.denom); - if (object.amount != null) - if ($util.Long) - (message.amount = $util.Long.fromValue(object.amount)).unsigned = true; - else if (typeof object.amount === "string") - message.amount = parseInt(object.amount, 10); - else if (typeof object.amount === "number") - message.amount = object.amount; - else if (typeof object.amount === "object") - message.amount = new $util.LongBits(object.amount.low >>> 0, object.amount.high >>> 0).toNumber(true); - if (object.sender != null) - message.sender = String(object.sender); - if (object.receiver != null) - message.receiver = String(object.receiver); - return message; - }; - - /** - * Creates a plain object from a FungibleTokenPacketData message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @static - * @param {ibc.applications.transfer.v1.FungibleTokenPacketData} message FungibleTokenPacketData - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - FungibleTokenPacketData.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.denom = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.amount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.amount = options.longs === String ? "0" : 0; - object.sender = ""; - object.receiver = ""; - } - if (message.denom != null && message.hasOwnProperty("denom")) - object.denom = message.denom; - if (message.amount != null && message.hasOwnProperty("amount")) - if (typeof message.amount === "number") - object.amount = options.longs === String ? String(message.amount) : message.amount; - else - object.amount = options.longs === String ? $util.Long.prototype.toString.call(message.amount) : options.longs === Number ? new $util.LongBits(message.amount.low >>> 0, message.amount.high >>> 0).toNumber(true) : message.amount; - if (message.sender != null && message.hasOwnProperty("sender")) - object.sender = message.sender; - if (message.receiver != null && message.hasOwnProperty("receiver")) - object.receiver = message.receiver; - return object; - }; - - /** - * Converts this FungibleTokenPacketData to JSON. - * @function toJSON - * @memberof ibc.applications.transfer.v1.FungibleTokenPacketData - * @instance - * @returns {Object.} JSON object - */ - FungibleTokenPacketData.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return FungibleTokenPacketData; - })(v1.FungibleTokenPacketData || {}); - - v1.DenomTrace = (function(DenomTrace) { - - /** - * Properties of a DenomTrace. - * @memberof ibc.applications.transfer.v1 - * @interface IDenomTrace - * @property {string|null} [path] DenomTrace path - * @property {string|null} [baseDenom] DenomTrace baseDenom - */ - - /** - * Constructs a new DenomTrace. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a DenomTrace. - * @implements IDenomTrace - * @constructor - * @param {ibc.applications.transfer.v1.IDenomTrace=} [properties] Properties to set - */ - function DenomTrace(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DenomTrace path. - * @member {string} path - * @memberof ibc.applications.transfer.v1.DenomTrace - * @instance - */ - DenomTrace.prototype.path = ""; - - /** - * DenomTrace baseDenom. - * @member {string} baseDenom - * @memberof ibc.applications.transfer.v1.DenomTrace - * @instance - */ - DenomTrace.prototype.baseDenom = ""; - - /** - * Creates a new DenomTrace instance using the specified properties. - * @function create - * @memberof ibc.applications.transfer.v1.DenomTrace - * @static - * @param {ibc.applications.transfer.v1.IDenomTrace=} [properties] Properties to set - * @returns {ibc.applications.transfer.v1.DenomTrace} DenomTrace instance - */ - DenomTrace.create = function create(properties) { - return new DenomTrace(properties); - }; - - /** - * Encodes the specified DenomTrace message. Does not implicitly {@link ibc.applications.transfer.v1.DenomTrace.verify|verify} messages. - * @function encode - * @memberof ibc.applications.transfer.v1.DenomTrace - * @static - * @param {ibc.applications.transfer.v1.IDenomTrace} message DenomTrace message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DenomTrace.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.path != null && Object.hasOwnProperty.call(message, "path")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.path); - if (message.baseDenom != null && Object.hasOwnProperty.call(message, "baseDenom")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.baseDenom); - return writer; - }; - - /** - * Encodes the specified DenomTrace message, length delimited. Does not implicitly {@link ibc.applications.transfer.v1.DenomTrace.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.applications.transfer.v1.DenomTrace - * @static - * @param {ibc.applications.transfer.v1.IDenomTrace} message DenomTrace message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DenomTrace.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DenomTrace message from the specified reader or buffer. - * @function decode - * @memberof ibc.applications.transfer.v1.DenomTrace - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.applications.transfer.v1.DenomTrace} DenomTrace - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DenomTrace.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.applications.transfer.v1.DenomTrace(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.path = reader.string(); - break; - case 2: - message.baseDenom = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DenomTrace message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.applications.transfer.v1.DenomTrace - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.applications.transfer.v1.DenomTrace} DenomTrace - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DenomTrace.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DenomTrace message. - * @function verify - * @memberof ibc.applications.transfer.v1.DenomTrace - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DenomTrace.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.path != null && message.hasOwnProperty("path")) - if (!$util.isString(message.path)) - return "path: string expected"; - if (message.baseDenom != null && message.hasOwnProperty("baseDenom")) - if (!$util.isString(message.baseDenom)) - return "baseDenom: string expected"; - return null; - }; - - /** - * Creates a DenomTrace message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.applications.transfer.v1.DenomTrace - * @static - * @param {Object.} object Plain object - * @returns {ibc.applications.transfer.v1.DenomTrace} DenomTrace - */ - DenomTrace.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.applications.transfer.v1.DenomTrace) - return object; - let message = new $root.ibc.applications.transfer.v1.DenomTrace(); - if (object.path != null) - message.path = String(object.path); - if (object.baseDenom != null) - message.baseDenom = String(object.baseDenom); - return message; - }; - - /** - * Creates a plain object from a DenomTrace message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.applications.transfer.v1.DenomTrace - * @static - * @param {ibc.applications.transfer.v1.DenomTrace} message DenomTrace - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DenomTrace.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.path = ""; - object.baseDenom = ""; - } - if (message.path != null && message.hasOwnProperty("path")) - object.path = message.path; - if (message.baseDenom != null && message.hasOwnProperty("baseDenom")) - object.baseDenom = message.baseDenom; - return object; - }; - - /** - * Converts this DenomTrace to JSON. - * @function toJSON - * @memberof ibc.applications.transfer.v1.DenomTrace - * @instance - * @returns {Object.} JSON object - */ - DenomTrace.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DenomTrace; - })(v1.DenomTrace || {}); - - v1.Params = (function(Params) { - - /** - * Properties of a Params. - * @memberof ibc.applications.transfer.v1 - * @interface IParams - * @property {boolean|null} [sendEnabled] Params sendEnabled - * @property {boolean|null} [receiveEnabled] Params receiveEnabled - */ - - /** - * Constructs a new Params. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a Params. - * @implements IParams - * @constructor - * @param {ibc.applications.transfer.v1.IParams=} [properties] Properties to set - */ - function Params(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Params sendEnabled. - * @member {boolean} sendEnabled - * @memberof ibc.applications.transfer.v1.Params - * @instance - */ - Params.prototype.sendEnabled = false; - - /** - * Params receiveEnabled. - * @member {boolean} receiveEnabled - * @memberof ibc.applications.transfer.v1.Params - * @instance - */ - Params.prototype.receiveEnabled = false; - - /** - * Creates a new Params instance using the specified properties. - * @function create - * @memberof ibc.applications.transfer.v1.Params - * @static - * @param {ibc.applications.transfer.v1.IParams=} [properties] Properties to set - * @returns {ibc.applications.transfer.v1.Params} Params instance - */ - Params.create = function create(properties) { - return new Params(properties); - }; - - /** - * Encodes the specified Params message. Does not implicitly {@link ibc.applications.transfer.v1.Params.verify|verify} messages. - * @function encode - * @memberof ibc.applications.transfer.v1.Params - * @static - * @param {ibc.applications.transfer.v1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.sendEnabled != null && Object.hasOwnProperty.call(message, "sendEnabled")) - writer.uint32(/* id 1, wireType 0 =*/8).bool(message.sendEnabled); - if (message.receiveEnabled != null && Object.hasOwnProperty.call(message, "receiveEnabled")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.receiveEnabled); - return writer; - }; - - /** - * Encodes the specified Params message, length delimited. Does not implicitly {@link ibc.applications.transfer.v1.Params.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.applications.transfer.v1.Params - * @static - * @param {ibc.applications.transfer.v1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Params message from the specified reader or buffer. - * @function decode - * @memberof ibc.applications.transfer.v1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.applications.transfer.v1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.applications.transfer.v1.Params(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.sendEnabled = reader.bool(); - break; - case 2: - message.receiveEnabled = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Params message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.applications.transfer.v1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.applications.transfer.v1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Params message. - * @function verify - * @memberof ibc.applications.transfer.v1.Params - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Params.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.sendEnabled != null && message.hasOwnProperty("sendEnabled")) - if (typeof message.sendEnabled !== "boolean") - return "sendEnabled: boolean expected"; - if (message.receiveEnabled != null && message.hasOwnProperty("receiveEnabled")) - if (typeof message.receiveEnabled !== "boolean") - return "receiveEnabled: boolean expected"; - return null; - }; - - /** - * Creates a Params message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.applications.transfer.v1.Params - * @static - * @param {Object.} object Plain object - * @returns {ibc.applications.transfer.v1.Params} Params - */ - Params.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.applications.transfer.v1.Params) - return object; - let message = new $root.ibc.applications.transfer.v1.Params(); - if (object.sendEnabled != null) - message.sendEnabled = Boolean(object.sendEnabled); - if (object.receiveEnabled != null) - message.receiveEnabled = Boolean(object.receiveEnabled); - return message; - }; - - /** - * Creates a plain object from a Params message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.applications.transfer.v1.Params - * @static - * @param {ibc.applications.transfer.v1.Params} message Params - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Params.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.sendEnabled = false; - object.receiveEnabled = false; - } - if (message.sendEnabled != null && message.hasOwnProperty("sendEnabled")) - object.sendEnabled = message.sendEnabled; - if (message.receiveEnabled != null && message.hasOwnProperty("receiveEnabled")) - object.receiveEnabled = message.receiveEnabled; - return object; - }; - - /** - * Converts this Params to JSON. - * @function toJSON - * @memberof ibc.applications.transfer.v1.Params - * @instance - * @returns {Object.} JSON object - */ - Params.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Params; - })(v1.Params || {}); - - v1.Msg = (function(Msg) { - - /** - * Constructs a new Msg service. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a Msg - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Msg(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Msg.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Msg; - - /** - * Creates new Msg service using the specified rpc implementation. - * @function create - * @memberof ibc.applications.transfer.v1.Msg - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Msg} RPC service. Useful where requests and/or responses are streamed. - */ - Msg.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link ibc.applications.transfer.v1.Msg#transfer}. - * @memberof ibc.applications.transfer.v1.Msg - * @typedef TransferCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.applications.transfer.v1.IMsgTransferResponse} [response] MsgTransferResponse - */ - - /** - * Calls Transfer. - * @function transfer - * @memberof ibc.applications.transfer.v1.Msg - * @instance - * @param {ibc.applications.transfer.v1.IMsgTransfer} request MsgTransfer message or plain object - * @param {ibc.applications.transfer.v1.Msg.TransferCallback} callback Node-style callback called with the error, if any, and MsgTransferResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.transfer = function transfer(request, callback) { - return this.rpcCall(transfer, $root.ibc.applications.transfer.v1.MsgTransfer, $root.ibc.applications.transfer.v1.MsgTransferResponse, request, callback); - }, "name", { value: "Transfer" }); - - /** - * Calls Transfer. - * @function transfer - * @memberof ibc.applications.transfer.v1.Msg - * @instance - * @param {ibc.applications.transfer.v1.IMsgTransfer} request MsgTransfer message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Msg; - })(v1.Msg || {}); - - v1.MsgTransfer = (function(MsgTransfer) { - - /** - * Properties of a MsgTransfer. - * @memberof ibc.applications.transfer.v1 - * @interface IMsgTransfer - * @property {string|null} [sourcePort] MsgTransfer sourcePort - * @property {string|null} [sourceChannel] MsgTransfer sourceChannel - * @property {cosmos.base.v1beta1.ICoin|null} [token] MsgTransfer token - * @property {string|null} [sender] MsgTransfer sender - * @property {string|null} [receiver] MsgTransfer receiver - * @property {ibc.core.client.v1.IHeight|null} [timeoutHeight] MsgTransfer timeoutHeight - * @property {number|Long|null} [timeoutTimestamp] MsgTransfer timeoutTimestamp - */ - - /** - * Constructs a new MsgTransfer. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a MsgTransfer. - * @implements IMsgTransfer - * @constructor - * @param {ibc.applications.transfer.v1.IMsgTransfer=} [properties] Properties to set - */ - function MsgTransfer(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgTransfer sourcePort. - * @member {string} sourcePort - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @instance - */ - MsgTransfer.prototype.sourcePort = ""; - - /** - * MsgTransfer sourceChannel. - * @member {string} sourceChannel - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @instance - */ - MsgTransfer.prototype.sourceChannel = ""; - - /** - * MsgTransfer token. - * @member {cosmos.base.v1beta1.ICoin|null|undefined} token - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @instance - */ - MsgTransfer.prototype.token = null; - - /** - * MsgTransfer sender. - * @member {string} sender - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @instance - */ - MsgTransfer.prototype.sender = ""; - - /** - * MsgTransfer receiver. - * @member {string} receiver - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @instance - */ - MsgTransfer.prototype.receiver = ""; - - /** - * MsgTransfer timeoutHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} timeoutHeight - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @instance - */ - MsgTransfer.prototype.timeoutHeight = null; - - /** - * MsgTransfer timeoutTimestamp. - * @member {number|Long} timeoutTimestamp - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @instance - */ - MsgTransfer.prototype.timeoutTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new MsgTransfer instance using the specified properties. - * @function create - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @static - * @param {ibc.applications.transfer.v1.IMsgTransfer=} [properties] Properties to set - * @returns {ibc.applications.transfer.v1.MsgTransfer} MsgTransfer instance - */ - MsgTransfer.create = function create(properties) { - return new MsgTransfer(properties); - }; - - /** - * Encodes the specified MsgTransfer message. Does not implicitly {@link ibc.applications.transfer.v1.MsgTransfer.verify|verify} messages. - * @function encode - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @static - * @param {ibc.applications.transfer.v1.IMsgTransfer} message MsgTransfer message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgTransfer.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.sourcePort != null && Object.hasOwnProperty.call(message, "sourcePort")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.sourcePort); - if (message.sourceChannel != null && Object.hasOwnProperty.call(message, "sourceChannel")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceChannel); - if (message.token != null && Object.hasOwnProperty.call(message, "token")) - $root.cosmos.base.v1beta1.Coin.encode(message.token, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.sender != null && Object.hasOwnProperty.call(message, "sender")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.sender); - if (message.receiver != null && Object.hasOwnProperty.call(message, "receiver")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.receiver); - if (message.timeoutHeight != null && Object.hasOwnProperty.call(message, "timeoutHeight")) - $root.ibc.core.client.v1.Height.encode(message.timeoutHeight, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.timeoutTimestamp != null && Object.hasOwnProperty.call(message, "timeoutTimestamp")) - writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.timeoutTimestamp); - return writer; - }; - - /** - * Encodes the specified MsgTransfer message, length delimited. Does not implicitly {@link ibc.applications.transfer.v1.MsgTransfer.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @static - * @param {ibc.applications.transfer.v1.IMsgTransfer} message MsgTransfer message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgTransfer.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgTransfer message from the specified reader or buffer. - * @function decode - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.applications.transfer.v1.MsgTransfer} MsgTransfer - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgTransfer.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.applications.transfer.v1.MsgTransfer(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.sourcePort = reader.string(); - break; - case 2: - message.sourceChannel = reader.string(); - break; - case 3: - message.token = $root.cosmos.base.v1beta1.Coin.decode(reader, reader.uint32()); - break; - case 4: - message.sender = reader.string(); - break; - case 5: - message.receiver = reader.string(); - break; - case 6: - message.timeoutHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 7: - message.timeoutTimestamp = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgTransfer message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.applications.transfer.v1.MsgTransfer} MsgTransfer - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgTransfer.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgTransfer message. - * @function verify - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgTransfer.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.sourcePort != null && message.hasOwnProperty("sourcePort")) - if (!$util.isString(message.sourcePort)) - return "sourcePort: string expected"; - if (message.sourceChannel != null && message.hasOwnProperty("sourceChannel")) - if (!$util.isString(message.sourceChannel)) - return "sourceChannel: string expected"; - if (message.token != null && message.hasOwnProperty("token")) { - let error = $root.cosmos.base.v1beta1.Coin.verify(message.token); - if (error) - return "token." + error; - } - if (message.sender != null && message.hasOwnProperty("sender")) - if (!$util.isString(message.sender)) - return "sender: string expected"; - if (message.receiver != null && message.hasOwnProperty("receiver")) - if (!$util.isString(message.receiver)) - return "receiver: string expected"; - if (message.timeoutHeight != null && message.hasOwnProperty("timeoutHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.timeoutHeight); - if (error) - return "timeoutHeight." + error; - } - if (message.timeoutTimestamp != null && message.hasOwnProperty("timeoutTimestamp")) - if (!$util.isInteger(message.timeoutTimestamp) && !(message.timeoutTimestamp && $util.isInteger(message.timeoutTimestamp.low) && $util.isInteger(message.timeoutTimestamp.high))) - return "timeoutTimestamp: integer|Long expected"; - return null; - }; - - /** - * Creates a MsgTransfer message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @static - * @param {Object.} object Plain object - * @returns {ibc.applications.transfer.v1.MsgTransfer} MsgTransfer - */ - MsgTransfer.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.applications.transfer.v1.MsgTransfer) - return object; - let message = new $root.ibc.applications.transfer.v1.MsgTransfer(); - if (object.sourcePort != null) - message.sourcePort = String(object.sourcePort); - if (object.sourceChannel != null) - message.sourceChannel = String(object.sourceChannel); - if (object.token != null) { - if (typeof object.token !== "object") - throw TypeError(".ibc.applications.transfer.v1.MsgTransfer.token: object expected"); - message.token = $root.cosmos.base.v1beta1.Coin.fromObject(object.token); - } - if (object.sender != null) - message.sender = String(object.sender); - if (object.receiver != null) - message.receiver = String(object.receiver); - if (object.timeoutHeight != null) { - if (typeof object.timeoutHeight !== "object") - throw TypeError(".ibc.applications.transfer.v1.MsgTransfer.timeoutHeight: object expected"); - message.timeoutHeight = $root.ibc.core.client.v1.Height.fromObject(object.timeoutHeight); - } - if (object.timeoutTimestamp != null) - if ($util.Long) - (message.timeoutTimestamp = $util.Long.fromValue(object.timeoutTimestamp)).unsigned = true; - else if (typeof object.timeoutTimestamp === "string") - message.timeoutTimestamp = parseInt(object.timeoutTimestamp, 10); - else if (typeof object.timeoutTimestamp === "number") - message.timeoutTimestamp = object.timeoutTimestamp; - else if (typeof object.timeoutTimestamp === "object") - message.timeoutTimestamp = new $util.LongBits(object.timeoutTimestamp.low >>> 0, object.timeoutTimestamp.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a MsgTransfer message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @static - * @param {ibc.applications.transfer.v1.MsgTransfer} message MsgTransfer - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgTransfer.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.sourcePort = ""; - object.sourceChannel = ""; - object.token = null; - object.sender = ""; - object.receiver = ""; - object.timeoutHeight = null; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.timeoutTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.timeoutTimestamp = options.longs === String ? "0" : 0; - } - if (message.sourcePort != null && message.hasOwnProperty("sourcePort")) - object.sourcePort = message.sourcePort; - if (message.sourceChannel != null && message.hasOwnProperty("sourceChannel")) - object.sourceChannel = message.sourceChannel; - if (message.token != null && message.hasOwnProperty("token")) - object.token = $root.cosmos.base.v1beta1.Coin.toObject(message.token, options); - if (message.sender != null && message.hasOwnProperty("sender")) - object.sender = message.sender; - if (message.receiver != null && message.hasOwnProperty("receiver")) - object.receiver = message.receiver; - if (message.timeoutHeight != null && message.hasOwnProperty("timeoutHeight")) - object.timeoutHeight = $root.ibc.core.client.v1.Height.toObject(message.timeoutHeight, options); - if (message.timeoutTimestamp != null && message.hasOwnProperty("timeoutTimestamp")) - if (typeof message.timeoutTimestamp === "number") - object.timeoutTimestamp = options.longs === String ? String(message.timeoutTimestamp) : message.timeoutTimestamp; - else - object.timeoutTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timeoutTimestamp) : options.longs === Number ? new $util.LongBits(message.timeoutTimestamp.low >>> 0, message.timeoutTimestamp.high >>> 0).toNumber(true) : message.timeoutTimestamp; - return object; - }; - - /** - * Converts this MsgTransfer to JSON. - * @function toJSON - * @memberof ibc.applications.transfer.v1.MsgTransfer - * @instance - * @returns {Object.} JSON object - */ - MsgTransfer.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgTransfer; - })(v1.MsgTransfer || {}); - - v1.MsgTransferResponse = (function(MsgTransferResponse) { - - /** - * Properties of a MsgTransferResponse. - * @memberof ibc.applications.transfer.v1 - * @interface IMsgTransferResponse - */ - - /** - * Constructs a new MsgTransferResponse. - * @memberof ibc.applications.transfer.v1 - * @classdesc Represents a MsgTransferResponse. - * @implements IMsgTransferResponse - * @constructor - * @param {ibc.applications.transfer.v1.IMsgTransferResponse=} [properties] Properties to set - */ - function MsgTransferResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgTransferResponse instance using the specified properties. - * @function create - * @memberof ibc.applications.transfer.v1.MsgTransferResponse - * @static - * @param {ibc.applications.transfer.v1.IMsgTransferResponse=} [properties] Properties to set - * @returns {ibc.applications.transfer.v1.MsgTransferResponse} MsgTransferResponse instance - */ - MsgTransferResponse.create = function create(properties) { - return new MsgTransferResponse(properties); - }; - - /** - * Encodes the specified MsgTransferResponse message. Does not implicitly {@link ibc.applications.transfer.v1.MsgTransferResponse.verify|verify} messages. - * @function encode - * @memberof ibc.applications.transfer.v1.MsgTransferResponse - * @static - * @param {ibc.applications.transfer.v1.IMsgTransferResponse} message MsgTransferResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgTransferResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgTransferResponse message, length delimited. Does not implicitly {@link ibc.applications.transfer.v1.MsgTransferResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.applications.transfer.v1.MsgTransferResponse - * @static - * @param {ibc.applications.transfer.v1.IMsgTransferResponse} message MsgTransferResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgTransferResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgTransferResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.applications.transfer.v1.MsgTransferResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.applications.transfer.v1.MsgTransferResponse} MsgTransferResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgTransferResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.applications.transfer.v1.MsgTransferResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgTransferResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.applications.transfer.v1.MsgTransferResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.applications.transfer.v1.MsgTransferResponse} MsgTransferResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgTransferResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgTransferResponse message. - * @function verify - * @memberof ibc.applications.transfer.v1.MsgTransferResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgTransferResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgTransferResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.applications.transfer.v1.MsgTransferResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.applications.transfer.v1.MsgTransferResponse} MsgTransferResponse - */ - MsgTransferResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.applications.transfer.v1.MsgTransferResponse) - return object; - return new $root.ibc.applications.transfer.v1.MsgTransferResponse(); - }; - - /** - * Creates a plain object from a MsgTransferResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.applications.transfer.v1.MsgTransferResponse - * @static - * @param {ibc.applications.transfer.v1.MsgTransferResponse} message MsgTransferResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgTransferResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgTransferResponse to JSON. - * @function toJSON - * @memberof ibc.applications.transfer.v1.MsgTransferResponse - * @instance - * @returns {Object.} JSON object - */ - MsgTransferResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgTransferResponse; - })(v1.MsgTransferResponse || {}); - - return v1; - })(transfer.v1 || {}); - - return transfer; - })(applications.transfer || {}); - - return applications; - })(ibc.applications || {}); - - /** - * Namespace core. - * @memberof ibc - * @namespace - */ - - ibc.core = (function(core) { - - /** - * Namespace channel. - * @memberof ibc.core - * @namespace - */ - - core.channel = (function(channel) { - - /** - * Namespace v1. - * @memberof ibc.core.channel - * @namespace - */ - - channel.v1 = (function(v1) { - - v1.Channel = (function(Channel) { - - /** - * Properties of a Channel. - * @memberof ibc.core.channel.v1 - * @interface IChannel - * @property {ibc.core.channel.v1.State|null} [state] Channel state - * @property {ibc.core.channel.v1.Order|null} [ordering] Channel ordering - * @property {ibc.core.channel.v1.ICounterparty|null} [counterparty] Channel counterparty - * @property {Array.|null} [connectionHops] Channel connectionHops - * @property {string|null} [version] Channel version - */ - - /** - * Constructs a new Channel. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a Channel. - * @implements IChannel - * @constructor - * @param {ibc.core.channel.v1.IChannel=} [properties] Properties to set - */ - function Channel(properties) { - this.connectionHops = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Channel state. - * @member {ibc.core.channel.v1.State} state - * @memberof ibc.core.channel.v1.Channel - * @instance - */ - Channel.prototype.state = 0; - - /** - * Channel ordering. - * @member {ibc.core.channel.v1.Order} ordering - * @memberof ibc.core.channel.v1.Channel - * @instance - */ - Channel.prototype.ordering = 0; - - /** - * Channel counterparty. - * @member {ibc.core.channel.v1.ICounterparty|null|undefined} counterparty - * @memberof ibc.core.channel.v1.Channel - * @instance - */ - Channel.prototype.counterparty = null; - - /** - * Channel connectionHops. - * @member {Array.} connectionHops - * @memberof ibc.core.channel.v1.Channel - * @instance - */ - Channel.prototype.connectionHops = $util.emptyArray; - - /** - * Channel version. - * @member {string} version - * @memberof ibc.core.channel.v1.Channel - * @instance - */ - Channel.prototype.version = ""; - - /** - * Creates a new Channel instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.Channel - * @static - * @param {ibc.core.channel.v1.IChannel=} [properties] Properties to set - * @returns {ibc.core.channel.v1.Channel} Channel instance - */ - Channel.create = function create(properties) { - return new Channel(properties); - }; - - /** - * Encodes the specified Channel message. Does not implicitly {@link ibc.core.channel.v1.Channel.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.Channel - * @static - * @param {ibc.core.channel.v1.IChannel} message Channel message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Channel.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.state != null && Object.hasOwnProperty.call(message, "state")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.ordering != null && Object.hasOwnProperty.call(message, "ordering")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.ordering); - if (message.counterparty != null && Object.hasOwnProperty.call(message, "counterparty")) - $root.ibc.core.channel.v1.Counterparty.encode(message.counterparty, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.connectionHops != null && message.connectionHops.length) - for (let i = 0; i < message.connectionHops.length; ++i) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.connectionHops[i]); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.version); - return writer; - }; - - /** - * Encodes the specified Channel message, length delimited. Does not implicitly {@link ibc.core.channel.v1.Channel.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.Channel - * @static - * @param {ibc.core.channel.v1.IChannel} message Channel message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Channel.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Channel message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.Channel - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.Channel} Channel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Channel.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.Channel(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.state = reader.int32(); - break; - case 2: - message.ordering = reader.int32(); - break; - case 3: - message.counterparty = $root.ibc.core.channel.v1.Counterparty.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.connectionHops && message.connectionHops.length)) - message.connectionHops = []; - message.connectionHops.push(reader.string()); - break; - case 5: - message.version = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Channel message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.Channel - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.Channel} Channel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Channel.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Channel message. - * @function verify - * @memberof ibc.core.channel.v1.Channel - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Channel.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.state != null && message.hasOwnProperty("state")) - switch (message.state) { - default: - return "state: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - break; - } - if (message.ordering != null && message.hasOwnProperty("ordering")) - switch (message.ordering) { - default: - return "ordering: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.counterparty != null && message.hasOwnProperty("counterparty")) { - let error = $root.ibc.core.channel.v1.Counterparty.verify(message.counterparty); - if (error) - return "counterparty." + error; - } - if (message.connectionHops != null && message.hasOwnProperty("connectionHops")) { - if (!Array.isArray(message.connectionHops)) - return "connectionHops: array expected"; - for (let i = 0; i < message.connectionHops.length; ++i) - if (!$util.isString(message.connectionHops[i])) - return "connectionHops: string[] expected"; - } - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isString(message.version)) - return "version: string expected"; - return null; - }; - - /** - * Creates a Channel message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.Channel - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.Channel} Channel - */ - Channel.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.Channel) - return object; - let message = new $root.ibc.core.channel.v1.Channel(); - switch (object.state) { - case "STATE_UNINITIALIZED_UNSPECIFIED": - case 0: - message.state = 0; - break; - case "STATE_INIT": - case 1: - message.state = 1; - break; - case "STATE_TRYOPEN": - case 2: - message.state = 2; - break; - case "STATE_OPEN": - case 3: - message.state = 3; - break; - case "STATE_CLOSED": - case 4: - message.state = 4; - break; - } - switch (object.ordering) { - case "ORDER_NONE_UNSPECIFIED": - case 0: - message.ordering = 0; - break; - case "ORDER_UNORDERED": - case 1: - message.ordering = 1; - break; - case "ORDER_ORDERED": - case 2: - message.ordering = 2; - break; - } - if (object.counterparty != null) { - if (typeof object.counterparty !== "object") - throw TypeError(".ibc.core.channel.v1.Channel.counterparty: object expected"); - message.counterparty = $root.ibc.core.channel.v1.Counterparty.fromObject(object.counterparty); - } - if (object.connectionHops) { - if (!Array.isArray(object.connectionHops)) - throw TypeError(".ibc.core.channel.v1.Channel.connectionHops: array expected"); - message.connectionHops = []; - for (let i = 0; i < object.connectionHops.length; ++i) - message.connectionHops[i] = String(object.connectionHops[i]); - } - if (object.version != null) - message.version = String(object.version); - return message; - }; - - /** - * Creates a plain object from a Channel message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.Channel - * @static - * @param {ibc.core.channel.v1.Channel} message Channel - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Channel.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.connectionHops = []; - if (options.defaults) { - object.state = options.enums === String ? "STATE_UNINITIALIZED_UNSPECIFIED" : 0; - object.ordering = options.enums === String ? "ORDER_NONE_UNSPECIFIED" : 0; - object.counterparty = null; - object.version = ""; - } - if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.ibc.core.channel.v1.State[message.state] : message.state; - if (message.ordering != null && message.hasOwnProperty("ordering")) - object.ordering = options.enums === String ? $root.ibc.core.channel.v1.Order[message.ordering] : message.ordering; - if (message.counterparty != null && message.hasOwnProperty("counterparty")) - object.counterparty = $root.ibc.core.channel.v1.Counterparty.toObject(message.counterparty, options); - if (message.connectionHops && message.connectionHops.length) { - object.connectionHops = []; - for (let j = 0; j < message.connectionHops.length; ++j) - object.connectionHops[j] = message.connectionHops[j]; - } - if (message.version != null && message.hasOwnProperty("version")) - object.version = message.version; - return object; - }; - - /** - * Converts this Channel to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.Channel - * @instance - * @returns {Object.} JSON object - */ - Channel.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Channel; - })(v1.Channel || {}); - - v1.IdentifiedChannel = (function(IdentifiedChannel) { - - /** - * Properties of an IdentifiedChannel. - * @memberof ibc.core.channel.v1 - * @interface IIdentifiedChannel - * @property {ibc.core.channel.v1.State|null} [state] IdentifiedChannel state - * @property {ibc.core.channel.v1.Order|null} [ordering] IdentifiedChannel ordering - * @property {ibc.core.channel.v1.ICounterparty|null} [counterparty] IdentifiedChannel counterparty - * @property {Array.|null} [connectionHops] IdentifiedChannel connectionHops - * @property {string|null} [version] IdentifiedChannel version - * @property {string|null} [portId] IdentifiedChannel portId - * @property {string|null} [channelId] IdentifiedChannel channelId - */ - - /** - * Constructs a new IdentifiedChannel. - * @memberof ibc.core.channel.v1 - * @classdesc Represents an IdentifiedChannel. - * @implements IIdentifiedChannel - * @constructor - * @param {ibc.core.channel.v1.IIdentifiedChannel=} [properties] Properties to set - */ - function IdentifiedChannel(properties) { - this.connectionHops = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * IdentifiedChannel state. - * @member {ibc.core.channel.v1.State} state - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @instance - */ - IdentifiedChannel.prototype.state = 0; - - /** - * IdentifiedChannel ordering. - * @member {ibc.core.channel.v1.Order} ordering - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @instance - */ - IdentifiedChannel.prototype.ordering = 0; - - /** - * IdentifiedChannel counterparty. - * @member {ibc.core.channel.v1.ICounterparty|null|undefined} counterparty - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @instance - */ - IdentifiedChannel.prototype.counterparty = null; - - /** - * IdentifiedChannel connectionHops. - * @member {Array.} connectionHops - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @instance - */ - IdentifiedChannel.prototype.connectionHops = $util.emptyArray; - - /** - * IdentifiedChannel version. - * @member {string} version - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @instance - */ - IdentifiedChannel.prototype.version = ""; - - /** - * IdentifiedChannel portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @instance - */ - IdentifiedChannel.prototype.portId = ""; - - /** - * IdentifiedChannel channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @instance - */ - IdentifiedChannel.prototype.channelId = ""; - - /** - * Creates a new IdentifiedChannel instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @static - * @param {ibc.core.channel.v1.IIdentifiedChannel=} [properties] Properties to set - * @returns {ibc.core.channel.v1.IdentifiedChannel} IdentifiedChannel instance - */ - IdentifiedChannel.create = function create(properties) { - return new IdentifiedChannel(properties); - }; - - /** - * Encodes the specified IdentifiedChannel message. Does not implicitly {@link ibc.core.channel.v1.IdentifiedChannel.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @static - * @param {ibc.core.channel.v1.IIdentifiedChannel} message IdentifiedChannel message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IdentifiedChannel.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.state != null && Object.hasOwnProperty.call(message, "state")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state); - if (message.ordering != null && Object.hasOwnProperty.call(message, "ordering")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.ordering); - if (message.counterparty != null && Object.hasOwnProperty.call(message, "counterparty")) - $root.ibc.core.channel.v1.Counterparty.encode(message.counterparty, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.connectionHops != null && message.connectionHops.length) - for (let i = 0; i < message.connectionHops.length; ++i) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.connectionHops[i]); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.version); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.channelId); - return writer; - }; - - /** - * Encodes the specified IdentifiedChannel message, length delimited. Does not implicitly {@link ibc.core.channel.v1.IdentifiedChannel.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @static - * @param {ibc.core.channel.v1.IIdentifiedChannel} message IdentifiedChannel message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IdentifiedChannel.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an IdentifiedChannel message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.IdentifiedChannel} IdentifiedChannel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IdentifiedChannel.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.IdentifiedChannel(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.state = reader.int32(); - break; - case 2: - message.ordering = reader.int32(); - break; - case 3: - message.counterparty = $root.ibc.core.channel.v1.Counterparty.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.connectionHops && message.connectionHops.length)) - message.connectionHops = []; - message.connectionHops.push(reader.string()); - break; - case 5: - message.version = reader.string(); - break; - case 6: - message.portId = reader.string(); - break; - case 7: - message.channelId = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an IdentifiedChannel message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.IdentifiedChannel} IdentifiedChannel - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IdentifiedChannel.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an IdentifiedChannel message. - * @function verify - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - IdentifiedChannel.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.state != null && message.hasOwnProperty("state")) - switch (message.state) { - default: - return "state: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - break; - } - if (message.ordering != null && message.hasOwnProperty("ordering")) - switch (message.ordering) { - default: - return "ordering: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.counterparty != null && message.hasOwnProperty("counterparty")) { - let error = $root.ibc.core.channel.v1.Counterparty.verify(message.counterparty); - if (error) - return "counterparty." + error; - } - if (message.connectionHops != null && message.hasOwnProperty("connectionHops")) { - if (!Array.isArray(message.connectionHops)) - return "connectionHops: array expected"; - for (let i = 0; i < message.connectionHops.length; ++i) - if (!$util.isString(message.connectionHops[i])) - return "connectionHops: string[] expected"; - } - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isString(message.version)) - return "version: string expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - return null; - }; - - /** - * Creates an IdentifiedChannel message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.IdentifiedChannel} IdentifiedChannel - */ - IdentifiedChannel.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.IdentifiedChannel) - return object; - let message = new $root.ibc.core.channel.v1.IdentifiedChannel(); - switch (object.state) { - case "STATE_UNINITIALIZED_UNSPECIFIED": - case 0: - message.state = 0; - break; - case "STATE_INIT": - case 1: - message.state = 1; - break; - case "STATE_TRYOPEN": - case 2: - message.state = 2; - break; - case "STATE_OPEN": - case 3: - message.state = 3; - break; - case "STATE_CLOSED": - case 4: - message.state = 4; - break; - } - switch (object.ordering) { - case "ORDER_NONE_UNSPECIFIED": - case 0: - message.ordering = 0; - break; - case "ORDER_UNORDERED": - case 1: - message.ordering = 1; - break; - case "ORDER_ORDERED": - case 2: - message.ordering = 2; - break; - } - if (object.counterparty != null) { - if (typeof object.counterparty !== "object") - throw TypeError(".ibc.core.channel.v1.IdentifiedChannel.counterparty: object expected"); - message.counterparty = $root.ibc.core.channel.v1.Counterparty.fromObject(object.counterparty); - } - if (object.connectionHops) { - if (!Array.isArray(object.connectionHops)) - throw TypeError(".ibc.core.channel.v1.IdentifiedChannel.connectionHops: array expected"); - message.connectionHops = []; - for (let i = 0; i < object.connectionHops.length; ++i) - message.connectionHops[i] = String(object.connectionHops[i]); - } - if (object.version != null) - message.version = String(object.version); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - return message; - }; - - /** - * Creates a plain object from an IdentifiedChannel message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @static - * @param {ibc.core.channel.v1.IdentifiedChannel} message IdentifiedChannel - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - IdentifiedChannel.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.connectionHops = []; - if (options.defaults) { - object.state = options.enums === String ? "STATE_UNINITIALIZED_UNSPECIFIED" : 0; - object.ordering = options.enums === String ? "ORDER_NONE_UNSPECIFIED" : 0; - object.counterparty = null; - object.version = ""; - object.portId = ""; - object.channelId = ""; - } - if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.ibc.core.channel.v1.State[message.state] : message.state; - if (message.ordering != null && message.hasOwnProperty("ordering")) - object.ordering = options.enums === String ? $root.ibc.core.channel.v1.Order[message.ordering] : message.ordering; - if (message.counterparty != null && message.hasOwnProperty("counterparty")) - object.counterparty = $root.ibc.core.channel.v1.Counterparty.toObject(message.counterparty, options); - if (message.connectionHops && message.connectionHops.length) { - object.connectionHops = []; - for (let j = 0; j < message.connectionHops.length; ++j) - object.connectionHops[j] = message.connectionHops[j]; - } - if (message.version != null && message.hasOwnProperty("version")) - object.version = message.version; - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - return object; - }; - - /** - * Converts this IdentifiedChannel to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.IdentifiedChannel - * @instance - * @returns {Object.} JSON object - */ - IdentifiedChannel.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return IdentifiedChannel; - })(v1.IdentifiedChannel || {}); - - /** - * State enum. - * @name ibc.core.channel.v1.State - * @enum {string} - * @property {number} STATE_UNINITIALIZED_UNSPECIFIED=0 STATE_UNINITIALIZED_UNSPECIFIED value - * @property {number} STATE_INIT=1 STATE_INIT value - * @property {number} STATE_TRYOPEN=2 STATE_TRYOPEN value - * @property {number} STATE_OPEN=3 STATE_OPEN value - * @property {number} STATE_CLOSED=4 STATE_CLOSED value - */ - v1.State = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "STATE_UNINITIALIZED_UNSPECIFIED"] = 0; - values[valuesById[1] = "STATE_INIT"] = 1; - values[valuesById[2] = "STATE_TRYOPEN"] = 2; - values[valuesById[3] = "STATE_OPEN"] = 3; - values[valuesById[4] = "STATE_CLOSED"] = 4; - return values; - })(); - - /** - * Order enum. - * @name ibc.core.channel.v1.Order - * @enum {string} - * @property {number} ORDER_NONE_UNSPECIFIED=0 ORDER_NONE_UNSPECIFIED value - * @property {number} ORDER_UNORDERED=1 ORDER_UNORDERED value - * @property {number} ORDER_ORDERED=2 ORDER_ORDERED value - */ - v1.Order = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "ORDER_NONE_UNSPECIFIED"] = 0; - values[valuesById[1] = "ORDER_UNORDERED"] = 1; - values[valuesById[2] = "ORDER_ORDERED"] = 2; - return values; - })(); - - v1.Counterparty = (function(Counterparty) { - - /** - * Properties of a Counterparty. - * @memberof ibc.core.channel.v1 - * @interface ICounterparty - * @property {string|null} [portId] Counterparty portId - * @property {string|null} [channelId] Counterparty channelId - */ - - /** - * Constructs a new Counterparty. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a Counterparty. - * @implements ICounterparty - * @constructor - * @param {ibc.core.channel.v1.ICounterparty=} [properties] Properties to set - */ - function Counterparty(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Counterparty portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.Counterparty - * @instance - */ - Counterparty.prototype.portId = ""; - - /** - * Counterparty channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.Counterparty - * @instance - */ - Counterparty.prototype.channelId = ""; - - /** - * Creates a new Counterparty instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.Counterparty - * @static - * @param {ibc.core.channel.v1.ICounterparty=} [properties] Properties to set - * @returns {ibc.core.channel.v1.Counterparty} Counterparty instance - */ - Counterparty.create = function create(properties) { - return new Counterparty(properties); - }; - - /** - * Encodes the specified Counterparty message. Does not implicitly {@link ibc.core.channel.v1.Counterparty.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.Counterparty - * @static - * @param {ibc.core.channel.v1.ICounterparty} message Counterparty message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Counterparty.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - return writer; - }; - - /** - * Encodes the specified Counterparty message, length delimited. Does not implicitly {@link ibc.core.channel.v1.Counterparty.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.Counterparty - * @static - * @param {ibc.core.channel.v1.ICounterparty} message Counterparty message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Counterparty.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Counterparty message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.Counterparty - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.Counterparty} Counterparty - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Counterparty.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.Counterparty(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Counterparty message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.Counterparty - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.Counterparty} Counterparty - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Counterparty.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Counterparty message. - * @function verify - * @memberof ibc.core.channel.v1.Counterparty - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Counterparty.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - return null; - }; - - /** - * Creates a Counterparty message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.Counterparty - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.Counterparty} Counterparty - */ - Counterparty.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.Counterparty) - return object; - let message = new $root.ibc.core.channel.v1.Counterparty(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - return message; - }; - - /** - * Creates a plain object from a Counterparty message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.Counterparty - * @static - * @param {ibc.core.channel.v1.Counterparty} message Counterparty - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Counterparty.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - return object; - }; - - /** - * Converts this Counterparty to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.Counterparty - * @instance - * @returns {Object.} JSON object - */ - Counterparty.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Counterparty; - })(v1.Counterparty || {}); - - v1.Packet = (function(Packet) { - - /** - * Properties of a Packet. - * @memberof ibc.core.channel.v1 - * @interface IPacket - * @property {number|Long|null} [sequence] Packet sequence - * @property {string|null} [sourcePort] Packet sourcePort - * @property {string|null} [sourceChannel] Packet sourceChannel - * @property {string|null} [destinationPort] Packet destinationPort - * @property {string|null} [destinationChannel] Packet destinationChannel - * @property {Uint8Array|null} [data] Packet data - * @property {ibc.core.client.v1.IHeight|null} [timeoutHeight] Packet timeoutHeight - * @property {number|Long|null} [timeoutTimestamp] Packet timeoutTimestamp - */ - - /** - * Constructs a new Packet. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a Packet. - * @implements IPacket - * @constructor - * @param {ibc.core.channel.v1.IPacket=} [properties] Properties to set - */ - function Packet(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Packet sequence. - * @member {number|Long} sequence - * @memberof ibc.core.channel.v1.Packet - * @instance - */ - Packet.prototype.sequence = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Packet sourcePort. - * @member {string} sourcePort - * @memberof ibc.core.channel.v1.Packet - * @instance - */ - Packet.prototype.sourcePort = ""; - - /** - * Packet sourceChannel. - * @member {string} sourceChannel - * @memberof ibc.core.channel.v1.Packet - * @instance - */ - Packet.prototype.sourceChannel = ""; - - /** - * Packet destinationPort. - * @member {string} destinationPort - * @memberof ibc.core.channel.v1.Packet - * @instance - */ - Packet.prototype.destinationPort = ""; - - /** - * Packet destinationChannel. - * @member {string} destinationChannel - * @memberof ibc.core.channel.v1.Packet - * @instance - */ - Packet.prototype.destinationChannel = ""; - - /** - * Packet data. - * @member {Uint8Array} data - * @memberof ibc.core.channel.v1.Packet - * @instance - */ - Packet.prototype.data = $util.newBuffer([]); - - /** - * Packet timeoutHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} timeoutHeight - * @memberof ibc.core.channel.v1.Packet - * @instance - */ - Packet.prototype.timeoutHeight = null; - - /** - * Packet timeoutTimestamp. - * @member {number|Long} timeoutTimestamp - * @memberof ibc.core.channel.v1.Packet - * @instance - */ - Packet.prototype.timeoutTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new Packet instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.Packet - * @static - * @param {ibc.core.channel.v1.IPacket=} [properties] Properties to set - * @returns {ibc.core.channel.v1.Packet} Packet instance - */ - Packet.create = function create(properties) { - return new Packet(properties); - }; - - /** - * Encodes the specified Packet message. Does not implicitly {@link ibc.core.channel.v1.Packet.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.Packet - * @static - * @param {ibc.core.channel.v1.IPacket} message Packet message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Packet.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.sequence != null && Object.hasOwnProperty.call(message, "sequence")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.sequence); - if (message.sourcePort != null && Object.hasOwnProperty.call(message, "sourcePort")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourcePort); - if (message.sourceChannel != null && Object.hasOwnProperty.call(message, "sourceChannel")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.sourceChannel); - if (message.destinationPort != null && Object.hasOwnProperty.call(message, "destinationPort")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.destinationPort); - if (message.destinationChannel != null && Object.hasOwnProperty.call(message, "destinationChannel")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.destinationChannel); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.data); - if (message.timeoutHeight != null && Object.hasOwnProperty.call(message, "timeoutHeight")) - $root.ibc.core.client.v1.Height.encode(message.timeoutHeight, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.timeoutTimestamp != null && Object.hasOwnProperty.call(message, "timeoutTimestamp")) - writer.uint32(/* id 8, wireType 0 =*/64).uint64(message.timeoutTimestamp); - return writer; - }; - - /** - * Encodes the specified Packet message, length delimited. Does not implicitly {@link ibc.core.channel.v1.Packet.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.Packet - * @static - * @param {ibc.core.channel.v1.IPacket} message Packet message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Packet.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Packet message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.Packet - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.Packet} Packet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Packet.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.Packet(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.sequence = reader.uint64(); - break; - case 2: - message.sourcePort = reader.string(); - break; - case 3: - message.sourceChannel = reader.string(); - break; - case 4: - message.destinationPort = reader.string(); - break; - case 5: - message.destinationChannel = reader.string(); - break; - case 6: - message.data = reader.bytes(); - break; - case 7: - message.timeoutHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 8: - message.timeoutTimestamp = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Packet message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.Packet - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.Packet} Packet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Packet.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Packet message. - * @function verify - * @memberof ibc.core.channel.v1.Packet - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Packet.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (!$util.isInteger(message.sequence) && !(message.sequence && $util.isInteger(message.sequence.low) && $util.isInteger(message.sequence.high))) - return "sequence: integer|Long expected"; - if (message.sourcePort != null && message.hasOwnProperty("sourcePort")) - if (!$util.isString(message.sourcePort)) - return "sourcePort: string expected"; - if (message.sourceChannel != null && message.hasOwnProperty("sourceChannel")) - if (!$util.isString(message.sourceChannel)) - return "sourceChannel: string expected"; - if (message.destinationPort != null && message.hasOwnProperty("destinationPort")) - if (!$util.isString(message.destinationPort)) - return "destinationPort: string expected"; - if (message.destinationChannel != null && message.hasOwnProperty("destinationChannel")) - if (!$util.isString(message.destinationChannel)) - return "destinationChannel: string expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - if (message.timeoutHeight != null && message.hasOwnProperty("timeoutHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.timeoutHeight); - if (error) - return "timeoutHeight." + error; - } - if (message.timeoutTimestamp != null && message.hasOwnProperty("timeoutTimestamp")) - if (!$util.isInteger(message.timeoutTimestamp) && !(message.timeoutTimestamp && $util.isInteger(message.timeoutTimestamp.low) && $util.isInteger(message.timeoutTimestamp.high))) - return "timeoutTimestamp: integer|Long expected"; - return null; - }; - - /** - * Creates a Packet message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.Packet - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.Packet} Packet - */ - Packet.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.Packet) - return object; - let message = new $root.ibc.core.channel.v1.Packet(); - if (object.sequence != null) - if ($util.Long) - (message.sequence = $util.Long.fromValue(object.sequence)).unsigned = true; - else if (typeof object.sequence === "string") - message.sequence = parseInt(object.sequence, 10); - else if (typeof object.sequence === "number") - message.sequence = object.sequence; - else if (typeof object.sequence === "object") - message.sequence = new $util.LongBits(object.sequence.low >>> 0, object.sequence.high >>> 0).toNumber(true); - if (object.sourcePort != null) - message.sourcePort = String(object.sourcePort); - if (object.sourceChannel != null) - message.sourceChannel = String(object.sourceChannel); - if (object.destinationPort != null) - message.destinationPort = String(object.destinationPort); - if (object.destinationChannel != null) - message.destinationChannel = String(object.destinationChannel); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - if (object.timeoutHeight != null) { - if (typeof object.timeoutHeight !== "object") - throw TypeError(".ibc.core.channel.v1.Packet.timeoutHeight: object expected"); - message.timeoutHeight = $root.ibc.core.client.v1.Height.fromObject(object.timeoutHeight); - } - if (object.timeoutTimestamp != null) - if ($util.Long) - (message.timeoutTimestamp = $util.Long.fromValue(object.timeoutTimestamp)).unsigned = true; - else if (typeof object.timeoutTimestamp === "string") - message.timeoutTimestamp = parseInt(object.timeoutTimestamp, 10); - else if (typeof object.timeoutTimestamp === "number") - message.timeoutTimestamp = object.timeoutTimestamp; - else if (typeof object.timeoutTimestamp === "object") - message.timeoutTimestamp = new $util.LongBits(object.timeoutTimestamp.low >>> 0, object.timeoutTimestamp.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a Packet message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.Packet - * @static - * @param {ibc.core.channel.v1.Packet} message Packet - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Packet.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.sequence = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.sequence = options.longs === String ? "0" : 0; - object.sourcePort = ""; - object.sourceChannel = ""; - object.destinationPort = ""; - object.destinationChannel = ""; - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - object.timeoutHeight = null; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.timeoutTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.timeoutTimestamp = options.longs === String ? "0" : 0; - } - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (typeof message.sequence === "number") - object.sequence = options.longs === String ? String(message.sequence) : message.sequence; - else - object.sequence = options.longs === String ? $util.Long.prototype.toString.call(message.sequence) : options.longs === Number ? new $util.LongBits(message.sequence.low >>> 0, message.sequence.high >>> 0).toNumber(true) : message.sequence; - if (message.sourcePort != null && message.hasOwnProperty("sourcePort")) - object.sourcePort = message.sourcePort; - if (message.sourceChannel != null && message.hasOwnProperty("sourceChannel")) - object.sourceChannel = message.sourceChannel; - if (message.destinationPort != null && message.hasOwnProperty("destinationPort")) - object.destinationPort = message.destinationPort; - if (message.destinationChannel != null && message.hasOwnProperty("destinationChannel")) - object.destinationChannel = message.destinationChannel; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (message.timeoutHeight != null && message.hasOwnProperty("timeoutHeight")) - object.timeoutHeight = $root.ibc.core.client.v1.Height.toObject(message.timeoutHeight, options); - if (message.timeoutTimestamp != null && message.hasOwnProperty("timeoutTimestamp")) - if (typeof message.timeoutTimestamp === "number") - object.timeoutTimestamp = options.longs === String ? String(message.timeoutTimestamp) : message.timeoutTimestamp; - else - object.timeoutTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timeoutTimestamp) : options.longs === Number ? new $util.LongBits(message.timeoutTimestamp.low >>> 0, message.timeoutTimestamp.high >>> 0).toNumber(true) : message.timeoutTimestamp; - return object; - }; - - /** - * Converts this Packet to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.Packet - * @instance - * @returns {Object.} JSON object - */ - Packet.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Packet; - })(v1.Packet || {}); - - v1.PacketState = (function(PacketState) { - - /** - * Properties of a PacketState. - * @memberof ibc.core.channel.v1 - * @interface IPacketState - * @property {string|null} [portId] PacketState portId - * @property {string|null} [channelId] PacketState channelId - * @property {number|Long|null} [sequence] PacketState sequence - * @property {Uint8Array|null} [data] PacketState data - */ - - /** - * Constructs a new PacketState. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a PacketState. - * @implements IPacketState - * @constructor - * @param {ibc.core.channel.v1.IPacketState=} [properties] Properties to set - */ - function PacketState(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PacketState portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.PacketState - * @instance - */ - PacketState.prototype.portId = ""; - - /** - * PacketState channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.PacketState - * @instance - */ - PacketState.prototype.channelId = ""; - - /** - * PacketState sequence. - * @member {number|Long} sequence - * @memberof ibc.core.channel.v1.PacketState - * @instance - */ - PacketState.prototype.sequence = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * PacketState data. - * @member {Uint8Array} data - * @memberof ibc.core.channel.v1.PacketState - * @instance - */ - PacketState.prototype.data = $util.newBuffer([]); - - /** - * Creates a new PacketState instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.PacketState - * @static - * @param {ibc.core.channel.v1.IPacketState=} [properties] Properties to set - * @returns {ibc.core.channel.v1.PacketState} PacketState instance - */ - PacketState.create = function create(properties) { - return new PacketState(properties); - }; - - /** - * Encodes the specified PacketState message. Does not implicitly {@link ibc.core.channel.v1.PacketState.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.PacketState - * @static - * @param {ibc.core.channel.v1.IPacketState} message PacketState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PacketState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.sequence != null && Object.hasOwnProperty.call(message, "sequence")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.sequence); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified PacketState message, length delimited. Does not implicitly {@link ibc.core.channel.v1.PacketState.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.PacketState - * @static - * @param {ibc.core.channel.v1.IPacketState} message PacketState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PacketState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PacketState message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.PacketState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.PacketState} PacketState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PacketState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.PacketState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - message.sequence = reader.uint64(); - break; - case 4: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PacketState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.PacketState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.PacketState} PacketState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PacketState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PacketState message. - * @function verify - * @memberof ibc.core.channel.v1.PacketState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PacketState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (!$util.isInteger(message.sequence) && !(message.sequence && $util.isInteger(message.sequence.low) && $util.isInteger(message.sequence.high))) - return "sequence: integer|Long expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates a PacketState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.PacketState - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.PacketState} PacketState - */ - PacketState.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.PacketState) - return object; - let message = new $root.ibc.core.channel.v1.PacketState(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.sequence != null) - if ($util.Long) - (message.sequence = $util.Long.fromValue(object.sequence)).unsigned = true; - else if (typeof object.sequence === "string") - message.sequence = parseInt(object.sequence, 10); - else if (typeof object.sequence === "number") - message.sequence = object.sequence; - else if (typeof object.sequence === "object") - message.sequence = new $util.LongBits(object.sequence.low >>> 0, object.sequence.high >>> 0).toNumber(true); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from a PacketState message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.PacketState - * @static - * @param {ibc.core.channel.v1.PacketState} message PacketState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PacketState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.sequence = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.sequence = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (typeof message.sequence === "number") - object.sequence = options.longs === String ? String(message.sequence) : message.sequence; - else - object.sequence = options.longs === String ? $util.Long.prototype.toString.call(message.sequence) : options.longs === Number ? new $util.LongBits(message.sequence.low >>> 0, message.sequence.high >>> 0).toNumber(true) : message.sequence; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this PacketState to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.PacketState - * @instance - * @returns {Object.} JSON object - */ - PacketState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PacketState; - })(v1.PacketState || {}); - - v1.Acknowledgement = (function(Acknowledgement) { - - /** - * Properties of an Acknowledgement. - * @memberof ibc.core.channel.v1 - * @interface IAcknowledgement - * @property {Uint8Array|null} [result] Acknowledgement result - * @property {string|null} [error] Acknowledgement error - */ - - /** - * Constructs a new Acknowledgement. - * @memberof ibc.core.channel.v1 - * @classdesc Represents an Acknowledgement. - * @implements IAcknowledgement - * @constructor - * @param {ibc.core.channel.v1.IAcknowledgement=} [properties] Properties to set - */ - function Acknowledgement(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Acknowledgement result. - * @member {Uint8Array} result - * @memberof ibc.core.channel.v1.Acknowledgement - * @instance - */ - Acknowledgement.prototype.result = $util.newBuffer([]); - - /** - * Acknowledgement error. - * @member {string} error - * @memberof ibc.core.channel.v1.Acknowledgement - * @instance - */ - Acknowledgement.prototype.error = ""; - - // OneOf field names bound to virtual getters and setters - let $oneOfFields; - - /** - * Acknowledgement response. - * @member {"result"|"error"|undefined} response - * @memberof ibc.core.channel.v1.Acknowledgement - * @instance - */ - Object.defineProperty(Acknowledgement.prototype, "response", { - get: $util.oneOfGetter($oneOfFields = ["result", "error"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Acknowledgement instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.Acknowledgement - * @static - * @param {ibc.core.channel.v1.IAcknowledgement=} [properties] Properties to set - * @returns {ibc.core.channel.v1.Acknowledgement} Acknowledgement instance - */ - Acknowledgement.create = function create(properties) { - return new Acknowledgement(properties); - }; - - /** - * Encodes the specified Acknowledgement message. Does not implicitly {@link ibc.core.channel.v1.Acknowledgement.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.Acknowledgement - * @static - * @param {ibc.core.channel.v1.IAcknowledgement} message Acknowledgement message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Acknowledgement.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.result != null && Object.hasOwnProperty.call(message, "result")) - writer.uint32(/* id 21, wireType 2 =*/170).bytes(message.result); - if (message.error != null && Object.hasOwnProperty.call(message, "error")) - writer.uint32(/* id 22, wireType 2 =*/178).string(message.error); - return writer; - }; - - /** - * Encodes the specified Acknowledgement message, length delimited. Does not implicitly {@link ibc.core.channel.v1.Acknowledgement.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.Acknowledgement - * @static - * @param {ibc.core.channel.v1.IAcknowledgement} message Acknowledgement message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Acknowledgement.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Acknowledgement message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.Acknowledgement - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.Acknowledgement} Acknowledgement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Acknowledgement.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.Acknowledgement(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 21: - message.result = reader.bytes(); - break; - case 22: - message.error = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Acknowledgement message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.Acknowledgement - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.Acknowledgement} Acknowledgement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Acknowledgement.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Acknowledgement message. - * @function verify - * @memberof ibc.core.channel.v1.Acknowledgement - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Acknowledgement.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - let properties = {}; - if (message.result != null && message.hasOwnProperty("result")) { - properties.response = 1; - if (!(message.result && typeof message.result.length === "number" || $util.isString(message.result))) - return "result: buffer expected"; - } - if (message.error != null && message.hasOwnProperty("error")) { - if (properties.response === 1) - return "response: multiple values"; - properties.response = 1; - if (!$util.isString(message.error)) - return "error: string expected"; - } - return null; - }; - - /** - * Creates an Acknowledgement message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.Acknowledgement - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.Acknowledgement} Acknowledgement - */ - Acknowledgement.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.Acknowledgement) - return object; - let message = new $root.ibc.core.channel.v1.Acknowledgement(); - if (object.result != null) - if (typeof object.result === "string") - $util.base64.decode(object.result, message.result = $util.newBuffer($util.base64.length(object.result)), 0); - else if (object.result.length) - message.result = object.result; - if (object.error != null) - message.error = String(object.error); - return message; - }; - - /** - * Creates a plain object from an Acknowledgement message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.Acknowledgement - * @static - * @param {ibc.core.channel.v1.Acknowledgement} message Acknowledgement - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Acknowledgement.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (message.result != null && message.hasOwnProperty("result")) { - object.result = options.bytes === String ? $util.base64.encode(message.result, 0, message.result.length) : options.bytes === Array ? Array.prototype.slice.call(message.result) : message.result; - if (options.oneofs) - object.response = "result"; - } - if (message.error != null && message.hasOwnProperty("error")) { - object.error = message.error; - if (options.oneofs) - object.response = "error"; - } - return object; - }; - - /** - * Converts this Acknowledgement to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.Acknowledgement - * @instance - * @returns {Object.} JSON object - */ - Acknowledgement.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Acknowledgement; - })(v1.Acknowledgement || {}); - - v1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof ibc.core.channel.v1 - * @interface IGenesisState - * @property {Array.|null} [channels] GenesisState channels - * @property {Array.|null} [acknowledgements] GenesisState acknowledgements - * @property {Array.|null} [commitments] GenesisState commitments - * @property {Array.|null} [receipts] GenesisState receipts - * @property {Array.|null} [sendSequences] GenesisState sendSequences - * @property {Array.|null} [recvSequences] GenesisState recvSequences - * @property {Array.|null} [ackSequences] GenesisState ackSequences - * @property {number|Long|null} [nextChannelSequence] GenesisState nextChannelSequence - */ - - /** - * Constructs a new GenesisState. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {ibc.core.channel.v1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.channels = []; - this.acknowledgements = []; - this.commitments = []; - this.receipts = []; - this.sendSequences = []; - this.recvSequences = []; - this.ackSequences = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState channels. - * @member {Array.} channels - * @memberof ibc.core.channel.v1.GenesisState - * @instance - */ - GenesisState.prototype.channels = $util.emptyArray; - - /** - * GenesisState acknowledgements. - * @member {Array.} acknowledgements - * @memberof ibc.core.channel.v1.GenesisState - * @instance - */ - GenesisState.prototype.acknowledgements = $util.emptyArray; - - /** - * GenesisState commitments. - * @member {Array.} commitments - * @memberof ibc.core.channel.v1.GenesisState - * @instance - */ - GenesisState.prototype.commitments = $util.emptyArray; - - /** - * GenesisState receipts. - * @member {Array.} receipts - * @memberof ibc.core.channel.v1.GenesisState - * @instance - */ - GenesisState.prototype.receipts = $util.emptyArray; - - /** - * GenesisState sendSequences. - * @member {Array.} sendSequences - * @memberof ibc.core.channel.v1.GenesisState - * @instance - */ - GenesisState.prototype.sendSequences = $util.emptyArray; - - /** - * GenesisState recvSequences. - * @member {Array.} recvSequences - * @memberof ibc.core.channel.v1.GenesisState - * @instance - */ - GenesisState.prototype.recvSequences = $util.emptyArray; - - /** - * GenesisState ackSequences. - * @member {Array.} ackSequences - * @memberof ibc.core.channel.v1.GenesisState - * @instance - */ - GenesisState.prototype.ackSequences = $util.emptyArray; - - /** - * GenesisState nextChannelSequence. - * @member {number|Long} nextChannelSequence - * @memberof ibc.core.channel.v1.GenesisState - * @instance - */ - GenesisState.prototype.nextChannelSequence = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.GenesisState - * @static - * @param {ibc.core.channel.v1.IGenesisState=} [properties] Properties to set - * @returns {ibc.core.channel.v1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link ibc.core.channel.v1.GenesisState.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.GenesisState - * @static - * @param {ibc.core.channel.v1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.channels != null && message.channels.length) - for (let i = 0; i < message.channels.length; ++i) - $root.ibc.core.channel.v1.IdentifiedChannel.encode(message.channels[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.acknowledgements != null && message.acknowledgements.length) - for (let i = 0; i < message.acknowledgements.length; ++i) - $root.ibc.core.channel.v1.PacketState.encode(message.acknowledgements[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.commitments != null && message.commitments.length) - for (let i = 0; i < message.commitments.length; ++i) - $root.ibc.core.channel.v1.PacketState.encode(message.commitments[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.receipts != null && message.receipts.length) - for (let i = 0; i < message.receipts.length; ++i) - $root.ibc.core.channel.v1.PacketState.encode(message.receipts[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.sendSequences != null && message.sendSequences.length) - for (let i = 0; i < message.sendSequences.length; ++i) - $root.ibc.core.channel.v1.PacketSequence.encode(message.sendSequences[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.recvSequences != null && message.recvSequences.length) - for (let i = 0; i < message.recvSequences.length; ++i) - $root.ibc.core.channel.v1.PacketSequence.encode(message.recvSequences[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.ackSequences != null && message.ackSequences.length) - for (let i = 0; i < message.ackSequences.length; ++i) - $root.ibc.core.channel.v1.PacketSequence.encode(message.ackSequences[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.nextChannelSequence != null && Object.hasOwnProperty.call(message, "nextChannelSequence")) - writer.uint32(/* id 8, wireType 0 =*/64).uint64(message.nextChannelSequence); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link ibc.core.channel.v1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.GenesisState - * @static - * @param {ibc.core.channel.v1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.channels && message.channels.length)) - message.channels = []; - message.channels.push($root.ibc.core.channel.v1.IdentifiedChannel.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.acknowledgements && message.acknowledgements.length)) - message.acknowledgements = []; - message.acknowledgements.push($root.ibc.core.channel.v1.PacketState.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.commitments && message.commitments.length)) - message.commitments = []; - message.commitments.push($root.ibc.core.channel.v1.PacketState.decode(reader, reader.uint32())); - break; - case 4: - if (!(message.receipts && message.receipts.length)) - message.receipts = []; - message.receipts.push($root.ibc.core.channel.v1.PacketState.decode(reader, reader.uint32())); - break; - case 5: - if (!(message.sendSequences && message.sendSequences.length)) - message.sendSequences = []; - message.sendSequences.push($root.ibc.core.channel.v1.PacketSequence.decode(reader, reader.uint32())); - break; - case 6: - if (!(message.recvSequences && message.recvSequences.length)) - message.recvSequences = []; - message.recvSequences.push($root.ibc.core.channel.v1.PacketSequence.decode(reader, reader.uint32())); - break; - case 7: - if (!(message.ackSequences && message.ackSequences.length)) - message.ackSequences = []; - message.ackSequences.push($root.ibc.core.channel.v1.PacketSequence.decode(reader, reader.uint32())); - break; - case 8: - message.nextChannelSequence = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof ibc.core.channel.v1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.channels != null && message.hasOwnProperty("channels")) { - if (!Array.isArray(message.channels)) - return "channels: array expected"; - for (let i = 0; i < message.channels.length; ++i) { - let error = $root.ibc.core.channel.v1.IdentifiedChannel.verify(message.channels[i]); - if (error) - return "channels." + error; - } - } - if (message.acknowledgements != null && message.hasOwnProperty("acknowledgements")) { - if (!Array.isArray(message.acknowledgements)) - return "acknowledgements: array expected"; - for (let i = 0; i < message.acknowledgements.length; ++i) { - let error = $root.ibc.core.channel.v1.PacketState.verify(message.acknowledgements[i]); - if (error) - return "acknowledgements." + error; - } - } - if (message.commitments != null && message.hasOwnProperty("commitments")) { - if (!Array.isArray(message.commitments)) - return "commitments: array expected"; - for (let i = 0; i < message.commitments.length; ++i) { - let error = $root.ibc.core.channel.v1.PacketState.verify(message.commitments[i]); - if (error) - return "commitments." + error; - } - } - if (message.receipts != null && message.hasOwnProperty("receipts")) { - if (!Array.isArray(message.receipts)) - return "receipts: array expected"; - for (let i = 0; i < message.receipts.length; ++i) { - let error = $root.ibc.core.channel.v1.PacketState.verify(message.receipts[i]); - if (error) - return "receipts." + error; - } - } - if (message.sendSequences != null && message.hasOwnProperty("sendSequences")) { - if (!Array.isArray(message.sendSequences)) - return "sendSequences: array expected"; - for (let i = 0; i < message.sendSequences.length; ++i) { - let error = $root.ibc.core.channel.v1.PacketSequence.verify(message.sendSequences[i]); - if (error) - return "sendSequences." + error; - } - } - if (message.recvSequences != null && message.hasOwnProperty("recvSequences")) { - if (!Array.isArray(message.recvSequences)) - return "recvSequences: array expected"; - for (let i = 0; i < message.recvSequences.length; ++i) { - let error = $root.ibc.core.channel.v1.PacketSequence.verify(message.recvSequences[i]); - if (error) - return "recvSequences." + error; - } - } - if (message.ackSequences != null && message.hasOwnProperty("ackSequences")) { - if (!Array.isArray(message.ackSequences)) - return "ackSequences: array expected"; - for (let i = 0; i < message.ackSequences.length; ++i) { - let error = $root.ibc.core.channel.v1.PacketSequence.verify(message.ackSequences[i]); - if (error) - return "ackSequences." + error; - } - } - if (message.nextChannelSequence != null && message.hasOwnProperty("nextChannelSequence")) - if (!$util.isInteger(message.nextChannelSequence) && !(message.nextChannelSequence && $util.isInteger(message.nextChannelSequence.low) && $util.isInteger(message.nextChannelSequence.high))) - return "nextChannelSequence: integer|Long expected"; - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.GenesisState) - return object; - let message = new $root.ibc.core.channel.v1.GenesisState(); - if (object.channels) { - if (!Array.isArray(object.channels)) - throw TypeError(".ibc.core.channel.v1.GenesisState.channels: array expected"); - message.channels = []; - for (let i = 0; i < object.channels.length; ++i) { - if (typeof object.channels[i] !== "object") - throw TypeError(".ibc.core.channel.v1.GenesisState.channels: object expected"); - message.channels[i] = $root.ibc.core.channel.v1.IdentifiedChannel.fromObject(object.channels[i]); - } - } - if (object.acknowledgements) { - if (!Array.isArray(object.acknowledgements)) - throw TypeError(".ibc.core.channel.v1.GenesisState.acknowledgements: array expected"); - message.acknowledgements = []; - for (let i = 0; i < object.acknowledgements.length; ++i) { - if (typeof object.acknowledgements[i] !== "object") - throw TypeError(".ibc.core.channel.v1.GenesisState.acknowledgements: object expected"); - message.acknowledgements[i] = $root.ibc.core.channel.v1.PacketState.fromObject(object.acknowledgements[i]); - } - } - if (object.commitments) { - if (!Array.isArray(object.commitments)) - throw TypeError(".ibc.core.channel.v1.GenesisState.commitments: array expected"); - message.commitments = []; - for (let i = 0; i < object.commitments.length; ++i) { - if (typeof object.commitments[i] !== "object") - throw TypeError(".ibc.core.channel.v1.GenesisState.commitments: object expected"); - message.commitments[i] = $root.ibc.core.channel.v1.PacketState.fromObject(object.commitments[i]); - } - } - if (object.receipts) { - if (!Array.isArray(object.receipts)) - throw TypeError(".ibc.core.channel.v1.GenesisState.receipts: array expected"); - message.receipts = []; - for (let i = 0; i < object.receipts.length; ++i) { - if (typeof object.receipts[i] !== "object") - throw TypeError(".ibc.core.channel.v1.GenesisState.receipts: object expected"); - message.receipts[i] = $root.ibc.core.channel.v1.PacketState.fromObject(object.receipts[i]); - } - } - if (object.sendSequences) { - if (!Array.isArray(object.sendSequences)) - throw TypeError(".ibc.core.channel.v1.GenesisState.sendSequences: array expected"); - message.sendSequences = []; - for (let i = 0; i < object.sendSequences.length; ++i) { - if (typeof object.sendSequences[i] !== "object") - throw TypeError(".ibc.core.channel.v1.GenesisState.sendSequences: object expected"); - message.sendSequences[i] = $root.ibc.core.channel.v1.PacketSequence.fromObject(object.sendSequences[i]); - } - } - if (object.recvSequences) { - if (!Array.isArray(object.recvSequences)) - throw TypeError(".ibc.core.channel.v1.GenesisState.recvSequences: array expected"); - message.recvSequences = []; - for (let i = 0; i < object.recvSequences.length; ++i) { - if (typeof object.recvSequences[i] !== "object") - throw TypeError(".ibc.core.channel.v1.GenesisState.recvSequences: object expected"); - message.recvSequences[i] = $root.ibc.core.channel.v1.PacketSequence.fromObject(object.recvSequences[i]); - } - } - if (object.ackSequences) { - if (!Array.isArray(object.ackSequences)) - throw TypeError(".ibc.core.channel.v1.GenesisState.ackSequences: array expected"); - message.ackSequences = []; - for (let i = 0; i < object.ackSequences.length; ++i) { - if (typeof object.ackSequences[i] !== "object") - throw TypeError(".ibc.core.channel.v1.GenesisState.ackSequences: object expected"); - message.ackSequences[i] = $root.ibc.core.channel.v1.PacketSequence.fromObject(object.ackSequences[i]); - } - } - if (object.nextChannelSequence != null) - if ($util.Long) - (message.nextChannelSequence = $util.Long.fromValue(object.nextChannelSequence)).unsigned = true; - else if (typeof object.nextChannelSequence === "string") - message.nextChannelSequence = parseInt(object.nextChannelSequence, 10); - else if (typeof object.nextChannelSequence === "number") - message.nextChannelSequence = object.nextChannelSequence; - else if (typeof object.nextChannelSequence === "object") - message.nextChannelSequence = new $util.LongBits(object.nextChannelSequence.low >>> 0, object.nextChannelSequence.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.GenesisState - * @static - * @param {ibc.core.channel.v1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.channels = []; - object.acknowledgements = []; - object.commitments = []; - object.receipts = []; - object.sendSequences = []; - object.recvSequences = []; - object.ackSequences = []; - } - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.nextChannelSequence = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.nextChannelSequence = options.longs === String ? "0" : 0; - if (message.channels && message.channels.length) { - object.channels = []; - for (let j = 0; j < message.channels.length; ++j) - object.channels[j] = $root.ibc.core.channel.v1.IdentifiedChannel.toObject(message.channels[j], options); - } - if (message.acknowledgements && message.acknowledgements.length) { - object.acknowledgements = []; - for (let j = 0; j < message.acknowledgements.length; ++j) - object.acknowledgements[j] = $root.ibc.core.channel.v1.PacketState.toObject(message.acknowledgements[j], options); - } - if (message.commitments && message.commitments.length) { - object.commitments = []; - for (let j = 0; j < message.commitments.length; ++j) - object.commitments[j] = $root.ibc.core.channel.v1.PacketState.toObject(message.commitments[j], options); - } - if (message.receipts && message.receipts.length) { - object.receipts = []; - for (let j = 0; j < message.receipts.length; ++j) - object.receipts[j] = $root.ibc.core.channel.v1.PacketState.toObject(message.receipts[j], options); - } - if (message.sendSequences && message.sendSequences.length) { - object.sendSequences = []; - for (let j = 0; j < message.sendSequences.length; ++j) - object.sendSequences[j] = $root.ibc.core.channel.v1.PacketSequence.toObject(message.sendSequences[j], options); - } - if (message.recvSequences && message.recvSequences.length) { - object.recvSequences = []; - for (let j = 0; j < message.recvSequences.length; ++j) - object.recvSequences[j] = $root.ibc.core.channel.v1.PacketSequence.toObject(message.recvSequences[j], options); - } - if (message.ackSequences && message.ackSequences.length) { - object.ackSequences = []; - for (let j = 0; j < message.ackSequences.length; ++j) - object.ackSequences[j] = $root.ibc.core.channel.v1.PacketSequence.toObject(message.ackSequences[j], options); - } - if (message.nextChannelSequence != null && message.hasOwnProperty("nextChannelSequence")) - if (typeof message.nextChannelSequence === "number") - object.nextChannelSequence = options.longs === String ? String(message.nextChannelSequence) : message.nextChannelSequence; - else - object.nextChannelSequence = options.longs === String ? $util.Long.prototype.toString.call(message.nextChannelSequence) : options.longs === Number ? new $util.LongBits(message.nextChannelSequence.low >>> 0, message.nextChannelSequence.high >>> 0).toNumber(true) : message.nextChannelSequence; - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1.GenesisState || {}); - - v1.PacketSequence = (function(PacketSequence) { - - /** - * Properties of a PacketSequence. - * @memberof ibc.core.channel.v1 - * @interface IPacketSequence - * @property {string|null} [portId] PacketSequence portId - * @property {string|null} [channelId] PacketSequence channelId - * @property {number|Long|null} [sequence] PacketSequence sequence - */ - - /** - * Constructs a new PacketSequence. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a PacketSequence. - * @implements IPacketSequence - * @constructor - * @param {ibc.core.channel.v1.IPacketSequence=} [properties] Properties to set - */ - function PacketSequence(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PacketSequence portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.PacketSequence - * @instance - */ - PacketSequence.prototype.portId = ""; - - /** - * PacketSequence channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.PacketSequence - * @instance - */ - PacketSequence.prototype.channelId = ""; - - /** - * PacketSequence sequence. - * @member {number|Long} sequence - * @memberof ibc.core.channel.v1.PacketSequence - * @instance - */ - PacketSequence.prototype.sequence = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new PacketSequence instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.PacketSequence - * @static - * @param {ibc.core.channel.v1.IPacketSequence=} [properties] Properties to set - * @returns {ibc.core.channel.v1.PacketSequence} PacketSequence instance - */ - PacketSequence.create = function create(properties) { - return new PacketSequence(properties); - }; - - /** - * Encodes the specified PacketSequence message. Does not implicitly {@link ibc.core.channel.v1.PacketSequence.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.PacketSequence - * @static - * @param {ibc.core.channel.v1.IPacketSequence} message PacketSequence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PacketSequence.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.sequence != null && Object.hasOwnProperty.call(message, "sequence")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.sequence); - return writer; - }; - - /** - * Encodes the specified PacketSequence message, length delimited. Does not implicitly {@link ibc.core.channel.v1.PacketSequence.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.PacketSequence - * @static - * @param {ibc.core.channel.v1.IPacketSequence} message PacketSequence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PacketSequence.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PacketSequence message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.PacketSequence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.PacketSequence} PacketSequence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PacketSequence.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.PacketSequence(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - message.sequence = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PacketSequence message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.PacketSequence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.PacketSequence} PacketSequence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PacketSequence.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PacketSequence message. - * @function verify - * @memberof ibc.core.channel.v1.PacketSequence - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PacketSequence.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (!$util.isInteger(message.sequence) && !(message.sequence && $util.isInteger(message.sequence.low) && $util.isInteger(message.sequence.high))) - return "sequence: integer|Long expected"; - return null; - }; - - /** - * Creates a PacketSequence message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.PacketSequence - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.PacketSequence} PacketSequence - */ - PacketSequence.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.PacketSequence) - return object; - let message = new $root.ibc.core.channel.v1.PacketSequence(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.sequence != null) - if ($util.Long) - (message.sequence = $util.Long.fromValue(object.sequence)).unsigned = true; - else if (typeof object.sequence === "string") - message.sequence = parseInt(object.sequence, 10); - else if (typeof object.sequence === "number") - message.sequence = object.sequence; - else if (typeof object.sequence === "object") - message.sequence = new $util.LongBits(object.sequence.low >>> 0, object.sequence.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a PacketSequence message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.PacketSequence - * @static - * @param {ibc.core.channel.v1.PacketSequence} message PacketSequence - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PacketSequence.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.sequence = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.sequence = options.longs === String ? "0" : 0; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (typeof message.sequence === "number") - object.sequence = options.longs === String ? String(message.sequence) : message.sequence; - else - object.sequence = options.longs === String ? $util.Long.prototype.toString.call(message.sequence) : options.longs === Number ? new $util.LongBits(message.sequence.low >>> 0, message.sequence.high >>> 0).toNumber(true) : message.sequence; - return object; - }; - - /** - * Converts this PacketSequence to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.PacketSequence - * @instance - * @returns {Object.} JSON object - */ - PacketSequence.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PacketSequence; - })(v1.PacketSequence || {}); - - v1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof ibc.core.channel.v1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#channel}. - * @memberof ibc.core.channel.v1.Query - * @typedef ChannelCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryChannelResponse} [response] QueryChannelResponse - */ - - /** - * Calls Channel. - * @function channel - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryChannelRequest} request QueryChannelRequest message or plain object - * @param {ibc.core.channel.v1.Query.ChannelCallback} callback Node-style callback called with the error, if any, and QueryChannelResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.channel = function channel(request, callback) { - return this.rpcCall(channel, $root.ibc.core.channel.v1.QueryChannelRequest, $root.ibc.core.channel.v1.QueryChannelResponse, request, callback); - }, "name", { value: "Channel" }); - - /** - * Calls Channel. - * @function channel - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryChannelRequest} request QueryChannelRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#channels}. - * @memberof ibc.core.channel.v1.Query - * @typedef ChannelsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryChannelsResponse} [response] QueryChannelsResponse - */ - - /** - * Calls Channels. - * @function channels - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryChannelsRequest} request QueryChannelsRequest message or plain object - * @param {ibc.core.channel.v1.Query.ChannelsCallback} callback Node-style callback called with the error, if any, and QueryChannelsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.channels = function channels(request, callback) { - return this.rpcCall(channels, $root.ibc.core.channel.v1.QueryChannelsRequest, $root.ibc.core.channel.v1.QueryChannelsResponse, request, callback); - }, "name", { value: "Channels" }); - - /** - * Calls Channels. - * @function channels - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryChannelsRequest} request QueryChannelsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#connectionChannels}. - * @memberof ibc.core.channel.v1.Query - * @typedef ConnectionChannelsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryConnectionChannelsResponse} [response] QueryConnectionChannelsResponse - */ - - /** - * Calls ConnectionChannels. - * @function connectionChannels - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryConnectionChannelsRequest} request QueryConnectionChannelsRequest message or plain object - * @param {ibc.core.channel.v1.Query.ConnectionChannelsCallback} callback Node-style callback called with the error, if any, and QueryConnectionChannelsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.connectionChannels = function connectionChannels(request, callback) { - return this.rpcCall(connectionChannels, $root.ibc.core.channel.v1.QueryConnectionChannelsRequest, $root.ibc.core.channel.v1.QueryConnectionChannelsResponse, request, callback); - }, "name", { value: "ConnectionChannels" }); - - /** - * Calls ConnectionChannels. - * @function connectionChannels - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryConnectionChannelsRequest} request QueryConnectionChannelsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#channelClientState}. - * @memberof ibc.core.channel.v1.Query - * @typedef ChannelClientStateCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryChannelClientStateResponse} [response] QueryChannelClientStateResponse - */ - - /** - * Calls ChannelClientState. - * @function channelClientState - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryChannelClientStateRequest} request QueryChannelClientStateRequest message or plain object - * @param {ibc.core.channel.v1.Query.ChannelClientStateCallback} callback Node-style callback called with the error, if any, and QueryChannelClientStateResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.channelClientState = function channelClientState(request, callback) { - return this.rpcCall(channelClientState, $root.ibc.core.channel.v1.QueryChannelClientStateRequest, $root.ibc.core.channel.v1.QueryChannelClientStateResponse, request, callback); - }, "name", { value: "ChannelClientState" }); - - /** - * Calls ChannelClientState. - * @function channelClientState - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryChannelClientStateRequest} request QueryChannelClientStateRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#channelConsensusState}. - * @memberof ibc.core.channel.v1.Query - * @typedef ChannelConsensusStateCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryChannelConsensusStateResponse} [response] QueryChannelConsensusStateResponse - */ - - /** - * Calls ChannelConsensusState. - * @function channelConsensusState - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryChannelConsensusStateRequest} request QueryChannelConsensusStateRequest message or plain object - * @param {ibc.core.channel.v1.Query.ChannelConsensusStateCallback} callback Node-style callback called with the error, if any, and QueryChannelConsensusStateResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.channelConsensusState = function channelConsensusState(request, callback) { - return this.rpcCall(channelConsensusState, $root.ibc.core.channel.v1.QueryChannelConsensusStateRequest, $root.ibc.core.channel.v1.QueryChannelConsensusStateResponse, request, callback); - }, "name", { value: "ChannelConsensusState" }); - - /** - * Calls ChannelConsensusState. - * @function channelConsensusState - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryChannelConsensusStateRequest} request QueryChannelConsensusStateRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#packetCommitment}. - * @memberof ibc.core.channel.v1.Query - * @typedef PacketCommitmentCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryPacketCommitmentResponse} [response] QueryPacketCommitmentResponse - */ - - /** - * Calls PacketCommitment. - * @function packetCommitment - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryPacketCommitmentRequest} request QueryPacketCommitmentRequest message or plain object - * @param {ibc.core.channel.v1.Query.PacketCommitmentCallback} callback Node-style callback called with the error, if any, and QueryPacketCommitmentResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.packetCommitment = function packetCommitment(request, callback) { - return this.rpcCall(packetCommitment, $root.ibc.core.channel.v1.QueryPacketCommitmentRequest, $root.ibc.core.channel.v1.QueryPacketCommitmentResponse, request, callback); - }, "name", { value: "PacketCommitment" }); - - /** - * Calls PacketCommitment. - * @function packetCommitment - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryPacketCommitmentRequest} request QueryPacketCommitmentRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#packetCommitments}. - * @memberof ibc.core.channel.v1.Query - * @typedef PacketCommitmentsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryPacketCommitmentsResponse} [response] QueryPacketCommitmentsResponse - */ - - /** - * Calls PacketCommitments. - * @function packetCommitments - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryPacketCommitmentsRequest} request QueryPacketCommitmentsRequest message or plain object - * @param {ibc.core.channel.v1.Query.PacketCommitmentsCallback} callback Node-style callback called with the error, if any, and QueryPacketCommitmentsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.packetCommitments = function packetCommitments(request, callback) { - return this.rpcCall(packetCommitments, $root.ibc.core.channel.v1.QueryPacketCommitmentsRequest, $root.ibc.core.channel.v1.QueryPacketCommitmentsResponse, request, callback); - }, "name", { value: "PacketCommitments" }); - - /** - * Calls PacketCommitments. - * @function packetCommitments - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryPacketCommitmentsRequest} request QueryPacketCommitmentsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#packetReceipt}. - * @memberof ibc.core.channel.v1.Query - * @typedef PacketReceiptCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryPacketReceiptResponse} [response] QueryPacketReceiptResponse - */ - - /** - * Calls PacketReceipt. - * @function packetReceipt - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryPacketReceiptRequest} request QueryPacketReceiptRequest message or plain object - * @param {ibc.core.channel.v1.Query.PacketReceiptCallback} callback Node-style callback called with the error, if any, and QueryPacketReceiptResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.packetReceipt = function packetReceipt(request, callback) { - return this.rpcCall(packetReceipt, $root.ibc.core.channel.v1.QueryPacketReceiptRequest, $root.ibc.core.channel.v1.QueryPacketReceiptResponse, request, callback); - }, "name", { value: "PacketReceipt" }); - - /** - * Calls PacketReceipt. - * @function packetReceipt - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryPacketReceiptRequest} request QueryPacketReceiptRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#packetAcknowledgement}. - * @memberof ibc.core.channel.v1.Query - * @typedef PacketAcknowledgementCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementResponse} [response] QueryPacketAcknowledgementResponse - */ - - /** - * Calls PacketAcknowledgement. - * @function packetAcknowledgement - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementRequest} request QueryPacketAcknowledgementRequest message or plain object - * @param {ibc.core.channel.v1.Query.PacketAcknowledgementCallback} callback Node-style callback called with the error, if any, and QueryPacketAcknowledgementResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.packetAcknowledgement = function packetAcknowledgement(request, callback) { - return this.rpcCall(packetAcknowledgement, $root.ibc.core.channel.v1.QueryPacketAcknowledgementRequest, $root.ibc.core.channel.v1.QueryPacketAcknowledgementResponse, request, callback); - }, "name", { value: "PacketAcknowledgement" }); - - /** - * Calls PacketAcknowledgement. - * @function packetAcknowledgement - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementRequest} request QueryPacketAcknowledgementRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#packetAcknowledgements}. - * @memberof ibc.core.channel.v1.Query - * @typedef PacketAcknowledgementsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementsResponse} [response] QueryPacketAcknowledgementsResponse - */ - - /** - * Calls PacketAcknowledgements. - * @function packetAcknowledgements - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementsRequest} request QueryPacketAcknowledgementsRequest message or plain object - * @param {ibc.core.channel.v1.Query.PacketAcknowledgementsCallback} callback Node-style callback called with the error, if any, and QueryPacketAcknowledgementsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.packetAcknowledgements = function packetAcknowledgements(request, callback) { - return this.rpcCall(packetAcknowledgements, $root.ibc.core.channel.v1.QueryPacketAcknowledgementsRequest, $root.ibc.core.channel.v1.QueryPacketAcknowledgementsResponse, request, callback); - }, "name", { value: "PacketAcknowledgements" }); - - /** - * Calls PacketAcknowledgements. - * @function packetAcknowledgements - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementsRequest} request QueryPacketAcknowledgementsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#unreceivedPackets}. - * @memberof ibc.core.channel.v1.Query - * @typedef UnreceivedPacketsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryUnreceivedPacketsResponse} [response] QueryUnreceivedPacketsResponse - */ - - /** - * Calls UnreceivedPackets. - * @function unreceivedPackets - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryUnreceivedPacketsRequest} request QueryUnreceivedPacketsRequest message or plain object - * @param {ibc.core.channel.v1.Query.UnreceivedPacketsCallback} callback Node-style callback called with the error, if any, and QueryUnreceivedPacketsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.unreceivedPackets = function unreceivedPackets(request, callback) { - return this.rpcCall(unreceivedPackets, $root.ibc.core.channel.v1.QueryUnreceivedPacketsRequest, $root.ibc.core.channel.v1.QueryUnreceivedPacketsResponse, request, callback); - }, "name", { value: "UnreceivedPackets" }); - - /** - * Calls UnreceivedPackets. - * @function unreceivedPackets - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryUnreceivedPacketsRequest} request QueryUnreceivedPacketsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#unreceivedAcks}. - * @memberof ibc.core.channel.v1.Query - * @typedef UnreceivedAcksCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryUnreceivedAcksResponse} [response] QueryUnreceivedAcksResponse - */ - - /** - * Calls UnreceivedAcks. - * @function unreceivedAcks - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryUnreceivedAcksRequest} request QueryUnreceivedAcksRequest message or plain object - * @param {ibc.core.channel.v1.Query.UnreceivedAcksCallback} callback Node-style callback called with the error, if any, and QueryUnreceivedAcksResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.unreceivedAcks = function unreceivedAcks(request, callback) { - return this.rpcCall(unreceivedAcks, $root.ibc.core.channel.v1.QueryUnreceivedAcksRequest, $root.ibc.core.channel.v1.QueryUnreceivedAcksResponse, request, callback); - }, "name", { value: "UnreceivedAcks" }); - - /** - * Calls UnreceivedAcks. - * @function unreceivedAcks - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryUnreceivedAcksRequest} request QueryUnreceivedAcksRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Query#nextSequenceReceive}. - * @memberof ibc.core.channel.v1.Query - * @typedef NextSequenceReceiveCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IQueryNextSequenceReceiveResponse} [response] QueryNextSequenceReceiveResponse - */ - - /** - * Calls NextSequenceReceive. - * @function nextSequenceReceive - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryNextSequenceReceiveRequest} request QueryNextSequenceReceiveRequest message or plain object - * @param {ibc.core.channel.v1.Query.NextSequenceReceiveCallback} callback Node-style callback called with the error, if any, and QueryNextSequenceReceiveResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.nextSequenceReceive = function nextSequenceReceive(request, callback) { - return this.rpcCall(nextSequenceReceive, $root.ibc.core.channel.v1.QueryNextSequenceReceiveRequest, $root.ibc.core.channel.v1.QueryNextSequenceReceiveResponse, request, callback); - }, "name", { value: "NextSequenceReceive" }); - - /** - * Calls NextSequenceReceive. - * @function nextSequenceReceive - * @memberof ibc.core.channel.v1.Query - * @instance - * @param {ibc.core.channel.v1.IQueryNextSequenceReceiveRequest} request QueryNextSequenceReceiveRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1.Query || {}); - - v1.QueryChannelRequest = (function(QueryChannelRequest) { - - /** - * Properties of a QueryChannelRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryChannelRequest - * @property {string|null} [portId] QueryChannelRequest portId - * @property {string|null} [channelId] QueryChannelRequest channelId - */ - - /** - * Constructs a new QueryChannelRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryChannelRequest. - * @implements IQueryChannelRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryChannelRequest=} [properties] Properties to set - */ - function QueryChannelRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryChannelRequest portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.QueryChannelRequest - * @instance - */ - QueryChannelRequest.prototype.portId = ""; - - /** - * QueryChannelRequest channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.QueryChannelRequest - * @instance - */ - QueryChannelRequest.prototype.channelId = ""; - - /** - * Creates a new QueryChannelRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryChannelRequest - * @static - * @param {ibc.core.channel.v1.IQueryChannelRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryChannelRequest} QueryChannelRequest instance - */ - QueryChannelRequest.create = function create(properties) { - return new QueryChannelRequest(properties); - }; - - /** - * Encodes the specified QueryChannelRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryChannelRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryChannelRequest - * @static - * @param {ibc.core.channel.v1.IQueryChannelRequest} message QueryChannelRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - return writer; - }; - - /** - * Encodes the specified QueryChannelRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryChannelRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelRequest - * @static - * @param {ibc.core.channel.v1.IQueryChannelRequest} message QueryChannelRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryChannelRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryChannelRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryChannelRequest} QueryChannelRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryChannelRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryChannelRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryChannelRequest} QueryChannelRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryChannelRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryChannelRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryChannelRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - return null; - }; - - /** - * Creates a QueryChannelRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryChannelRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryChannelRequest} QueryChannelRequest - */ - QueryChannelRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryChannelRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryChannelRequest(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - return message; - }; - - /** - * Creates a plain object from a QueryChannelRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryChannelRequest - * @static - * @param {ibc.core.channel.v1.QueryChannelRequest} message QueryChannelRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryChannelRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - return object; - }; - - /** - * Converts this QueryChannelRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryChannelRequest - * @instance - * @returns {Object.} JSON object - */ - QueryChannelRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryChannelRequest; - })(v1.QueryChannelRequest || {}); - - v1.QueryChannelResponse = (function(QueryChannelResponse) { - - /** - * Properties of a QueryChannelResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryChannelResponse - * @property {ibc.core.channel.v1.IChannel|null} [channel] QueryChannelResponse channel - * @property {Uint8Array|null} [proof] QueryChannelResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryChannelResponse proofHeight - */ - - /** - * Constructs a new QueryChannelResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryChannelResponse. - * @implements IQueryChannelResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryChannelResponse=} [properties] Properties to set - */ - function QueryChannelResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryChannelResponse channel. - * @member {ibc.core.channel.v1.IChannel|null|undefined} channel - * @memberof ibc.core.channel.v1.QueryChannelResponse - * @instance - */ - QueryChannelResponse.prototype.channel = null; - - /** - * QueryChannelResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.channel.v1.QueryChannelResponse - * @instance - */ - QueryChannelResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryChannelResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.QueryChannelResponse - * @instance - */ - QueryChannelResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryChannelResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryChannelResponse - * @static - * @param {ibc.core.channel.v1.IQueryChannelResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryChannelResponse} QueryChannelResponse instance - */ - QueryChannelResponse.create = function create(properties) { - return new QueryChannelResponse(properties); - }; - - /** - * Encodes the specified QueryChannelResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryChannelResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryChannelResponse - * @static - * @param {ibc.core.channel.v1.IQueryChannelResponse} message QueryChannelResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.channel != null && Object.hasOwnProperty.call(message, "channel")) - $root.ibc.core.channel.v1.Channel.encode(message.channel, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryChannelResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryChannelResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelResponse - * @static - * @param {ibc.core.channel.v1.IQueryChannelResponse} message QueryChannelResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryChannelResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryChannelResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryChannelResponse} QueryChannelResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryChannelResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.channel = $root.ibc.core.channel.v1.Channel.decode(reader, reader.uint32()); - break; - case 2: - message.proof = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryChannelResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryChannelResponse} QueryChannelResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryChannelResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryChannelResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryChannelResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.channel != null && message.hasOwnProperty("channel")) { - let error = $root.ibc.core.channel.v1.Channel.verify(message.channel); - if (error) - return "channel." + error; - } - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryChannelResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryChannelResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryChannelResponse} QueryChannelResponse - */ - QueryChannelResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryChannelResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryChannelResponse(); - if (object.channel != null) { - if (typeof object.channel !== "object") - throw TypeError(".ibc.core.channel.v1.QueryChannelResponse.channel: object expected"); - message.channel = $root.ibc.core.channel.v1.Channel.fromObject(object.channel); - } - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.QueryChannelResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryChannelResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryChannelResponse - * @static - * @param {ibc.core.channel.v1.QueryChannelResponse} message QueryChannelResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryChannelResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.channel = null; - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.channel != null && message.hasOwnProperty("channel")) - object.channel = $root.ibc.core.channel.v1.Channel.toObject(message.channel, options); - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryChannelResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryChannelResponse - * @instance - * @returns {Object.} JSON object - */ - QueryChannelResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryChannelResponse; - })(v1.QueryChannelResponse || {}); - - v1.QueryChannelsRequest = (function(QueryChannelsRequest) { - - /** - * Properties of a QueryChannelsRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryChannelsRequest - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryChannelsRequest pagination - */ - - /** - * Constructs a new QueryChannelsRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryChannelsRequest. - * @implements IQueryChannelsRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryChannelsRequest=} [properties] Properties to set - */ - function QueryChannelsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryChannelsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof ibc.core.channel.v1.QueryChannelsRequest - * @instance - */ - QueryChannelsRequest.prototype.pagination = null; - - /** - * Creates a new QueryChannelsRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryChannelsRequest - * @static - * @param {ibc.core.channel.v1.IQueryChannelsRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryChannelsRequest} QueryChannelsRequest instance - */ - QueryChannelsRequest.create = function create(properties) { - return new QueryChannelsRequest(properties); - }; - - /** - * Encodes the specified QueryChannelsRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryChannelsRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryChannelsRequest - * @static - * @param {ibc.core.channel.v1.IQueryChannelsRequest} message QueryChannelsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryChannelsRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryChannelsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelsRequest - * @static - * @param {ibc.core.channel.v1.IQueryChannelsRequest} message QueryChannelsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryChannelsRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryChannelsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryChannelsRequest} QueryChannelsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryChannelsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryChannelsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryChannelsRequest} QueryChannelsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryChannelsRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryChannelsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryChannelsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryChannelsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryChannelsRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryChannelsRequest} QueryChannelsRequest - */ - QueryChannelsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryChannelsRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryChannelsRequest(); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.channel.v1.QueryChannelsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryChannelsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryChannelsRequest - * @static - * @param {ibc.core.channel.v1.QueryChannelsRequest} message QueryChannelsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryChannelsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.pagination = null; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryChannelsRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryChannelsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryChannelsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryChannelsRequest; - })(v1.QueryChannelsRequest || {}); - - v1.QueryChannelsResponse = (function(QueryChannelsResponse) { - - /** - * Properties of a QueryChannelsResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryChannelsResponse - * @property {Array.|null} [channels] QueryChannelsResponse channels - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryChannelsResponse pagination - * @property {ibc.core.client.v1.IHeight|null} [height] QueryChannelsResponse height - */ - - /** - * Constructs a new QueryChannelsResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryChannelsResponse. - * @implements IQueryChannelsResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryChannelsResponse=} [properties] Properties to set - */ - function QueryChannelsResponse(properties) { - this.channels = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryChannelsResponse channels. - * @member {Array.} channels - * @memberof ibc.core.channel.v1.QueryChannelsResponse - * @instance - */ - QueryChannelsResponse.prototype.channels = $util.emptyArray; - - /** - * QueryChannelsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof ibc.core.channel.v1.QueryChannelsResponse - * @instance - */ - QueryChannelsResponse.prototype.pagination = null; - - /** - * QueryChannelsResponse height. - * @member {ibc.core.client.v1.IHeight|null|undefined} height - * @memberof ibc.core.channel.v1.QueryChannelsResponse - * @instance - */ - QueryChannelsResponse.prototype.height = null; - - /** - * Creates a new QueryChannelsResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryChannelsResponse - * @static - * @param {ibc.core.channel.v1.IQueryChannelsResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryChannelsResponse} QueryChannelsResponse instance - */ - QueryChannelsResponse.create = function create(properties) { - return new QueryChannelsResponse(properties); - }; - - /** - * Encodes the specified QueryChannelsResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryChannelsResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryChannelsResponse - * @static - * @param {ibc.core.channel.v1.IQueryChannelsResponse} message QueryChannelsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.channels != null && message.channels.length) - for (let i = 0; i < message.channels.length; ++i) - $root.ibc.core.channel.v1.IdentifiedChannel.encode(message.channels[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - $root.ibc.core.client.v1.Height.encode(message.height, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryChannelsResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryChannelsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelsResponse - * @static - * @param {ibc.core.channel.v1.IQueryChannelsResponse} message QueryChannelsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryChannelsResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryChannelsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryChannelsResponse} QueryChannelsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryChannelsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.channels && message.channels.length)) - message.channels = []; - message.channels.push($root.ibc.core.channel.v1.IdentifiedChannel.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - case 3: - message.height = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryChannelsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryChannelsResponse} QueryChannelsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryChannelsResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryChannelsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryChannelsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.channels != null && message.hasOwnProperty("channels")) { - if (!Array.isArray(message.channels)) - return "channels: array expected"; - for (let i = 0; i < message.channels.length; ++i) { - let error = $root.ibc.core.channel.v1.IdentifiedChannel.verify(message.channels[i]); - if (error) - return "channels." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - if (message.height != null && message.hasOwnProperty("height")) { - let error = $root.ibc.core.client.v1.Height.verify(message.height); - if (error) - return "height." + error; - } - return null; - }; - - /** - * Creates a QueryChannelsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryChannelsResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryChannelsResponse} QueryChannelsResponse - */ - QueryChannelsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryChannelsResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryChannelsResponse(); - if (object.channels) { - if (!Array.isArray(object.channels)) - throw TypeError(".ibc.core.channel.v1.QueryChannelsResponse.channels: array expected"); - message.channels = []; - for (let i = 0; i < object.channels.length; ++i) { - if (typeof object.channels[i] !== "object") - throw TypeError(".ibc.core.channel.v1.QueryChannelsResponse.channels: object expected"); - message.channels[i] = $root.ibc.core.channel.v1.IdentifiedChannel.fromObject(object.channels[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.channel.v1.QueryChannelsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - if (object.height != null) { - if (typeof object.height !== "object") - throw TypeError(".ibc.core.channel.v1.QueryChannelsResponse.height: object expected"); - message.height = $root.ibc.core.client.v1.Height.fromObject(object.height); - } - return message; - }; - - /** - * Creates a plain object from a QueryChannelsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryChannelsResponse - * @static - * @param {ibc.core.channel.v1.QueryChannelsResponse} message QueryChannelsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryChannelsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.channels = []; - if (options.defaults) { - object.pagination = null; - object.height = null; - } - if (message.channels && message.channels.length) { - object.channels = []; - for (let j = 0; j < message.channels.length; ++j) - object.channels[j] = $root.ibc.core.channel.v1.IdentifiedChannel.toObject(message.channels[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - if (message.height != null && message.hasOwnProperty("height")) - object.height = $root.ibc.core.client.v1.Height.toObject(message.height, options); - return object; - }; - - /** - * Converts this QueryChannelsResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryChannelsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryChannelsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryChannelsResponse; - })(v1.QueryChannelsResponse || {}); - - v1.QueryConnectionChannelsRequest = (function(QueryConnectionChannelsRequest) { - - /** - * Properties of a QueryConnectionChannelsRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryConnectionChannelsRequest - * @property {string|null} [connection] QueryConnectionChannelsRequest connection - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryConnectionChannelsRequest pagination - */ - - /** - * Constructs a new QueryConnectionChannelsRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryConnectionChannelsRequest. - * @implements IQueryConnectionChannelsRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryConnectionChannelsRequest=} [properties] Properties to set - */ - function QueryConnectionChannelsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConnectionChannelsRequest connection. - * @member {string} connection - * @memberof ibc.core.channel.v1.QueryConnectionChannelsRequest - * @instance - */ - QueryConnectionChannelsRequest.prototype.connection = ""; - - /** - * QueryConnectionChannelsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof ibc.core.channel.v1.QueryConnectionChannelsRequest - * @instance - */ - QueryConnectionChannelsRequest.prototype.pagination = null; - - /** - * Creates a new QueryConnectionChannelsRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryConnectionChannelsRequest - * @static - * @param {ibc.core.channel.v1.IQueryConnectionChannelsRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryConnectionChannelsRequest} QueryConnectionChannelsRequest instance - */ - QueryConnectionChannelsRequest.create = function create(properties) { - return new QueryConnectionChannelsRequest(properties); - }; - - /** - * Encodes the specified QueryConnectionChannelsRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryConnectionChannelsRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryConnectionChannelsRequest - * @static - * @param {ibc.core.channel.v1.IQueryConnectionChannelsRequest} message QueryConnectionChannelsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionChannelsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.connection != null && Object.hasOwnProperty.call(message, "connection")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.connection); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryConnectionChannelsRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryConnectionChannelsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryConnectionChannelsRequest - * @static - * @param {ibc.core.channel.v1.IQueryConnectionChannelsRequest} message QueryConnectionChannelsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionChannelsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConnectionChannelsRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryConnectionChannelsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryConnectionChannelsRequest} QueryConnectionChannelsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionChannelsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryConnectionChannelsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.connection = reader.string(); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConnectionChannelsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryConnectionChannelsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryConnectionChannelsRequest} QueryConnectionChannelsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionChannelsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConnectionChannelsRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryConnectionChannelsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConnectionChannelsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.connection != null && message.hasOwnProperty("connection")) - if (!$util.isString(message.connection)) - return "connection: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryConnectionChannelsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryConnectionChannelsRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryConnectionChannelsRequest} QueryConnectionChannelsRequest - */ - QueryConnectionChannelsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryConnectionChannelsRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryConnectionChannelsRequest(); - if (object.connection != null) - message.connection = String(object.connection); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.channel.v1.QueryConnectionChannelsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryConnectionChannelsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryConnectionChannelsRequest - * @static - * @param {ibc.core.channel.v1.QueryConnectionChannelsRequest} message QueryConnectionChannelsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConnectionChannelsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.connection = ""; - object.pagination = null; - } - if (message.connection != null && message.hasOwnProperty("connection")) - object.connection = message.connection; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryConnectionChannelsRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryConnectionChannelsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryConnectionChannelsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConnectionChannelsRequest; - })(v1.QueryConnectionChannelsRequest || {}); - - v1.QueryConnectionChannelsResponse = (function(QueryConnectionChannelsResponse) { - - /** - * Properties of a QueryConnectionChannelsResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryConnectionChannelsResponse - * @property {Array.|null} [channels] QueryConnectionChannelsResponse channels - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryConnectionChannelsResponse pagination - * @property {ibc.core.client.v1.IHeight|null} [height] QueryConnectionChannelsResponse height - */ - - /** - * Constructs a new QueryConnectionChannelsResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryConnectionChannelsResponse. - * @implements IQueryConnectionChannelsResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryConnectionChannelsResponse=} [properties] Properties to set - */ - function QueryConnectionChannelsResponse(properties) { - this.channels = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConnectionChannelsResponse channels. - * @member {Array.} channels - * @memberof ibc.core.channel.v1.QueryConnectionChannelsResponse - * @instance - */ - QueryConnectionChannelsResponse.prototype.channels = $util.emptyArray; - - /** - * QueryConnectionChannelsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof ibc.core.channel.v1.QueryConnectionChannelsResponse - * @instance - */ - QueryConnectionChannelsResponse.prototype.pagination = null; - - /** - * QueryConnectionChannelsResponse height. - * @member {ibc.core.client.v1.IHeight|null|undefined} height - * @memberof ibc.core.channel.v1.QueryConnectionChannelsResponse - * @instance - */ - QueryConnectionChannelsResponse.prototype.height = null; - - /** - * Creates a new QueryConnectionChannelsResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryConnectionChannelsResponse - * @static - * @param {ibc.core.channel.v1.IQueryConnectionChannelsResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryConnectionChannelsResponse} QueryConnectionChannelsResponse instance - */ - QueryConnectionChannelsResponse.create = function create(properties) { - return new QueryConnectionChannelsResponse(properties); - }; - - /** - * Encodes the specified QueryConnectionChannelsResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryConnectionChannelsResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryConnectionChannelsResponse - * @static - * @param {ibc.core.channel.v1.IQueryConnectionChannelsResponse} message QueryConnectionChannelsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionChannelsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.channels != null && message.channels.length) - for (let i = 0; i < message.channels.length; ++i) - $root.ibc.core.channel.v1.IdentifiedChannel.encode(message.channels[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - $root.ibc.core.client.v1.Height.encode(message.height, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryConnectionChannelsResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryConnectionChannelsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryConnectionChannelsResponse - * @static - * @param {ibc.core.channel.v1.IQueryConnectionChannelsResponse} message QueryConnectionChannelsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionChannelsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConnectionChannelsResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryConnectionChannelsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryConnectionChannelsResponse} QueryConnectionChannelsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionChannelsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryConnectionChannelsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.channels && message.channels.length)) - message.channels = []; - message.channels.push($root.ibc.core.channel.v1.IdentifiedChannel.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - case 3: - message.height = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConnectionChannelsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryConnectionChannelsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryConnectionChannelsResponse} QueryConnectionChannelsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionChannelsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConnectionChannelsResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryConnectionChannelsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConnectionChannelsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.channels != null && message.hasOwnProperty("channels")) { - if (!Array.isArray(message.channels)) - return "channels: array expected"; - for (let i = 0; i < message.channels.length; ++i) { - let error = $root.ibc.core.channel.v1.IdentifiedChannel.verify(message.channels[i]); - if (error) - return "channels." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - if (message.height != null && message.hasOwnProperty("height")) { - let error = $root.ibc.core.client.v1.Height.verify(message.height); - if (error) - return "height." + error; - } - return null; - }; - - /** - * Creates a QueryConnectionChannelsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryConnectionChannelsResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryConnectionChannelsResponse} QueryConnectionChannelsResponse - */ - QueryConnectionChannelsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryConnectionChannelsResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryConnectionChannelsResponse(); - if (object.channels) { - if (!Array.isArray(object.channels)) - throw TypeError(".ibc.core.channel.v1.QueryConnectionChannelsResponse.channels: array expected"); - message.channels = []; - for (let i = 0; i < object.channels.length; ++i) { - if (typeof object.channels[i] !== "object") - throw TypeError(".ibc.core.channel.v1.QueryConnectionChannelsResponse.channels: object expected"); - message.channels[i] = $root.ibc.core.channel.v1.IdentifiedChannel.fromObject(object.channels[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.channel.v1.QueryConnectionChannelsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - if (object.height != null) { - if (typeof object.height !== "object") - throw TypeError(".ibc.core.channel.v1.QueryConnectionChannelsResponse.height: object expected"); - message.height = $root.ibc.core.client.v1.Height.fromObject(object.height); - } - return message; - }; - - /** - * Creates a plain object from a QueryConnectionChannelsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryConnectionChannelsResponse - * @static - * @param {ibc.core.channel.v1.QueryConnectionChannelsResponse} message QueryConnectionChannelsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConnectionChannelsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.channels = []; - if (options.defaults) { - object.pagination = null; - object.height = null; - } - if (message.channels && message.channels.length) { - object.channels = []; - for (let j = 0; j < message.channels.length; ++j) - object.channels[j] = $root.ibc.core.channel.v1.IdentifiedChannel.toObject(message.channels[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - if (message.height != null && message.hasOwnProperty("height")) - object.height = $root.ibc.core.client.v1.Height.toObject(message.height, options); - return object; - }; - - /** - * Converts this QueryConnectionChannelsResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryConnectionChannelsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryConnectionChannelsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConnectionChannelsResponse; - })(v1.QueryConnectionChannelsResponse || {}); - - v1.QueryChannelClientStateRequest = (function(QueryChannelClientStateRequest) { - - /** - * Properties of a QueryChannelClientStateRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryChannelClientStateRequest - * @property {string|null} [portId] QueryChannelClientStateRequest portId - * @property {string|null} [channelId] QueryChannelClientStateRequest channelId - */ - - /** - * Constructs a new QueryChannelClientStateRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryChannelClientStateRequest. - * @implements IQueryChannelClientStateRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryChannelClientStateRequest=} [properties] Properties to set - */ - function QueryChannelClientStateRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryChannelClientStateRequest portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.QueryChannelClientStateRequest - * @instance - */ - QueryChannelClientStateRequest.prototype.portId = ""; - - /** - * QueryChannelClientStateRequest channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.QueryChannelClientStateRequest - * @instance - */ - QueryChannelClientStateRequest.prototype.channelId = ""; - - /** - * Creates a new QueryChannelClientStateRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryChannelClientStateRequest - * @static - * @param {ibc.core.channel.v1.IQueryChannelClientStateRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryChannelClientStateRequest} QueryChannelClientStateRequest instance - */ - QueryChannelClientStateRequest.create = function create(properties) { - return new QueryChannelClientStateRequest(properties); - }; - - /** - * Encodes the specified QueryChannelClientStateRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryChannelClientStateRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryChannelClientStateRequest - * @static - * @param {ibc.core.channel.v1.IQueryChannelClientStateRequest} message QueryChannelClientStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelClientStateRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - return writer; - }; - - /** - * Encodes the specified QueryChannelClientStateRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryChannelClientStateRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelClientStateRequest - * @static - * @param {ibc.core.channel.v1.IQueryChannelClientStateRequest} message QueryChannelClientStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelClientStateRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryChannelClientStateRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryChannelClientStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryChannelClientStateRequest} QueryChannelClientStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelClientStateRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryChannelClientStateRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryChannelClientStateRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelClientStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryChannelClientStateRequest} QueryChannelClientStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelClientStateRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryChannelClientStateRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryChannelClientStateRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryChannelClientStateRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - return null; - }; - - /** - * Creates a QueryChannelClientStateRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryChannelClientStateRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryChannelClientStateRequest} QueryChannelClientStateRequest - */ - QueryChannelClientStateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryChannelClientStateRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryChannelClientStateRequest(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - return message; - }; - - /** - * Creates a plain object from a QueryChannelClientStateRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryChannelClientStateRequest - * @static - * @param {ibc.core.channel.v1.QueryChannelClientStateRequest} message QueryChannelClientStateRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryChannelClientStateRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - return object; - }; - - /** - * Converts this QueryChannelClientStateRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryChannelClientStateRequest - * @instance - * @returns {Object.} JSON object - */ - QueryChannelClientStateRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryChannelClientStateRequest; - })(v1.QueryChannelClientStateRequest || {}); - - v1.QueryChannelClientStateResponse = (function(QueryChannelClientStateResponse) { - - /** - * Properties of a QueryChannelClientStateResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryChannelClientStateResponse - * @property {ibc.core.client.v1.IIdentifiedClientState|null} [identifiedClientState] QueryChannelClientStateResponse identifiedClientState - * @property {Uint8Array|null} [proof] QueryChannelClientStateResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryChannelClientStateResponse proofHeight - */ - - /** - * Constructs a new QueryChannelClientStateResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryChannelClientStateResponse. - * @implements IQueryChannelClientStateResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryChannelClientStateResponse=} [properties] Properties to set - */ - function QueryChannelClientStateResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryChannelClientStateResponse identifiedClientState. - * @member {ibc.core.client.v1.IIdentifiedClientState|null|undefined} identifiedClientState - * @memberof ibc.core.channel.v1.QueryChannelClientStateResponse - * @instance - */ - QueryChannelClientStateResponse.prototype.identifiedClientState = null; - - /** - * QueryChannelClientStateResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.channel.v1.QueryChannelClientStateResponse - * @instance - */ - QueryChannelClientStateResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryChannelClientStateResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.QueryChannelClientStateResponse - * @instance - */ - QueryChannelClientStateResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryChannelClientStateResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryChannelClientStateResponse - * @static - * @param {ibc.core.channel.v1.IQueryChannelClientStateResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryChannelClientStateResponse} QueryChannelClientStateResponse instance - */ - QueryChannelClientStateResponse.create = function create(properties) { - return new QueryChannelClientStateResponse(properties); - }; - - /** - * Encodes the specified QueryChannelClientStateResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryChannelClientStateResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryChannelClientStateResponse - * @static - * @param {ibc.core.channel.v1.IQueryChannelClientStateResponse} message QueryChannelClientStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelClientStateResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.identifiedClientState != null && Object.hasOwnProperty.call(message, "identifiedClientState")) - $root.ibc.core.client.v1.IdentifiedClientState.encode(message.identifiedClientState, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryChannelClientStateResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryChannelClientStateResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelClientStateResponse - * @static - * @param {ibc.core.channel.v1.IQueryChannelClientStateResponse} message QueryChannelClientStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelClientStateResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryChannelClientStateResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryChannelClientStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryChannelClientStateResponse} QueryChannelClientStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelClientStateResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryChannelClientStateResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.identifiedClientState = $root.ibc.core.client.v1.IdentifiedClientState.decode(reader, reader.uint32()); - break; - case 2: - message.proof = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryChannelClientStateResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelClientStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryChannelClientStateResponse} QueryChannelClientStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelClientStateResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryChannelClientStateResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryChannelClientStateResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryChannelClientStateResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.identifiedClientState != null && message.hasOwnProperty("identifiedClientState")) { - let error = $root.ibc.core.client.v1.IdentifiedClientState.verify(message.identifiedClientState); - if (error) - return "identifiedClientState." + error; - } - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryChannelClientStateResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryChannelClientStateResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryChannelClientStateResponse} QueryChannelClientStateResponse - */ - QueryChannelClientStateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryChannelClientStateResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryChannelClientStateResponse(); - if (object.identifiedClientState != null) { - if (typeof object.identifiedClientState !== "object") - throw TypeError(".ibc.core.channel.v1.QueryChannelClientStateResponse.identifiedClientState: object expected"); - message.identifiedClientState = $root.ibc.core.client.v1.IdentifiedClientState.fromObject(object.identifiedClientState); - } - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.QueryChannelClientStateResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryChannelClientStateResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryChannelClientStateResponse - * @static - * @param {ibc.core.channel.v1.QueryChannelClientStateResponse} message QueryChannelClientStateResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryChannelClientStateResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.identifiedClientState = null; - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.identifiedClientState != null && message.hasOwnProperty("identifiedClientState")) - object.identifiedClientState = $root.ibc.core.client.v1.IdentifiedClientState.toObject(message.identifiedClientState, options); - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryChannelClientStateResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryChannelClientStateResponse - * @instance - * @returns {Object.} JSON object - */ - QueryChannelClientStateResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryChannelClientStateResponse; - })(v1.QueryChannelClientStateResponse || {}); - - v1.QueryChannelConsensusStateRequest = (function(QueryChannelConsensusStateRequest) { - - /** - * Properties of a QueryChannelConsensusStateRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryChannelConsensusStateRequest - * @property {string|null} [portId] QueryChannelConsensusStateRequest portId - * @property {string|null} [channelId] QueryChannelConsensusStateRequest channelId - * @property {number|Long|null} [revisionNumber] QueryChannelConsensusStateRequest revisionNumber - * @property {number|Long|null} [revisionHeight] QueryChannelConsensusStateRequest revisionHeight - */ - - /** - * Constructs a new QueryChannelConsensusStateRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryChannelConsensusStateRequest. - * @implements IQueryChannelConsensusStateRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryChannelConsensusStateRequest=} [properties] Properties to set - */ - function QueryChannelConsensusStateRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryChannelConsensusStateRequest portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @instance - */ - QueryChannelConsensusStateRequest.prototype.portId = ""; - - /** - * QueryChannelConsensusStateRequest channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @instance - */ - QueryChannelConsensusStateRequest.prototype.channelId = ""; - - /** - * QueryChannelConsensusStateRequest revisionNumber. - * @member {number|Long} revisionNumber - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @instance - */ - QueryChannelConsensusStateRequest.prototype.revisionNumber = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * QueryChannelConsensusStateRequest revisionHeight. - * @member {number|Long} revisionHeight - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @instance - */ - QueryChannelConsensusStateRequest.prototype.revisionHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new QueryChannelConsensusStateRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @static - * @param {ibc.core.channel.v1.IQueryChannelConsensusStateRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryChannelConsensusStateRequest} QueryChannelConsensusStateRequest instance - */ - QueryChannelConsensusStateRequest.create = function create(properties) { - return new QueryChannelConsensusStateRequest(properties); - }; - - /** - * Encodes the specified QueryChannelConsensusStateRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryChannelConsensusStateRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @static - * @param {ibc.core.channel.v1.IQueryChannelConsensusStateRequest} message QueryChannelConsensusStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelConsensusStateRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.revisionNumber != null && Object.hasOwnProperty.call(message, "revisionNumber")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.revisionNumber); - if (message.revisionHeight != null && Object.hasOwnProperty.call(message, "revisionHeight")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.revisionHeight); - return writer; - }; - - /** - * Encodes the specified QueryChannelConsensusStateRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryChannelConsensusStateRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @static - * @param {ibc.core.channel.v1.IQueryChannelConsensusStateRequest} message QueryChannelConsensusStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelConsensusStateRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryChannelConsensusStateRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryChannelConsensusStateRequest} QueryChannelConsensusStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelConsensusStateRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryChannelConsensusStateRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - message.revisionNumber = reader.uint64(); - break; - case 4: - message.revisionHeight = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryChannelConsensusStateRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryChannelConsensusStateRequest} QueryChannelConsensusStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelConsensusStateRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryChannelConsensusStateRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryChannelConsensusStateRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.revisionNumber != null && message.hasOwnProperty("revisionNumber")) - if (!$util.isInteger(message.revisionNumber) && !(message.revisionNumber && $util.isInteger(message.revisionNumber.low) && $util.isInteger(message.revisionNumber.high))) - return "revisionNumber: integer|Long expected"; - if (message.revisionHeight != null && message.hasOwnProperty("revisionHeight")) - if (!$util.isInteger(message.revisionHeight) && !(message.revisionHeight && $util.isInteger(message.revisionHeight.low) && $util.isInteger(message.revisionHeight.high))) - return "revisionHeight: integer|Long expected"; - return null; - }; - - /** - * Creates a QueryChannelConsensusStateRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryChannelConsensusStateRequest} QueryChannelConsensusStateRequest - */ - QueryChannelConsensusStateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryChannelConsensusStateRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryChannelConsensusStateRequest(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.revisionNumber != null) - if ($util.Long) - (message.revisionNumber = $util.Long.fromValue(object.revisionNumber)).unsigned = true; - else if (typeof object.revisionNumber === "string") - message.revisionNumber = parseInt(object.revisionNumber, 10); - else if (typeof object.revisionNumber === "number") - message.revisionNumber = object.revisionNumber; - else if (typeof object.revisionNumber === "object") - message.revisionNumber = new $util.LongBits(object.revisionNumber.low >>> 0, object.revisionNumber.high >>> 0).toNumber(true); - if (object.revisionHeight != null) - if ($util.Long) - (message.revisionHeight = $util.Long.fromValue(object.revisionHeight)).unsigned = true; - else if (typeof object.revisionHeight === "string") - message.revisionHeight = parseInt(object.revisionHeight, 10); - else if (typeof object.revisionHeight === "number") - message.revisionHeight = object.revisionHeight; - else if (typeof object.revisionHeight === "object") - message.revisionHeight = new $util.LongBits(object.revisionHeight.low >>> 0, object.revisionHeight.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a QueryChannelConsensusStateRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @static - * @param {ibc.core.channel.v1.QueryChannelConsensusStateRequest} message QueryChannelConsensusStateRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryChannelConsensusStateRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.revisionNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.revisionNumber = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.revisionHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.revisionHeight = options.longs === String ? "0" : 0; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.revisionNumber != null && message.hasOwnProperty("revisionNumber")) - if (typeof message.revisionNumber === "number") - object.revisionNumber = options.longs === String ? String(message.revisionNumber) : message.revisionNumber; - else - object.revisionNumber = options.longs === String ? $util.Long.prototype.toString.call(message.revisionNumber) : options.longs === Number ? new $util.LongBits(message.revisionNumber.low >>> 0, message.revisionNumber.high >>> 0).toNumber(true) : message.revisionNumber; - if (message.revisionHeight != null && message.hasOwnProperty("revisionHeight")) - if (typeof message.revisionHeight === "number") - object.revisionHeight = options.longs === String ? String(message.revisionHeight) : message.revisionHeight; - else - object.revisionHeight = options.longs === String ? $util.Long.prototype.toString.call(message.revisionHeight) : options.longs === Number ? new $util.LongBits(message.revisionHeight.low >>> 0, message.revisionHeight.high >>> 0).toNumber(true) : message.revisionHeight; - return object; - }; - - /** - * Converts this QueryChannelConsensusStateRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateRequest - * @instance - * @returns {Object.} JSON object - */ - QueryChannelConsensusStateRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryChannelConsensusStateRequest; - })(v1.QueryChannelConsensusStateRequest || {}); - - v1.QueryChannelConsensusStateResponse = (function(QueryChannelConsensusStateResponse) { - - /** - * Properties of a QueryChannelConsensusStateResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryChannelConsensusStateResponse - * @property {google.protobuf.IAny|null} [consensusState] QueryChannelConsensusStateResponse consensusState - * @property {string|null} [clientId] QueryChannelConsensusStateResponse clientId - * @property {Uint8Array|null} [proof] QueryChannelConsensusStateResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryChannelConsensusStateResponse proofHeight - */ - - /** - * Constructs a new QueryChannelConsensusStateResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryChannelConsensusStateResponse. - * @implements IQueryChannelConsensusStateResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryChannelConsensusStateResponse=} [properties] Properties to set - */ - function QueryChannelConsensusStateResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryChannelConsensusStateResponse consensusState. - * @member {google.protobuf.IAny|null|undefined} consensusState - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @instance - */ - QueryChannelConsensusStateResponse.prototype.consensusState = null; - - /** - * QueryChannelConsensusStateResponse clientId. - * @member {string} clientId - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @instance - */ - QueryChannelConsensusStateResponse.prototype.clientId = ""; - - /** - * QueryChannelConsensusStateResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @instance - */ - QueryChannelConsensusStateResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryChannelConsensusStateResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @instance - */ - QueryChannelConsensusStateResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryChannelConsensusStateResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @static - * @param {ibc.core.channel.v1.IQueryChannelConsensusStateResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryChannelConsensusStateResponse} QueryChannelConsensusStateResponse instance - */ - QueryChannelConsensusStateResponse.create = function create(properties) { - return new QueryChannelConsensusStateResponse(properties); - }; - - /** - * Encodes the specified QueryChannelConsensusStateResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryChannelConsensusStateResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @static - * @param {ibc.core.channel.v1.IQueryChannelConsensusStateResponse} message QueryChannelConsensusStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelConsensusStateResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.consensusState != null && Object.hasOwnProperty.call(message, "consensusState")) - $root.google.protobuf.Any.encode(message.consensusState, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.clientId); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryChannelConsensusStateResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryChannelConsensusStateResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @static - * @param {ibc.core.channel.v1.IQueryChannelConsensusStateResponse} message QueryChannelConsensusStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryChannelConsensusStateResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryChannelConsensusStateResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryChannelConsensusStateResponse} QueryChannelConsensusStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelConsensusStateResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryChannelConsensusStateResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.consensusState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 2: - message.clientId = reader.string(); - break; - case 3: - message.proof = reader.bytes(); - break; - case 4: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryChannelConsensusStateResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryChannelConsensusStateResponse} QueryChannelConsensusStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryChannelConsensusStateResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryChannelConsensusStateResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryChannelConsensusStateResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.consensusState != null && message.hasOwnProperty("consensusState")) { - let error = $root.google.protobuf.Any.verify(message.consensusState); - if (error) - return "consensusState." + error; - } - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryChannelConsensusStateResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryChannelConsensusStateResponse} QueryChannelConsensusStateResponse - */ - QueryChannelConsensusStateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryChannelConsensusStateResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryChannelConsensusStateResponse(); - if (object.consensusState != null) { - if (typeof object.consensusState !== "object") - throw TypeError(".ibc.core.channel.v1.QueryChannelConsensusStateResponse.consensusState: object expected"); - message.consensusState = $root.google.protobuf.Any.fromObject(object.consensusState); - } - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.QueryChannelConsensusStateResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryChannelConsensusStateResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @static - * @param {ibc.core.channel.v1.QueryChannelConsensusStateResponse} message QueryChannelConsensusStateResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryChannelConsensusStateResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.consensusState = null; - object.clientId = ""; - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.consensusState != null && message.hasOwnProperty("consensusState")) - object.consensusState = $root.google.protobuf.Any.toObject(message.consensusState, options); - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryChannelConsensusStateResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryChannelConsensusStateResponse - * @instance - * @returns {Object.} JSON object - */ - QueryChannelConsensusStateResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryChannelConsensusStateResponse; - })(v1.QueryChannelConsensusStateResponse || {}); - - v1.QueryPacketCommitmentRequest = (function(QueryPacketCommitmentRequest) { - - /** - * Properties of a QueryPacketCommitmentRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryPacketCommitmentRequest - * @property {string|null} [portId] QueryPacketCommitmentRequest portId - * @property {string|null} [channelId] QueryPacketCommitmentRequest channelId - * @property {number|Long|null} [sequence] QueryPacketCommitmentRequest sequence - */ - - /** - * Constructs a new QueryPacketCommitmentRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryPacketCommitmentRequest. - * @implements IQueryPacketCommitmentRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryPacketCommitmentRequest=} [properties] Properties to set - */ - function QueryPacketCommitmentRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryPacketCommitmentRequest portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.QueryPacketCommitmentRequest - * @instance - */ - QueryPacketCommitmentRequest.prototype.portId = ""; - - /** - * QueryPacketCommitmentRequest channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.QueryPacketCommitmentRequest - * @instance - */ - QueryPacketCommitmentRequest.prototype.channelId = ""; - - /** - * QueryPacketCommitmentRequest sequence. - * @member {number|Long} sequence - * @memberof ibc.core.channel.v1.QueryPacketCommitmentRequest - * @instance - */ - QueryPacketCommitmentRequest.prototype.sequence = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new QueryPacketCommitmentRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryPacketCommitmentRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketCommitmentRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryPacketCommitmentRequest} QueryPacketCommitmentRequest instance - */ - QueryPacketCommitmentRequest.create = function create(properties) { - return new QueryPacketCommitmentRequest(properties); - }; - - /** - * Encodes the specified QueryPacketCommitmentRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryPacketCommitmentRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryPacketCommitmentRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketCommitmentRequest} message QueryPacketCommitmentRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketCommitmentRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.sequence != null && Object.hasOwnProperty.call(message, "sequence")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.sequence); - return writer; - }; - - /** - * Encodes the specified QueryPacketCommitmentRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryPacketCommitmentRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketCommitmentRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketCommitmentRequest} message QueryPacketCommitmentRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketCommitmentRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryPacketCommitmentRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryPacketCommitmentRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryPacketCommitmentRequest} QueryPacketCommitmentRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketCommitmentRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryPacketCommitmentRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - message.sequence = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryPacketCommitmentRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketCommitmentRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryPacketCommitmentRequest} QueryPacketCommitmentRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketCommitmentRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryPacketCommitmentRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryPacketCommitmentRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryPacketCommitmentRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (!$util.isInteger(message.sequence) && !(message.sequence && $util.isInteger(message.sequence.low) && $util.isInteger(message.sequence.high))) - return "sequence: integer|Long expected"; - return null; - }; - - /** - * Creates a QueryPacketCommitmentRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryPacketCommitmentRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryPacketCommitmentRequest} QueryPacketCommitmentRequest - */ - QueryPacketCommitmentRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryPacketCommitmentRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryPacketCommitmentRequest(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.sequence != null) - if ($util.Long) - (message.sequence = $util.Long.fromValue(object.sequence)).unsigned = true; - else if (typeof object.sequence === "string") - message.sequence = parseInt(object.sequence, 10); - else if (typeof object.sequence === "number") - message.sequence = object.sequence; - else if (typeof object.sequence === "object") - message.sequence = new $util.LongBits(object.sequence.low >>> 0, object.sequence.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a QueryPacketCommitmentRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryPacketCommitmentRequest - * @static - * @param {ibc.core.channel.v1.QueryPacketCommitmentRequest} message QueryPacketCommitmentRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryPacketCommitmentRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.sequence = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.sequence = options.longs === String ? "0" : 0; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (typeof message.sequence === "number") - object.sequence = options.longs === String ? String(message.sequence) : message.sequence; - else - object.sequence = options.longs === String ? $util.Long.prototype.toString.call(message.sequence) : options.longs === Number ? new $util.LongBits(message.sequence.low >>> 0, message.sequence.high >>> 0).toNumber(true) : message.sequence; - return object; - }; - - /** - * Converts this QueryPacketCommitmentRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryPacketCommitmentRequest - * @instance - * @returns {Object.} JSON object - */ - QueryPacketCommitmentRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryPacketCommitmentRequest; - })(v1.QueryPacketCommitmentRequest || {}); - - v1.QueryPacketCommitmentResponse = (function(QueryPacketCommitmentResponse) { - - /** - * Properties of a QueryPacketCommitmentResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryPacketCommitmentResponse - * @property {Uint8Array|null} [commitment] QueryPacketCommitmentResponse commitment - * @property {Uint8Array|null} [proof] QueryPacketCommitmentResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryPacketCommitmentResponse proofHeight - */ - - /** - * Constructs a new QueryPacketCommitmentResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryPacketCommitmentResponse. - * @implements IQueryPacketCommitmentResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryPacketCommitmentResponse=} [properties] Properties to set - */ - function QueryPacketCommitmentResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryPacketCommitmentResponse commitment. - * @member {Uint8Array} commitment - * @memberof ibc.core.channel.v1.QueryPacketCommitmentResponse - * @instance - */ - QueryPacketCommitmentResponse.prototype.commitment = $util.newBuffer([]); - - /** - * QueryPacketCommitmentResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.channel.v1.QueryPacketCommitmentResponse - * @instance - */ - QueryPacketCommitmentResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryPacketCommitmentResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.QueryPacketCommitmentResponse - * @instance - */ - QueryPacketCommitmentResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryPacketCommitmentResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryPacketCommitmentResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketCommitmentResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryPacketCommitmentResponse} QueryPacketCommitmentResponse instance - */ - QueryPacketCommitmentResponse.create = function create(properties) { - return new QueryPacketCommitmentResponse(properties); - }; - - /** - * Encodes the specified QueryPacketCommitmentResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryPacketCommitmentResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryPacketCommitmentResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketCommitmentResponse} message QueryPacketCommitmentResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketCommitmentResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.commitment != null && Object.hasOwnProperty.call(message, "commitment")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.commitment); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryPacketCommitmentResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryPacketCommitmentResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketCommitmentResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketCommitmentResponse} message QueryPacketCommitmentResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketCommitmentResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryPacketCommitmentResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryPacketCommitmentResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryPacketCommitmentResponse} QueryPacketCommitmentResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketCommitmentResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryPacketCommitmentResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.commitment = reader.bytes(); - break; - case 2: - message.proof = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryPacketCommitmentResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketCommitmentResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryPacketCommitmentResponse} QueryPacketCommitmentResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketCommitmentResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryPacketCommitmentResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryPacketCommitmentResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryPacketCommitmentResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.commitment != null && message.hasOwnProperty("commitment")) - if (!(message.commitment && typeof message.commitment.length === "number" || $util.isString(message.commitment))) - return "commitment: buffer expected"; - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryPacketCommitmentResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryPacketCommitmentResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryPacketCommitmentResponse} QueryPacketCommitmentResponse - */ - QueryPacketCommitmentResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryPacketCommitmentResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryPacketCommitmentResponse(); - if (object.commitment != null) - if (typeof object.commitment === "string") - $util.base64.decode(object.commitment, message.commitment = $util.newBuffer($util.base64.length(object.commitment)), 0); - else if (object.commitment.length) - message.commitment = object.commitment; - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.QueryPacketCommitmentResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryPacketCommitmentResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryPacketCommitmentResponse - * @static - * @param {ibc.core.channel.v1.QueryPacketCommitmentResponse} message QueryPacketCommitmentResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryPacketCommitmentResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.commitment = ""; - else { - object.commitment = []; - if (options.bytes !== Array) - object.commitment = $util.newBuffer(object.commitment); - } - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.commitment != null && message.hasOwnProperty("commitment")) - object.commitment = options.bytes === String ? $util.base64.encode(message.commitment, 0, message.commitment.length) : options.bytes === Array ? Array.prototype.slice.call(message.commitment) : message.commitment; - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryPacketCommitmentResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryPacketCommitmentResponse - * @instance - * @returns {Object.} JSON object - */ - QueryPacketCommitmentResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryPacketCommitmentResponse; - })(v1.QueryPacketCommitmentResponse || {}); - - v1.QueryPacketCommitmentsRequest = (function(QueryPacketCommitmentsRequest) { - - /** - * Properties of a QueryPacketCommitmentsRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryPacketCommitmentsRequest - * @property {string|null} [portId] QueryPacketCommitmentsRequest portId - * @property {string|null} [channelId] QueryPacketCommitmentsRequest channelId - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryPacketCommitmentsRequest pagination - */ - - /** - * Constructs a new QueryPacketCommitmentsRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryPacketCommitmentsRequest. - * @implements IQueryPacketCommitmentsRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryPacketCommitmentsRequest=} [properties] Properties to set - */ - function QueryPacketCommitmentsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryPacketCommitmentsRequest portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsRequest - * @instance - */ - QueryPacketCommitmentsRequest.prototype.portId = ""; - - /** - * QueryPacketCommitmentsRequest channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsRequest - * @instance - */ - QueryPacketCommitmentsRequest.prototype.channelId = ""; - - /** - * QueryPacketCommitmentsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsRequest - * @instance - */ - QueryPacketCommitmentsRequest.prototype.pagination = null; - - /** - * Creates a new QueryPacketCommitmentsRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketCommitmentsRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryPacketCommitmentsRequest} QueryPacketCommitmentsRequest instance - */ - QueryPacketCommitmentsRequest.create = function create(properties) { - return new QueryPacketCommitmentsRequest(properties); - }; - - /** - * Encodes the specified QueryPacketCommitmentsRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryPacketCommitmentsRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketCommitmentsRequest} message QueryPacketCommitmentsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketCommitmentsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryPacketCommitmentsRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryPacketCommitmentsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketCommitmentsRequest} message QueryPacketCommitmentsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketCommitmentsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryPacketCommitmentsRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryPacketCommitmentsRequest} QueryPacketCommitmentsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketCommitmentsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryPacketCommitmentsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryPacketCommitmentsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryPacketCommitmentsRequest} QueryPacketCommitmentsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketCommitmentsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryPacketCommitmentsRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryPacketCommitmentsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryPacketCommitmentsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryPacketCommitmentsRequest} QueryPacketCommitmentsRequest - */ - QueryPacketCommitmentsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryPacketCommitmentsRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryPacketCommitmentsRequest(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.channel.v1.QueryPacketCommitmentsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryPacketCommitmentsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsRequest - * @static - * @param {ibc.core.channel.v1.QueryPacketCommitmentsRequest} message QueryPacketCommitmentsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryPacketCommitmentsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - object.pagination = null; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryPacketCommitmentsRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryPacketCommitmentsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryPacketCommitmentsRequest; - })(v1.QueryPacketCommitmentsRequest || {}); - - v1.QueryPacketCommitmentsResponse = (function(QueryPacketCommitmentsResponse) { - - /** - * Properties of a QueryPacketCommitmentsResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryPacketCommitmentsResponse - * @property {Array.|null} [commitments] QueryPacketCommitmentsResponse commitments - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryPacketCommitmentsResponse pagination - * @property {ibc.core.client.v1.IHeight|null} [height] QueryPacketCommitmentsResponse height - */ - - /** - * Constructs a new QueryPacketCommitmentsResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryPacketCommitmentsResponse. - * @implements IQueryPacketCommitmentsResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryPacketCommitmentsResponse=} [properties] Properties to set - */ - function QueryPacketCommitmentsResponse(properties) { - this.commitments = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryPacketCommitmentsResponse commitments. - * @member {Array.} commitments - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsResponse - * @instance - */ - QueryPacketCommitmentsResponse.prototype.commitments = $util.emptyArray; - - /** - * QueryPacketCommitmentsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsResponse - * @instance - */ - QueryPacketCommitmentsResponse.prototype.pagination = null; - - /** - * QueryPacketCommitmentsResponse height. - * @member {ibc.core.client.v1.IHeight|null|undefined} height - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsResponse - * @instance - */ - QueryPacketCommitmentsResponse.prototype.height = null; - - /** - * Creates a new QueryPacketCommitmentsResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketCommitmentsResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryPacketCommitmentsResponse} QueryPacketCommitmentsResponse instance - */ - QueryPacketCommitmentsResponse.create = function create(properties) { - return new QueryPacketCommitmentsResponse(properties); - }; - - /** - * Encodes the specified QueryPacketCommitmentsResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryPacketCommitmentsResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketCommitmentsResponse} message QueryPacketCommitmentsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketCommitmentsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.commitments != null && message.commitments.length) - for (let i = 0; i < message.commitments.length; ++i) - $root.ibc.core.channel.v1.PacketState.encode(message.commitments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - $root.ibc.core.client.v1.Height.encode(message.height, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryPacketCommitmentsResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryPacketCommitmentsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketCommitmentsResponse} message QueryPacketCommitmentsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketCommitmentsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryPacketCommitmentsResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryPacketCommitmentsResponse} QueryPacketCommitmentsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketCommitmentsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryPacketCommitmentsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.commitments && message.commitments.length)) - message.commitments = []; - message.commitments.push($root.ibc.core.channel.v1.PacketState.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - case 3: - message.height = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryPacketCommitmentsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryPacketCommitmentsResponse} QueryPacketCommitmentsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketCommitmentsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryPacketCommitmentsResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryPacketCommitmentsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.commitments != null && message.hasOwnProperty("commitments")) { - if (!Array.isArray(message.commitments)) - return "commitments: array expected"; - for (let i = 0; i < message.commitments.length; ++i) { - let error = $root.ibc.core.channel.v1.PacketState.verify(message.commitments[i]); - if (error) - return "commitments." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - if (message.height != null && message.hasOwnProperty("height")) { - let error = $root.ibc.core.client.v1.Height.verify(message.height); - if (error) - return "height." + error; - } - return null; - }; - - /** - * Creates a QueryPacketCommitmentsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryPacketCommitmentsResponse} QueryPacketCommitmentsResponse - */ - QueryPacketCommitmentsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryPacketCommitmentsResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryPacketCommitmentsResponse(); - if (object.commitments) { - if (!Array.isArray(object.commitments)) - throw TypeError(".ibc.core.channel.v1.QueryPacketCommitmentsResponse.commitments: array expected"); - message.commitments = []; - for (let i = 0; i < object.commitments.length; ++i) { - if (typeof object.commitments[i] !== "object") - throw TypeError(".ibc.core.channel.v1.QueryPacketCommitmentsResponse.commitments: object expected"); - message.commitments[i] = $root.ibc.core.channel.v1.PacketState.fromObject(object.commitments[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.channel.v1.QueryPacketCommitmentsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - if (object.height != null) { - if (typeof object.height !== "object") - throw TypeError(".ibc.core.channel.v1.QueryPacketCommitmentsResponse.height: object expected"); - message.height = $root.ibc.core.client.v1.Height.fromObject(object.height); - } - return message; - }; - - /** - * Creates a plain object from a QueryPacketCommitmentsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsResponse - * @static - * @param {ibc.core.channel.v1.QueryPacketCommitmentsResponse} message QueryPacketCommitmentsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryPacketCommitmentsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.commitments = []; - if (options.defaults) { - object.pagination = null; - object.height = null; - } - if (message.commitments && message.commitments.length) { - object.commitments = []; - for (let j = 0; j < message.commitments.length; ++j) - object.commitments[j] = $root.ibc.core.channel.v1.PacketState.toObject(message.commitments[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - if (message.height != null && message.hasOwnProperty("height")) - object.height = $root.ibc.core.client.v1.Height.toObject(message.height, options); - return object; - }; - - /** - * Converts this QueryPacketCommitmentsResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryPacketCommitmentsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryPacketCommitmentsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryPacketCommitmentsResponse; - })(v1.QueryPacketCommitmentsResponse || {}); - - v1.QueryPacketReceiptRequest = (function(QueryPacketReceiptRequest) { - - /** - * Properties of a QueryPacketReceiptRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryPacketReceiptRequest - * @property {string|null} [portId] QueryPacketReceiptRequest portId - * @property {string|null} [channelId] QueryPacketReceiptRequest channelId - * @property {number|Long|null} [sequence] QueryPacketReceiptRequest sequence - */ - - /** - * Constructs a new QueryPacketReceiptRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryPacketReceiptRequest. - * @implements IQueryPacketReceiptRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryPacketReceiptRequest=} [properties] Properties to set - */ - function QueryPacketReceiptRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryPacketReceiptRequest portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.QueryPacketReceiptRequest - * @instance - */ - QueryPacketReceiptRequest.prototype.portId = ""; - - /** - * QueryPacketReceiptRequest channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.QueryPacketReceiptRequest - * @instance - */ - QueryPacketReceiptRequest.prototype.channelId = ""; - - /** - * QueryPacketReceiptRequest sequence. - * @member {number|Long} sequence - * @memberof ibc.core.channel.v1.QueryPacketReceiptRequest - * @instance - */ - QueryPacketReceiptRequest.prototype.sequence = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new QueryPacketReceiptRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryPacketReceiptRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketReceiptRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryPacketReceiptRequest} QueryPacketReceiptRequest instance - */ - QueryPacketReceiptRequest.create = function create(properties) { - return new QueryPacketReceiptRequest(properties); - }; - - /** - * Encodes the specified QueryPacketReceiptRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryPacketReceiptRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryPacketReceiptRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketReceiptRequest} message QueryPacketReceiptRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketReceiptRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.sequence != null && Object.hasOwnProperty.call(message, "sequence")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.sequence); - return writer; - }; - - /** - * Encodes the specified QueryPacketReceiptRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryPacketReceiptRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketReceiptRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketReceiptRequest} message QueryPacketReceiptRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketReceiptRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryPacketReceiptRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryPacketReceiptRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryPacketReceiptRequest} QueryPacketReceiptRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketReceiptRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryPacketReceiptRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - message.sequence = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryPacketReceiptRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketReceiptRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryPacketReceiptRequest} QueryPacketReceiptRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketReceiptRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryPacketReceiptRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryPacketReceiptRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryPacketReceiptRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (!$util.isInteger(message.sequence) && !(message.sequence && $util.isInteger(message.sequence.low) && $util.isInteger(message.sequence.high))) - return "sequence: integer|Long expected"; - return null; - }; - - /** - * Creates a QueryPacketReceiptRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryPacketReceiptRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryPacketReceiptRequest} QueryPacketReceiptRequest - */ - QueryPacketReceiptRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryPacketReceiptRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryPacketReceiptRequest(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.sequence != null) - if ($util.Long) - (message.sequence = $util.Long.fromValue(object.sequence)).unsigned = true; - else if (typeof object.sequence === "string") - message.sequence = parseInt(object.sequence, 10); - else if (typeof object.sequence === "number") - message.sequence = object.sequence; - else if (typeof object.sequence === "object") - message.sequence = new $util.LongBits(object.sequence.low >>> 0, object.sequence.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a QueryPacketReceiptRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryPacketReceiptRequest - * @static - * @param {ibc.core.channel.v1.QueryPacketReceiptRequest} message QueryPacketReceiptRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryPacketReceiptRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.sequence = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.sequence = options.longs === String ? "0" : 0; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (typeof message.sequence === "number") - object.sequence = options.longs === String ? String(message.sequence) : message.sequence; - else - object.sequence = options.longs === String ? $util.Long.prototype.toString.call(message.sequence) : options.longs === Number ? new $util.LongBits(message.sequence.low >>> 0, message.sequence.high >>> 0).toNumber(true) : message.sequence; - return object; - }; - - /** - * Converts this QueryPacketReceiptRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryPacketReceiptRequest - * @instance - * @returns {Object.} JSON object - */ - QueryPacketReceiptRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryPacketReceiptRequest; - })(v1.QueryPacketReceiptRequest || {}); - - v1.QueryPacketReceiptResponse = (function(QueryPacketReceiptResponse) { - - /** - * Properties of a QueryPacketReceiptResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryPacketReceiptResponse - * @property {boolean|null} [received] QueryPacketReceiptResponse received - * @property {Uint8Array|null} [proof] QueryPacketReceiptResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryPacketReceiptResponse proofHeight - */ - - /** - * Constructs a new QueryPacketReceiptResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryPacketReceiptResponse. - * @implements IQueryPacketReceiptResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryPacketReceiptResponse=} [properties] Properties to set - */ - function QueryPacketReceiptResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryPacketReceiptResponse received. - * @member {boolean} received - * @memberof ibc.core.channel.v1.QueryPacketReceiptResponse - * @instance - */ - QueryPacketReceiptResponse.prototype.received = false; - - /** - * QueryPacketReceiptResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.channel.v1.QueryPacketReceiptResponse - * @instance - */ - QueryPacketReceiptResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryPacketReceiptResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.QueryPacketReceiptResponse - * @instance - */ - QueryPacketReceiptResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryPacketReceiptResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryPacketReceiptResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketReceiptResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryPacketReceiptResponse} QueryPacketReceiptResponse instance - */ - QueryPacketReceiptResponse.create = function create(properties) { - return new QueryPacketReceiptResponse(properties); - }; - - /** - * Encodes the specified QueryPacketReceiptResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryPacketReceiptResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryPacketReceiptResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketReceiptResponse} message QueryPacketReceiptResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketReceiptResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.received != null && Object.hasOwnProperty.call(message, "received")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.received); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryPacketReceiptResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryPacketReceiptResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketReceiptResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketReceiptResponse} message QueryPacketReceiptResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketReceiptResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryPacketReceiptResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryPacketReceiptResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryPacketReceiptResponse} QueryPacketReceiptResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketReceiptResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryPacketReceiptResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 2: - message.received = reader.bool(); - break; - case 3: - message.proof = reader.bytes(); - break; - case 4: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryPacketReceiptResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketReceiptResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryPacketReceiptResponse} QueryPacketReceiptResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketReceiptResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryPacketReceiptResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryPacketReceiptResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryPacketReceiptResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.received != null && message.hasOwnProperty("received")) - if (typeof message.received !== "boolean") - return "received: boolean expected"; - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryPacketReceiptResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryPacketReceiptResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryPacketReceiptResponse} QueryPacketReceiptResponse - */ - QueryPacketReceiptResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryPacketReceiptResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryPacketReceiptResponse(); - if (object.received != null) - message.received = Boolean(object.received); - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.QueryPacketReceiptResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryPacketReceiptResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryPacketReceiptResponse - * @static - * @param {ibc.core.channel.v1.QueryPacketReceiptResponse} message QueryPacketReceiptResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryPacketReceiptResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.received = false; - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.received != null && message.hasOwnProperty("received")) - object.received = message.received; - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryPacketReceiptResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryPacketReceiptResponse - * @instance - * @returns {Object.} JSON object - */ - QueryPacketReceiptResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryPacketReceiptResponse; - })(v1.QueryPacketReceiptResponse || {}); - - v1.QueryPacketAcknowledgementRequest = (function(QueryPacketAcknowledgementRequest) { - - /** - * Properties of a QueryPacketAcknowledgementRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryPacketAcknowledgementRequest - * @property {string|null} [portId] QueryPacketAcknowledgementRequest portId - * @property {string|null} [channelId] QueryPacketAcknowledgementRequest channelId - * @property {number|Long|null} [sequence] QueryPacketAcknowledgementRequest sequence - */ - - /** - * Constructs a new QueryPacketAcknowledgementRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryPacketAcknowledgementRequest. - * @implements IQueryPacketAcknowledgementRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementRequest=} [properties] Properties to set - */ - function QueryPacketAcknowledgementRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryPacketAcknowledgementRequest portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementRequest - * @instance - */ - QueryPacketAcknowledgementRequest.prototype.portId = ""; - - /** - * QueryPacketAcknowledgementRequest channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementRequest - * @instance - */ - QueryPacketAcknowledgementRequest.prototype.channelId = ""; - - /** - * QueryPacketAcknowledgementRequest sequence. - * @member {number|Long} sequence - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementRequest - * @instance - */ - QueryPacketAcknowledgementRequest.prototype.sequence = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new QueryPacketAcknowledgementRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementRequest} QueryPacketAcknowledgementRequest instance - */ - QueryPacketAcknowledgementRequest.create = function create(properties) { - return new QueryPacketAcknowledgementRequest(properties); - }; - - /** - * Encodes the specified QueryPacketAcknowledgementRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryPacketAcknowledgementRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementRequest} message QueryPacketAcknowledgementRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketAcknowledgementRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.sequence != null && Object.hasOwnProperty.call(message, "sequence")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.sequence); - return writer; - }; - - /** - * Encodes the specified QueryPacketAcknowledgementRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryPacketAcknowledgementRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementRequest} message QueryPacketAcknowledgementRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketAcknowledgementRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryPacketAcknowledgementRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementRequest} QueryPacketAcknowledgementRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketAcknowledgementRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryPacketAcknowledgementRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - message.sequence = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryPacketAcknowledgementRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementRequest} QueryPacketAcknowledgementRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketAcknowledgementRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryPacketAcknowledgementRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryPacketAcknowledgementRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (!$util.isInteger(message.sequence) && !(message.sequence && $util.isInteger(message.sequence.low) && $util.isInteger(message.sequence.high))) - return "sequence: integer|Long expected"; - return null; - }; - - /** - * Creates a QueryPacketAcknowledgementRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementRequest} QueryPacketAcknowledgementRequest - */ - QueryPacketAcknowledgementRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryPacketAcknowledgementRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryPacketAcknowledgementRequest(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.sequence != null) - if ($util.Long) - (message.sequence = $util.Long.fromValue(object.sequence)).unsigned = true; - else if (typeof object.sequence === "string") - message.sequence = parseInt(object.sequence, 10); - else if (typeof object.sequence === "number") - message.sequence = object.sequence; - else if (typeof object.sequence === "object") - message.sequence = new $util.LongBits(object.sequence.low >>> 0, object.sequence.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a QueryPacketAcknowledgementRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementRequest - * @static - * @param {ibc.core.channel.v1.QueryPacketAcknowledgementRequest} message QueryPacketAcknowledgementRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryPacketAcknowledgementRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.sequence = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.sequence = options.longs === String ? "0" : 0; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.sequence != null && message.hasOwnProperty("sequence")) - if (typeof message.sequence === "number") - object.sequence = options.longs === String ? String(message.sequence) : message.sequence; - else - object.sequence = options.longs === String ? $util.Long.prototype.toString.call(message.sequence) : options.longs === Number ? new $util.LongBits(message.sequence.low >>> 0, message.sequence.high >>> 0).toNumber(true) : message.sequence; - return object; - }; - - /** - * Converts this QueryPacketAcknowledgementRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementRequest - * @instance - * @returns {Object.} JSON object - */ - QueryPacketAcknowledgementRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryPacketAcknowledgementRequest; - })(v1.QueryPacketAcknowledgementRequest || {}); - - v1.QueryPacketAcknowledgementResponse = (function(QueryPacketAcknowledgementResponse) { - - /** - * Properties of a QueryPacketAcknowledgementResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryPacketAcknowledgementResponse - * @property {Uint8Array|null} [acknowledgement] QueryPacketAcknowledgementResponse acknowledgement - * @property {Uint8Array|null} [proof] QueryPacketAcknowledgementResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryPacketAcknowledgementResponse proofHeight - */ - - /** - * Constructs a new QueryPacketAcknowledgementResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryPacketAcknowledgementResponse. - * @implements IQueryPacketAcknowledgementResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementResponse=} [properties] Properties to set - */ - function QueryPacketAcknowledgementResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryPacketAcknowledgementResponse acknowledgement. - * @member {Uint8Array} acknowledgement - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementResponse - * @instance - */ - QueryPacketAcknowledgementResponse.prototype.acknowledgement = $util.newBuffer([]); - - /** - * QueryPacketAcknowledgementResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementResponse - * @instance - */ - QueryPacketAcknowledgementResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryPacketAcknowledgementResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementResponse - * @instance - */ - QueryPacketAcknowledgementResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryPacketAcknowledgementResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementResponse} QueryPacketAcknowledgementResponse instance - */ - QueryPacketAcknowledgementResponse.create = function create(properties) { - return new QueryPacketAcknowledgementResponse(properties); - }; - - /** - * Encodes the specified QueryPacketAcknowledgementResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryPacketAcknowledgementResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementResponse} message QueryPacketAcknowledgementResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketAcknowledgementResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.acknowledgement != null && Object.hasOwnProperty.call(message, "acknowledgement")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.acknowledgement); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryPacketAcknowledgementResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryPacketAcknowledgementResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementResponse} message QueryPacketAcknowledgementResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketAcknowledgementResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryPacketAcknowledgementResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementResponse} QueryPacketAcknowledgementResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketAcknowledgementResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryPacketAcknowledgementResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.acknowledgement = reader.bytes(); - break; - case 2: - message.proof = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryPacketAcknowledgementResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementResponse} QueryPacketAcknowledgementResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketAcknowledgementResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryPacketAcknowledgementResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryPacketAcknowledgementResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.acknowledgement != null && message.hasOwnProperty("acknowledgement")) - if (!(message.acknowledgement && typeof message.acknowledgement.length === "number" || $util.isString(message.acknowledgement))) - return "acknowledgement: buffer expected"; - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryPacketAcknowledgementResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementResponse} QueryPacketAcknowledgementResponse - */ - QueryPacketAcknowledgementResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryPacketAcknowledgementResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryPacketAcknowledgementResponse(); - if (object.acknowledgement != null) - if (typeof object.acknowledgement === "string") - $util.base64.decode(object.acknowledgement, message.acknowledgement = $util.newBuffer($util.base64.length(object.acknowledgement)), 0); - else if (object.acknowledgement.length) - message.acknowledgement = object.acknowledgement; - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.QueryPacketAcknowledgementResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryPacketAcknowledgementResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementResponse - * @static - * @param {ibc.core.channel.v1.QueryPacketAcknowledgementResponse} message QueryPacketAcknowledgementResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryPacketAcknowledgementResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.acknowledgement = ""; - else { - object.acknowledgement = []; - if (options.bytes !== Array) - object.acknowledgement = $util.newBuffer(object.acknowledgement); - } - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.acknowledgement != null && message.hasOwnProperty("acknowledgement")) - object.acknowledgement = options.bytes === String ? $util.base64.encode(message.acknowledgement, 0, message.acknowledgement.length) : options.bytes === Array ? Array.prototype.slice.call(message.acknowledgement) : message.acknowledgement; - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryPacketAcknowledgementResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementResponse - * @instance - * @returns {Object.} JSON object - */ - QueryPacketAcknowledgementResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryPacketAcknowledgementResponse; - })(v1.QueryPacketAcknowledgementResponse || {}); - - v1.QueryPacketAcknowledgementsRequest = (function(QueryPacketAcknowledgementsRequest) { - - /** - * Properties of a QueryPacketAcknowledgementsRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryPacketAcknowledgementsRequest - * @property {string|null} [portId] QueryPacketAcknowledgementsRequest portId - * @property {string|null} [channelId] QueryPacketAcknowledgementsRequest channelId - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryPacketAcknowledgementsRequest pagination - */ - - /** - * Constructs a new QueryPacketAcknowledgementsRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryPacketAcknowledgementsRequest. - * @implements IQueryPacketAcknowledgementsRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementsRequest=} [properties] Properties to set - */ - function QueryPacketAcknowledgementsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryPacketAcknowledgementsRequest portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsRequest - * @instance - */ - QueryPacketAcknowledgementsRequest.prototype.portId = ""; - - /** - * QueryPacketAcknowledgementsRequest channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsRequest - * @instance - */ - QueryPacketAcknowledgementsRequest.prototype.channelId = ""; - - /** - * QueryPacketAcknowledgementsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsRequest - * @instance - */ - QueryPacketAcknowledgementsRequest.prototype.pagination = null; - - /** - * Creates a new QueryPacketAcknowledgementsRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementsRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementsRequest} QueryPacketAcknowledgementsRequest instance - */ - QueryPacketAcknowledgementsRequest.create = function create(properties) { - return new QueryPacketAcknowledgementsRequest(properties); - }; - - /** - * Encodes the specified QueryPacketAcknowledgementsRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryPacketAcknowledgementsRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementsRequest} message QueryPacketAcknowledgementsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketAcknowledgementsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryPacketAcknowledgementsRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryPacketAcknowledgementsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsRequest - * @static - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementsRequest} message QueryPacketAcknowledgementsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketAcknowledgementsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryPacketAcknowledgementsRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementsRequest} QueryPacketAcknowledgementsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketAcknowledgementsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryPacketAcknowledgementsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryPacketAcknowledgementsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementsRequest} QueryPacketAcknowledgementsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketAcknowledgementsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryPacketAcknowledgementsRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryPacketAcknowledgementsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryPacketAcknowledgementsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementsRequest} QueryPacketAcknowledgementsRequest - */ - QueryPacketAcknowledgementsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryPacketAcknowledgementsRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryPacketAcknowledgementsRequest(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.channel.v1.QueryPacketAcknowledgementsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryPacketAcknowledgementsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsRequest - * @static - * @param {ibc.core.channel.v1.QueryPacketAcknowledgementsRequest} message QueryPacketAcknowledgementsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryPacketAcknowledgementsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - object.pagination = null; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryPacketAcknowledgementsRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryPacketAcknowledgementsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryPacketAcknowledgementsRequest; - })(v1.QueryPacketAcknowledgementsRequest || {}); - - v1.QueryPacketAcknowledgementsResponse = (function(QueryPacketAcknowledgementsResponse) { - - /** - * Properties of a QueryPacketAcknowledgementsResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryPacketAcknowledgementsResponse - * @property {Array.|null} [acknowledgements] QueryPacketAcknowledgementsResponse acknowledgements - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryPacketAcknowledgementsResponse pagination - * @property {ibc.core.client.v1.IHeight|null} [height] QueryPacketAcknowledgementsResponse height - */ - - /** - * Constructs a new QueryPacketAcknowledgementsResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryPacketAcknowledgementsResponse. - * @implements IQueryPacketAcknowledgementsResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementsResponse=} [properties] Properties to set - */ - function QueryPacketAcknowledgementsResponse(properties) { - this.acknowledgements = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryPacketAcknowledgementsResponse acknowledgements. - * @member {Array.} acknowledgements - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsResponse - * @instance - */ - QueryPacketAcknowledgementsResponse.prototype.acknowledgements = $util.emptyArray; - - /** - * QueryPacketAcknowledgementsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsResponse - * @instance - */ - QueryPacketAcknowledgementsResponse.prototype.pagination = null; - - /** - * QueryPacketAcknowledgementsResponse height. - * @member {ibc.core.client.v1.IHeight|null|undefined} height - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsResponse - * @instance - */ - QueryPacketAcknowledgementsResponse.prototype.height = null; - - /** - * Creates a new QueryPacketAcknowledgementsResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementsResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementsResponse} QueryPacketAcknowledgementsResponse instance - */ - QueryPacketAcknowledgementsResponse.create = function create(properties) { - return new QueryPacketAcknowledgementsResponse(properties); - }; - - /** - * Encodes the specified QueryPacketAcknowledgementsResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryPacketAcknowledgementsResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementsResponse} message QueryPacketAcknowledgementsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketAcknowledgementsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.acknowledgements != null && message.acknowledgements.length) - for (let i = 0; i < message.acknowledgements.length; ++i) - $root.ibc.core.channel.v1.PacketState.encode(message.acknowledgements[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - $root.ibc.core.client.v1.Height.encode(message.height, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryPacketAcknowledgementsResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryPacketAcknowledgementsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsResponse - * @static - * @param {ibc.core.channel.v1.IQueryPacketAcknowledgementsResponse} message QueryPacketAcknowledgementsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryPacketAcknowledgementsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryPacketAcknowledgementsResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementsResponse} QueryPacketAcknowledgementsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketAcknowledgementsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryPacketAcknowledgementsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.acknowledgements && message.acknowledgements.length)) - message.acknowledgements = []; - message.acknowledgements.push($root.ibc.core.channel.v1.PacketState.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - case 3: - message.height = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryPacketAcknowledgementsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementsResponse} QueryPacketAcknowledgementsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryPacketAcknowledgementsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryPacketAcknowledgementsResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryPacketAcknowledgementsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.acknowledgements != null && message.hasOwnProperty("acknowledgements")) { - if (!Array.isArray(message.acknowledgements)) - return "acknowledgements: array expected"; - for (let i = 0; i < message.acknowledgements.length; ++i) { - let error = $root.ibc.core.channel.v1.PacketState.verify(message.acknowledgements[i]); - if (error) - return "acknowledgements." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - if (message.height != null && message.hasOwnProperty("height")) { - let error = $root.ibc.core.client.v1.Height.verify(message.height); - if (error) - return "height." + error; - } - return null; - }; - - /** - * Creates a QueryPacketAcknowledgementsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryPacketAcknowledgementsResponse} QueryPacketAcknowledgementsResponse - */ - QueryPacketAcknowledgementsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryPacketAcknowledgementsResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryPacketAcknowledgementsResponse(); - if (object.acknowledgements) { - if (!Array.isArray(object.acknowledgements)) - throw TypeError(".ibc.core.channel.v1.QueryPacketAcknowledgementsResponse.acknowledgements: array expected"); - message.acknowledgements = []; - for (let i = 0; i < object.acknowledgements.length; ++i) { - if (typeof object.acknowledgements[i] !== "object") - throw TypeError(".ibc.core.channel.v1.QueryPacketAcknowledgementsResponse.acknowledgements: object expected"); - message.acknowledgements[i] = $root.ibc.core.channel.v1.PacketState.fromObject(object.acknowledgements[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.channel.v1.QueryPacketAcknowledgementsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - if (object.height != null) { - if (typeof object.height !== "object") - throw TypeError(".ibc.core.channel.v1.QueryPacketAcknowledgementsResponse.height: object expected"); - message.height = $root.ibc.core.client.v1.Height.fromObject(object.height); - } - return message; - }; - - /** - * Creates a plain object from a QueryPacketAcknowledgementsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsResponse - * @static - * @param {ibc.core.channel.v1.QueryPacketAcknowledgementsResponse} message QueryPacketAcknowledgementsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryPacketAcknowledgementsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.acknowledgements = []; - if (options.defaults) { - object.pagination = null; - object.height = null; - } - if (message.acknowledgements && message.acknowledgements.length) { - object.acknowledgements = []; - for (let j = 0; j < message.acknowledgements.length; ++j) - object.acknowledgements[j] = $root.ibc.core.channel.v1.PacketState.toObject(message.acknowledgements[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - if (message.height != null && message.hasOwnProperty("height")) - object.height = $root.ibc.core.client.v1.Height.toObject(message.height, options); - return object; - }; - - /** - * Converts this QueryPacketAcknowledgementsResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryPacketAcknowledgementsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryPacketAcknowledgementsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryPacketAcknowledgementsResponse; - })(v1.QueryPacketAcknowledgementsResponse || {}); - - v1.QueryUnreceivedPacketsRequest = (function(QueryUnreceivedPacketsRequest) { - - /** - * Properties of a QueryUnreceivedPacketsRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryUnreceivedPacketsRequest - * @property {string|null} [portId] QueryUnreceivedPacketsRequest portId - * @property {string|null} [channelId] QueryUnreceivedPacketsRequest channelId - * @property {Array.|null} [packetCommitmentSequences] QueryUnreceivedPacketsRequest packetCommitmentSequences - */ - - /** - * Constructs a new QueryUnreceivedPacketsRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryUnreceivedPacketsRequest. - * @implements IQueryUnreceivedPacketsRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryUnreceivedPacketsRequest=} [properties] Properties to set - */ - function QueryUnreceivedPacketsRequest(properties) { - this.packetCommitmentSequences = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryUnreceivedPacketsRequest portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsRequest - * @instance - */ - QueryUnreceivedPacketsRequest.prototype.portId = ""; - - /** - * QueryUnreceivedPacketsRequest channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsRequest - * @instance - */ - QueryUnreceivedPacketsRequest.prototype.channelId = ""; - - /** - * QueryUnreceivedPacketsRequest packetCommitmentSequences. - * @member {Array.} packetCommitmentSequences - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsRequest - * @instance - */ - QueryUnreceivedPacketsRequest.prototype.packetCommitmentSequences = $util.emptyArray; - - /** - * Creates a new QueryUnreceivedPacketsRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsRequest - * @static - * @param {ibc.core.channel.v1.IQueryUnreceivedPacketsRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryUnreceivedPacketsRequest} QueryUnreceivedPacketsRequest instance - */ - QueryUnreceivedPacketsRequest.create = function create(properties) { - return new QueryUnreceivedPacketsRequest(properties); - }; - - /** - * Encodes the specified QueryUnreceivedPacketsRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryUnreceivedPacketsRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsRequest - * @static - * @param {ibc.core.channel.v1.IQueryUnreceivedPacketsRequest} message QueryUnreceivedPacketsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUnreceivedPacketsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.packetCommitmentSequences != null && message.packetCommitmentSequences.length) { - writer.uint32(/* id 3, wireType 2 =*/26).fork(); - for (let i = 0; i < message.packetCommitmentSequences.length; ++i) - writer.uint64(message.packetCommitmentSequences[i]); - writer.ldelim(); - } - return writer; - }; - - /** - * Encodes the specified QueryUnreceivedPacketsRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryUnreceivedPacketsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsRequest - * @static - * @param {ibc.core.channel.v1.IQueryUnreceivedPacketsRequest} message QueryUnreceivedPacketsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUnreceivedPacketsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryUnreceivedPacketsRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryUnreceivedPacketsRequest} QueryUnreceivedPacketsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUnreceivedPacketsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryUnreceivedPacketsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - if (!(message.packetCommitmentSequences && message.packetCommitmentSequences.length)) - message.packetCommitmentSequences = []; - if ((tag & 7) === 2) { - let end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.packetCommitmentSequences.push(reader.uint64()); - } else - message.packetCommitmentSequences.push(reader.uint64()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryUnreceivedPacketsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryUnreceivedPacketsRequest} QueryUnreceivedPacketsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUnreceivedPacketsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryUnreceivedPacketsRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryUnreceivedPacketsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.packetCommitmentSequences != null && message.hasOwnProperty("packetCommitmentSequences")) { - if (!Array.isArray(message.packetCommitmentSequences)) - return "packetCommitmentSequences: array expected"; - for (let i = 0; i < message.packetCommitmentSequences.length; ++i) - if (!$util.isInteger(message.packetCommitmentSequences[i]) && !(message.packetCommitmentSequences[i] && $util.isInteger(message.packetCommitmentSequences[i].low) && $util.isInteger(message.packetCommitmentSequences[i].high))) - return "packetCommitmentSequences: integer|Long[] expected"; - } - return null; - }; - - /** - * Creates a QueryUnreceivedPacketsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryUnreceivedPacketsRequest} QueryUnreceivedPacketsRequest - */ - QueryUnreceivedPacketsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryUnreceivedPacketsRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryUnreceivedPacketsRequest(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.packetCommitmentSequences) { - if (!Array.isArray(object.packetCommitmentSequences)) - throw TypeError(".ibc.core.channel.v1.QueryUnreceivedPacketsRequest.packetCommitmentSequences: array expected"); - message.packetCommitmentSequences = []; - for (let i = 0; i < object.packetCommitmentSequences.length; ++i) - if ($util.Long) - (message.packetCommitmentSequences[i] = $util.Long.fromValue(object.packetCommitmentSequences[i])).unsigned = true; - else if (typeof object.packetCommitmentSequences[i] === "string") - message.packetCommitmentSequences[i] = parseInt(object.packetCommitmentSequences[i], 10); - else if (typeof object.packetCommitmentSequences[i] === "number") - message.packetCommitmentSequences[i] = object.packetCommitmentSequences[i]; - else if (typeof object.packetCommitmentSequences[i] === "object") - message.packetCommitmentSequences[i] = new $util.LongBits(object.packetCommitmentSequences[i].low >>> 0, object.packetCommitmentSequences[i].high >>> 0).toNumber(true); - } - return message; - }; - - /** - * Creates a plain object from a QueryUnreceivedPacketsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsRequest - * @static - * @param {ibc.core.channel.v1.QueryUnreceivedPacketsRequest} message QueryUnreceivedPacketsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryUnreceivedPacketsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.packetCommitmentSequences = []; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.packetCommitmentSequences && message.packetCommitmentSequences.length) { - object.packetCommitmentSequences = []; - for (let j = 0; j < message.packetCommitmentSequences.length; ++j) - if (typeof message.packetCommitmentSequences[j] === "number") - object.packetCommitmentSequences[j] = options.longs === String ? String(message.packetCommitmentSequences[j]) : message.packetCommitmentSequences[j]; - else - object.packetCommitmentSequences[j] = options.longs === String ? $util.Long.prototype.toString.call(message.packetCommitmentSequences[j]) : options.longs === Number ? new $util.LongBits(message.packetCommitmentSequences[j].low >>> 0, message.packetCommitmentSequences[j].high >>> 0).toNumber(true) : message.packetCommitmentSequences[j]; - } - return object; - }; - - /** - * Converts this QueryUnreceivedPacketsRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryUnreceivedPacketsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryUnreceivedPacketsRequest; - })(v1.QueryUnreceivedPacketsRequest || {}); - - v1.QueryUnreceivedPacketsResponse = (function(QueryUnreceivedPacketsResponse) { - - /** - * Properties of a QueryUnreceivedPacketsResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryUnreceivedPacketsResponse - * @property {Array.|null} [sequences] QueryUnreceivedPacketsResponse sequences - * @property {ibc.core.client.v1.IHeight|null} [height] QueryUnreceivedPacketsResponse height - */ - - /** - * Constructs a new QueryUnreceivedPacketsResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryUnreceivedPacketsResponse. - * @implements IQueryUnreceivedPacketsResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryUnreceivedPacketsResponse=} [properties] Properties to set - */ - function QueryUnreceivedPacketsResponse(properties) { - this.sequences = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryUnreceivedPacketsResponse sequences. - * @member {Array.} sequences - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsResponse - * @instance - */ - QueryUnreceivedPacketsResponse.prototype.sequences = $util.emptyArray; - - /** - * QueryUnreceivedPacketsResponse height. - * @member {ibc.core.client.v1.IHeight|null|undefined} height - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsResponse - * @instance - */ - QueryUnreceivedPacketsResponse.prototype.height = null; - - /** - * Creates a new QueryUnreceivedPacketsResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsResponse - * @static - * @param {ibc.core.channel.v1.IQueryUnreceivedPacketsResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryUnreceivedPacketsResponse} QueryUnreceivedPacketsResponse instance - */ - QueryUnreceivedPacketsResponse.create = function create(properties) { - return new QueryUnreceivedPacketsResponse(properties); - }; - - /** - * Encodes the specified QueryUnreceivedPacketsResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryUnreceivedPacketsResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsResponse - * @static - * @param {ibc.core.channel.v1.IQueryUnreceivedPacketsResponse} message QueryUnreceivedPacketsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUnreceivedPacketsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.sequences != null && message.sequences.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (let i = 0; i < message.sequences.length; ++i) - writer.uint64(message.sequences[i]); - writer.ldelim(); - } - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - $root.ibc.core.client.v1.Height.encode(message.height, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryUnreceivedPacketsResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryUnreceivedPacketsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsResponse - * @static - * @param {ibc.core.channel.v1.IQueryUnreceivedPacketsResponse} message QueryUnreceivedPacketsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUnreceivedPacketsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryUnreceivedPacketsResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryUnreceivedPacketsResponse} QueryUnreceivedPacketsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUnreceivedPacketsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryUnreceivedPacketsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.sequences && message.sequences.length)) - message.sequences = []; - if ((tag & 7) === 2) { - let end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.sequences.push(reader.uint64()); - } else - message.sequences.push(reader.uint64()); - break; - case 2: - message.height = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryUnreceivedPacketsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryUnreceivedPacketsResponse} QueryUnreceivedPacketsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUnreceivedPacketsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryUnreceivedPacketsResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryUnreceivedPacketsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.sequences != null && message.hasOwnProperty("sequences")) { - if (!Array.isArray(message.sequences)) - return "sequences: array expected"; - for (let i = 0; i < message.sequences.length; ++i) - if (!$util.isInteger(message.sequences[i]) && !(message.sequences[i] && $util.isInteger(message.sequences[i].low) && $util.isInteger(message.sequences[i].high))) - return "sequences: integer|Long[] expected"; - } - if (message.height != null && message.hasOwnProperty("height")) { - let error = $root.ibc.core.client.v1.Height.verify(message.height); - if (error) - return "height." + error; - } - return null; - }; - - /** - * Creates a QueryUnreceivedPacketsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryUnreceivedPacketsResponse} QueryUnreceivedPacketsResponse - */ - QueryUnreceivedPacketsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryUnreceivedPacketsResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryUnreceivedPacketsResponse(); - if (object.sequences) { - if (!Array.isArray(object.sequences)) - throw TypeError(".ibc.core.channel.v1.QueryUnreceivedPacketsResponse.sequences: array expected"); - message.sequences = []; - for (let i = 0; i < object.sequences.length; ++i) - if ($util.Long) - (message.sequences[i] = $util.Long.fromValue(object.sequences[i])).unsigned = true; - else if (typeof object.sequences[i] === "string") - message.sequences[i] = parseInt(object.sequences[i], 10); - else if (typeof object.sequences[i] === "number") - message.sequences[i] = object.sequences[i]; - else if (typeof object.sequences[i] === "object") - message.sequences[i] = new $util.LongBits(object.sequences[i].low >>> 0, object.sequences[i].high >>> 0).toNumber(true); - } - if (object.height != null) { - if (typeof object.height !== "object") - throw TypeError(".ibc.core.channel.v1.QueryUnreceivedPacketsResponse.height: object expected"); - message.height = $root.ibc.core.client.v1.Height.fromObject(object.height); - } - return message; - }; - - /** - * Creates a plain object from a QueryUnreceivedPacketsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsResponse - * @static - * @param {ibc.core.channel.v1.QueryUnreceivedPacketsResponse} message QueryUnreceivedPacketsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryUnreceivedPacketsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.sequences = []; - if (options.defaults) - object.height = null; - if (message.sequences && message.sequences.length) { - object.sequences = []; - for (let j = 0; j < message.sequences.length; ++j) - if (typeof message.sequences[j] === "number") - object.sequences[j] = options.longs === String ? String(message.sequences[j]) : message.sequences[j]; - else - object.sequences[j] = options.longs === String ? $util.Long.prototype.toString.call(message.sequences[j]) : options.longs === Number ? new $util.LongBits(message.sequences[j].low >>> 0, message.sequences[j].high >>> 0).toNumber(true) : message.sequences[j]; - } - if (message.height != null && message.hasOwnProperty("height")) - object.height = $root.ibc.core.client.v1.Height.toObject(message.height, options); - return object; - }; - - /** - * Converts this QueryUnreceivedPacketsResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryUnreceivedPacketsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryUnreceivedPacketsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryUnreceivedPacketsResponse; - })(v1.QueryUnreceivedPacketsResponse || {}); - - v1.QueryUnreceivedAcksRequest = (function(QueryUnreceivedAcksRequest) { - - /** - * Properties of a QueryUnreceivedAcksRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryUnreceivedAcksRequest - * @property {string|null} [portId] QueryUnreceivedAcksRequest portId - * @property {string|null} [channelId] QueryUnreceivedAcksRequest channelId - * @property {Array.|null} [packetAckSequences] QueryUnreceivedAcksRequest packetAckSequences - */ - - /** - * Constructs a new QueryUnreceivedAcksRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryUnreceivedAcksRequest. - * @implements IQueryUnreceivedAcksRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryUnreceivedAcksRequest=} [properties] Properties to set - */ - function QueryUnreceivedAcksRequest(properties) { - this.packetAckSequences = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryUnreceivedAcksRequest portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksRequest - * @instance - */ - QueryUnreceivedAcksRequest.prototype.portId = ""; - - /** - * QueryUnreceivedAcksRequest channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksRequest - * @instance - */ - QueryUnreceivedAcksRequest.prototype.channelId = ""; - - /** - * QueryUnreceivedAcksRequest packetAckSequences. - * @member {Array.} packetAckSequences - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksRequest - * @instance - */ - QueryUnreceivedAcksRequest.prototype.packetAckSequences = $util.emptyArray; - - /** - * Creates a new QueryUnreceivedAcksRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksRequest - * @static - * @param {ibc.core.channel.v1.IQueryUnreceivedAcksRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryUnreceivedAcksRequest} QueryUnreceivedAcksRequest instance - */ - QueryUnreceivedAcksRequest.create = function create(properties) { - return new QueryUnreceivedAcksRequest(properties); - }; - - /** - * Encodes the specified QueryUnreceivedAcksRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryUnreceivedAcksRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksRequest - * @static - * @param {ibc.core.channel.v1.IQueryUnreceivedAcksRequest} message QueryUnreceivedAcksRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUnreceivedAcksRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.packetAckSequences != null && message.packetAckSequences.length) { - writer.uint32(/* id 3, wireType 2 =*/26).fork(); - for (let i = 0; i < message.packetAckSequences.length; ++i) - writer.uint64(message.packetAckSequences[i]); - writer.ldelim(); - } - return writer; - }; - - /** - * Encodes the specified QueryUnreceivedAcksRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryUnreceivedAcksRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksRequest - * @static - * @param {ibc.core.channel.v1.IQueryUnreceivedAcksRequest} message QueryUnreceivedAcksRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUnreceivedAcksRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryUnreceivedAcksRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryUnreceivedAcksRequest} QueryUnreceivedAcksRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUnreceivedAcksRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryUnreceivedAcksRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - if (!(message.packetAckSequences && message.packetAckSequences.length)) - message.packetAckSequences = []; - if ((tag & 7) === 2) { - let end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.packetAckSequences.push(reader.uint64()); - } else - message.packetAckSequences.push(reader.uint64()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryUnreceivedAcksRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryUnreceivedAcksRequest} QueryUnreceivedAcksRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUnreceivedAcksRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryUnreceivedAcksRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryUnreceivedAcksRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.packetAckSequences != null && message.hasOwnProperty("packetAckSequences")) { - if (!Array.isArray(message.packetAckSequences)) - return "packetAckSequences: array expected"; - for (let i = 0; i < message.packetAckSequences.length; ++i) - if (!$util.isInteger(message.packetAckSequences[i]) && !(message.packetAckSequences[i] && $util.isInteger(message.packetAckSequences[i].low) && $util.isInteger(message.packetAckSequences[i].high))) - return "packetAckSequences: integer|Long[] expected"; - } - return null; - }; - - /** - * Creates a QueryUnreceivedAcksRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryUnreceivedAcksRequest} QueryUnreceivedAcksRequest - */ - QueryUnreceivedAcksRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryUnreceivedAcksRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryUnreceivedAcksRequest(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.packetAckSequences) { - if (!Array.isArray(object.packetAckSequences)) - throw TypeError(".ibc.core.channel.v1.QueryUnreceivedAcksRequest.packetAckSequences: array expected"); - message.packetAckSequences = []; - for (let i = 0; i < object.packetAckSequences.length; ++i) - if ($util.Long) - (message.packetAckSequences[i] = $util.Long.fromValue(object.packetAckSequences[i])).unsigned = true; - else if (typeof object.packetAckSequences[i] === "string") - message.packetAckSequences[i] = parseInt(object.packetAckSequences[i], 10); - else if (typeof object.packetAckSequences[i] === "number") - message.packetAckSequences[i] = object.packetAckSequences[i]; - else if (typeof object.packetAckSequences[i] === "object") - message.packetAckSequences[i] = new $util.LongBits(object.packetAckSequences[i].low >>> 0, object.packetAckSequences[i].high >>> 0).toNumber(true); - } - return message; - }; - - /** - * Creates a plain object from a QueryUnreceivedAcksRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksRequest - * @static - * @param {ibc.core.channel.v1.QueryUnreceivedAcksRequest} message QueryUnreceivedAcksRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryUnreceivedAcksRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.packetAckSequences = []; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.packetAckSequences && message.packetAckSequences.length) { - object.packetAckSequences = []; - for (let j = 0; j < message.packetAckSequences.length; ++j) - if (typeof message.packetAckSequences[j] === "number") - object.packetAckSequences[j] = options.longs === String ? String(message.packetAckSequences[j]) : message.packetAckSequences[j]; - else - object.packetAckSequences[j] = options.longs === String ? $util.Long.prototype.toString.call(message.packetAckSequences[j]) : options.longs === Number ? new $util.LongBits(message.packetAckSequences[j].low >>> 0, message.packetAckSequences[j].high >>> 0).toNumber(true) : message.packetAckSequences[j]; - } - return object; - }; - - /** - * Converts this QueryUnreceivedAcksRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksRequest - * @instance - * @returns {Object.} JSON object - */ - QueryUnreceivedAcksRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryUnreceivedAcksRequest; - })(v1.QueryUnreceivedAcksRequest || {}); - - v1.QueryUnreceivedAcksResponse = (function(QueryUnreceivedAcksResponse) { - - /** - * Properties of a QueryUnreceivedAcksResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryUnreceivedAcksResponse - * @property {Array.|null} [sequences] QueryUnreceivedAcksResponse sequences - * @property {ibc.core.client.v1.IHeight|null} [height] QueryUnreceivedAcksResponse height - */ - - /** - * Constructs a new QueryUnreceivedAcksResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryUnreceivedAcksResponse. - * @implements IQueryUnreceivedAcksResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryUnreceivedAcksResponse=} [properties] Properties to set - */ - function QueryUnreceivedAcksResponse(properties) { - this.sequences = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryUnreceivedAcksResponse sequences. - * @member {Array.} sequences - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksResponse - * @instance - */ - QueryUnreceivedAcksResponse.prototype.sequences = $util.emptyArray; - - /** - * QueryUnreceivedAcksResponse height. - * @member {ibc.core.client.v1.IHeight|null|undefined} height - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksResponse - * @instance - */ - QueryUnreceivedAcksResponse.prototype.height = null; - - /** - * Creates a new QueryUnreceivedAcksResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksResponse - * @static - * @param {ibc.core.channel.v1.IQueryUnreceivedAcksResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryUnreceivedAcksResponse} QueryUnreceivedAcksResponse instance - */ - QueryUnreceivedAcksResponse.create = function create(properties) { - return new QueryUnreceivedAcksResponse(properties); - }; - - /** - * Encodes the specified QueryUnreceivedAcksResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryUnreceivedAcksResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksResponse - * @static - * @param {ibc.core.channel.v1.IQueryUnreceivedAcksResponse} message QueryUnreceivedAcksResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUnreceivedAcksResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.sequences != null && message.sequences.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (let i = 0; i < message.sequences.length; ++i) - writer.uint64(message.sequences[i]); - writer.ldelim(); - } - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - $root.ibc.core.client.v1.Height.encode(message.height, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryUnreceivedAcksResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryUnreceivedAcksResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksResponse - * @static - * @param {ibc.core.channel.v1.IQueryUnreceivedAcksResponse} message QueryUnreceivedAcksResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryUnreceivedAcksResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryUnreceivedAcksResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryUnreceivedAcksResponse} QueryUnreceivedAcksResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUnreceivedAcksResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryUnreceivedAcksResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.sequences && message.sequences.length)) - message.sequences = []; - if ((tag & 7) === 2) { - let end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.sequences.push(reader.uint64()); - } else - message.sequences.push(reader.uint64()); - break; - case 2: - message.height = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryUnreceivedAcksResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryUnreceivedAcksResponse} QueryUnreceivedAcksResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryUnreceivedAcksResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryUnreceivedAcksResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryUnreceivedAcksResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.sequences != null && message.hasOwnProperty("sequences")) { - if (!Array.isArray(message.sequences)) - return "sequences: array expected"; - for (let i = 0; i < message.sequences.length; ++i) - if (!$util.isInteger(message.sequences[i]) && !(message.sequences[i] && $util.isInteger(message.sequences[i].low) && $util.isInteger(message.sequences[i].high))) - return "sequences: integer|Long[] expected"; - } - if (message.height != null && message.hasOwnProperty("height")) { - let error = $root.ibc.core.client.v1.Height.verify(message.height); - if (error) - return "height." + error; - } - return null; - }; - - /** - * Creates a QueryUnreceivedAcksResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryUnreceivedAcksResponse} QueryUnreceivedAcksResponse - */ - QueryUnreceivedAcksResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryUnreceivedAcksResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryUnreceivedAcksResponse(); - if (object.sequences) { - if (!Array.isArray(object.sequences)) - throw TypeError(".ibc.core.channel.v1.QueryUnreceivedAcksResponse.sequences: array expected"); - message.sequences = []; - for (let i = 0; i < object.sequences.length; ++i) - if ($util.Long) - (message.sequences[i] = $util.Long.fromValue(object.sequences[i])).unsigned = true; - else if (typeof object.sequences[i] === "string") - message.sequences[i] = parseInt(object.sequences[i], 10); - else if (typeof object.sequences[i] === "number") - message.sequences[i] = object.sequences[i]; - else if (typeof object.sequences[i] === "object") - message.sequences[i] = new $util.LongBits(object.sequences[i].low >>> 0, object.sequences[i].high >>> 0).toNumber(true); - } - if (object.height != null) { - if (typeof object.height !== "object") - throw TypeError(".ibc.core.channel.v1.QueryUnreceivedAcksResponse.height: object expected"); - message.height = $root.ibc.core.client.v1.Height.fromObject(object.height); - } - return message; - }; - - /** - * Creates a plain object from a QueryUnreceivedAcksResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksResponse - * @static - * @param {ibc.core.channel.v1.QueryUnreceivedAcksResponse} message QueryUnreceivedAcksResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryUnreceivedAcksResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.sequences = []; - if (options.defaults) - object.height = null; - if (message.sequences && message.sequences.length) { - object.sequences = []; - for (let j = 0; j < message.sequences.length; ++j) - if (typeof message.sequences[j] === "number") - object.sequences[j] = options.longs === String ? String(message.sequences[j]) : message.sequences[j]; - else - object.sequences[j] = options.longs === String ? $util.Long.prototype.toString.call(message.sequences[j]) : options.longs === Number ? new $util.LongBits(message.sequences[j].low >>> 0, message.sequences[j].high >>> 0).toNumber(true) : message.sequences[j]; - } - if (message.height != null && message.hasOwnProperty("height")) - object.height = $root.ibc.core.client.v1.Height.toObject(message.height, options); - return object; - }; - - /** - * Converts this QueryUnreceivedAcksResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryUnreceivedAcksResponse - * @instance - * @returns {Object.} JSON object - */ - QueryUnreceivedAcksResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryUnreceivedAcksResponse; - })(v1.QueryUnreceivedAcksResponse || {}); - - v1.QueryNextSequenceReceiveRequest = (function(QueryNextSequenceReceiveRequest) { - - /** - * Properties of a QueryNextSequenceReceiveRequest. - * @memberof ibc.core.channel.v1 - * @interface IQueryNextSequenceReceiveRequest - * @property {string|null} [portId] QueryNextSequenceReceiveRequest portId - * @property {string|null} [channelId] QueryNextSequenceReceiveRequest channelId - */ - - /** - * Constructs a new QueryNextSequenceReceiveRequest. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryNextSequenceReceiveRequest. - * @implements IQueryNextSequenceReceiveRequest - * @constructor - * @param {ibc.core.channel.v1.IQueryNextSequenceReceiveRequest=} [properties] Properties to set - */ - function QueryNextSequenceReceiveRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryNextSequenceReceiveRequest portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveRequest - * @instance - */ - QueryNextSequenceReceiveRequest.prototype.portId = ""; - - /** - * QueryNextSequenceReceiveRequest channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveRequest - * @instance - */ - QueryNextSequenceReceiveRequest.prototype.channelId = ""; - - /** - * Creates a new QueryNextSequenceReceiveRequest instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveRequest - * @static - * @param {ibc.core.channel.v1.IQueryNextSequenceReceiveRequest=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryNextSequenceReceiveRequest} QueryNextSequenceReceiveRequest instance - */ - QueryNextSequenceReceiveRequest.create = function create(properties) { - return new QueryNextSequenceReceiveRequest(properties); - }; - - /** - * Encodes the specified QueryNextSequenceReceiveRequest message. Does not implicitly {@link ibc.core.channel.v1.QueryNextSequenceReceiveRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveRequest - * @static - * @param {ibc.core.channel.v1.IQueryNextSequenceReceiveRequest} message QueryNextSequenceReceiveRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryNextSequenceReceiveRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - return writer; - }; - - /** - * Encodes the specified QueryNextSequenceReceiveRequest message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryNextSequenceReceiveRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveRequest - * @static - * @param {ibc.core.channel.v1.IQueryNextSequenceReceiveRequest} message QueryNextSequenceReceiveRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryNextSequenceReceiveRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryNextSequenceReceiveRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryNextSequenceReceiveRequest} QueryNextSequenceReceiveRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryNextSequenceReceiveRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryNextSequenceReceiveRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryNextSequenceReceiveRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryNextSequenceReceiveRequest} QueryNextSequenceReceiveRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryNextSequenceReceiveRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryNextSequenceReceiveRequest message. - * @function verify - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryNextSequenceReceiveRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - return null; - }; - - /** - * Creates a QueryNextSequenceReceiveRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryNextSequenceReceiveRequest} QueryNextSequenceReceiveRequest - */ - QueryNextSequenceReceiveRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryNextSequenceReceiveRequest) - return object; - let message = new $root.ibc.core.channel.v1.QueryNextSequenceReceiveRequest(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - return message; - }; - - /** - * Creates a plain object from a QueryNextSequenceReceiveRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveRequest - * @static - * @param {ibc.core.channel.v1.QueryNextSequenceReceiveRequest} message QueryNextSequenceReceiveRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryNextSequenceReceiveRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - return object; - }; - - /** - * Converts this QueryNextSequenceReceiveRequest to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveRequest - * @instance - * @returns {Object.} JSON object - */ - QueryNextSequenceReceiveRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryNextSequenceReceiveRequest; - })(v1.QueryNextSequenceReceiveRequest || {}); - - v1.QueryNextSequenceReceiveResponse = (function(QueryNextSequenceReceiveResponse) { - - /** - * Properties of a QueryNextSequenceReceiveResponse. - * @memberof ibc.core.channel.v1 - * @interface IQueryNextSequenceReceiveResponse - * @property {number|Long|null} [nextSequenceReceive] QueryNextSequenceReceiveResponse nextSequenceReceive - * @property {Uint8Array|null} [proof] QueryNextSequenceReceiveResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryNextSequenceReceiveResponse proofHeight - */ - - /** - * Constructs a new QueryNextSequenceReceiveResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a QueryNextSequenceReceiveResponse. - * @implements IQueryNextSequenceReceiveResponse - * @constructor - * @param {ibc.core.channel.v1.IQueryNextSequenceReceiveResponse=} [properties] Properties to set - */ - function QueryNextSequenceReceiveResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryNextSequenceReceiveResponse nextSequenceReceive. - * @member {number|Long} nextSequenceReceive - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveResponse - * @instance - */ - QueryNextSequenceReceiveResponse.prototype.nextSequenceReceive = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * QueryNextSequenceReceiveResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveResponse - * @instance - */ - QueryNextSequenceReceiveResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryNextSequenceReceiveResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveResponse - * @instance - */ - QueryNextSequenceReceiveResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryNextSequenceReceiveResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveResponse - * @static - * @param {ibc.core.channel.v1.IQueryNextSequenceReceiveResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.QueryNextSequenceReceiveResponse} QueryNextSequenceReceiveResponse instance - */ - QueryNextSequenceReceiveResponse.create = function create(properties) { - return new QueryNextSequenceReceiveResponse(properties); - }; - - /** - * Encodes the specified QueryNextSequenceReceiveResponse message. Does not implicitly {@link ibc.core.channel.v1.QueryNextSequenceReceiveResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveResponse - * @static - * @param {ibc.core.channel.v1.IQueryNextSequenceReceiveResponse} message QueryNextSequenceReceiveResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryNextSequenceReceiveResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.nextSequenceReceive != null && Object.hasOwnProperty.call(message, "nextSequenceReceive")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.nextSequenceReceive); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryNextSequenceReceiveResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.QueryNextSequenceReceiveResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveResponse - * @static - * @param {ibc.core.channel.v1.IQueryNextSequenceReceiveResponse} message QueryNextSequenceReceiveResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryNextSequenceReceiveResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryNextSequenceReceiveResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.QueryNextSequenceReceiveResponse} QueryNextSequenceReceiveResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryNextSequenceReceiveResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.QueryNextSequenceReceiveResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.nextSequenceReceive = reader.uint64(); - break; - case 2: - message.proof = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryNextSequenceReceiveResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.QueryNextSequenceReceiveResponse} QueryNextSequenceReceiveResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryNextSequenceReceiveResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryNextSequenceReceiveResponse message. - * @function verify - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryNextSequenceReceiveResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.nextSequenceReceive != null && message.hasOwnProperty("nextSequenceReceive")) - if (!$util.isInteger(message.nextSequenceReceive) && !(message.nextSequenceReceive && $util.isInteger(message.nextSequenceReceive.low) && $util.isInteger(message.nextSequenceReceive.high))) - return "nextSequenceReceive: integer|Long expected"; - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryNextSequenceReceiveResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.QueryNextSequenceReceiveResponse} QueryNextSequenceReceiveResponse - */ - QueryNextSequenceReceiveResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.QueryNextSequenceReceiveResponse) - return object; - let message = new $root.ibc.core.channel.v1.QueryNextSequenceReceiveResponse(); - if (object.nextSequenceReceive != null) - if ($util.Long) - (message.nextSequenceReceive = $util.Long.fromValue(object.nextSequenceReceive)).unsigned = true; - else if (typeof object.nextSequenceReceive === "string") - message.nextSequenceReceive = parseInt(object.nextSequenceReceive, 10); - else if (typeof object.nextSequenceReceive === "number") - message.nextSequenceReceive = object.nextSequenceReceive; - else if (typeof object.nextSequenceReceive === "object") - message.nextSequenceReceive = new $util.LongBits(object.nextSequenceReceive.low >>> 0, object.nextSequenceReceive.high >>> 0).toNumber(true); - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.QueryNextSequenceReceiveResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryNextSequenceReceiveResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveResponse - * @static - * @param {ibc.core.channel.v1.QueryNextSequenceReceiveResponse} message QueryNextSequenceReceiveResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryNextSequenceReceiveResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.nextSequenceReceive = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.nextSequenceReceive = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.nextSequenceReceive != null && message.hasOwnProperty("nextSequenceReceive")) - if (typeof message.nextSequenceReceive === "number") - object.nextSequenceReceive = options.longs === String ? String(message.nextSequenceReceive) : message.nextSequenceReceive; - else - object.nextSequenceReceive = options.longs === String ? $util.Long.prototype.toString.call(message.nextSequenceReceive) : options.longs === Number ? new $util.LongBits(message.nextSequenceReceive.low >>> 0, message.nextSequenceReceive.high >>> 0).toNumber(true) : message.nextSequenceReceive; - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryNextSequenceReceiveResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.QueryNextSequenceReceiveResponse - * @instance - * @returns {Object.} JSON object - */ - QueryNextSequenceReceiveResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryNextSequenceReceiveResponse; - })(v1.QueryNextSequenceReceiveResponse || {}); - - v1.Msg = (function(Msg) { - - /** - * Constructs a new Msg service. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a Msg - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Msg(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Msg.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Msg; - - /** - * Creates new Msg service using the specified rpc implementation. - * @function create - * @memberof ibc.core.channel.v1.Msg - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Msg} RPC service. Useful where requests and/or responses are streamed. - */ - Msg.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link ibc.core.channel.v1.Msg#channelOpenInit}. - * @memberof ibc.core.channel.v1.Msg - * @typedef ChannelOpenInitCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IMsgChannelOpenInitResponse} [response] MsgChannelOpenInitResponse - */ - - /** - * Calls ChannelOpenInit. - * @function channelOpenInit - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgChannelOpenInit} request MsgChannelOpenInit message or plain object - * @param {ibc.core.channel.v1.Msg.ChannelOpenInitCallback} callback Node-style callback called with the error, if any, and MsgChannelOpenInitResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.channelOpenInit = function channelOpenInit(request, callback) { - return this.rpcCall(channelOpenInit, $root.ibc.core.channel.v1.MsgChannelOpenInit, $root.ibc.core.channel.v1.MsgChannelOpenInitResponse, request, callback); - }, "name", { value: "ChannelOpenInit" }); - - /** - * Calls ChannelOpenInit. - * @function channelOpenInit - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgChannelOpenInit} request MsgChannelOpenInit message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Msg#channelOpenTry}. - * @memberof ibc.core.channel.v1.Msg - * @typedef ChannelOpenTryCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IMsgChannelOpenTryResponse} [response] MsgChannelOpenTryResponse - */ - - /** - * Calls ChannelOpenTry. - * @function channelOpenTry - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgChannelOpenTry} request MsgChannelOpenTry message or plain object - * @param {ibc.core.channel.v1.Msg.ChannelOpenTryCallback} callback Node-style callback called with the error, if any, and MsgChannelOpenTryResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.channelOpenTry = function channelOpenTry(request, callback) { - return this.rpcCall(channelOpenTry, $root.ibc.core.channel.v1.MsgChannelOpenTry, $root.ibc.core.channel.v1.MsgChannelOpenTryResponse, request, callback); - }, "name", { value: "ChannelOpenTry" }); - - /** - * Calls ChannelOpenTry. - * @function channelOpenTry - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgChannelOpenTry} request MsgChannelOpenTry message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Msg#channelOpenAck}. - * @memberof ibc.core.channel.v1.Msg - * @typedef ChannelOpenAckCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IMsgChannelOpenAckResponse} [response] MsgChannelOpenAckResponse - */ - - /** - * Calls ChannelOpenAck. - * @function channelOpenAck - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgChannelOpenAck} request MsgChannelOpenAck message or plain object - * @param {ibc.core.channel.v1.Msg.ChannelOpenAckCallback} callback Node-style callback called with the error, if any, and MsgChannelOpenAckResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.channelOpenAck = function channelOpenAck(request, callback) { - return this.rpcCall(channelOpenAck, $root.ibc.core.channel.v1.MsgChannelOpenAck, $root.ibc.core.channel.v1.MsgChannelOpenAckResponse, request, callback); - }, "name", { value: "ChannelOpenAck" }); - - /** - * Calls ChannelOpenAck. - * @function channelOpenAck - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgChannelOpenAck} request MsgChannelOpenAck message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Msg#channelOpenConfirm}. - * @memberof ibc.core.channel.v1.Msg - * @typedef ChannelOpenConfirmCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IMsgChannelOpenConfirmResponse} [response] MsgChannelOpenConfirmResponse - */ - - /** - * Calls ChannelOpenConfirm. - * @function channelOpenConfirm - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgChannelOpenConfirm} request MsgChannelOpenConfirm message or plain object - * @param {ibc.core.channel.v1.Msg.ChannelOpenConfirmCallback} callback Node-style callback called with the error, if any, and MsgChannelOpenConfirmResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.channelOpenConfirm = function channelOpenConfirm(request, callback) { - return this.rpcCall(channelOpenConfirm, $root.ibc.core.channel.v1.MsgChannelOpenConfirm, $root.ibc.core.channel.v1.MsgChannelOpenConfirmResponse, request, callback); - }, "name", { value: "ChannelOpenConfirm" }); - - /** - * Calls ChannelOpenConfirm. - * @function channelOpenConfirm - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgChannelOpenConfirm} request MsgChannelOpenConfirm message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Msg#channelCloseInit}. - * @memberof ibc.core.channel.v1.Msg - * @typedef ChannelCloseInitCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IMsgChannelCloseInitResponse} [response] MsgChannelCloseInitResponse - */ - - /** - * Calls ChannelCloseInit. - * @function channelCloseInit - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgChannelCloseInit} request MsgChannelCloseInit message or plain object - * @param {ibc.core.channel.v1.Msg.ChannelCloseInitCallback} callback Node-style callback called with the error, if any, and MsgChannelCloseInitResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.channelCloseInit = function channelCloseInit(request, callback) { - return this.rpcCall(channelCloseInit, $root.ibc.core.channel.v1.MsgChannelCloseInit, $root.ibc.core.channel.v1.MsgChannelCloseInitResponse, request, callback); - }, "name", { value: "ChannelCloseInit" }); - - /** - * Calls ChannelCloseInit. - * @function channelCloseInit - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgChannelCloseInit} request MsgChannelCloseInit message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Msg#channelCloseConfirm}. - * @memberof ibc.core.channel.v1.Msg - * @typedef ChannelCloseConfirmCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IMsgChannelCloseConfirmResponse} [response] MsgChannelCloseConfirmResponse - */ - - /** - * Calls ChannelCloseConfirm. - * @function channelCloseConfirm - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgChannelCloseConfirm} request MsgChannelCloseConfirm message or plain object - * @param {ibc.core.channel.v1.Msg.ChannelCloseConfirmCallback} callback Node-style callback called with the error, if any, and MsgChannelCloseConfirmResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.channelCloseConfirm = function channelCloseConfirm(request, callback) { - return this.rpcCall(channelCloseConfirm, $root.ibc.core.channel.v1.MsgChannelCloseConfirm, $root.ibc.core.channel.v1.MsgChannelCloseConfirmResponse, request, callback); - }, "name", { value: "ChannelCloseConfirm" }); - - /** - * Calls ChannelCloseConfirm. - * @function channelCloseConfirm - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgChannelCloseConfirm} request MsgChannelCloseConfirm message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Msg#recvPacket}. - * @memberof ibc.core.channel.v1.Msg - * @typedef RecvPacketCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IMsgRecvPacketResponse} [response] MsgRecvPacketResponse - */ - - /** - * Calls RecvPacket. - * @function recvPacket - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgRecvPacket} request MsgRecvPacket message or plain object - * @param {ibc.core.channel.v1.Msg.RecvPacketCallback} callback Node-style callback called with the error, if any, and MsgRecvPacketResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.recvPacket = function recvPacket(request, callback) { - return this.rpcCall(recvPacket, $root.ibc.core.channel.v1.MsgRecvPacket, $root.ibc.core.channel.v1.MsgRecvPacketResponse, request, callback); - }, "name", { value: "RecvPacket" }); - - /** - * Calls RecvPacket. - * @function recvPacket - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgRecvPacket} request MsgRecvPacket message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Msg#timeout}. - * @memberof ibc.core.channel.v1.Msg - * @typedef TimeoutCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IMsgTimeoutResponse} [response] MsgTimeoutResponse - */ - - /** - * Calls Timeout. - * @function timeout - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgTimeout} request MsgTimeout message or plain object - * @param {ibc.core.channel.v1.Msg.TimeoutCallback} callback Node-style callback called with the error, if any, and MsgTimeoutResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.timeout = function timeout(request, callback) { - return this.rpcCall(timeout, $root.ibc.core.channel.v1.MsgTimeout, $root.ibc.core.channel.v1.MsgTimeoutResponse, request, callback); - }, "name", { value: "Timeout" }); - - /** - * Calls Timeout. - * @function timeout - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgTimeout} request MsgTimeout message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Msg#timeoutOnClose}. - * @memberof ibc.core.channel.v1.Msg - * @typedef TimeoutOnCloseCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IMsgTimeoutOnCloseResponse} [response] MsgTimeoutOnCloseResponse - */ - - /** - * Calls TimeoutOnClose. - * @function timeoutOnClose - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgTimeoutOnClose} request MsgTimeoutOnClose message or plain object - * @param {ibc.core.channel.v1.Msg.TimeoutOnCloseCallback} callback Node-style callback called with the error, if any, and MsgTimeoutOnCloseResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.timeoutOnClose = function timeoutOnClose(request, callback) { - return this.rpcCall(timeoutOnClose, $root.ibc.core.channel.v1.MsgTimeoutOnClose, $root.ibc.core.channel.v1.MsgTimeoutOnCloseResponse, request, callback); - }, "name", { value: "TimeoutOnClose" }); - - /** - * Calls TimeoutOnClose. - * @function timeoutOnClose - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgTimeoutOnClose} request MsgTimeoutOnClose message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.channel.v1.Msg#acknowledgement}. - * @memberof ibc.core.channel.v1.Msg - * @typedef AcknowledgementCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.channel.v1.IMsgAcknowledgementResponse} [response] MsgAcknowledgementResponse - */ - - /** - * Calls Acknowledgement. - * @function acknowledgement - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgAcknowledgement} request MsgAcknowledgement message or plain object - * @param {ibc.core.channel.v1.Msg.AcknowledgementCallback} callback Node-style callback called with the error, if any, and MsgAcknowledgementResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.acknowledgement = function acknowledgement(request, callback) { - return this.rpcCall(acknowledgement, $root.ibc.core.channel.v1.MsgAcknowledgement, $root.ibc.core.channel.v1.MsgAcknowledgementResponse, request, callback); - }, "name", { value: "Acknowledgement" }); - - /** - * Calls Acknowledgement. - * @function acknowledgement - * @memberof ibc.core.channel.v1.Msg - * @instance - * @param {ibc.core.channel.v1.IMsgAcknowledgement} request MsgAcknowledgement message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Msg; - })(v1.Msg || {}); - - v1.MsgChannelOpenInit = (function(MsgChannelOpenInit) { - - /** - * Properties of a MsgChannelOpenInit. - * @memberof ibc.core.channel.v1 - * @interface IMsgChannelOpenInit - * @property {string|null} [portId] MsgChannelOpenInit portId - * @property {ibc.core.channel.v1.IChannel|null} [channel] MsgChannelOpenInit channel - * @property {string|null} [signer] MsgChannelOpenInit signer - */ - - /** - * Constructs a new MsgChannelOpenInit. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgChannelOpenInit. - * @implements IMsgChannelOpenInit - * @constructor - * @param {ibc.core.channel.v1.IMsgChannelOpenInit=} [properties] Properties to set - */ - function MsgChannelOpenInit(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgChannelOpenInit portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.MsgChannelOpenInit - * @instance - */ - MsgChannelOpenInit.prototype.portId = ""; - - /** - * MsgChannelOpenInit channel. - * @member {ibc.core.channel.v1.IChannel|null|undefined} channel - * @memberof ibc.core.channel.v1.MsgChannelOpenInit - * @instance - */ - MsgChannelOpenInit.prototype.channel = null; - - /** - * MsgChannelOpenInit signer. - * @member {string} signer - * @memberof ibc.core.channel.v1.MsgChannelOpenInit - * @instance - */ - MsgChannelOpenInit.prototype.signer = ""; - - /** - * Creates a new MsgChannelOpenInit instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgChannelOpenInit - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenInit=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgChannelOpenInit} MsgChannelOpenInit instance - */ - MsgChannelOpenInit.create = function create(properties) { - return new MsgChannelOpenInit(properties); - }; - - /** - * Encodes the specified MsgChannelOpenInit message. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenInit.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgChannelOpenInit - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenInit} message MsgChannelOpenInit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenInit.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channel != null && Object.hasOwnProperty.call(message, "channel")) - $root.ibc.core.channel.v1.Channel.encode(message.channel, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgChannelOpenInit message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenInit.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenInit - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenInit} message MsgChannelOpenInit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenInit.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgChannelOpenInit message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgChannelOpenInit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgChannelOpenInit} MsgChannelOpenInit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenInit.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgChannelOpenInit(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channel = $root.ibc.core.channel.v1.Channel.decode(reader, reader.uint32()); - break; - case 3: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgChannelOpenInit message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenInit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgChannelOpenInit} MsgChannelOpenInit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenInit.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgChannelOpenInit message. - * @function verify - * @memberof ibc.core.channel.v1.MsgChannelOpenInit - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgChannelOpenInit.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channel != null && message.hasOwnProperty("channel")) { - let error = $root.ibc.core.channel.v1.Channel.verify(message.channel); - if (error) - return "channel." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgChannelOpenInit message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgChannelOpenInit - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgChannelOpenInit} MsgChannelOpenInit - */ - MsgChannelOpenInit.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgChannelOpenInit) - return object; - let message = new $root.ibc.core.channel.v1.MsgChannelOpenInit(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channel != null) { - if (typeof object.channel !== "object") - throw TypeError(".ibc.core.channel.v1.MsgChannelOpenInit.channel: object expected"); - message.channel = $root.ibc.core.channel.v1.Channel.fromObject(object.channel); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgChannelOpenInit message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgChannelOpenInit - * @static - * @param {ibc.core.channel.v1.MsgChannelOpenInit} message MsgChannelOpenInit - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgChannelOpenInit.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channel = null; - object.signer = ""; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channel != null && message.hasOwnProperty("channel")) - object.channel = $root.ibc.core.channel.v1.Channel.toObject(message.channel, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgChannelOpenInit to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgChannelOpenInit - * @instance - * @returns {Object.} JSON object - */ - MsgChannelOpenInit.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgChannelOpenInit; - })(v1.MsgChannelOpenInit || {}); - - v1.MsgChannelOpenInitResponse = (function(MsgChannelOpenInitResponse) { - - /** - * Properties of a MsgChannelOpenInitResponse. - * @memberof ibc.core.channel.v1 - * @interface IMsgChannelOpenInitResponse - */ - - /** - * Constructs a new MsgChannelOpenInitResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgChannelOpenInitResponse. - * @implements IMsgChannelOpenInitResponse - * @constructor - * @param {ibc.core.channel.v1.IMsgChannelOpenInitResponse=} [properties] Properties to set - */ - function MsgChannelOpenInitResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgChannelOpenInitResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgChannelOpenInitResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenInitResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgChannelOpenInitResponse} MsgChannelOpenInitResponse instance - */ - MsgChannelOpenInitResponse.create = function create(properties) { - return new MsgChannelOpenInitResponse(properties); - }; - - /** - * Encodes the specified MsgChannelOpenInitResponse message. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenInitResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgChannelOpenInitResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenInitResponse} message MsgChannelOpenInitResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenInitResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgChannelOpenInitResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenInitResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenInitResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenInitResponse} message MsgChannelOpenInitResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenInitResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgChannelOpenInitResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgChannelOpenInitResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgChannelOpenInitResponse} MsgChannelOpenInitResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenInitResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgChannelOpenInitResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgChannelOpenInitResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenInitResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgChannelOpenInitResponse} MsgChannelOpenInitResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenInitResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgChannelOpenInitResponse message. - * @function verify - * @memberof ibc.core.channel.v1.MsgChannelOpenInitResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgChannelOpenInitResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgChannelOpenInitResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgChannelOpenInitResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgChannelOpenInitResponse} MsgChannelOpenInitResponse - */ - MsgChannelOpenInitResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgChannelOpenInitResponse) - return object; - return new $root.ibc.core.channel.v1.MsgChannelOpenInitResponse(); - }; - - /** - * Creates a plain object from a MsgChannelOpenInitResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgChannelOpenInitResponse - * @static - * @param {ibc.core.channel.v1.MsgChannelOpenInitResponse} message MsgChannelOpenInitResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgChannelOpenInitResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgChannelOpenInitResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgChannelOpenInitResponse - * @instance - * @returns {Object.} JSON object - */ - MsgChannelOpenInitResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgChannelOpenInitResponse; - })(v1.MsgChannelOpenInitResponse || {}); - - v1.MsgChannelOpenTry = (function(MsgChannelOpenTry) { - - /** - * Properties of a MsgChannelOpenTry. - * @memberof ibc.core.channel.v1 - * @interface IMsgChannelOpenTry - * @property {string|null} [portId] MsgChannelOpenTry portId - * @property {string|null} [previousChannelId] MsgChannelOpenTry previousChannelId - * @property {ibc.core.channel.v1.IChannel|null} [channel] MsgChannelOpenTry channel - * @property {string|null} [counterpartyVersion] MsgChannelOpenTry counterpartyVersion - * @property {Uint8Array|null} [proofInit] MsgChannelOpenTry proofInit - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] MsgChannelOpenTry proofHeight - * @property {string|null} [signer] MsgChannelOpenTry signer - */ - - /** - * Constructs a new MsgChannelOpenTry. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgChannelOpenTry. - * @implements IMsgChannelOpenTry - * @constructor - * @param {ibc.core.channel.v1.IMsgChannelOpenTry=} [properties] Properties to set - */ - function MsgChannelOpenTry(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgChannelOpenTry portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @instance - */ - MsgChannelOpenTry.prototype.portId = ""; - - /** - * MsgChannelOpenTry previousChannelId. - * @member {string} previousChannelId - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @instance - */ - MsgChannelOpenTry.prototype.previousChannelId = ""; - - /** - * MsgChannelOpenTry channel. - * @member {ibc.core.channel.v1.IChannel|null|undefined} channel - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @instance - */ - MsgChannelOpenTry.prototype.channel = null; - - /** - * MsgChannelOpenTry counterpartyVersion. - * @member {string} counterpartyVersion - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @instance - */ - MsgChannelOpenTry.prototype.counterpartyVersion = ""; - - /** - * MsgChannelOpenTry proofInit. - * @member {Uint8Array} proofInit - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @instance - */ - MsgChannelOpenTry.prototype.proofInit = $util.newBuffer([]); - - /** - * MsgChannelOpenTry proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @instance - */ - MsgChannelOpenTry.prototype.proofHeight = null; - - /** - * MsgChannelOpenTry signer. - * @member {string} signer - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @instance - */ - MsgChannelOpenTry.prototype.signer = ""; - - /** - * Creates a new MsgChannelOpenTry instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenTry=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgChannelOpenTry} MsgChannelOpenTry instance - */ - MsgChannelOpenTry.create = function create(properties) { - return new MsgChannelOpenTry(properties); - }; - - /** - * Encodes the specified MsgChannelOpenTry message. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenTry.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenTry} message MsgChannelOpenTry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenTry.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.previousChannelId != null && Object.hasOwnProperty.call(message, "previousChannelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.previousChannelId); - if (message.channel != null && Object.hasOwnProperty.call(message, "channel")) - $root.ibc.core.channel.v1.Channel.encode(message.channel, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.counterpartyVersion != null && Object.hasOwnProperty.call(message, "counterpartyVersion")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.counterpartyVersion); - if (message.proofInit != null && Object.hasOwnProperty.call(message, "proofInit")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.proofInit); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgChannelOpenTry message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenTry.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenTry} message MsgChannelOpenTry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenTry.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgChannelOpenTry message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgChannelOpenTry} MsgChannelOpenTry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenTry.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgChannelOpenTry(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.previousChannelId = reader.string(); - break; - case 3: - message.channel = $root.ibc.core.channel.v1.Channel.decode(reader, reader.uint32()); - break; - case 4: - message.counterpartyVersion = reader.string(); - break; - case 5: - message.proofInit = reader.bytes(); - break; - case 6: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 7: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgChannelOpenTry message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgChannelOpenTry} MsgChannelOpenTry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenTry.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgChannelOpenTry message. - * @function verify - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgChannelOpenTry.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.previousChannelId != null && message.hasOwnProperty("previousChannelId")) - if (!$util.isString(message.previousChannelId)) - return "previousChannelId: string expected"; - if (message.channel != null && message.hasOwnProperty("channel")) { - let error = $root.ibc.core.channel.v1.Channel.verify(message.channel); - if (error) - return "channel." + error; - } - if (message.counterpartyVersion != null && message.hasOwnProperty("counterpartyVersion")) - if (!$util.isString(message.counterpartyVersion)) - return "counterpartyVersion: string expected"; - if (message.proofInit != null && message.hasOwnProperty("proofInit")) - if (!(message.proofInit && typeof message.proofInit.length === "number" || $util.isString(message.proofInit))) - return "proofInit: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgChannelOpenTry message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgChannelOpenTry} MsgChannelOpenTry - */ - MsgChannelOpenTry.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgChannelOpenTry) - return object; - let message = new $root.ibc.core.channel.v1.MsgChannelOpenTry(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.previousChannelId != null) - message.previousChannelId = String(object.previousChannelId); - if (object.channel != null) { - if (typeof object.channel !== "object") - throw TypeError(".ibc.core.channel.v1.MsgChannelOpenTry.channel: object expected"); - message.channel = $root.ibc.core.channel.v1.Channel.fromObject(object.channel); - } - if (object.counterpartyVersion != null) - message.counterpartyVersion = String(object.counterpartyVersion); - if (object.proofInit != null) - if (typeof object.proofInit === "string") - $util.base64.decode(object.proofInit, message.proofInit = $util.newBuffer($util.base64.length(object.proofInit)), 0); - else if (object.proofInit.length) - message.proofInit = object.proofInit; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.MsgChannelOpenTry.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgChannelOpenTry message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @static - * @param {ibc.core.channel.v1.MsgChannelOpenTry} message MsgChannelOpenTry - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgChannelOpenTry.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.previousChannelId = ""; - object.channel = null; - object.counterpartyVersion = ""; - if (options.bytes === String) - object.proofInit = ""; - else { - object.proofInit = []; - if (options.bytes !== Array) - object.proofInit = $util.newBuffer(object.proofInit); - } - object.proofHeight = null; - object.signer = ""; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.previousChannelId != null && message.hasOwnProperty("previousChannelId")) - object.previousChannelId = message.previousChannelId; - if (message.channel != null && message.hasOwnProperty("channel")) - object.channel = $root.ibc.core.channel.v1.Channel.toObject(message.channel, options); - if (message.counterpartyVersion != null && message.hasOwnProperty("counterpartyVersion")) - object.counterpartyVersion = message.counterpartyVersion; - if (message.proofInit != null && message.hasOwnProperty("proofInit")) - object.proofInit = options.bytes === String ? $util.base64.encode(message.proofInit, 0, message.proofInit.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofInit) : message.proofInit; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgChannelOpenTry to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgChannelOpenTry - * @instance - * @returns {Object.} JSON object - */ - MsgChannelOpenTry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgChannelOpenTry; - })(v1.MsgChannelOpenTry || {}); - - v1.MsgChannelOpenTryResponse = (function(MsgChannelOpenTryResponse) { - - /** - * Properties of a MsgChannelOpenTryResponse. - * @memberof ibc.core.channel.v1 - * @interface IMsgChannelOpenTryResponse - */ - - /** - * Constructs a new MsgChannelOpenTryResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgChannelOpenTryResponse. - * @implements IMsgChannelOpenTryResponse - * @constructor - * @param {ibc.core.channel.v1.IMsgChannelOpenTryResponse=} [properties] Properties to set - */ - function MsgChannelOpenTryResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgChannelOpenTryResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgChannelOpenTryResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenTryResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgChannelOpenTryResponse} MsgChannelOpenTryResponse instance - */ - MsgChannelOpenTryResponse.create = function create(properties) { - return new MsgChannelOpenTryResponse(properties); - }; - - /** - * Encodes the specified MsgChannelOpenTryResponse message. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenTryResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgChannelOpenTryResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenTryResponse} message MsgChannelOpenTryResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenTryResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgChannelOpenTryResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenTryResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenTryResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenTryResponse} message MsgChannelOpenTryResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenTryResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgChannelOpenTryResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgChannelOpenTryResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgChannelOpenTryResponse} MsgChannelOpenTryResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenTryResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgChannelOpenTryResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgChannelOpenTryResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenTryResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgChannelOpenTryResponse} MsgChannelOpenTryResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenTryResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgChannelOpenTryResponse message. - * @function verify - * @memberof ibc.core.channel.v1.MsgChannelOpenTryResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgChannelOpenTryResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgChannelOpenTryResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgChannelOpenTryResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgChannelOpenTryResponse} MsgChannelOpenTryResponse - */ - MsgChannelOpenTryResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgChannelOpenTryResponse) - return object; - return new $root.ibc.core.channel.v1.MsgChannelOpenTryResponse(); - }; - - /** - * Creates a plain object from a MsgChannelOpenTryResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgChannelOpenTryResponse - * @static - * @param {ibc.core.channel.v1.MsgChannelOpenTryResponse} message MsgChannelOpenTryResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgChannelOpenTryResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgChannelOpenTryResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgChannelOpenTryResponse - * @instance - * @returns {Object.} JSON object - */ - MsgChannelOpenTryResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgChannelOpenTryResponse; - })(v1.MsgChannelOpenTryResponse || {}); - - v1.MsgChannelOpenAck = (function(MsgChannelOpenAck) { - - /** - * Properties of a MsgChannelOpenAck. - * @memberof ibc.core.channel.v1 - * @interface IMsgChannelOpenAck - * @property {string|null} [portId] MsgChannelOpenAck portId - * @property {string|null} [channelId] MsgChannelOpenAck channelId - * @property {string|null} [counterpartyChannelId] MsgChannelOpenAck counterpartyChannelId - * @property {string|null} [counterpartyVersion] MsgChannelOpenAck counterpartyVersion - * @property {Uint8Array|null} [proofTry] MsgChannelOpenAck proofTry - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] MsgChannelOpenAck proofHeight - * @property {string|null} [signer] MsgChannelOpenAck signer - */ - - /** - * Constructs a new MsgChannelOpenAck. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgChannelOpenAck. - * @implements IMsgChannelOpenAck - * @constructor - * @param {ibc.core.channel.v1.IMsgChannelOpenAck=} [properties] Properties to set - */ - function MsgChannelOpenAck(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgChannelOpenAck portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @instance - */ - MsgChannelOpenAck.prototype.portId = ""; - - /** - * MsgChannelOpenAck channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @instance - */ - MsgChannelOpenAck.prototype.channelId = ""; - - /** - * MsgChannelOpenAck counterpartyChannelId. - * @member {string} counterpartyChannelId - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @instance - */ - MsgChannelOpenAck.prototype.counterpartyChannelId = ""; - - /** - * MsgChannelOpenAck counterpartyVersion. - * @member {string} counterpartyVersion - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @instance - */ - MsgChannelOpenAck.prototype.counterpartyVersion = ""; - - /** - * MsgChannelOpenAck proofTry. - * @member {Uint8Array} proofTry - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @instance - */ - MsgChannelOpenAck.prototype.proofTry = $util.newBuffer([]); - - /** - * MsgChannelOpenAck proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @instance - */ - MsgChannelOpenAck.prototype.proofHeight = null; - - /** - * MsgChannelOpenAck signer. - * @member {string} signer - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @instance - */ - MsgChannelOpenAck.prototype.signer = ""; - - /** - * Creates a new MsgChannelOpenAck instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenAck=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgChannelOpenAck} MsgChannelOpenAck instance - */ - MsgChannelOpenAck.create = function create(properties) { - return new MsgChannelOpenAck(properties); - }; - - /** - * Encodes the specified MsgChannelOpenAck message. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenAck.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenAck} message MsgChannelOpenAck message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenAck.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.counterpartyChannelId != null && Object.hasOwnProperty.call(message, "counterpartyChannelId")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.counterpartyChannelId); - if (message.counterpartyVersion != null && Object.hasOwnProperty.call(message, "counterpartyVersion")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.counterpartyVersion); - if (message.proofTry != null && Object.hasOwnProperty.call(message, "proofTry")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.proofTry); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgChannelOpenAck message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenAck.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenAck} message MsgChannelOpenAck message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenAck.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgChannelOpenAck message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgChannelOpenAck} MsgChannelOpenAck - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenAck.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgChannelOpenAck(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - message.counterpartyChannelId = reader.string(); - break; - case 4: - message.counterpartyVersion = reader.string(); - break; - case 5: - message.proofTry = reader.bytes(); - break; - case 6: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 7: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgChannelOpenAck message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgChannelOpenAck} MsgChannelOpenAck - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenAck.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgChannelOpenAck message. - * @function verify - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgChannelOpenAck.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.counterpartyChannelId != null && message.hasOwnProperty("counterpartyChannelId")) - if (!$util.isString(message.counterpartyChannelId)) - return "counterpartyChannelId: string expected"; - if (message.counterpartyVersion != null && message.hasOwnProperty("counterpartyVersion")) - if (!$util.isString(message.counterpartyVersion)) - return "counterpartyVersion: string expected"; - if (message.proofTry != null && message.hasOwnProperty("proofTry")) - if (!(message.proofTry && typeof message.proofTry.length === "number" || $util.isString(message.proofTry))) - return "proofTry: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgChannelOpenAck message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgChannelOpenAck} MsgChannelOpenAck - */ - MsgChannelOpenAck.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgChannelOpenAck) - return object; - let message = new $root.ibc.core.channel.v1.MsgChannelOpenAck(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.counterpartyChannelId != null) - message.counterpartyChannelId = String(object.counterpartyChannelId); - if (object.counterpartyVersion != null) - message.counterpartyVersion = String(object.counterpartyVersion); - if (object.proofTry != null) - if (typeof object.proofTry === "string") - $util.base64.decode(object.proofTry, message.proofTry = $util.newBuffer($util.base64.length(object.proofTry)), 0); - else if (object.proofTry.length) - message.proofTry = object.proofTry; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.MsgChannelOpenAck.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgChannelOpenAck message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @static - * @param {ibc.core.channel.v1.MsgChannelOpenAck} message MsgChannelOpenAck - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgChannelOpenAck.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - object.counterpartyChannelId = ""; - object.counterpartyVersion = ""; - if (options.bytes === String) - object.proofTry = ""; - else { - object.proofTry = []; - if (options.bytes !== Array) - object.proofTry = $util.newBuffer(object.proofTry); - } - object.proofHeight = null; - object.signer = ""; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.counterpartyChannelId != null && message.hasOwnProperty("counterpartyChannelId")) - object.counterpartyChannelId = message.counterpartyChannelId; - if (message.counterpartyVersion != null && message.hasOwnProperty("counterpartyVersion")) - object.counterpartyVersion = message.counterpartyVersion; - if (message.proofTry != null && message.hasOwnProperty("proofTry")) - object.proofTry = options.bytes === String ? $util.base64.encode(message.proofTry, 0, message.proofTry.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofTry) : message.proofTry; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgChannelOpenAck to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgChannelOpenAck - * @instance - * @returns {Object.} JSON object - */ - MsgChannelOpenAck.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgChannelOpenAck; - })(v1.MsgChannelOpenAck || {}); - - v1.MsgChannelOpenAckResponse = (function(MsgChannelOpenAckResponse) { - - /** - * Properties of a MsgChannelOpenAckResponse. - * @memberof ibc.core.channel.v1 - * @interface IMsgChannelOpenAckResponse - */ - - /** - * Constructs a new MsgChannelOpenAckResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgChannelOpenAckResponse. - * @implements IMsgChannelOpenAckResponse - * @constructor - * @param {ibc.core.channel.v1.IMsgChannelOpenAckResponse=} [properties] Properties to set - */ - function MsgChannelOpenAckResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgChannelOpenAckResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgChannelOpenAckResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenAckResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgChannelOpenAckResponse} MsgChannelOpenAckResponse instance - */ - MsgChannelOpenAckResponse.create = function create(properties) { - return new MsgChannelOpenAckResponse(properties); - }; - - /** - * Encodes the specified MsgChannelOpenAckResponse message. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenAckResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgChannelOpenAckResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenAckResponse} message MsgChannelOpenAckResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenAckResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgChannelOpenAckResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenAckResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenAckResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenAckResponse} message MsgChannelOpenAckResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenAckResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgChannelOpenAckResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgChannelOpenAckResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgChannelOpenAckResponse} MsgChannelOpenAckResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenAckResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgChannelOpenAckResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgChannelOpenAckResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenAckResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgChannelOpenAckResponse} MsgChannelOpenAckResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenAckResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgChannelOpenAckResponse message. - * @function verify - * @memberof ibc.core.channel.v1.MsgChannelOpenAckResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgChannelOpenAckResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgChannelOpenAckResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgChannelOpenAckResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgChannelOpenAckResponse} MsgChannelOpenAckResponse - */ - MsgChannelOpenAckResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgChannelOpenAckResponse) - return object; - return new $root.ibc.core.channel.v1.MsgChannelOpenAckResponse(); - }; - - /** - * Creates a plain object from a MsgChannelOpenAckResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgChannelOpenAckResponse - * @static - * @param {ibc.core.channel.v1.MsgChannelOpenAckResponse} message MsgChannelOpenAckResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgChannelOpenAckResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgChannelOpenAckResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgChannelOpenAckResponse - * @instance - * @returns {Object.} JSON object - */ - MsgChannelOpenAckResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgChannelOpenAckResponse; - })(v1.MsgChannelOpenAckResponse || {}); - - v1.MsgChannelOpenConfirm = (function(MsgChannelOpenConfirm) { - - /** - * Properties of a MsgChannelOpenConfirm. - * @memberof ibc.core.channel.v1 - * @interface IMsgChannelOpenConfirm - * @property {string|null} [portId] MsgChannelOpenConfirm portId - * @property {string|null} [channelId] MsgChannelOpenConfirm channelId - * @property {Uint8Array|null} [proofAck] MsgChannelOpenConfirm proofAck - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] MsgChannelOpenConfirm proofHeight - * @property {string|null} [signer] MsgChannelOpenConfirm signer - */ - - /** - * Constructs a new MsgChannelOpenConfirm. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgChannelOpenConfirm. - * @implements IMsgChannelOpenConfirm - * @constructor - * @param {ibc.core.channel.v1.IMsgChannelOpenConfirm=} [properties] Properties to set - */ - function MsgChannelOpenConfirm(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgChannelOpenConfirm portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @instance - */ - MsgChannelOpenConfirm.prototype.portId = ""; - - /** - * MsgChannelOpenConfirm channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @instance - */ - MsgChannelOpenConfirm.prototype.channelId = ""; - - /** - * MsgChannelOpenConfirm proofAck. - * @member {Uint8Array} proofAck - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @instance - */ - MsgChannelOpenConfirm.prototype.proofAck = $util.newBuffer([]); - - /** - * MsgChannelOpenConfirm proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @instance - */ - MsgChannelOpenConfirm.prototype.proofHeight = null; - - /** - * MsgChannelOpenConfirm signer. - * @member {string} signer - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @instance - */ - MsgChannelOpenConfirm.prototype.signer = ""; - - /** - * Creates a new MsgChannelOpenConfirm instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenConfirm=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgChannelOpenConfirm} MsgChannelOpenConfirm instance - */ - MsgChannelOpenConfirm.create = function create(properties) { - return new MsgChannelOpenConfirm(properties); - }; - - /** - * Encodes the specified MsgChannelOpenConfirm message. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenConfirm.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenConfirm} message MsgChannelOpenConfirm message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenConfirm.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.proofAck != null && Object.hasOwnProperty.call(message, "proofAck")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.proofAck); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgChannelOpenConfirm message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenConfirm.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenConfirm} message MsgChannelOpenConfirm message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenConfirm.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgChannelOpenConfirm message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgChannelOpenConfirm} MsgChannelOpenConfirm - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenConfirm.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgChannelOpenConfirm(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - message.proofAck = reader.bytes(); - break; - case 4: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 5: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgChannelOpenConfirm message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgChannelOpenConfirm} MsgChannelOpenConfirm - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenConfirm.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgChannelOpenConfirm message. - * @function verify - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgChannelOpenConfirm.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.proofAck != null && message.hasOwnProperty("proofAck")) - if (!(message.proofAck && typeof message.proofAck.length === "number" || $util.isString(message.proofAck))) - return "proofAck: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgChannelOpenConfirm message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgChannelOpenConfirm} MsgChannelOpenConfirm - */ - MsgChannelOpenConfirm.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgChannelOpenConfirm) - return object; - let message = new $root.ibc.core.channel.v1.MsgChannelOpenConfirm(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.proofAck != null) - if (typeof object.proofAck === "string") - $util.base64.decode(object.proofAck, message.proofAck = $util.newBuffer($util.base64.length(object.proofAck)), 0); - else if (object.proofAck.length) - message.proofAck = object.proofAck; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.MsgChannelOpenConfirm.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgChannelOpenConfirm message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @static - * @param {ibc.core.channel.v1.MsgChannelOpenConfirm} message MsgChannelOpenConfirm - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgChannelOpenConfirm.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - if (options.bytes === String) - object.proofAck = ""; - else { - object.proofAck = []; - if (options.bytes !== Array) - object.proofAck = $util.newBuffer(object.proofAck); - } - object.proofHeight = null; - object.signer = ""; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.proofAck != null && message.hasOwnProperty("proofAck")) - object.proofAck = options.bytes === String ? $util.base64.encode(message.proofAck, 0, message.proofAck.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofAck) : message.proofAck; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgChannelOpenConfirm to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirm - * @instance - * @returns {Object.} JSON object - */ - MsgChannelOpenConfirm.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgChannelOpenConfirm; - })(v1.MsgChannelOpenConfirm || {}); - - v1.MsgChannelOpenConfirmResponse = (function(MsgChannelOpenConfirmResponse) { - - /** - * Properties of a MsgChannelOpenConfirmResponse. - * @memberof ibc.core.channel.v1 - * @interface IMsgChannelOpenConfirmResponse - */ - - /** - * Constructs a new MsgChannelOpenConfirmResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgChannelOpenConfirmResponse. - * @implements IMsgChannelOpenConfirmResponse - * @constructor - * @param {ibc.core.channel.v1.IMsgChannelOpenConfirmResponse=} [properties] Properties to set - */ - function MsgChannelOpenConfirmResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgChannelOpenConfirmResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirmResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenConfirmResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgChannelOpenConfirmResponse} MsgChannelOpenConfirmResponse instance - */ - MsgChannelOpenConfirmResponse.create = function create(properties) { - return new MsgChannelOpenConfirmResponse(properties); - }; - - /** - * Encodes the specified MsgChannelOpenConfirmResponse message. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenConfirmResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirmResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenConfirmResponse} message MsgChannelOpenConfirmResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenConfirmResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgChannelOpenConfirmResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgChannelOpenConfirmResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirmResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelOpenConfirmResponse} message MsgChannelOpenConfirmResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelOpenConfirmResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgChannelOpenConfirmResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirmResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgChannelOpenConfirmResponse} MsgChannelOpenConfirmResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenConfirmResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgChannelOpenConfirmResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgChannelOpenConfirmResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirmResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgChannelOpenConfirmResponse} MsgChannelOpenConfirmResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelOpenConfirmResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgChannelOpenConfirmResponse message. - * @function verify - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirmResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgChannelOpenConfirmResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgChannelOpenConfirmResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirmResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgChannelOpenConfirmResponse} MsgChannelOpenConfirmResponse - */ - MsgChannelOpenConfirmResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgChannelOpenConfirmResponse) - return object; - return new $root.ibc.core.channel.v1.MsgChannelOpenConfirmResponse(); - }; - - /** - * Creates a plain object from a MsgChannelOpenConfirmResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirmResponse - * @static - * @param {ibc.core.channel.v1.MsgChannelOpenConfirmResponse} message MsgChannelOpenConfirmResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgChannelOpenConfirmResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgChannelOpenConfirmResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgChannelOpenConfirmResponse - * @instance - * @returns {Object.} JSON object - */ - MsgChannelOpenConfirmResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgChannelOpenConfirmResponse; - })(v1.MsgChannelOpenConfirmResponse || {}); - - v1.MsgChannelCloseInit = (function(MsgChannelCloseInit) { - - /** - * Properties of a MsgChannelCloseInit. - * @memberof ibc.core.channel.v1 - * @interface IMsgChannelCloseInit - * @property {string|null} [portId] MsgChannelCloseInit portId - * @property {string|null} [channelId] MsgChannelCloseInit channelId - * @property {string|null} [signer] MsgChannelCloseInit signer - */ - - /** - * Constructs a new MsgChannelCloseInit. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgChannelCloseInit. - * @implements IMsgChannelCloseInit - * @constructor - * @param {ibc.core.channel.v1.IMsgChannelCloseInit=} [properties] Properties to set - */ - function MsgChannelCloseInit(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgChannelCloseInit portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.MsgChannelCloseInit - * @instance - */ - MsgChannelCloseInit.prototype.portId = ""; - - /** - * MsgChannelCloseInit channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.MsgChannelCloseInit - * @instance - */ - MsgChannelCloseInit.prototype.channelId = ""; - - /** - * MsgChannelCloseInit signer. - * @member {string} signer - * @memberof ibc.core.channel.v1.MsgChannelCloseInit - * @instance - */ - MsgChannelCloseInit.prototype.signer = ""; - - /** - * Creates a new MsgChannelCloseInit instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgChannelCloseInit - * @static - * @param {ibc.core.channel.v1.IMsgChannelCloseInit=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgChannelCloseInit} MsgChannelCloseInit instance - */ - MsgChannelCloseInit.create = function create(properties) { - return new MsgChannelCloseInit(properties); - }; - - /** - * Encodes the specified MsgChannelCloseInit message. Does not implicitly {@link ibc.core.channel.v1.MsgChannelCloseInit.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgChannelCloseInit - * @static - * @param {ibc.core.channel.v1.IMsgChannelCloseInit} message MsgChannelCloseInit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelCloseInit.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgChannelCloseInit message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgChannelCloseInit.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelCloseInit - * @static - * @param {ibc.core.channel.v1.IMsgChannelCloseInit} message MsgChannelCloseInit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelCloseInit.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgChannelCloseInit message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgChannelCloseInit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgChannelCloseInit} MsgChannelCloseInit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelCloseInit.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgChannelCloseInit(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgChannelCloseInit message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelCloseInit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgChannelCloseInit} MsgChannelCloseInit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelCloseInit.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgChannelCloseInit message. - * @function verify - * @memberof ibc.core.channel.v1.MsgChannelCloseInit - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgChannelCloseInit.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgChannelCloseInit message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgChannelCloseInit - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgChannelCloseInit} MsgChannelCloseInit - */ - MsgChannelCloseInit.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgChannelCloseInit) - return object; - let message = new $root.ibc.core.channel.v1.MsgChannelCloseInit(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgChannelCloseInit message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgChannelCloseInit - * @static - * @param {ibc.core.channel.v1.MsgChannelCloseInit} message MsgChannelCloseInit - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgChannelCloseInit.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - object.signer = ""; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgChannelCloseInit to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgChannelCloseInit - * @instance - * @returns {Object.} JSON object - */ - MsgChannelCloseInit.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgChannelCloseInit; - })(v1.MsgChannelCloseInit || {}); - - v1.MsgChannelCloseInitResponse = (function(MsgChannelCloseInitResponse) { - - /** - * Properties of a MsgChannelCloseInitResponse. - * @memberof ibc.core.channel.v1 - * @interface IMsgChannelCloseInitResponse - */ - - /** - * Constructs a new MsgChannelCloseInitResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgChannelCloseInitResponse. - * @implements IMsgChannelCloseInitResponse - * @constructor - * @param {ibc.core.channel.v1.IMsgChannelCloseInitResponse=} [properties] Properties to set - */ - function MsgChannelCloseInitResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgChannelCloseInitResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgChannelCloseInitResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelCloseInitResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgChannelCloseInitResponse} MsgChannelCloseInitResponse instance - */ - MsgChannelCloseInitResponse.create = function create(properties) { - return new MsgChannelCloseInitResponse(properties); - }; - - /** - * Encodes the specified MsgChannelCloseInitResponse message. Does not implicitly {@link ibc.core.channel.v1.MsgChannelCloseInitResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgChannelCloseInitResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelCloseInitResponse} message MsgChannelCloseInitResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelCloseInitResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgChannelCloseInitResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgChannelCloseInitResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelCloseInitResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelCloseInitResponse} message MsgChannelCloseInitResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelCloseInitResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgChannelCloseInitResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgChannelCloseInitResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgChannelCloseInitResponse} MsgChannelCloseInitResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelCloseInitResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgChannelCloseInitResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgChannelCloseInitResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelCloseInitResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgChannelCloseInitResponse} MsgChannelCloseInitResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelCloseInitResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgChannelCloseInitResponse message. - * @function verify - * @memberof ibc.core.channel.v1.MsgChannelCloseInitResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgChannelCloseInitResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgChannelCloseInitResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgChannelCloseInitResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgChannelCloseInitResponse} MsgChannelCloseInitResponse - */ - MsgChannelCloseInitResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgChannelCloseInitResponse) - return object; - return new $root.ibc.core.channel.v1.MsgChannelCloseInitResponse(); - }; - - /** - * Creates a plain object from a MsgChannelCloseInitResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgChannelCloseInitResponse - * @static - * @param {ibc.core.channel.v1.MsgChannelCloseInitResponse} message MsgChannelCloseInitResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgChannelCloseInitResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgChannelCloseInitResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgChannelCloseInitResponse - * @instance - * @returns {Object.} JSON object - */ - MsgChannelCloseInitResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgChannelCloseInitResponse; - })(v1.MsgChannelCloseInitResponse || {}); - - v1.MsgChannelCloseConfirm = (function(MsgChannelCloseConfirm) { - - /** - * Properties of a MsgChannelCloseConfirm. - * @memberof ibc.core.channel.v1 - * @interface IMsgChannelCloseConfirm - * @property {string|null} [portId] MsgChannelCloseConfirm portId - * @property {string|null} [channelId] MsgChannelCloseConfirm channelId - * @property {Uint8Array|null} [proofInit] MsgChannelCloseConfirm proofInit - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] MsgChannelCloseConfirm proofHeight - * @property {string|null} [signer] MsgChannelCloseConfirm signer - */ - - /** - * Constructs a new MsgChannelCloseConfirm. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgChannelCloseConfirm. - * @implements IMsgChannelCloseConfirm - * @constructor - * @param {ibc.core.channel.v1.IMsgChannelCloseConfirm=} [properties] Properties to set - */ - function MsgChannelCloseConfirm(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgChannelCloseConfirm portId. - * @member {string} portId - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @instance - */ - MsgChannelCloseConfirm.prototype.portId = ""; - - /** - * MsgChannelCloseConfirm channelId. - * @member {string} channelId - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @instance - */ - MsgChannelCloseConfirm.prototype.channelId = ""; - - /** - * MsgChannelCloseConfirm proofInit. - * @member {Uint8Array} proofInit - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @instance - */ - MsgChannelCloseConfirm.prototype.proofInit = $util.newBuffer([]); - - /** - * MsgChannelCloseConfirm proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @instance - */ - MsgChannelCloseConfirm.prototype.proofHeight = null; - - /** - * MsgChannelCloseConfirm signer. - * @member {string} signer - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @instance - */ - MsgChannelCloseConfirm.prototype.signer = ""; - - /** - * Creates a new MsgChannelCloseConfirm instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @static - * @param {ibc.core.channel.v1.IMsgChannelCloseConfirm=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgChannelCloseConfirm} MsgChannelCloseConfirm instance - */ - MsgChannelCloseConfirm.create = function create(properties) { - return new MsgChannelCloseConfirm(properties); - }; - - /** - * Encodes the specified MsgChannelCloseConfirm message. Does not implicitly {@link ibc.core.channel.v1.MsgChannelCloseConfirm.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @static - * @param {ibc.core.channel.v1.IMsgChannelCloseConfirm} message MsgChannelCloseConfirm message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelCloseConfirm.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.portId != null && Object.hasOwnProperty.call(message, "portId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.portId); - if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.channelId); - if (message.proofInit != null && Object.hasOwnProperty.call(message, "proofInit")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.proofInit); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgChannelCloseConfirm message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgChannelCloseConfirm.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @static - * @param {ibc.core.channel.v1.IMsgChannelCloseConfirm} message MsgChannelCloseConfirm message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelCloseConfirm.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgChannelCloseConfirm message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgChannelCloseConfirm} MsgChannelCloseConfirm - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelCloseConfirm.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgChannelCloseConfirm(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.portId = reader.string(); - break; - case 2: - message.channelId = reader.string(); - break; - case 3: - message.proofInit = reader.bytes(); - break; - case 4: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 5: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgChannelCloseConfirm message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgChannelCloseConfirm} MsgChannelCloseConfirm - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelCloseConfirm.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgChannelCloseConfirm message. - * @function verify - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgChannelCloseConfirm.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.portId != null && message.hasOwnProperty("portId")) - if (!$util.isString(message.portId)) - return "portId: string expected"; - if (message.channelId != null && message.hasOwnProperty("channelId")) - if (!$util.isString(message.channelId)) - return "channelId: string expected"; - if (message.proofInit != null && message.hasOwnProperty("proofInit")) - if (!(message.proofInit && typeof message.proofInit.length === "number" || $util.isString(message.proofInit))) - return "proofInit: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgChannelCloseConfirm message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgChannelCloseConfirm} MsgChannelCloseConfirm - */ - MsgChannelCloseConfirm.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgChannelCloseConfirm) - return object; - let message = new $root.ibc.core.channel.v1.MsgChannelCloseConfirm(); - if (object.portId != null) - message.portId = String(object.portId); - if (object.channelId != null) - message.channelId = String(object.channelId); - if (object.proofInit != null) - if (typeof object.proofInit === "string") - $util.base64.decode(object.proofInit, message.proofInit = $util.newBuffer($util.base64.length(object.proofInit)), 0); - else if (object.proofInit.length) - message.proofInit = object.proofInit; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.MsgChannelCloseConfirm.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgChannelCloseConfirm message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @static - * @param {ibc.core.channel.v1.MsgChannelCloseConfirm} message MsgChannelCloseConfirm - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgChannelCloseConfirm.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.portId = ""; - object.channelId = ""; - if (options.bytes === String) - object.proofInit = ""; - else { - object.proofInit = []; - if (options.bytes !== Array) - object.proofInit = $util.newBuffer(object.proofInit); - } - object.proofHeight = null; - object.signer = ""; - } - if (message.portId != null && message.hasOwnProperty("portId")) - object.portId = message.portId; - if (message.channelId != null && message.hasOwnProperty("channelId")) - object.channelId = message.channelId; - if (message.proofInit != null && message.hasOwnProperty("proofInit")) - object.proofInit = options.bytes === String ? $util.base64.encode(message.proofInit, 0, message.proofInit.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofInit) : message.proofInit; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgChannelCloseConfirm to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirm - * @instance - * @returns {Object.} JSON object - */ - MsgChannelCloseConfirm.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgChannelCloseConfirm; - })(v1.MsgChannelCloseConfirm || {}); - - v1.MsgChannelCloseConfirmResponse = (function(MsgChannelCloseConfirmResponse) { - - /** - * Properties of a MsgChannelCloseConfirmResponse. - * @memberof ibc.core.channel.v1 - * @interface IMsgChannelCloseConfirmResponse - */ - - /** - * Constructs a new MsgChannelCloseConfirmResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgChannelCloseConfirmResponse. - * @implements IMsgChannelCloseConfirmResponse - * @constructor - * @param {ibc.core.channel.v1.IMsgChannelCloseConfirmResponse=} [properties] Properties to set - */ - function MsgChannelCloseConfirmResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgChannelCloseConfirmResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirmResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelCloseConfirmResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgChannelCloseConfirmResponse} MsgChannelCloseConfirmResponse instance - */ - MsgChannelCloseConfirmResponse.create = function create(properties) { - return new MsgChannelCloseConfirmResponse(properties); - }; - - /** - * Encodes the specified MsgChannelCloseConfirmResponse message. Does not implicitly {@link ibc.core.channel.v1.MsgChannelCloseConfirmResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirmResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelCloseConfirmResponse} message MsgChannelCloseConfirmResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelCloseConfirmResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgChannelCloseConfirmResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgChannelCloseConfirmResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirmResponse - * @static - * @param {ibc.core.channel.v1.IMsgChannelCloseConfirmResponse} message MsgChannelCloseConfirmResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgChannelCloseConfirmResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgChannelCloseConfirmResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirmResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgChannelCloseConfirmResponse} MsgChannelCloseConfirmResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelCloseConfirmResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgChannelCloseConfirmResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgChannelCloseConfirmResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirmResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgChannelCloseConfirmResponse} MsgChannelCloseConfirmResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgChannelCloseConfirmResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgChannelCloseConfirmResponse message. - * @function verify - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirmResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgChannelCloseConfirmResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgChannelCloseConfirmResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirmResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgChannelCloseConfirmResponse} MsgChannelCloseConfirmResponse - */ - MsgChannelCloseConfirmResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgChannelCloseConfirmResponse) - return object; - return new $root.ibc.core.channel.v1.MsgChannelCloseConfirmResponse(); - }; - - /** - * Creates a plain object from a MsgChannelCloseConfirmResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirmResponse - * @static - * @param {ibc.core.channel.v1.MsgChannelCloseConfirmResponse} message MsgChannelCloseConfirmResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgChannelCloseConfirmResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgChannelCloseConfirmResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgChannelCloseConfirmResponse - * @instance - * @returns {Object.} JSON object - */ - MsgChannelCloseConfirmResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgChannelCloseConfirmResponse; - })(v1.MsgChannelCloseConfirmResponse || {}); - - v1.MsgRecvPacket = (function(MsgRecvPacket) { - - /** - * Properties of a MsgRecvPacket. - * @memberof ibc.core.channel.v1 - * @interface IMsgRecvPacket - * @property {ibc.core.channel.v1.IPacket|null} [packet] MsgRecvPacket packet - * @property {Uint8Array|null} [proofCommitment] MsgRecvPacket proofCommitment - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] MsgRecvPacket proofHeight - * @property {string|null} [signer] MsgRecvPacket signer - */ - - /** - * Constructs a new MsgRecvPacket. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgRecvPacket. - * @implements IMsgRecvPacket - * @constructor - * @param {ibc.core.channel.v1.IMsgRecvPacket=} [properties] Properties to set - */ - function MsgRecvPacket(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgRecvPacket packet. - * @member {ibc.core.channel.v1.IPacket|null|undefined} packet - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @instance - */ - MsgRecvPacket.prototype.packet = null; - - /** - * MsgRecvPacket proofCommitment. - * @member {Uint8Array} proofCommitment - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @instance - */ - MsgRecvPacket.prototype.proofCommitment = $util.newBuffer([]); - - /** - * MsgRecvPacket proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @instance - */ - MsgRecvPacket.prototype.proofHeight = null; - - /** - * MsgRecvPacket signer. - * @member {string} signer - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @instance - */ - MsgRecvPacket.prototype.signer = ""; - - /** - * Creates a new MsgRecvPacket instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @static - * @param {ibc.core.channel.v1.IMsgRecvPacket=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgRecvPacket} MsgRecvPacket instance - */ - MsgRecvPacket.create = function create(properties) { - return new MsgRecvPacket(properties); - }; - - /** - * Encodes the specified MsgRecvPacket message. Does not implicitly {@link ibc.core.channel.v1.MsgRecvPacket.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @static - * @param {ibc.core.channel.v1.IMsgRecvPacket} message MsgRecvPacket message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgRecvPacket.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.packet != null && Object.hasOwnProperty.call(message, "packet")) - $root.ibc.core.channel.v1.Packet.encode(message.packet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proofCommitment != null && Object.hasOwnProperty.call(message, "proofCommitment")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proofCommitment); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgRecvPacket message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgRecvPacket.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @static - * @param {ibc.core.channel.v1.IMsgRecvPacket} message MsgRecvPacket message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgRecvPacket.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgRecvPacket message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgRecvPacket} MsgRecvPacket - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgRecvPacket.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgRecvPacket(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.packet = $root.ibc.core.channel.v1.Packet.decode(reader, reader.uint32()); - break; - case 2: - message.proofCommitment = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 4: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgRecvPacket message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgRecvPacket} MsgRecvPacket - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgRecvPacket.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgRecvPacket message. - * @function verify - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgRecvPacket.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.packet != null && message.hasOwnProperty("packet")) { - let error = $root.ibc.core.channel.v1.Packet.verify(message.packet); - if (error) - return "packet." + error; - } - if (message.proofCommitment != null && message.hasOwnProperty("proofCommitment")) - if (!(message.proofCommitment && typeof message.proofCommitment.length === "number" || $util.isString(message.proofCommitment))) - return "proofCommitment: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgRecvPacket message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgRecvPacket} MsgRecvPacket - */ - MsgRecvPacket.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgRecvPacket) - return object; - let message = new $root.ibc.core.channel.v1.MsgRecvPacket(); - if (object.packet != null) { - if (typeof object.packet !== "object") - throw TypeError(".ibc.core.channel.v1.MsgRecvPacket.packet: object expected"); - message.packet = $root.ibc.core.channel.v1.Packet.fromObject(object.packet); - } - if (object.proofCommitment != null) - if (typeof object.proofCommitment === "string") - $util.base64.decode(object.proofCommitment, message.proofCommitment = $util.newBuffer($util.base64.length(object.proofCommitment)), 0); - else if (object.proofCommitment.length) - message.proofCommitment = object.proofCommitment; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.MsgRecvPacket.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgRecvPacket message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @static - * @param {ibc.core.channel.v1.MsgRecvPacket} message MsgRecvPacket - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgRecvPacket.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.packet = null; - if (options.bytes === String) - object.proofCommitment = ""; - else { - object.proofCommitment = []; - if (options.bytes !== Array) - object.proofCommitment = $util.newBuffer(object.proofCommitment); - } - object.proofHeight = null; - object.signer = ""; - } - if (message.packet != null && message.hasOwnProperty("packet")) - object.packet = $root.ibc.core.channel.v1.Packet.toObject(message.packet, options); - if (message.proofCommitment != null && message.hasOwnProperty("proofCommitment")) - object.proofCommitment = options.bytes === String ? $util.base64.encode(message.proofCommitment, 0, message.proofCommitment.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofCommitment) : message.proofCommitment; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgRecvPacket to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgRecvPacket - * @instance - * @returns {Object.} JSON object - */ - MsgRecvPacket.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgRecvPacket; - })(v1.MsgRecvPacket || {}); - - v1.MsgRecvPacketResponse = (function(MsgRecvPacketResponse) { - - /** - * Properties of a MsgRecvPacketResponse. - * @memberof ibc.core.channel.v1 - * @interface IMsgRecvPacketResponse - */ - - /** - * Constructs a new MsgRecvPacketResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgRecvPacketResponse. - * @implements IMsgRecvPacketResponse - * @constructor - * @param {ibc.core.channel.v1.IMsgRecvPacketResponse=} [properties] Properties to set - */ - function MsgRecvPacketResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgRecvPacketResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgRecvPacketResponse - * @static - * @param {ibc.core.channel.v1.IMsgRecvPacketResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgRecvPacketResponse} MsgRecvPacketResponse instance - */ - MsgRecvPacketResponse.create = function create(properties) { - return new MsgRecvPacketResponse(properties); - }; - - /** - * Encodes the specified MsgRecvPacketResponse message. Does not implicitly {@link ibc.core.channel.v1.MsgRecvPacketResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgRecvPacketResponse - * @static - * @param {ibc.core.channel.v1.IMsgRecvPacketResponse} message MsgRecvPacketResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgRecvPacketResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgRecvPacketResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgRecvPacketResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgRecvPacketResponse - * @static - * @param {ibc.core.channel.v1.IMsgRecvPacketResponse} message MsgRecvPacketResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgRecvPacketResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgRecvPacketResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgRecvPacketResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgRecvPacketResponse} MsgRecvPacketResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgRecvPacketResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgRecvPacketResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgRecvPacketResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgRecvPacketResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgRecvPacketResponse} MsgRecvPacketResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgRecvPacketResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgRecvPacketResponse message. - * @function verify - * @memberof ibc.core.channel.v1.MsgRecvPacketResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgRecvPacketResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgRecvPacketResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgRecvPacketResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgRecvPacketResponse} MsgRecvPacketResponse - */ - MsgRecvPacketResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgRecvPacketResponse) - return object; - return new $root.ibc.core.channel.v1.MsgRecvPacketResponse(); - }; - - /** - * Creates a plain object from a MsgRecvPacketResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgRecvPacketResponse - * @static - * @param {ibc.core.channel.v1.MsgRecvPacketResponse} message MsgRecvPacketResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgRecvPacketResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgRecvPacketResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgRecvPacketResponse - * @instance - * @returns {Object.} JSON object - */ - MsgRecvPacketResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgRecvPacketResponse; - })(v1.MsgRecvPacketResponse || {}); - - v1.MsgTimeout = (function(MsgTimeout) { - - /** - * Properties of a MsgTimeout. - * @memberof ibc.core.channel.v1 - * @interface IMsgTimeout - * @property {ibc.core.channel.v1.IPacket|null} [packet] MsgTimeout packet - * @property {Uint8Array|null} [proofUnreceived] MsgTimeout proofUnreceived - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] MsgTimeout proofHeight - * @property {number|Long|null} [nextSequenceRecv] MsgTimeout nextSequenceRecv - * @property {string|null} [signer] MsgTimeout signer - */ - - /** - * Constructs a new MsgTimeout. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgTimeout. - * @implements IMsgTimeout - * @constructor - * @param {ibc.core.channel.v1.IMsgTimeout=} [properties] Properties to set - */ - function MsgTimeout(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgTimeout packet. - * @member {ibc.core.channel.v1.IPacket|null|undefined} packet - * @memberof ibc.core.channel.v1.MsgTimeout - * @instance - */ - MsgTimeout.prototype.packet = null; - - /** - * MsgTimeout proofUnreceived. - * @member {Uint8Array} proofUnreceived - * @memberof ibc.core.channel.v1.MsgTimeout - * @instance - */ - MsgTimeout.prototype.proofUnreceived = $util.newBuffer([]); - - /** - * MsgTimeout proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.MsgTimeout - * @instance - */ - MsgTimeout.prototype.proofHeight = null; - - /** - * MsgTimeout nextSequenceRecv. - * @member {number|Long} nextSequenceRecv - * @memberof ibc.core.channel.v1.MsgTimeout - * @instance - */ - MsgTimeout.prototype.nextSequenceRecv = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * MsgTimeout signer. - * @member {string} signer - * @memberof ibc.core.channel.v1.MsgTimeout - * @instance - */ - MsgTimeout.prototype.signer = ""; - - /** - * Creates a new MsgTimeout instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgTimeout - * @static - * @param {ibc.core.channel.v1.IMsgTimeout=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgTimeout} MsgTimeout instance - */ - MsgTimeout.create = function create(properties) { - return new MsgTimeout(properties); - }; - - /** - * Encodes the specified MsgTimeout message. Does not implicitly {@link ibc.core.channel.v1.MsgTimeout.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgTimeout - * @static - * @param {ibc.core.channel.v1.IMsgTimeout} message MsgTimeout message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgTimeout.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.packet != null && Object.hasOwnProperty.call(message, "packet")) - $root.ibc.core.channel.v1.Packet.encode(message.packet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proofUnreceived != null && Object.hasOwnProperty.call(message, "proofUnreceived")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proofUnreceived); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.nextSequenceRecv != null && Object.hasOwnProperty.call(message, "nextSequenceRecv")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.nextSequenceRecv); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgTimeout message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgTimeout.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgTimeout - * @static - * @param {ibc.core.channel.v1.IMsgTimeout} message MsgTimeout message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgTimeout.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgTimeout message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgTimeout - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgTimeout} MsgTimeout - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgTimeout.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgTimeout(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.packet = $root.ibc.core.channel.v1.Packet.decode(reader, reader.uint32()); - break; - case 2: - message.proofUnreceived = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 4: - message.nextSequenceRecv = reader.uint64(); - break; - case 5: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgTimeout message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgTimeout - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgTimeout} MsgTimeout - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgTimeout.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgTimeout message. - * @function verify - * @memberof ibc.core.channel.v1.MsgTimeout - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgTimeout.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.packet != null && message.hasOwnProperty("packet")) { - let error = $root.ibc.core.channel.v1.Packet.verify(message.packet); - if (error) - return "packet." + error; - } - if (message.proofUnreceived != null && message.hasOwnProperty("proofUnreceived")) - if (!(message.proofUnreceived && typeof message.proofUnreceived.length === "number" || $util.isString(message.proofUnreceived))) - return "proofUnreceived: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - if (message.nextSequenceRecv != null && message.hasOwnProperty("nextSequenceRecv")) - if (!$util.isInteger(message.nextSequenceRecv) && !(message.nextSequenceRecv && $util.isInteger(message.nextSequenceRecv.low) && $util.isInteger(message.nextSequenceRecv.high))) - return "nextSequenceRecv: integer|Long expected"; - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgTimeout message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgTimeout - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgTimeout} MsgTimeout - */ - MsgTimeout.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgTimeout) - return object; - let message = new $root.ibc.core.channel.v1.MsgTimeout(); - if (object.packet != null) { - if (typeof object.packet !== "object") - throw TypeError(".ibc.core.channel.v1.MsgTimeout.packet: object expected"); - message.packet = $root.ibc.core.channel.v1.Packet.fromObject(object.packet); - } - if (object.proofUnreceived != null) - if (typeof object.proofUnreceived === "string") - $util.base64.decode(object.proofUnreceived, message.proofUnreceived = $util.newBuffer($util.base64.length(object.proofUnreceived)), 0); - else if (object.proofUnreceived.length) - message.proofUnreceived = object.proofUnreceived; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.MsgTimeout.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - if (object.nextSequenceRecv != null) - if ($util.Long) - (message.nextSequenceRecv = $util.Long.fromValue(object.nextSequenceRecv)).unsigned = true; - else if (typeof object.nextSequenceRecv === "string") - message.nextSequenceRecv = parseInt(object.nextSequenceRecv, 10); - else if (typeof object.nextSequenceRecv === "number") - message.nextSequenceRecv = object.nextSequenceRecv; - else if (typeof object.nextSequenceRecv === "object") - message.nextSequenceRecv = new $util.LongBits(object.nextSequenceRecv.low >>> 0, object.nextSequenceRecv.high >>> 0).toNumber(true); - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgTimeout message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgTimeout - * @static - * @param {ibc.core.channel.v1.MsgTimeout} message MsgTimeout - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgTimeout.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.packet = null; - if (options.bytes === String) - object.proofUnreceived = ""; - else { - object.proofUnreceived = []; - if (options.bytes !== Array) - object.proofUnreceived = $util.newBuffer(object.proofUnreceived); - } - object.proofHeight = null; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.nextSequenceRecv = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.nextSequenceRecv = options.longs === String ? "0" : 0; - object.signer = ""; - } - if (message.packet != null && message.hasOwnProperty("packet")) - object.packet = $root.ibc.core.channel.v1.Packet.toObject(message.packet, options); - if (message.proofUnreceived != null && message.hasOwnProperty("proofUnreceived")) - object.proofUnreceived = options.bytes === String ? $util.base64.encode(message.proofUnreceived, 0, message.proofUnreceived.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofUnreceived) : message.proofUnreceived; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - if (message.nextSequenceRecv != null && message.hasOwnProperty("nextSequenceRecv")) - if (typeof message.nextSequenceRecv === "number") - object.nextSequenceRecv = options.longs === String ? String(message.nextSequenceRecv) : message.nextSequenceRecv; - else - object.nextSequenceRecv = options.longs === String ? $util.Long.prototype.toString.call(message.nextSequenceRecv) : options.longs === Number ? new $util.LongBits(message.nextSequenceRecv.low >>> 0, message.nextSequenceRecv.high >>> 0).toNumber(true) : message.nextSequenceRecv; - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgTimeout to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgTimeout - * @instance - * @returns {Object.} JSON object - */ - MsgTimeout.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgTimeout; - })(v1.MsgTimeout || {}); - - v1.MsgTimeoutResponse = (function(MsgTimeoutResponse) { - - /** - * Properties of a MsgTimeoutResponse. - * @memberof ibc.core.channel.v1 - * @interface IMsgTimeoutResponse - */ - - /** - * Constructs a new MsgTimeoutResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgTimeoutResponse. - * @implements IMsgTimeoutResponse - * @constructor - * @param {ibc.core.channel.v1.IMsgTimeoutResponse=} [properties] Properties to set - */ - function MsgTimeoutResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgTimeoutResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgTimeoutResponse - * @static - * @param {ibc.core.channel.v1.IMsgTimeoutResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgTimeoutResponse} MsgTimeoutResponse instance - */ - MsgTimeoutResponse.create = function create(properties) { - return new MsgTimeoutResponse(properties); - }; - - /** - * Encodes the specified MsgTimeoutResponse message. Does not implicitly {@link ibc.core.channel.v1.MsgTimeoutResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgTimeoutResponse - * @static - * @param {ibc.core.channel.v1.IMsgTimeoutResponse} message MsgTimeoutResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgTimeoutResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgTimeoutResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgTimeoutResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgTimeoutResponse - * @static - * @param {ibc.core.channel.v1.IMsgTimeoutResponse} message MsgTimeoutResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgTimeoutResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgTimeoutResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgTimeoutResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgTimeoutResponse} MsgTimeoutResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgTimeoutResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgTimeoutResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgTimeoutResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgTimeoutResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgTimeoutResponse} MsgTimeoutResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgTimeoutResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgTimeoutResponse message. - * @function verify - * @memberof ibc.core.channel.v1.MsgTimeoutResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgTimeoutResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgTimeoutResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgTimeoutResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgTimeoutResponse} MsgTimeoutResponse - */ - MsgTimeoutResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgTimeoutResponse) - return object; - return new $root.ibc.core.channel.v1.MsgTimeoutResponse(); - }; - - /** - * Creates a plain object from a MsgTimeoutResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgTimeoutResponse - * @static - * @param {ibc.core.channel.v1.MsgTimeoutResponse} message MsgTimeoutResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgTimeoutResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgTimeoutResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgTimeoutResponse - * @instance - * @returns {Object.} JSON object - */ - MsgTimeoutResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgTimeoutResponse; - })(v1.MsgTimeoutResponse || {}); - - v1.MsgTimeoutOnClose = (function(MsgTimeoutOnClose) { - - /** - * Properties of a MsgTimeoutOnClose. - * @memberof ibc.core.channel.v1 - * @interface IMsgTimeoutOnClose - * @property {ibc.core.channel.v1.IPacket|null} [packet] MsgTimeoutOnClose packet - * @property {Uint8Array|null} [proofUnreceived] MsgTimeoutOnClose proofUnreceived - * @property {Uint8Array|null} [proofClose] MsgTimeoutOnClose proofClose - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] MsgTimeoutOnClose proofHeight - * @property {number|Long|null} [nextSequenceRecv] MsgTimeoutOnClose nextSequenceRecv - * @property {string|null} [signer] MsgTimeoutOnClose signer - */ - - /** - * Constructs a new MsgTimeoutOnClose. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgTimeoutOnClose. - * @implements IMsgTimeoutOnClose - * @constructor - * @param {ibc.core.channel.v1.IMsgTimeoutOnClose=} [properties] Properties to set - */ - function MsgTimeoutOnClose(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgTimeoutOnClose packet. - * @member {ibc.core.channel.v1.IPacket|null|undefined} packet - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @instance - */ - MsgTimeoutOnClose.prototype.packet = null; - - /** - * MsgTimeoutOnClose proofUnreceived. - * @member {Uint8Array} proofUnreceived - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @instance - */ - MsgTimeoutOnClose.prototype.proofUnreceived = $util.newBuffer([]); - - /** - * MsgTimeoutOnClose proofClose. - * @member {Uint8Array} proofClose - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @instance - */ - MsgTimeoutOnClose.prototype.proofClose = $util.newBuffer([]); - - /** - * MsgTimeoutOnClose proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @instance - */ - MsgTimeoutOnClose.prototype.proofHeight = null; - - /** - * MsgTimeoutOnClose nextSequenceRecv. - * @member {number|Long} nextSequenceRecv - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @instance - */ - MsgTimeoutOnClose.prototype.nextSequenceRecv = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * MsgTimeoutOnClose signer. - * @member {string} signer - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @instance - */ - MsgTimeoutOnClose.prototype.signer = ""; - - /** - * Creates a new MsgTimeoutOnClose instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @static - * @param {ibc.core.channel.v1.IMsgTimeoutOnClose=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgTimeoutOnClose} MsgTimeoutOnClose instance - */ - MsgTimeoutOnClose.create = function create(properties) { - return new MsgTimeoutOnClose(properties); - }; - - /** - * Encodes the specified MsgTimeoutOnClose message. Does not implicitly {@link ibc.core.channel.v1.MsgTimeoutOnClose.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @static - * @param {ibc.core.channel.v1.IMsgTimeoutOnClose} message MsgTimeoutOnClose message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgTimeoutOnClose.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.packet != null && Object.hasOwnProperty.call(message, "packet")) - $root.ibc.core.channel.v1.Packet.encode(message.packet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proofUnreceived != null && Object.hasOwnProperty.call(message, "proofUnreceived")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proofUnreceived); - if (message.proofClose != null && Object.hasOwnProperty.call(message, "proofClose")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.proofClose); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.nextSequenceRecv != null && Object.hasOwnProperty.call(message, "nextSequenceRecv")) - writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.nextSequenceRecv); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgTimeoutOnClose message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgTimeoutOnClose.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @static - * @param {ibc.core.channel.v1.IMsgTimeoutOnClose} message MsgTimeoutOnClose message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgTimeoutOnClose.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgTimeoutOnClose message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgTimeoutOnClose} MsgTimeoutOnClose - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgTimeoutOnClose.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgTimeoutOnClose(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.packet = $root.ibc.core.channel.v1.Packet.decode(reader, reader.uint32()); - break; - case 2: - message.proofUnreceived = reader.bytes(); - break; - case 3: - message.proofClose = reader.bytes(); - break; - case 4: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 5: - message.nextSequenceRecv = reader.uint64(); - break; - case 6: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgTimeoutOnClose message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgTimeoutOnClose} MsgTimeoutOnClose - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgTimeoutOnClose.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgTimeoutOnClose message. - * @function verify - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgTimeoutOnClose.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.packet != null && message.hasOwnProperty("packet")) { - let error = $root.ibc.core.channel.v1.Packet.verify(message.packet); - if (error) - return "packet." + error; - } - if (message.proofUnreceived != null && message.hasOwnProperty("proofUnreceived")) - if (!(message.proofUnreceived && typeof message.proofUnreceived.length === "number" || $util.isString(message.proofUnreceived))) - return "proofUnreceived: buffer expected"; - if (message.proofClose != null && message.hasOwnProperty("proofClose")) - if (!(message.proofClose && typeof message.proofClose.length === "number" || $util.isString(message.proofClose))) - return "proofClose: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - if (message.nextSequenceRecv != null && message.hasOwnProperty("nextSequenceRecv")) - if (!$util.isInteger(message.nextSequenceRecv) && !(message.nextSequenceRecv && $util.isInteger(message.nextSequenceRecv.low) && $util.isInteger(message.nextSequenceRecv.high))) - return "nextSequenceRecv: integer|Long expected"; - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgTimeoutOnClose message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgTimeoutOnClose} MsgTimeoutOnClose - */ - MsgTimeoutOnClose.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgTimeoutOnClose) - return object; - let message = new $root.ibc.core.channel.v1.MsgTimeoutOnClose(); - if (object.packet != null) { - if (typeof object.packet !== "object") - throw TypeError(".ibc.core.channel.v1.MsgTimeoutOnClose.packet: object expected"); - message.packet = $root.ibc.core.channel.v1.Packet.fromObject(object.packet); - } - if (object.proofUnreceived != null) - if (typeof object.proofUnreceived === "string") - $util.base64.decode(object.proofUnreceived, message.proofUnreceived = $util.newBuffer($util.base64.length(object.proofUnreceived)), 0); - else if (object.proofUnreceived.length) - message.proofUnreceived = object.proofUnreceived; - if (object.proofClose != null) - if (typeof object.proofClose === "string") - $util.base64.decode(object.proofClose, message.proofClose = $util.newBuffer($util.base64.length(object.proofClose)), 0); - else if (object.proofClose.length) - message.proofClose = object.proofClose; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.MsgTimeoutOnClose.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - if (object.nextSequenceRecv != null) - if ($util.Long) - (message.nextSequenceRecv = $util.Long.fromValue(object.nextSequenceRecv)).unsigned = true; - else if (typeof object.nextSequenceRecv === "string") - message.nextSequenceRecv = parseInt(object.nextSequenceRecv, 10); - else if (typeof object.nextSequenceRecv === "number") - message.nextSequenceRecv = object.nextSequenceRecv; - else if (typeof object.nextSequenceRecv === "object") - message.nextSequenceRecv = new $util.LongBits(object.nextSequenceRecv.low >>> 0, object.nextSequenceRecv.high >>> 0).toNumber(true); - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgTimeoutOnClose message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @static - * @param {ibc.core.channel.v1.MsgTimeoutOnClose} message MsgTimeoutOnClose - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgTimeoutOnClose.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.packet = null; - if (options.bytes === String) - object.proofUnreceived = ""; - else { - object.proofUnreceived = []; - if (options.bytes !== Array) - object.proofUnreceived = $util.newBuffer(object.proofUnreceived); - } - if (options.bytes === String) - object.proofClose = ""; - else { - object.proofClose = []; - if (options.bytes !== Array) - object.proofClose = $util.newBuffer(object.proofClose); - } - object.proofHeight = null; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.nextSequenceRecv = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.nextSequenceRecv = options.longs === String ? "0" : 0; - object.signer = ""; - } - if (message.packet != null && message.hasOwnProperty("packet")) - object.packet = $root.ibc.core.channel.v1.Packet.toObject(message.packet, options); - if (message.proofUnreceived != null && message.hasOwnProperty("proofUnreceived")) - object.proofUnreceived = options.bytes === String ? $util.base64.encode(message.proofUnreceived, 0, message.proofUnreceived.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofUnreceived) : message.proofUnreceived; - if (message.proofClose != null && message.hasOwnProperty("proofClose")) - object.proofClose = options.bytes === String ? $util.base64.encode(message.proofClose, 0, message.proofClose.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofClose) : message.proofClose; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - if (message.nextSequenceRecv != null && message.hasOwnProperty("nextSequenceRecv")) - if (typeof message.nextSequenceRecv === "number") - object.nextSequenceRecv = options.longs === String ? String(message.nextSequenceRecv) : message.nextSequenceRecv; - else - object.nextSequenceRecv = options.longs === String ? $util.Long.prototype.toString.call(message.nextSequenceRecv) : options.longs === Number ? new $util.LongBits(message.nextSequenceRecv.low >>> 0, message.nextSequenceRecv.high >>> 0).toNumber(true) : message.nextSequenceRecv; - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgTimeoutOnClose to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgTimeoutOnClose - * @instance - * @returns {Object.} JSON object - */ - MsgTimeoutOnClose.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgTimeoutOnClose; - })(v1.MsgTimeoutOnClose || {}); - - v1.MsgTimeoutOnCloseResponse = (function(MsgTimeoutOnCloseResponse) { - - /** - * Properties of a MsgTimeoutOnCloseResponse. - * @memberof ibc.core.channel.v1 - * @interface IMsgTimeoutOnCloseResponse - */ - - /** - * Constructs a new MsgTimeoutOnCloseResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgTimeoutOnCloseResponse. - * @implements IMsgTimeoutOnCloseResponse - * @constructor - * @param {ibc.core.channel.v1.IMsgTimeoutOnCloseResponse=} [properties] Properties to set - */ - function MsgTimeoutOnCloseResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgTimeoutOnCloseResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgTimeoutOnCloseResponse - * @static - * @param {ibc.core.channel.v1.IMsgTimeoutOnCloseResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgTimeoutOnCloseResponse} MsgTimeoutOnCloseResponse instance - */ - MsgTimeoutOnCloseResponse.create = function create(properties) { - return new MsgTimeoutOnCloseResponse(properties); - }; - - /** - * Encodes the specified MsgTimeoutOnCloseResponse message. Does not implicitly {@link ibc.core.channel.v1.MsgTimeoutOnCloseResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgTimeoutOnCloseResponse - * @static - * @param {ibc.core.channel.v1.IMsgTimeoutOnCloseResponse} message MsgTimeoutOnCloseResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgTimeoutOnCloseResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgTimeoutOnCloseResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgTimeoutOnCloseResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgTimeoutOnCloseResponse - * @static - * @param {ibc.core.channel.v1.IMsgTimeoutOnCloseResponse} message MsgTimeoutOnCloseResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgTimeoutOnCloseResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgTimeoutOnCloseResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgTimeoutOnCloseResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgTimeoutOnCloseResponse} MsgTimeoutOnCloseResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgTimeoutOnCloseResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgTimeoutOnCloseResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgTimeoutOnCloseResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgTimeoutOnCloseResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgTimeoutOnCloseResponse} MsgTimeoutOnCloseResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgTimeoutOnCloseResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgTimeoutOnCloseResponse message. - * @function verify - * @memberof ibc.core.channel.v1.MsgTimeoutOnCloseResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgTimeoutOnCloseResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgTimeoutOnCloseResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgTimeoutOnCloseResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgTimeoutOnCloseResponse} MsgTimeoutOnCloseResponse - */ - MsgTimeoutOnCloseResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgTimeoutOnCloseResponse) - return object; - return new $root.ibc.core.channel.v1.MsgTimeoutOnCloseResponse(); - }; - - /** - * Creates a plain object from a MsgTimeoutOnCloseResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgTimeoutOnCloseResponse - * @static - * @param {ibc.core.channel.v1.MsgTimeoutOnCloseResponse} message MsgTimeoutOnCloseResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgTimeoutOnCloseResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgTimeoutOnCloseResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgTimeoutOnCloseResponse - * @instance - * @returns {Object.} JSON object - */ - MsgTimeoutOnCloseResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgTimeoutOnCloseResponse; - })(v1.MsgTimeoutOnCloseResponse || {}); - - v1.MsgAcknowledgement = (function(MsgAcknowledgement) { - - /** - * Properties of a MsgAcknowledgement. - * @memberof ibc.core.channel.v1 - * @interface IMsgAcknowledgement - * @property {ibc.core.channel.v1.IPacket|null} [packet] MsgAcknowledgement packet - * @property {Uint8Array|null} [acknowledgement] MsgAcknowledgement acknowledgement - * @property {Uint8Array|null} [proofAcked] MsgAcknowledgement proofAcked - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] MsgAcknowledgement proofHeight - * @property {string|null} [signer] MsgAcknowledgement signer - */ - - /** - * Constructs a new MsgAcknowledgement. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgAcknowledgement. - * @implements IMsgAcknowledgement - * @constructor - * @param {ibc.core.channel.v1.IMsgAcknowledgement=} [properties] Properties to set - */ - function MsgAcknowledgement(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgAcknowledgement packet. - * @member {ibc.core.channel.v1.IPacket|null|undefined} packet - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @instance - */ - MsgAcknowledgement.prototype.packet = null; - - /** - * MsgAcknowledgement acknowledgement. - * @member {Uint8Array} acknowledgement - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @instance - */ - MsgAcknowledgement.prototype.acknowledgement = $util.newBuffer([]); - - /** - * MsgAcknowledgement proofAcked. - * @member {Uint8Array} proofAcked - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @instance - */ - MsgAcknowledgement.prototype.proofAcked = $util.newBuffer([]); - - /** - * MsgAcknowledgement proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @instance - */ - MsgAcknowledgement.prototype.proofHeight = null; - - /** - * MsgAcknowledgement signer. - * @member {string} signer - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @instance - */ - MsgAcknowledgement.prototype.signer = ""; - - /** - * Creates a new MsgAcknowledgement instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @static - * @param {ibc.core.channel.v1.IMsgAcknowledgement=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgAcknowledgement} MsgAcknowledgement instance - */ - MsgAcknowledgement.create = function create(properties) { - return new MsgAcknowledgement(properties); - }; - - /** - * Encodes the specified MsgAcknowledgement message. Does not implicitly {@link ibc.core.channel.v1.MsgAcknowledgement.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @static - * @param {ibc.core.channel.v1.IMsgAcknowledgement} message MsgAcknowledgement message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgAcknowledgement.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.packet != null && Object.hasOwnProperty.call(message, "packet")) - $root.ibc.core.channel.v1.Packet.encode(message.packet, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.acknowledgement != null && Object.hasOwnProperty.call(message, "acknowledgement")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.acknowledgement); - if (message.proofAcked != null && Object.hasOwnProperty.call(message, "proofAcked")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.proofAcked); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgAcknowledgement message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgAcknowledgement.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @static - * @param {ibc.core.channel.v1.IMsgAcknowledgement} message MsgAcknowledgement message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgAcknowledgement.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgAcknowledgement message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgAcknowledgement} MsgAcknowledgement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgAcknowledgement.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgAcknowledgement(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.packet = $root.ibc.core.channel.v1.Packet.decode(reader, reader.uint32()); - break; - case 2: - message.acknowledgement = reader.bytes(); - break; - case 3: - message.proofAcked = reader.bytes(); - break; - case 4: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 5: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgAcknowledgement message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgAcknowledgement} MsgAcknowledgement - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgAcknowledgement.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgAcknowledgement message. - * @function verify - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgAcknowledgement.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.packet != null && message.hasOwnProperty("packet")) { - let error = $root.ibc.core.channel.v1.Packet.verify(message.packet); - if (error) - return "packet." + error; - } - if (message.acknowledgement != null && message.hasOwnProperty("acknowledgement")) - if (!(message.acknowledgement && typeof message.acknowledgement.length === "number" || $util.isString(message.acknowledgement))) - return "acknowledgement: buffer expected"; - if (message.proofAcked != null && message.hasOwnProperty("proofAcked")) - if (!(message.proofAcked && typeof message.proofAcked.length === "number" || $util.isString(message.proofAcked))) - return "proofAcked: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgAcknowledgement message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgAcknowledgement} MsgAcknowledgement - */ - MsgAcknowledgement.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgAcknowledgement) - return object; - let message = new $root.ibc.core.channel.v1.MsgAcknowledgement(); - if (object.packet != null) { - if (typeof object.packet !== "object") - throw TypeError(".ibc.core.channel.v1.MsgAcknowledgement.packet: object expected"); - message.packet = $root.ibc.core.channel.v1.Packet.fromObject(object.packet); - } - if (object.acknowledgement != null) - if (typeof object.acknowledgement === "string") - $util.base64.decode(object.acknowledgement, message.acknowledgement = $util.newBuffer($util.base64.length(object.acknowledgement)), 0); - else if (object.acknowledgement.length) - message.acknowledgement = object.acknowledgement; - if (object.proofAcked != null) - if (typeof object.proofAcked === "string") - $util.base64.decode(object.proofAcked, message.proofAcked = $util.newBuffer($util.base64.length(object.proofAcked)), 0); - else if (object.proofAcked.length) - message.proofAcked = object.proofAcked; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.channel.v1.MsgAcknowledgement.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgAcknowledgement message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @static - * @param {ibc.core.channel.v1.MsgAcknowledgement} message MsgAcknowledgement - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgAcknowledgement.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.packet = null; - if (options.bytes === String) - object.acknowledgement = ""; - else { - object.acknowledgement = []; - if (options.bytes !== Array) - object.acknowledgement = $util.newBuffer(object.acknowledgement); - } - if (options.bytes === String) - object.proofAcked = ""; - else { - object.proofAcked = []; - if (options.bytes !== Array) - object.proofAcked = $util.newBuffer(object.proofAcked); - } - object.proofHeight = null; - object.signer = ""; - } - if (message.packet != null && message.hasOwnProperty("packet")) - object.packet = $root.ibc.core.channel.v1.Packet.toObject(message.packet, options); - if (message.acknowledgement != null && message.hasOwnProperty("acknowledgement")) - object.acknowledgement = options.bytes === String ? $util.base64.encode(message.acknowledgement, 0, message.acknowledgement.length) : options.bytes === Array ? Array.prototype.slice.call(message.acknowledgement) : message.acknowledgement; - if (message.proofAcked != null && message.hasOwnProperty("proofAcked")) - object.proofAcked = options.bytes === String ? $util.base64.encode(message.proofAcked, 0, message.proofAcked.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofAcked) : message.proofAcked; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgAcknowledgement to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgAcknowledgement - * @instance - * @returns {Object.} JSON object - */ - MsgAcknowledgement.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgAcknowledgement; - })(v1.MsgAcknowledgement || {}); - - v1.MsgAcknowledgementResponse = (function(MsgAcknowledgementResponse) { - - /** - * Properties of a MsgAcknowledgementResponse. - * @memberof ibc.core.channel.v1 - * @interface IMsgAcknowledgementResponse - */ - - /** - * Constructs a new MsgAcknowledgementResponse. - * @memberof ibc.core.channel.v1 - * @classdesc Represents a MsgAcknowledgementResponse. - * @implements IMsgAcknowledgementResponse - * @constructor - * @param {ibc.core.channel.v1.IMsgAcknowledgementResponse=} [properties] Properties to set - */ - function MsgAcknowledgementResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgAcknowledgementResponse instance using the specified properties. - * @function create - * @memberof ibc.core.channel.v1.MsgAcknowledgementResponse - * @static - * @param {ibc.core.channel.v1.IMsgAcknowledgementResponse=} [properties] Properties to set - * @returns {ibc.core.channel.v1.MsgAcknowledgementResponse} MsgAcknowledgementResponse instance - */ - MsgAcknowledgementResponse.create = function create(properties) { - return new MsgAcknowledgementResponse(properties); - }; - - /** - * Encodes the specified MsgAcknowledgementResponse message. Does not implicitly {@link ibc.core.channel.v1.MsgAcknowledgementResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.channel.v1.MsgAcknowledgementResponse - * @static - * @param {ibc.core.channel.v1.IMsgAcknowledgementResponse} message MsgAcknowledgementResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgAcknowledgementResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgAcknowledgementResponse message, length delimited. Does not implicitly {@link ibc.core.channel.v1.MsgAcknowledgementResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.channel.v1.MsgAcknowledgementResponse - * @static - * @param {ibc.core.channel.v1.IMsgAcknowledgementResponse} message MsgAcknowledgementResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgAcknowledgementResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgAcknowledgementResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.channel.v1.MsgAcknowledgementResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.channel.v1.MsgAcknowledgementResponse} MsgAcknowledgementResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgAcknowledgementResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.channel.v1.MsgAcknowledgementResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgAcknowledgementResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.channel.v1.MsgAcknowledgementResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.channel.v1.MsgAcknowledgementResponse} MsgAcknowledgementResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgAcknowledgementResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgAcknowledgementResponse message. - * @function verify - * @memberof ibc.core.channel.v1.MsgAcknowledgementResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgAcknowledgementResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgAcknowledgementResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.channel.v1.MsgAcknowledgementResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.channel.v1.MsgAcknowledgementResponse} MsgAcknowledgementResponse - */ - MsgAcknowledgementResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.channel.v1.MsgAcknowledgementResponse) - return object; - return new $root.ibc.core.channel.v1.MsgAcknowledgementResponse(); - }; - - /** - * Creates a plain object from a MsgAcknowledgementResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.channel.v1.MsgAcknowledgementResponse - * @static - * @param {ibc.core.channel.v1.MsgAcknowledgementResponse} message MsgAcknowledgementResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgAcknowledgementResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgAcknowledgementResponse to JSON. - * @function toJSON - * @memberof ibc.core.channel.v1.MsgAcknowledgementResponse - * @instance - * @returns {Object.} JSON object - */ - MsgAcknowledgementResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgAcknowledgementResponse; - })(v1.MsgAcknowledgementResponse || {}); - - return v1; - })(channel.v1 || {}); - - return channel; - })(core.channel || {}); - - /** - * Namespace client. - * @memberof ibc.core - * @namespace - */ - - core.client = (function(client) { - - /** - * Namespace v1. - * @memberof ibc.core.client - * @namespace - */ - - client.v1 = (function(v1) { - - v1.IdentifiedClientState = (function(IdentifiedClientState) { - - /** - * Properties of an IdentifiedClientState. - * @memberof ibc.core.client.v1 - * @interface IIdentifiedClientState - * @property {string|null} [clientId] IdentifiedClientState clientId - * @property {google.protobuf.IAny|null} [clientState] IdentifiedClientState clientState - */ - - /** - * Constructs a new IdentifiedClientState. - * @memberof ibc.core.client.v1 - * @classdesc Represents an IdentifiedClientState. - * @implements IIdentifiedClientState - * @constructor - * @param {ibc.core.client.v1.IIdentifiedClientState=} [properties] Properties to set - */ - function IdentifiedClientState(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * IdentifiedClientState clientId. - * @member {string} clientId - * @memberof ibc.core.client.v1.IdentifiedClientState - * @instance - */ - IdentifiedClientState.prototype.clientId = ""; - - /** - * IdentifiedClientState clientState. - * @member {google.protobuf.IAny|null|undefined} clientState - * @memberof ibc.core.client.v1.IdentifiedClientState - * @instance - */ - IdentifiedClientState.prototype.clientState = null; - - /** - * Creates a new IdentifiedClientState instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.IdentifiedClientState - * @static - * @param {ibc.core.client.v1.IIdentifiedClientState=} [properties] Properties to set - * @returns {ibc.core.client.v1.IdentifiedClientState} IdentifiedClientState instance - */ - IdentifiedClientState.create = function create(properties) { - return new IdentifiedClientState(properties); - }; - - /** - * Encodes the specified IdentifiedClientState message. Does not implicitly {@link ibc.core.client.v1.IdentifiedClientState.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.IdentifiedClientState - * @static - * @param {ibc.core.client.v1.IIdentifiedClientState} message IdentifiedClientState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IdentifiedClientState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.clientState != null && Object.hasOwnProperty.call(message, "clientState")) - $root.google.protobuf.Any.encode(message.clientState, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified IdentifiedClientState message, length delimited. Does not implicitly {@link ibc.core.client.v1.IdentifiedClientState.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.IdentifiedClientState - * @static - * @param {ibc.core.client.v1.IIdentifiedClientState} message IdentifiedClientState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IdentifiedClientState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an IdentifiedClientState message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.IdentifiedClientState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.IdentifiedClientState} IdentifiedClientState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IdentifiedClientState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.IdentifiedClientState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - message.clientState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an IdentifiedClientState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.IdentifiedClientState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.IdentifiedClientState} IdentifiedClientState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IdentifiedClientState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an IdentifiedClientState message. - * @function verify - * @memberof ibc.core.client.v1.IdentifiedClientState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - IdentifiedClientState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.clientState != null && message.hasOwnProperty("clientState")) { - let error = $root.google.protobuf.Any.verify(message.clientState); - if (error) - return "clientState." + error; - } - return null; - }; - - /** - * Creates an IdentifiedClientState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.IdentifiedClientState - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.IdentifiedClientState} IdentifiedClientState - */ - IdentifiedClientState.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.IdentifiedClientState) - return object; - let message = new $root.ibc.core.client.v1.IdentifiedClientState(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.clientState != null) { - if (typeof object.clientState !== "object") - throw TypeError(".ibc.core.client.v1.IdentifiedClientState.clientState: object expected"); - message.clientState = $root.google.protobuf.Any.fromObject(object.clientState); - } - return message; - }; - - /** - * Creates a plain object from an IdentifiedClientState message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.IdentifiedClientState - * @static - * @param {ibc.core.client.v1.IdentifiedClientState} message IdentifiedClientState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - IdentifiedClientState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.clientId = ""; - object.clientState = null; - } - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.clientState != null && message.hasOwnProperty("clientState")) - object.clientState = $root.google.protobuf.Any.toObject(message.clientState, options); - return object; - }; - - /** - * Converts this IdentifiedClientState to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.IdentifiedClientState - * @instance - * @returns {Object.} JSON object - */ - IdentifiedClientState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return IdentifiedClientState; - })(v1.IdentifiedClientState || {}); - - v1.ConsensusStateWithHeight = (function(ConsensusStateWithHeight) { - - /** - * Properties of a ConsensusStateWithHeight. - * @memberof ibc.core.client.v1 - * @interface IConsensusStateWithHeight - * @property {ibc.core.client.v1.IHeight|null} [height] ConsensusStateWithHeight height - * @property {google.protobuf.IAny|null} [consensusState] ConsensusStateWithHeight consensusState - */ - - /** - * Constructs a new ConsensusStateWithHeight. - * @memberof ibc.core.client.v1 - * @classdesc Represents a ConsensusStateWithHeight. - * @implements IConsensusStateWithHeight - * @constructor - * @param {ibc.core.client.v1.IConsensusStateWithHeight=} [properties] Properties to set - */ - function ConsensusStateWithHeight(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ConsensusStateWithHeight height. - * @member {ibc.core.client.v1.IHeight|null|undefined} height - * @memberof ibc.core.client.v1.ConsensusStateWithHeight - * @instance - */ - ConsensusStateWithHeight.prototype.height = null; - - /** - * ConsensusStateWithHeight consensusState. - * @member {google.protobuf.IAny|null|undefined} consensusState - * @memberof ibc.core.client.v1.ConsensusStateWithHeight - * @instance - */ - ConsensusStateWithHeight.prototype.consensusState = null; - - /** - * Creates a new ConsensusStateWithHeight instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.ConsensusStateWithHeight - * @static - * @param {ibc.core.client.v1.IConsensusStateWithHeight=} [properties] Properties to set - * @returns {ibc.core.client.v1.ConsensusStateWithHeight} ConsensusStateWithHeight instance - */ - ConsensusStateWithHeight.create = function create(properties) { - return new ConsensusStateWithHeight(properties); - }; - - /** - * Encodes the specified ConsensusStateWithHeight message. Does not implicitly {@link ibc.core.client.v1.ConsensusStateWithHeight.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.ConsensusStateWithHeight - * @static - * @param {ibc.core.client.v1.IConsensusStateWithHeight} message ConsensusStateWithHeight message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConsensusStateWithHeight.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - $root.ibc.core.client.v1.Height.encode(message.height, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.consensusState != null && Object.hasOwnProperty.call(message, "consensusState")) - $root.google.protobuf.Any.encode(message.consensusState, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ConsensusStateWithHeight message, length delimited. Does not implicitly {@link ibc.core.client.v1.ConsensusStateWithHeight.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.ConsensusStateWithHeight - * @static - * @param {ibc.core.client.v1.IConsensusStateWithHeight} message ConsensusStateWithHeight message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConsensusStateWithHeight.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ConsensusStateWithHeight message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.ConsensusStateWithHeight - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.ConsensusStateWithHeight} ConsensusStateWithHeight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConsensusStateWithHeight.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.ConsensusStateWithHeight(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 2: - message.consensusState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ConsensusStateWithHeight message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.ConsensusStateWithHeight - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.ConsensusStateWithHeight} ConsensusStateWithHeight - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConsensusStateWithHeight.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ConsensusStateWithHeight message. - * @function verify - * @memberof ibc.core.client.v1.ConsensusStateWithHeight - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ConsensusStateWithHeight.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) { - let error = $root.ibc.core.client.v1.Height.verify(message.height); - if (error) - return "height." + error; - } - if (message.consensusState != null && message.hasOwnProperty("consensusState")) { - let error = $root.google.protobuf.Any.verify(message.consensusState); - if (error) - return "consensusState." + error; - } - return null; - }; - - /** - * Creates a ConsensusStateWithHeight message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.ConsensusStateWithHeight - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.ConsensusStateWithHeight} ConsensusStateWithHeight - */ - ConsensusStateWithHeight.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.ConsensusStateWithHeight) - return object; - let message = new $root.ibc.core.client.v1.ConsensusStateWithHeight(); - if (object.height != null) { - if (typeof object.height !== "object") - throw TypeError(".ibc.core.client.v1.ConsensusStateWithHeight.height: object expected"); - message.height = $root.ibc.core.client.v1.Height.fromObject(object.height); - } - if (object.consensusState != null) { - if (typeof object.consensusState !== "object") - throw TypeError(".ibc.core.client.v1.ConsensusStateWithHeight.consensusState: object expected"); - message.consensusState = $root.google.protobuf.Any.fromObject(object.consensusState); - } - return message; - }; - - /** - * Creates a plain object from a ConsensusStateWithHeight message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.ConsensusStateWithHeight - * @static - * @param {ibc.core.client.v1.ConsensusStateWithHeight} message ConsensusStateWithHeight - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ConsensusStateWithHeight.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.height = null; - object.consensusState = null; - } - if (message.height != null && message.hasOwnProperty("height")) - object.height = $root.ibc.core.client.v1.Height.toObject(message.height, options); - if (message.consensusState != null && message.hasOwnProperty("consensusState")) - object.consensusState = $root.google.protobuf.Any.toObject(message.consensusState, options); - return object; - }; - - /** - * Converts this ConsensusStateWithHeight to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.ConsensusStateWithHeight - * @instance - * @returns {Object.} JSON object - */ - ConsensusStateWithHeight.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ConsensusStateWithHeight; - })(v1.ConsensusStateWithHeight || {}); - - v1.ClientConsensusStates = (function(ClientConsensusStates) { - - /** - * Properties of a ClientConsensusStates. - * @memberof ibc.core.client.v1 - * @interface IClientConsensusStates - * @property {string|null} [clientId] ClientConsensusStates clientId - * @property {Array.|null} [consensusStates] ClientConsensusStates consensusStates - */ - - /** - * Constructs a new ClientConsensusStates. - * @memberof ibc.core.client.v1 - * @classdesc Represents a ClientConsensusStates. - * @implements IClientConsensusStates - * @constructor - * @param {ibc.core.client.v1.IClientConsensusStates=} [properties] Properties to set - */ - function ClientConsensusStates(properties) { - this.consensusStates = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ClientConsensusStates clientId. - * @member {string} clientId - * @memberof ibc.core.client.v1.ClientConsensusStates - * @instance - */ - ClientConsensusStates.prototype.clientId = ""; - - /** - * ClientConsensusStates consensusStates. - * @member {Array.} consensusStates - * @memberof ibc.core.client.v1.ClientConsensusStates - * @instance - */ - ClientConsensusStates.prototype.consensusStates = $util.emptyArray; - - /** - * Creates a new ClientConsensusStates instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.ClientConsensusStates - * @static - * @param {ibc.core.client.v1.IClientConsensusStates=} [properties] Properties to set - * @returns {ibc.core.client.v1.ClientConsensusStates} ClientConsensusStates instance - */ - ClientConsensusStates.create = function create(properties) { - return new ClientConsensusStates(properties); - }; - - /** - * Encodes the specified ClientConsensusStates message. Does not implicitly {@link ibc.core.client.v1.ClientConsensusStates.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.ClientConsensusStates - * @static - * @param {ibc.core.client.v1.IClientConsensusStates} message ClientConsensusStates message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ClientConsensusStates.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.consensusStates != null && message.consensusStates.length) - for (let i = 0; i < message.consensusStates.length; ++i) - $root.ibc.core.client.v1.ConsensusStateWithHeight.encode(message.consensusStates[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ClientConsensusStates message, length delimited. Does not implicitly {@link ibc.core.client.v1.ClientConsensusStates.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.ClientConsensusStates - * @static - * @param {ibc.core.client.v1.IClientConsensusStates} message ClientConsensusStates message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ClientConsensusStates.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ClientConsensusStates message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.ClientConsensusStates - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.ClientConsensusStates} ClientConsensusStates - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ClientConsensusStates.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.ClientConsensusStates(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - if (!(message.consensusStates && message.consensusStates.length)) - message.consensusStates = []; - message.consensusStates.push($root.ibc.core.client.v1.ConsensusStateWithHeight.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ClientConsensusStates message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.ClientConsensusStates - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.ClientConsensusStates} ClientConsensusStates - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ClientConsensusStates.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ClientConsensusStates message. - * @function verify - * @memberof ibc.core.client.v1.ClientConsensusStates - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ClientConsensusStates.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.consensusStates != null && message.hasOwnProperty("consensusStates")) { - if (!Array.isArray(message.consensusStates)) - return "consensusStates: array expected"; - for (let i = 0; i < message.consensusStates.length; ++i) { - let error = $root.ibc.core.client.v1.ConsensusStateWithHeight.verify(message.consensusStates[i]); - if (error) - return "consensusStates." + error; - } - } - return null; - }; - - /** - * Creates a ClientConsensusStates message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.ClientConsensusStates - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.ClientConsensusStates} ClientConsensusStates - */ - ClientConsensusStates.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.ClientConsensusStates) - return object; - let message = new $root.ibc.core.client.v1.ClientConsensusStates(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.consensusStates) { - if (!Array.isArray(object.consensusStates)) - throw TypeError(".ibc.core.client.v1.ClientConsensusStates.consensusStates: array expected"); - message.consensusStates = []; - for (let i = 0; i < object.consensusStates.length; ++i) { - if (typeof object.consensusStates[i] !== "object") - throw TypeError(".ibc.core.client.v1.ClientConsensusStates.consensusStates: object expected"); - message.consensusStates[i] = $root.ibc.core.client.v1.ConsensusStateWithHeight.fromObject(object.consensusStates[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ClientConsensusStates message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.ClientConsensusStates - * @static - * @param {ibc.core.client.v1.ClientConsensusStates} message ClientConsensusStates - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ClientConsensusStates.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.consensusStates = []; - if (options.defaults) - object.clientId = ""; - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.consensusStates && message.consensusStates.length) { - object.consensusStates = []; - for (let j = 0; j < message.consensusStates.length; ++j) - object.consensusStates[j] = $root.ibc.core.client.v1.ConsensusStateWithHeight.toObject(message.consensusStates[j], options); - } - return object; - }; - - /** - * Converts this ClientConsensusStates to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.ClientConsensusStates - * @instance - * @returns {Object.} JSON object - */ - ClientConsensusStates.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ClientConsensusStates; - })(v1.ClientConsensusStates || {}); - - v1.ClientUpdateProposal = (function(ClientUpdateProposal) { - - /** - * Properties of a ClientUpdateProposal. - * @memberof ibc.core.client.v1 - * @interface IClientUpdateProposal - * @property {string|null} [title] ClientUpdateProposal title - * @property {string|null} [description] ClientUpdateProposal description - * @property {string|null} [clientId] ClientUpdateProposal clientId - * @property {google.protobuf.IAny|null} [header] ClientUpdateProposal header - */ - - /** - * Constructs a new ClientUpdateProposal. - * @memberof ibc.core.client.v1 - * @classdesc Represents a ClientUpdateProposal. - * @implements IClientUpdateProposal - * @constructor - * @param {ibc.core.client.v1.IClientUpdateProposal=} [properties] Properties to set - */ - function ClientUpdateProposal(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ClientUpdateProposal title. - * @member {string} title - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @instance - */ - ClientUpdateProposal.prototype.title = ""; - - /** - * ClientUpdateProposal description. - * @member {string} description - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @instance - */ - ClientUpdateProposal.prototype.description = ""; - - /** - * ClientUpdateProposal clientId. - * @member {string} clientId - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @instance - */ - ClientUpdateProposal.prototype.clientId = ""; - - /** - * ClientUpdateProposal header. - * @member {google.protobuf.IAny|null|undefined} header - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @instance - */ - ClientUpdateProposal.prototype.header = null; - - /** - * Creates a new ClientUpdateProposal instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @static - * @param {ibc.core.client.v1.IClientUpdateProposal=} [properties] Properties to set - * @returns {ibc.core.client.v1.ClientUpdateProposal} ClientUpdateProposal instance - */ - ClientUpdateProposal.create = function create(properties) { - return new ClientUpdateProposal(properties); - }; - - /** - * Encodes the specified ClientUpdateProposal message. Does not implicitly {@link ibc.core.client.v1.ClientUpdateProposal.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @static - * @param {ibc.core.client.v1.IClientUpdateProposal} message ClientUpdateProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ClientUpdateProposal.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.title != null && Object.hasOwnProperty.call(message, "title")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.title); - if (message.description != null && Object.hasOwnProperty.call(message, "description")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.clientId); - if (message.header != null && Object.hasOwnProperty.call(message, "header")) - $root.google.protobuf.Any.encode(message.header, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ClientUpdateProposal message, length delimited. Does not implicitly {@link ibc.core.client.v1.ClientUpdateProposal.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @static - * @param {ibc.core.client.v1.IClientUpdateProposal} message ClientUpdateProposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ClientUpdateProposal.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ClientUpdateProposal message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.ClientUpdateProposal} ClientUpdateProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ClientUpdateProposal.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.ClientUpdateProposal(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.title = reader.string(); - break; - case 2: - message.description = reader.string(); - break; - case 3: - message.clientId = reader.string(); - break; - case 4: - message.header = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ClientUpdateProposal message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.ClientUpdateProposal} ClientUpdateProposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ClientUpdateProposal.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ClientUpdateProposal message. - * @function verify - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ClientUpdateProposal.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.title != null && message.hasOwnProperty("title")) - if (!$util.isString(message.title)) - return "title: string expected"; - if (message.description != null && message.hasOwnProperty("description")) - if (!$util.isString(message.description)) - return "description: string expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.header != null && message.hasOwnProperty("header")) { - let error = $root.google.protobuf.Any.verify(message.header); - if (error) - return "header." + error; - } - return null; - }; - - /** - * Creates a ClientUpdateProposal message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.ClientUpdateProposal} ClientUpdateProposal - */ - ClientUpdateProposal.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.ClientUpdateProposal) - return object; - let message = new $root.ibc.core.client.v1.ClientUpdateProposal(); - if (object.title != null) - message.title = String(object.title); - if (object.description != null) - message.description = String(object.description); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.header != null) { - if (typeof object.header !== "object") - throw TypeError(".ibc.core.client.v1.ClientUpdateProposal.header: object expected"); - message.header = $root.google.protobuf.Any.fromObject(object.header); - } - return message; - }; - - /** - * Creates a plain object from a ClientUpdateProposal message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @static - * @param {ibc.core.client.v1.ClientUpdateProposal} message ClientUpdateProposal - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ClientUpdateProposal.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.title = ""; - object.description = ""; - object.clientId = ""; - object.header = null; - } - if (message.title != null && message.hasOwnProperty("title")) - object.title = message.title; - if (message.description != null && message.hasOwnProperty("description")) - object.description = message.description; - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.header != null && message.hasOwnProperty("header")) - object.header = $root.google.protobuf.Any.toObject(message.header, options); - return object; - }; - - /** - * Converts this ClientUpdateProposal to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.ClientUpdateProposal - * @instance - * @returns {Object.} JSON object - */ - ClientUpdateProposal.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ClientUpdateProposal; - })(v1.ClientUpdateProposal || {}); - - v1.Height = (function(Height) { - - /** - * Properties of an Height. - * @memberof ibc.core.client.v1 - * @interface IHeight - * @property {number|Long|null} [revisionNumber] Height revisionNumber - * @property {number|Long|null} [revisionHeight] Height revisionHeight - */ - - /** - * Constructs a new Height. - * @memberof ibc.core.client.v1 - * @classdesc Represents an Height. - * @implements IHeight - * @constructor - * @param {ibc.core.client.v1.IHeight=} [properties] Properties to set - */ - function Height(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Height revisionNumber. - * @member {number|Long} revisionNumber - * @memberof ibc.core.client.v1.Height - * @instance - */ - Height.prototype.revisionNumber = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Height revisionHeight. - * @member {number|Long} revisionHeight - * @memberof ibc.core.client.v1.Height - * @instance - */ - Height.prototype.revisionHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new Height instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.Height - * @static - * @param {ibc.core.client.v1.IHeight=} [properties] Properties to set - * @returns {ibc.core.client.v1.Height} Height instance - */ - Height.create = function create(properties) { - return new Height(properties); - }; - - /** - * Encodes the specified Height message. Does not implicitly {@link ibc.core.client.v1.Height.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.Height - * @static - * @param {ibc.core.client.v1.IHeight} message Height message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Height.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.revisionNumber != null && Object.hasOwnProperty.call(message, "revisionNumber")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.revisionNumber); - if (message.revisionHeight != null && Object.hasOwnProperty.call(message, "revisionHeight")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.revisionHeight); - return writer; - }; - - /** - * Encodes the specified Height message, length delimited. Does not implicitly {@link ibc.core.client.v1.Height.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.Height - * @static - * @param {ibc.core.client.v1.IHeight} message Height message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Height.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Height message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.Height - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.Height} Height - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Height.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.Height(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.revisionNumber = reader.uint64(); - break; - case 2: - message.revisionHeight = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Height message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.Height - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.Height} Height - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Height.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Height message. - * @function verify - * @memberof ibc.core.client.v1.Height - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Height.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.revisionNumber != null && message.hasOwnProperty("revisionNumber")) - if (!$util.isInteger(message.revisionNumber) && !(message.revisionNumber && $util.isInteger(message.revisionNumber.low) && $util.isInteger(message.revisionNumber.high))) - return "revisionNumber: integer|Long expected"; - if (message.revisionHeight != null && message.hasOwnProperty("revisionHeight")) - if (!$util.isInteger(message.revisionHeight) && !(message.revisionHeight && $util.isInteger(message.revisionHeight.low) && $util.isInteger(message.revisionHeight.high))) - return "revisionHeight: integer|Long expected"; - return null; - }; - - /** - * Creates an Height message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.Height - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.Height} Height - */ - Height.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.Height) - return object; - let message = new $root.ibc.core.client.v1.Height(); - if (object.revisionNumber != null) - if ($util.Long) - (message.revisionNumber = $util.Long.fromValue(object.revisionNumber)).unsigned = true; - else if (typeof object.revisionNumber === "string") - message.revisionNumber = parseInt(object.revisionNumber, 10); - else if (typeof object.revisionNumber === "number") - message.revisionNumber = object.revisionNumber; - else if (typeof object.revisionNumber === "object") - message.revisionNumber = new $util.LongBits(object.revisionNumber.low >>> 0, object.revisionNumber.high >>> 0).toNumber(true); - if (object.revisionHeight != null) - if ($util.Long) - (message.revisionHeight = $util.Long.fromValue(object.revisionHeight)).unsigned = true; - else if (typeof object.revisionHeight === "string") - message.revisionHeight = parseInt(object.revisionHeight, 10); - else if (typeof object.revisionHeight === "number") - message.revisionHeight = object.revisionHeight; - else if (typeof object.revisionHeight === "object") - message.revisionHeight = new $util.LongBits(object.revisionHeight.low >>> 0, object.revisionHeight.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from an Height message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.Height - * @static - * @param {ibc.core.client.v1.Height} message Height - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Height.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.revisionNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.revisionNumber = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.revisionHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.revisionHeight = options.longs === String ? "0" : 0; - } - if (message.revisionNumber != null && message.hasOwnProperty("revisionNumber")) - if (typeof message.revisionNumber === "number") - object.revisionNumber = options.longs === String ? String(message.revisionNumber) : message.revisionNumber; - else - object.revisionNumber = options.longs === String ? $util.Long.prototype.toString.call(message.revisionNumber) : options.longs === Number ? new $util.LongBits(message.revisionNumber.low >>> 0, message.revisionNumber.high >>> 0).toNumber(true) : message.revisionNumber; - if (message.revisionHeight != null && message.hasOwnProperty("revisionHeight")) - if (typeof message.revisionHeight === "number") - object.revisionHeight = options.longs === String ? String(message.revisionHeight) : message.revisionHeight; - else - object.revisionHeight = options.longs === String ? $util.Long.prototype.toString.call(message.revisionHeight) : options.longs === Number ? new $util.LongBits(message.revisionHeight.low >>> 0, message.revisionHeight.high >>> 0).toNumber(true) : message.revisionHeight; - return object; - }; - - /** - * Converts this Height to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.Height - * @instance - * @returns {Object.} JSON object - */ - Height.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Height; - })(v1.Height || {}); - - v1.Params = (function(Params) { - - /** - * Properties of a Params. - * @memberof ibc.core.client.v1 - * @interface IParams - * @property {Array.|null} [allowedClients] Params allowedClients - */ - - /** - * Constructs a new Params. - * @memberof ibc.core.client.v1 - * @classdesc Represents a Params. - * @implements IParams - * @constructor - * @param {ibc.core.client.v1.IParams=} [properties] Properties to set - */ - function Params(properties) { - this.allowedClients = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Params allowedClients. - * @member {Array.} allowedClients - * @memberof ibc.core.client.v1.Params - * @instance - */ - Params.prototype.allowedClients = $util.emptyArray; - - /** - * Creates a new Params instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.Params - * @static - * @param {ibc.core.client.v1.IParams=} [properties] Properties to set - * @returns {ibc.core.client.v1.Params} Params instance - */ - Params.create = function create(properties) { - return new Params(properties); - }; - - /** - * Encodes the specified Params message. Does not implicitly {@link ibc.core.client.v1.Params.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.Params - * @static - * @param {ibc.core.client.v1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.allowedClients != null && message.allowedClients.length) - for (let i = 0; i < message.allowedClients.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.allowedClients[i]); - return writer; - }; - - /** - * Encodes the specified Params message, length delimited. Does not implicitly {@link ibc.core.client.v1.Params.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.Params - * @static - * @param {ibc.core.client.v1.IParams} message Params message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Params.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Params message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.Params(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.allowedClients && message.allowedClients.length)) - message.allowedClients = []; - message.allowedClients.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Params message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.Params - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.Params} Params - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Params.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Params message. - * @function verify - * @memberof ibc.core.client.v1.Params - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Params.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.allowedClients != null && message.hasOwnProperty("allowedClients")) { - if (!Array.isArray(message.allowedClients)) - return "allowedClients: array expected"; - for (let i = 0; i < message.allowedClients.length; ++i) - if (!$util.isString(message.allowedClients[i])) - return "allowedClients: string[] expected"; - } - return null; - }; - - /** - * Creates a Params message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.Params - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.Params} Params - */ - Params.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.Params) - return object; - let message = new $root.ibc.core.client.v1.Params(); - if (object.allowedClients) { - if (!Array.isArray(object.allowedClients)) - throw TypeError(".ibc.core.client.v1.Params.allowedClients: array expected"); - message.allowedClients = []; - for (let i = 0; i < object.allowedClients.length; ++i) - message.allowedClients[i] = String(object.allowedClients[i]); - } - return message; - }; - - /** - * Creates a plain object from a Params message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.Params - * @static - * @param {ibc.core.client.v1.Params} message Params - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Params.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.allowedClients = []; - if (message.allowedClients && message.allowedClients.length) { - object.allowedClients = []; - for (let j = 0; j < message.allowedClients.length; ++j) - object.allowedClients[j] = message.allowedClients[j]; - } - return object; - }; - - /** - * Converts this Params to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.Params - * @instance - * @returns {Object.} JSON object - */ - Params.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Params; - })(v1.Params || {}); - - v1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof ibc.core.client.v1 - * @interface IGenesisState - * @property {Array.|null} [clients] GenesisState clients - * @property {Array.|null} [clientsConsensus] GenesisState clientsConsensus - * @property {Array.|null} [clientsMetadata] GenesisState clientsMetadata - * @property {ibc.core.client.v1.IParams|null} [params] GenesisState params - * @property {boolean|null} [createLocalhost] GenesisState createLocalhost - * @property {number|Long|null} [nextClientSequence] GenesisState nextClientSequence - */ - - /** - * Constructs a new GenesisState. - * @memberof ibc.core.client.v1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {ibc.core.client.v1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.clients = []; - this.clientsConsensus = []; - this.clientsMetadata = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState clients. - * @member {Array.} clients - * @memberof ibc.core.client.v1.GenesisState - * @instance - */ - GenesisState.prototype.clients = $util.emptyArray; - - /** - * GenesisState clientsConsensus. - * @member {Array.} clientsConsensus - * @memberof ibc.core.client.v1.GenesisState - * @instance - */ - GenesisState.prototype.clientsConsensus = $util.emptyArray; - - /** - * GenesisState clientsMetadata. - * @member {Array.} clientsMetadata - * @memberof ibc.core.client.v1.GenesisState - * @instance - */ - GenesisState.prototype.clientsMetadata = $util.emptyArray; - - /** - * GenesisState params. - * @member {ibc.core.client.v1.IParams|null|undefined} params - * @memberof ibc.core.client.v1.GenesisState - * @instance - */ - GenesisState.prototype.params = null; - - /** - * GenesisState createLocalhost. - * @member {boolean} createLocalhost - * @memberof ibc.core.client.v1.GenesisState - * @instance - */ - GenesisState.prototype.createLocalhost = false; - - /** - * GenesisState nextClientSequence. - * @member {number|Long} nextClientSequence - * @memberof ibc.core.client.v1.GenesisState - * @instance - */ - GenesisState.prototype.nextClientSequence = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.GenesisState - * @static - * @param {ibc.core.client.v1.IGenesisState=} [properties] Properties to set - * @returns {ibc.core.client.v1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link ibc.core.client.v1.GenesisState.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.GenesisState - * @static - * @param {ibc.core.client.v1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clients != null && message.clients.length) - for (let i = 0; i < message.clients.length; ++i) - $root.ibc.core.client.v1.IdentifiedClientState.encode(message.clients[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.clientsConsensus != null && message.clientsConsensus.length) - for (let i = 0; i < message.clientsConsensus.length; ++i) - $root.ibc.core.client.v1.ClientConsensusStates.encode(message.clientsConsensus[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.clientsMetadata != null && message.clientsMetadata.length) - for (let i = 0; i < message.clientsMetadata.length; ++i) - $root.ibc.core.client.v1.IdentifiedGenesisMetadata.encode(message.clientsMetadata[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.ibc.core.client.v1.Params.encode(message.params, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.createLocalhost != null && Object.hasOwnProperty.call(message, "createLocalhost")) - writer.uint32(/* id 5, wireType 0 =*/40).bool(message.createLocalhost); - if (message.nextClientSequence != null && Object.hasOwnProperty.call(message, "nextClientSequence")) - writer.uint32(/* id 6, wireType 0 =*/48).uint64(message.nextClientSequence); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link ibc.core.client.v1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.GenesisState - * @static - * @param {ibc.core.client.v1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.clients && message.clients.length)) - message.clients = []; - message.clients.push($root.ibc.core.client.v1.IdentifiedClientState.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.clientsConsensus && message.clientsConsensus.length)) - message.clientsConsensus = []; - message.clientsConsensus.push($root.ibc.core.client.v1.ClientConsensusStates.decode(reader, reader.uint32())); - break; - case 3: - if (!(message.clientsMetadata && message.clientsMetadata.length)) - message.clientsMetadata = []; - message.clientsMetadata.push($root.ibc.core.client.v1.IdentifiedGenesisMetadata.decode(reader, reader.uint32())); - break; - case 4: - message.params = $root.ibc.core.client.v1.Params.decode(reader, reader.uint32()); - break; - case 5: - message.createLocalhost = reader.bool(); - break; - case 6: - message.nextClientSequence = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof ibc.core.client.v1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clients != null && message.hasOwnProperty("clients")) { - if (!Array.isArray(message.clients)) - return "clients: array expected"; - for (let i = 0; i < message.clients.length; ++i) { - let error = $root.ibc.core.client.v1.IdentifiedClientState.verify(message.clients[i]); - if (error) - return "clients." + error; - } - } - if (message.clientsConsensus != null && message.hasOwnProperty("clientsConsensus")) { - if (!Array.isArray(message.clientsConsensus)) - return "clientsConsensus: array expected"; - for (let i = 0; i < message.clientsConsensus.length; ++i) { - let error = $root.ibc.core.client.v1.ClientConsensusStates.verify(message.clientsConsensus[i]); - if (error) - return "clientsConsensus." + error; - } - } - if (message.clientsMetadata != null && message.hasOwnProperty("clientsMetadata")) { - if (!Array.isArray(message.clientsMetadata)) - return "clientsMetadata: array expected"; - for (let i = 0; i < message.clientsMetadata.length; ++i) { - let error = $root.ibc.core.client.v1.IdentifiedGenesisMetadata.verify(message.clientsMetadata[i]); - if (error) - return "clientsMetadata." + error; - } - } - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.ibc.core.client.v1.Params.verify(message.params); - if (error) - return "params." + error; - } - if (message.createLocalhost != null && message.hasOwnProperty("createLocalhost")) - if (typeof message.createLocalhost !== "boolean") - return "createLocalhost: boolean expected"; - if (message.nextClientSequence != null && message.hasOwnProperty("nextClientSequence")) - if (!$util.isInteger(message.nextClientSequence) && !(message.nextClientSequence && $util.isInteger(message.nextClientSequence.low) && $util.isInteger(message.nextClientSequence.high))) - return "nextClientSequence: integer|Long expected"; - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.GenesisState) - return object; - let message = new $root.ibc.core.client.v1.GenesisState(); - if (object.clients) { - if (!Array.isArray(object.clients)) - throw TypeError(".ibc.core.client.v1.GenesisState.clients: array expected"); - message.clients = []; - for (let i = 0; i < object.clients.length; ++i) { - if (typeof object.clients[i] !== "object") - throw TypeError(".ibc.core.client.v1.GenesisState.clients: object expected"); - message.clients[i] = $root.ibc.core.client.v1.IdentifiedClientState.fromObject(object.clients[i]); - } - } - if (object.clientsConsensus) { - if (!Array.isArray(object.clientsConsensus)) - throw TypeError(".ibc.core.client.v1.GenesisState.clientsConsensus: array expected"); - message.clientsConsensus = []; - for (let i = 0; i < object.clientsConsensus.length; ++i) { - if (typeof object.clientsConsensus[i] !== "object") - throw TypeError(".ibc.core.client.v1.GenesisState.clientsConsensus: object expected"); - message.clientsConsensus[i] = $root.ibc.core.client.v1.ClientConsensusStates.fromObject(object.clientsConsensus[i]); - } - } - if (object.clientsMetadata) { - if (!Array.isArray(object.clientsMetadata)) - throw TypeError(".ibc.core.client.v1.GenesisState.clientsMetadata: array expected"); - message.clientsMetadata = []; - for (let i = 0; i < object.clientsMetadata.length; ++i) { - if (typeof object.clientsMetadata[i] !== "object") - throw TypeError(".ibc.core.client.v1.GenesisState.clientsMetadata: object expected"); - message.clientsMetadata[i] = $root.ibc.core.client.v1.IdentifiedGenesisMetadata.fromObject(object.clientsMetadata[i]); - } - } - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".ibc.core.client.v1.GenesisState.params: object expected"); - message.params = $root.ibc.core.client.v1.Params.fromObject(object.params); - } - if (object.createLocalhost != null) - message.createLocalhost = Boolean(object.createLocalhost); - if (object.nextClientSequence != null) - if ($util.Long) - (message.nextClientSequence = $util.Long.fromValue(object.nextClientSequence)).unsigned = true; - else if (typeof object.nextClientSequence === "string") - message.nextClientSequence = parseInt(object.nextClientSequence, 10); - else if (typeof object.nextClientSequence === "number") - message.nextClientSequence = object.nextClientSequence; - else if (typeof object.nextClientSequence === "object") - message.nextClientSequence = new $util.LongBits(object.nextClientSequence.low >>> 0, object.nextClientSequence.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.GenesisState - * @static - * @param {ibc.core.client.v1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.clients = []; - object.clientsConsensus = []; - object.clientsMetadata = []; - } - if (options.defaults) { - object.params = null; - object.createLocalhost = false; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.nextClientSequence = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.nextClientSequence = options.longs === String ? "0" : 0; - } - if (message.clients && message.clients.length) { - object.clients = []; - for (let j = 0; j < message.clients.length; ++j) - object.clients[j] = $root.ibc.core.client.v1.IdentifiedClientState.toObject(message.clients[j], options); - } - if (message.clientsConsensus && message.clientsConsensus.length) { - object.clientsConsensus = []; - for (let j = 0; j < message.clientsConsensus.length; ++j) - object.clientsConsensus[j] = $root.ibc.core.client.v1.ClientConsensusStates.toObject(message.clientsConsensus[j], options); - } - if (message.clientsMetadata && message.clientsMetadata.length) { - object.clientsMetadata = []; - for (let j = 0; j < message.clientsMetadata.length; ++j) - object.clientsMetadata[j] = $root.ibc.core.client.v1.IdentifiedGenesisMetadata.toObject(message.clientsMetadata[j], options); - } - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.ibc.core.client.v1.Params.toObject(message.params, options); - if (message.createLocalhost != null && message.hasOwnProperty("createLocalhost")) - object.createLocalhost = message.createLocalhost; - if (message.nextClientSequence != null && message.hasOwnProperty("nextClientSequence")) - if (typeof message.nextClientSequence === "number") - object.nextClientSequence = options.longs === String ? String(message.nextClientSequence) : message.nextClientSequence; - else - object.nextClientSequence = options.longs === String ? $util.Long.prototype.toString.call(message.nextClientSequence) : options.longs === Number ? new $util.LongBits(message.nextClientSequence.low >>> 0, message.nextClientSequence.high >>> 0).toNumber(true) : message.nextClientSequence; - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1.GenesisState || {}); - - v1.GenesisMetadata = (function(GenesisMetadata) { - - /** - * Properties of a GenesisMetadata. - * @memberof ibc.core.client.v1 - * @interface IGenesisMetadata - * @property {Uint8Array|null} [key] GenesisMetadata key - * @property {Uint8Array|null} [value] GenesisMetadata value - */ - - /** - * Constructs a new GenesisMetadata. - * @memberof ibc.core.client.v1 - * @classdesc Represents a GenesisMetadata. - * @implements IGenesisMetadata - * @constructor - * @param {ibc.core.client.v1.IGenesisMetadata=} [properties] Properties to set - */ - function GenesisMetadata(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisMetadata key. - * @member {Uint8Array} key - * @memberof ibc.core.client.v1.GenesisMetadata - * @instance - */ - GenesisMetadata.prototype.key = $util.newBuffer([]); - - /** - * GenesisMetadata value. - * @member {Uint8Array} value - * @memberof ibc.core.client.v1.GenesisMetadata - * @instance - */ - GenesisMetadata.prototype.value = $util.newBuffer([]); - - /** - * Creates a new GenesisMetadata instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.GenesisMetadata - * @static - * @param {ibc.core.client.v1.IGenesisMetadata=} [properties] Properties to set - * @returns {ibc.core.client.v1.GenesisMetadata} GenesisMetadata instance - */ - GenesisMetadata.create = function create(properties) { - return new GenesisMetadata(properties); - }; - - /** - * Encodes the specified GenesisMetadata message. Does not implicitly {@link ibc.core.client.v1.GenesisMetadata.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.GenesisMetadata - * @static - * @param {ibc.core.client.v1.IGenesisMetadata} message GenesisMetadata message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisMetadata.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); - return writer; - }; - - /** - * Encodes the specified GenesisMetadata message, length delimited. Does not implicitly {@link ibc.core.client.v1.GenesisMetadata.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.GenesisMetadata - * @static - * @param {ibc.core.client.v1.IGenesisMetadata} message GenesisMetadata message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisMetadata.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisMetadata message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.GenesisMetadata - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.GenesisMetadata} GenesisMetadata - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisMetadata.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.GenesisMetadata(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - case 2: - message.value = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisMetadata message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.GenesisMetadata - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.GenesisMetadata} GenesisMetadata - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisMetadata.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisMetadata message. - * @function verify - * @memberof ibc.core.client.v1.GenesisMetadata - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisMetadata.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; - return null; - }; - - /** - * Creates a GenesisMetadata message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.GenesisMetadata - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.GenesisMetadata} GenesisMetadata - */ - GenesisMetadata.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.GenesisMetadata) - return object; - let message = new $root.ibc.core.client.v1.GenesisMetadata(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) - message.value = object.value; - return message; - }; - - /** - * Creates a plain object from a GenesisMetadata message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.GenesisMetadata - * @static - * @param {ibc.core.client.v1.GenesisMetadata} message GenesisMetadata - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisMetadata.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; - return object; - }; - - /** - * Converts this GenesisMetadata to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.GenesisMetadata - * @instance - * @returns {Object.} JSON object - */ - GenesisMetadata.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisMetadata; - })(v1.GenesisMetadata || {}); - - v1.IdentifiedGenesisMetadata = (function(IdentifiedGenesisMetadata) { - - /** - * Properties of an IdentifiedGenesisMetadata. - * @memberof ibc.core.client.v1 - * @interface IIdentifiedGenesisMetadata - * @property {string|null} [clientId] IdentifiedGenesisMetadata clientId - * @property {Array.|null} [clientMetadata] IdentifiedGenesisMetadata clientMetadata - */ - - /** - * Constructs a new IdentifiedGenesisMetadata. - * @memberof ibc.core.client.v1 - * @classdesc Represents an IdentifiedGenesisMetadata. - * @implements IIdentifiedGenesisMetadata - * @constructor - * @param {ibc.core.client.v1.IIdentifiedGenesisMetadata=} [properties] Properties to set - */ - function IdentifiedGenesisMetadata(properties) { - this.clientMetadata = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * IdentifiedGenesisMetadata clientId. - * @member {string} clientId - * @memberof ibc.core.client.v1.IdentifiedGenesisMetadata - * @instance - */ - IdentifiedGenesisMetadata.prototype.clientId = ""; - - /** - * IdentifiedGenesisMetadata clientMetadata. - * @member {Array.} clientMetadata - * @memberof ibc.core.client.v1.IdentifiedGenesisMetadata - * @instance - */ - IdentifiedGenesisMetadata.prototype.clientMetadata = $util.emptyArray; - - /** - * Creates a new IdentifiedGenesisMetadata instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.IdentifiedGenesisMetadata - * @static - * @param {ibc.core.client.v1.IIdentifiedGenesisMetadata=} [properties] Properties to set - * @returns {ibc.core.client.v1.IdentifiedGenesisMetadata} IdentifiedGenesisMetadata instance - */ - IdentifiedGenesisMetadata.create = function create(properties) { - return new IdentifiedGenesisMetadata(properties); - }; - - /** - * Encodes the specified IdentifiedGenesisMetadata message. Does not implicitly {@link ibc.core.client.v1.IdentifiedGenesisMetadata.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.IdentifiedGenesisMetadata - * @static - * @param {ibc.core.client.v1.IIdentifiedGenesisMetadata} message IdentifiedGenesisMetadata message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IdentifiedGenesisMetadata.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.clientMetadata != null && message.clientMetadata.length) - for (let i = 0; i < message.clientMetadata.length; ++i) - $root.ibc.core.client.v1.GenesisMetadata.encode(message.clientMetadata[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified IdentifiedGenesisMetadata message, length delimited. Does not implicitly {@link ibc.core.client.v1.IdentifiedGenesisMetadata.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.IdentifiedGenesisMetadata - * @static - * @param {ibc.core.client.v1.IIdentifiedGenesisMetadata} message IdentifiedGenesisMetadata message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IdentifiedGenesisMetadata.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an IdentifiedGenesisMetadata message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.IdentifiedGenesisMetadata - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.IdentifiedGenesisMetadata} IdentifiedGenesisMetadata - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IdentifiedGenesisMetadata.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.IdentifiedGenesisMetadata(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - if (!(message.clientMetadata && message.clientMetadata.length)) - message.clientMetadata = []; - message.clientMetadata.push($root.ibc.core.client.v1.GenesisMetadata.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an IdentifiedGenesisMetadata message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.IdentifiedGenesisMetadata - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.IdentifiedGenesisMetadata} IdentifiedGenesisMetadata - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IdentifiedGenesisMetadata.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an IdentifiedGenesisMetadata message. - * @function verify - * @memberof ibc.core.client.v1.IdentifiedGenesisMetadata - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - IdentifiedGenesisMetadata.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.clientMetadata != null && message.hasOwnProperty("clientMetadata")) { - if (!Array.isArray(message.clientMetadata)) - return "clientMetadata: array expected"; - for (let i = 0; i < message.clientMetadata.length; ++i) { - let error = $root.ibc.core.client.v1.GenesisMetadata.verify(message.clientMetadata[i]); - if (error) - return "clientMetadata." + error; - } - } - return null; - }; - - /** - * Creates an IdentifiedGenesisMetadata message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.IdentifiedGenesisMetadata - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.IdentifiedGenesisMetadata} IdentifiedGenesisMetadata - */ - IdentifiedGenesisMetadata.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.IdentifiedGenesisMetadata) - return object; - let message = new $root.ibc.core.client.v1.IdentifiedGenesisMetadata(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.clientMetadata) { - if (!Array.isArray(object.clientMetadata)) - throw TypeError(".ibc.core.client.v1.IdentifiedGenesisMetadata.clientMetadata: array expected"); - message.clientMetadata = []; - for (let i = 0; i < object.clientMetadata.length; ++i) { - if (typeof object.clientMetadata[i] !== "object") - throw TypeError(".ibc.core.client.v1.IdentifiedGenesisMetadata.clientMetadata: object expected"); - message.clientMetadata[i] = $root.ibc.core.client.v1.GenesisMetadata.fromObject(object.clientMetadata[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an IdentifiedGenesisMetadata message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.IdentifiedGenesisMetadata - * @static - * @param {ibc.core.client.v1.IdentifiedGenesisMetadata} message IdentifiedGenesisMetadata - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - IdentifiedGenesisMetadata.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.clientMetadata = []; - if (options.defaults) - object.clientId = ""; - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.clientMetadata && message.clientMetadata.length) { - object.clientMetadata = []; - for (let j = 0; j < message.clientMetadata.length; ++j) - object.clientMetadata[j] = $root.ibc.core.client.v1.GenesisMetadata.toObject(message.clientMetadata[j], options); - } - return object; - }; - - /** - * Converts this IdentifiedGenesisMetadata to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.IdentifiedGenesisMetadata - * @instance - * @returns {Object.} JSON object - */ - IdentifiedGenesisMetadata.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return IdentifiedGenesisMetadata; - })(v1.IdentifiedGenesisMetadata || {}); - - v1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof ibc.core.client.v1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof ibc.core.client.v1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link ibc.core.client.v1.Query#clientState}. - * @memberof ibc.core.client.v1.Query - * @typedef ClientStateCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.client.v1.IQueryClientStateResponse} [response] QueryClientStateResponse - */ - - /** - * Calls ClientState. - * @function clientState - * @memberof ibc.core.client.v1.Query - * @instance - * @param {ibc.core.client.v1.IQueryClientStateRequest} request QueryClientStateRequest message or plain object - * @param {ibc.core.client.v1.Query.ClientStateCallback} callback Node-style callback called with the error, if any, and QueryClientStateResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.clientState = function clientState(request, callback) { - return this.rpcCall(clientState, $root.ibc.core.client.v1.QueryClientStateRequest, $root.ibc.core.client.v1.QueryClientStateResponse, request, callback); - }, "name", { value: "ClientState" }); - - /** - * Calls ClientState. - * @function clientState - * @memberof ibc.core.client.v1.Query - * @instance - * @param {ibc.core.client.v1.IQueryClientStateRequest} request QueryClientStateRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.client.v1.Query#clientStates}. - * @memberof ibc.core.client.v1.Query - * @typedef ClientStatesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.client.v1.IQueryClientStatesResponse} [response] QueryClientStatesResponse - */ - - /** - * Calls ClientStates. - * @function clientStates - * @memberof ibc.core.client.v1.Query - * @instance - * @param {ibc.core.client.v1.IQueryClientStatesRequest} request QueryClientStatesRequest message or plain object - * @param {ibc.core.client.v1.Query.ClientStatesCallback} callback Node-style callback called with the error, if any, and QueryClientStatesResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.clientStates = function clientStates(request, callback) { - return this.rpcCall(clientStates, $root.ibc.core.client.v1.QueryClientStatesRequest, $root.ibc.core.client.v1.QueryClientStatesResponse, request, callback); - }, "name", { value: "ClientStates" }); - - /** - * Calls ClientStates. - * @function clientStates - * @memberof ibc.core.client.v1.Query - * @instance - * @param {ibc.core.client.v1.IQueryClientStatesRequest} request QueryClientStatesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.client.v1.Query#consensusState}. - * @memberof ibc.core.client.v1.Query - * @typedef ConsensusStateCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.client.v1.IQueryConsensusStateResponse} [response] QueryConsensusStateResponse - */ - - /** - * Calls ConsensusState. - * @function consensusState - * @memberof ibc.core.client.v1.Query - * @instance - * @param {ibc.core.client.v1.IQueryConsensusStateRequest} request QueryConsensusStateRequest message or plain object - * @param {ibc.core.client.v1.Query.ConsensusStateCallback} callback Node-style callback called with the error, if any, and QueryConsensusStateResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.consensusState = function consensusState(request, callback) { - return this.rpcCall(consensusState, $root.ibc.core.client.v1.QueryConsensusStateRequest, $root.ibc.core.client.v1.QueryConsensusStateResponse, request, callback); - }, "name", { value: "ConsensusState" }); - - /** - * Calls ConsensusState. - * @function consensusState - * @memberof ibc.core.client.v1.Query - * @instance - * @param {ibc.core.client.v1.IQueryConsensusStateRequest} request QueryConsensusStateRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.client.v1.Query#consensusStates}. - * @memberof ibc.core.client.v1.Query - * @typedef ConsensusStatesCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.client.v1.IQueryConsensusStatesResponse} [response] QueryConsensusStatesResponse - */ - - /** - * Calls ConsensusStates. - * @function consensusStates - * @memberof ibc.core.client.v1.Query - * @instance - * @param {ibc.core.client.v1.IQueryConsensusStatesRequest} request QueryConsensusStatesRequest message or plain object - * @param {ibc.core.client.v1.Query.ConsensusStatesCallback} callback Node-style callback called with the error, if any, and QueryConsensusStatesResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.consensusStates = function consensusStates(request, callback) { - return this.rpcCall(consensusStates, $root.ibc.core.client.v1.QueryConsensusStatesRequest, $root.ibc.core.client.v1.QueryConsensusStatesResponse, request, callback); - }, "name", { value: "ConsensusStates" }); - - /** - * Calls ConsensusStates. - * @function consensusStates - * @memberof ibc.core.client.v1.Query - * @instance - * @param {ibc.core.client.v1.IQueryConsensusStatesRequest} request QueryConsensusStatesRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.client.v1.Query#clientParams}. - * @memberof ibc.core.client.v1.Query - * @typedef ClientParamsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.client.v1.IQueryClientParamsResponse} [response] QueryClientParamsResponse - */ - - /** - * Calls ClientParams. - * @function clientParams - * @memberof ibc.core.client.v1.Query - * @instance - * @param {ibc.core.client.v1.IQueryClientParamsRequest} request QueryClientParamsRequest message or plain object - * @param {ibc.core.client.v1.Query.ClientParamsCallback} callback Node-style callback called with the error, if any, and QueryClientParamsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.clientParams = function clientParams(request, callback) { - return this.rpcCall(clientParams, $root.ibc.core.client.v1.QueryClientParamsRequest, $root.ibc.core.client.v1.QueryClientParamsResponse, request, callback); - }, "name", { value: "ClientParams" }); - - /** - * Calls ClientParams. - * @function clientParams - * @memberof ibc.core.client.v1.Query - * @instance - * @param {ibc.core.client.v1.IQueryClientParamsRequest} request QueryClientParamsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1.Query || {}); - - v1.QueryClientStateRequest = (function(QueryClientStateRequest) { - - /** - * Properties of a QueryClientStateRequest. - * @memberof ibc.core.client.v1 - * @interface IQueryClientStateRequest - * @property {string|null} [clientId] QueryClientStateRequest clientId - */ - - /** - * Constructs a new QueryClientStateRequest. - * @memberof ibc.core.client.v1 - * @classdesc Represents a QueryClientStateRequest. - * @implements IQueryClientStateRequest - * @constructor - * @param {ibc.core.client.v1.IQueryClientStateRequest=} [properties] Properties to set - */ - function QueryClientStateRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryClientStateRequest clientId. - * @member {string} clientId - * @memberof ibc.core.client.v1.QueryClientStateRequest - * @instance - */ - QueryClientStateRequest.prototype.clientId = ""; - - /** - * Creates a new QueryClientStateRequest instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.QueryClientStateRequest - * @static - * @param {ibc.core.client.v1.IQueryClientStateRequest=} [properties] Properties to set - * @returns {ibc.core.client.v1.QueryClientStateRequest} QueryClientStateRequest instance - */ - QueryClientStateRequest.create = function create(properties) { - return new QueryClientStateRequest(properties); - }; - - /** - * Encodes the specified QueryClientStateRequest message. Does not implicitly {@link ibc.core.client.v1.QueryClientStateRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.QueryClientStateRequest - * @static - * @param {ibc.core.client.v1.IQueryClientStateRequest} message QueryClientStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientStateRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - return writer; - }; - - /** - * Encodes the specified QueryClientStateRequest message, length delimited. Does not implicitly {@link ibc.core.client.v1.QueryClientStateRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.QueryClientStateRequest - * @static - * @param {ibc.core.client.v1.IQueryClientStateRequest} message QueryClientStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientStateRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryClientStateRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.QueryClientStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.QueryClientStateRequest} QueryClientStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientStateRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.QueryClientStateRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryClientStateRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.QueryClientStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.QueryClientStateRequest} QueryClientStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientStateRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryClientStateRequest message. - * @function verify - * @memberof ibc.core.client.v1.QueryClientStateRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryClientStateRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - return null; - }; - - /** - * Creates a QueryClientStateRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.QueryClientStateRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.QueryClientStateRequest} QueryClientStateRequest - */ - QueryClientStateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.QueryClientStateRequest) - return object; - let message = new $root.ibc.core.client.v1.QueryClientStateRequest(); - if (object.clientId != null) - message.clientId = String(object.clientId); - return message; - }; - - /** - * Creates a plain object from a QueryClientStateRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.QueryClientStateRequest - * @static - * @param {ibc.core.client.v1.QueryClientStateRequest} message QueryClientStateRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryClientStateRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.clientId = ""; - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - return object; - }; - - /** - * Converts this QueryClientStateRequest to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.QueryClientStateRequest - * @instance - * @returns {Object.} JSON object - */ - QueryClientStateRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryClientStateRequest; - })(v1.QueryClientStateRequest || {}); - - v1.QueryClientStateResponse = (function(QueryClientStateResponse) { - - /** - * Properties of a QueryClientStateResponse. - * @memberof ibc.core.client.v1 - * @interface IQueryClientStateResponse - * @property {google.protobuf.IAny|null} [clientState] QueryClientStateResponse clientState - * @property {Uint8Array|null} [proof] QueryClientStateResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryClientStateResponse proofHeight - */ - - /** - * Constructs a new QueryClientStateResponse. - * @memberof ibc.core.client.v1 - * @classdesc Represents a QueryClientStateResponse. - * @implements IQueryClientStateResponse - * @constructor - * @param {ibc.core.client.v1.IQueryClientStateResponse=} [properties] Properties to set - */ - function QueryClientStateResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryClientStateResponse clientState. - * @member {google.protobuf.IAny|null|undefined} clientState - * @memberof ibc.core.client.v1.QueryClientStateResponse - * @instance - */ - QueryClientStateResponse.prototype.clientState = null; - - /** - * QueryClientStateResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.client.v1.QueryClientStateResponse - * @instance - */ - QueryClientStateResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryClientStateResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.client.v1.QueryClientStateResponse - * @instance - */ - QueryClientStateResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryClientStateResponse instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.QueryClientStateResponse - * @static - * @param {ibc.core.client.v1.IQueryClientStateResponse=} [properties] Properties to set - * @returns {ibc.core.client.v1.QueryClientStateResponse} QueryClientStateResponse instance - */ - QueryClientStateResponse.create = function create(properties) { - return new QueryClientStateResponse(properties); - }; - - /** - * Encodes the specified QueryClientStateResponse message. Does not implicitly {@link ibc.core.client.v1.QueryClientStateResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.QueryClientStateResponse - * @static - * @param {ibc.core.client.v1.IQueryClientStateResponse} message QueryClientStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientStateResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientState != null && Object.hasOwnProperty.call(message, "clientState")) - $root.google.protobuf.Any.encode(message.clientState, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryClientStateResponse message, length delimited. Does not implicitly {@link ibc.core.client.v1.QueryClientStateResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.QueryClientStateResponse - * @static - * @param {ibc.core.client.v1.IQueryClientStateResponse} message QueryClientStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientStateResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryClientStateResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.QueryClientStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.QueryClientStateResponse} QueryClientStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientStateResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.QueryClientStateResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 2: - message.proof = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryClientStateResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.QueryClientStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.QueryClientStateResponse} QueryClientStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientStateResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryClientStateResponse message. - * @function verify - * @memberof ibc.core.client.v1.QueryClientStateResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryClientStateResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientState != null && message.hasOwnProperty("clientState")) { - let error = $root.google.protobuf.Any.verify(message.clientState); - if (error) - return "clientState." + error; - } - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryClientStateResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.QueryClientStateResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.QueryClientStateResponse} QueryClientStateResponse - */ - QueryClientStateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.QueryClientStateResponse) - return object; - let message = new $root.ibc.core.client.v1.QueryClientStateResponse(); - if (object.clientState != null) { - if (typeof object.clientState !== "object") - throw TypeError(".ibc.core.client.v1.QueryClientStateResponse.clientState: object expected"); - message.clientState = $root.google.protobuf.Any.fromObject(object.clientState); - } - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.client.v1.QueryClientStateResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryClientStateResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.QueryClientStateResponse - * @static - * @param {ibc.core.client.v1.QueryClientStateResponse} message QueryClientStateResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryClientStateResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.clientState = null; - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.clientState != null && message.hasOwnProperty("clientState")) - object.clientState = $root.google.protobuf.Any.toObject(message.clientState, options); - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryClientStateResponse to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.QueryClientStateResponse - * @instance - * @returns {Object.} JSON object - */ - QueryClientStateResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryClientStateResponse; - })(v1.QueryClientStateResponse || {}); - - v1.QueryClientStatesRequest = (function(QueryClientStatesRequest) { - - /** - * Properties of a QueryClientStatesRequest. - * @memberof ibc.core.client.v1 - * @interface IQueryClientStatesRequest - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryClientStatesRequest pagination - */ - - /** - * Constructs a new QueryClientStatesRequest. - * @memberof ibc.core.client.v1 - * @classdesc Represents a QueryClientStatesRequest. - * @implements IQueryClientStatesRequest - * @constructor - * @param {ibc.core.client.v1.IQueryClientStatesRequest=} [properties] Properties to set - */ - function QueryClientStatesRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryClientStatesRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof ibc.core.client.v1.QueryClientStatesRequest - * @instance - */ - QueryClientStatesRequest.prototype.pagination = null; - - /** - * Creates a new QueryClientStatesRequest instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.QueryClientStatesRequest - * @static - * @param {ibc.core.client.v1.IQueryClientStatesRequest=} [properties] Properties to set - * @returns {ibc.core.client.v1.QueryClientStatesRequest} QueryClientStatesRequest instance - */ - QueryClientStatesRequest.create = function create(properties) { - return new QueryClientStatesRequest(properties); - }; - - /** - * Encodes the specified QueryClientStatesRequest message. Does not implicitly {@link ibc.core.client.v1.QueryClientStatesRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.QueryClientStatesRequest - * @static - * @param {ibc.core.client.v1.IQueryClientStatesRequest} message QueryClientStatesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientStatesRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryClientStatesRequest message, length delimited. Does not implicitly {@link ibc.core.client.v1.QueryClientStatesRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.QueryClientStatesRequest - * @static - * @param {ibc.core.client.v1.IQueryClientStatesRequest} message QueryClientStatesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientStatesRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryClientStatesRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.QueryClientStatesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.QueryClientStatesRequest} QueryClientStatesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientStatesRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.QueryClientStatesRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryClientStatesRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.QueryClientStatesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.QueryClientStatesRequest} QueryClientStatesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientStatesRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryClientStatesRequest message. - * @function verify - * @memberof ibc.core.client.v1.QueryClientStatesRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryClientStatesRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryClientStatesRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.QueryClientStatesRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.QueryClientStatesRequest} QueryClientStatesRequest - */ - QueryClientStatesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.QueryClientStatesRequest) - return object; - let message = new $root.ibc.core.client.v1.QueryClientStatesRequest(); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.client.v1.QueryClientStatesRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryClientStatesRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.QueryClientStatesRequest - * @static - * @param {ibc.core.client.v1.QueryClientStatesRequest} message QueryClientStatesRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryClientStatesRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.pagination = null; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryClientStatesRequest to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.QueryClientStatesRequest - * @instance - * @returns {Object.} JSON object - */ - QueryClientStatesRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryClientStatesRequest; - })(v1.QueryClientStatesRequest || {}); - - v1.QueryClientStatesResponse = (function(QueryClientStatesResponse) { - - /** - * Properties of a QueryClientStatesResponse. - * @memberof ibc.core.client.v1 - * @interface IQueryClientStatesResponse - * @property {Array.|null} [clientStates] QueryClientStatesResponse clientStates - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryClientStatesResponse pagination - */ - - /** - * Constructs a new QueryClientStatesResponse. - * @memberof ibc.core.client.v1 - * @classdesc Represents a QueryClientStatesResponse. - * @implements IQueryClientStatesResponse - * @constructor - * @param {ibc.core.client.v1.IQueryClientStatesResponse=} [properties] Properties to set - */ - function QueryClientStatesResponse(properties) { - this.clientStates = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryClientStatesResponse clientStates. - * @member {Array.} clientStates - * @memberof ibc.core.client.v1.QueryClientStatesResponse - * @instance - */ - QueryClientStatesResponse.prototype.clientStates = $util.emptyArray; - - /** - * QueryClientStatesResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof ibc.core.client.v1.QueryClientStatesResponse - * @instance - */ - QueryClientStatesResponse.prototype.pagination = null; - - /** - * Creates a new QueryClientStatesResponse instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.QueryClientStatesResponse - * @static - * @param {ibc.core.client.v1.IQueryClientStatesResponse=} [properties] Properties to set - * @returns {ibc.core.client.v1.QueryClientStatesResponse} QueryClientStatesResponse instance - */ - QueryClientStatesResponse.create = function create(properties) { - return new QueryClientStatesResponse(properties); - }; - - /** - * Encodes the specified QueryClientStatesResponse message. Does not implicitly {@link ibc.core.client.v1.QueryClientStatesResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.QueryClientStatesResponse - * @static - * @param {ibc.core.client.v1.IQueryClientStatesResponse} message QueryClientStatesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientStatesResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientStates != null && message.clientStates.length) - for (let i = 0; i < message.clientStates.length; ++i) - $root.ibc.core.client.v1.IdentifiedClientState.encode(message.clientStates[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryClientStatesResponse message, length delimited. Does not implicitly {@link ibc.core.client.v1.QueryClientStatesResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.QueryClientStatesResponse - * @static - * @param {ibc.core.client.v1.IQueryClientStatesResponse} message QueryClientStatesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientStatesResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryClientStatesResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.QueryClientStatesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.QueryClientStatesResponse} QueryClientStatesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientStatesResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.QueryClientStatesResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.clientStates && message.clientStates.length)) - message.clientStates = []; - message.clientStates.push($root.ibc.core.client.v1.IdentifiedClientState.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryClientStatesResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.QueryClientStatesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.QueryClientStatesResponse} QueryClientStatesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientStatesResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryClientStatesResponse message. - * @function verify - * @memberof ibc.core.client.v1.QueryClientStatesResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryClientStatesResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientStates != null && message.hasOwnProperty("clientStates")) { - if (!Array.isArray(message.clientStates)) - return "clientStates: array expected"; - for (let i = 0; i < message.clientStates.length; ++i) { - let error = $root.ibc.core.client.v1.IdentifiedClientState.verify(message.clientStates[i]); - if (error) - return "clientStates." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryClientStatesResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.QueryClientStatesResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.QueryClientStatesResponse} QueryClientStatesResponse - */ - QueryClientStatesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.QueryClientStatesResponse) - return object; - let message = new $root.ibc.core.client.v1.QueryClientStatesResponse(); - if (object.clientStates) { - if (!Array.isArray(object.clientStates)) - throw TypeError(".ibc.core.client.v1.QueryClientStatesResponse.clientStates: array expected"); - message.clientStates = []; - for (let i = 0; i < object.clientStates.length; ++i) { - if (typeof object.clientStates[i] !== "object") - throw TypeError(".ibc.core.client.v1.QueryClientStatesResponse.clientStates: object expected"); - message.clientStates[i] = $root.ibc.core.client.v1.IdentifiedClientState.fromObject(object.clientStates[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.client.v1.QueryClientStatesResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryClientStatesResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.QueryClientStatesResponse - * @static - * @param {ibc.core.client.v1.QueryClientStatesResponse} message QueryClientStatesResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryClientStatesResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.clientStates = []; - if (options.defaults) - object.pagination = null; - if (message.clientStates && message.clientStates.length) { - object.clientStates = []; - for (let j = 0; j < message.clientStates.length; ++j) - object.clientStates[j] = $root.ibc.core.client.v1.IdentifiedClientState.toObject(message.clientStates[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryClientStatesResponse to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.QueryClientStatesResponse - * @instance - * @returns {Object.} JSON object - */ - QueryClientStatesResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryClientStatesResponse; - })(v1.QueryClientStatesResponse || {}); - - v1.QueryConsensusStateRequest = (function(QueryConsensusStateRequest) { - - /** - * Properties of a QueryConsensusStateRequest. - * @memberof ibc.core.client.v1 - * @interface IQueryConsensusStateRequest - * @property {string|null} [clientId] QueryConsensusStateRequest clientId - * @property {number|Long|null} [revisionNumber] QueryConsensusStateRequest revisionNumber - * @property {number|Long|null} [revisionHeight] QueryConsensusStateRequest revisionHeight - * @property {boolean|null} [latestHeight] QueryConsensusStateRequest latestHeight - */ - - /** - * Constructs a new QueryConsensusStateRequest. - * @memberof ibc.core.client.v1 - * @classdesc Represents a QueryConsensusStateRequest. - * @implements IQueryConsensusStateRequest - * @constructor - * @param {ibc.core.client.v1.IQueryConsensusStateRequest=} [properties] Properties to set - */ - function QueryConsensusStateRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConsensusStateRequest clientId. - * @member {string} clientId - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @instance - */ - QueryConsensusStateRequest.prototype.clientId = ""; - - /** - * QueryConsensusStateRequest revisionNumber. - * @member {number|Long} revisionNumber - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @instance - */ - QueryConsensusStateRequest.prototype.revisionNumber = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * QueryConsensusStateRequest revisionHeight. - * @member {number|Long} revisionHeight - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @instance - */ - QueryConsensusStateRequest.prototype.revisionHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * QueryConsensusStateRequest latestHeight. - * @member {boolean} latestHeight - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @instance - */ - QueryConsensusStateRequest.prototype.latestHeight = false; - - /** - * Creates a new QueryConsensusStateRequest instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @static - * @param {ibc.core.client.v1.IQueryConsensusStateRequest=} [properties] Properties to set - * @returns {ibc.core.client.v1.QueryConsensusStateRequest} QueryConsensusStateRequest instance - */ - QueryConsensusStateRequest.create = function create(properties) { - return new QueryConsensusStateRequest(properties); - }; - - /** - * Encodes the specified QueryConsensusStateRequest message. Does not implicitly {@link ibc.core.client.v1.QueryConsensusStateRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @static - * @param {ibc.core.client.v1.IQueryConsensusStateRequest} message QueryConsensusStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConsensusStateRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.revisionNumber != null && Object.hasOwnProperty.call(message, "revisionNumber")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.revisionNumber); - if (message.revisionHeight != null && Object.hasOwnProperty.call(message, "revisionHeight")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.revisionHeight); - if (message.latestHeight != null && Object.hasOwnProperty.call(message, "latestHeight")) - writer.uint32(/* id 4, wireType 0 =*/32).bool(message.latestHeight); - return writer; - }; - - /** - * Encodes the specified QueryConsensusStateRequest message, length delimited. Does not implicitly {@link ibc.core.client.v1.QueryConsensusStateRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @static - * @param {ibc.core.client.v1.IQueryConsensusStateRequest} message QueryConsensusStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConsensusStateRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConsensusStateRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.QueryConsensusStateRequest} QueryConsensusStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConsensusStateRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.QueryConsensusStateRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - message.revisionNumber = reader.uint64(); - break; - case 3: - message.revisionHeight = reader.uint64(); - break; - case 4: - message.latestHeight = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConsensusStateRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.QueryConsensusStateRequest} QueryConsensusStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConsensusStateRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConsensusStateRequest message. - * @function verify - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConsensusStateRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.revisionNumber != null && message.hasOwnProperty("revisionNumber")) - if (!$util.isInteger(message.revisionNumber) && !(message.revisionNumber && $util.isInteger(message.revisionNumber.low) && $util.isInteger(message.revisionNumber.high))) - return "revisionNumber: integer|Long expected"; - if (message.revisionHeight != null && message.hasOwnProperty("revisionHeight")) - if (!$util.isInteger(message.revisionHeight) && !(message.revisionHeight && $util.isInteger(message.revisionHeight.low) && $util.isInteger(message.revisionHeight.high))) - return "revisionHeight: integer|Long expected"; - if (message.latestHeight != null && message.hasOwnProperty("latestHeight")) - if (typeof message.latestHeight !== "boolean") - return "latestHeight: boolean expected"; - return null; - }; - - /** - * Creates a QueryConsensusStateRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.QueryConsensusStateRequest} QueryConsensusStateRequest - */ - QueryConsensusStateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.QueryConsensusStateRequest) - return object; - let message = new $root.ibc.core.client.v1.QueryConsensusStateRequest(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.revisionNumber != null) - if ($util.Long) - (message.revisionNumber = $util.Long.fromValue(object.revisionNumber)).unsigned = true; - else if (typeof object.revisionNumber === "string") - message.revisionNumber = parseInt(object.revisionNumber, 10); - else if (typeof object.revisionNumber === "number") - message.revisionNumber = object.revisionNumber; - else if (typeof object.revisionNumber === "object") - message.revisionNumber = new $util.LongBits(object.revisionNumber.low >>> 0, object.revisionNumber.high >>> 0).toNumber(true); - if (object.revisionHeight != null) - if ($util.Long) - (message.revisionHeight = $util.Long.fromValue(object.revisionHeight)).unsigned = true; - else if (typeof object.revisionHeight === "string") - message.revisionHeight = parseInt(object.revisionHeight, 10); - else if (typeof object.revisionHeight === "number") - message.revisionHeight = object.revisionHeight; - else if (typeof object.revisionHeight === "object") - message.revisionHeight = new $util.LongBits(object.revisionHeight.low >>> 0, object.revisionHeight.high >>> 0).toNumber(true); - if (object.latestHeight != null) - message.latestHeight = Boolean(object.latestHeight); - return message; - }; - - /** - * Creates a plain object from a QueryConsensusStateRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @static - * @param {ibc.core.client.v1.QueryConsensusStateRequest} message QueryConsensusStateRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConsensusStateRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.clientId = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.revisionNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.revisionNumber = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.revisionHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.revisionHeight = options.longs === String ? "0" : 0; - object.latestHeight = false; - } - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.revisionNumber != null && message.hasOwnProperty("revisionNumber")) - if (typeof message.revisionNumber === "number") - object.revisionNumber = options.longs === String ? String(message.revisionNumber) : message.revisionNumber; - else - object.revisionNumber = options.longs === String ? $util.Long.prototype.toString.call(message.revisionNumber) : options.longs === Number ? new $util.LongBits(message.revisionNumber.low >>> 0, message.revisionNumber.high >>> 0).toNumber(true) : message.revisionNumber; - if (message.revisionHeight != null && message.hasOwnProperty("revisionHeight")) - if (typeof message.revisionHeight === "number") - object.revisionHeight = options.longs === String ? String(message.revisionHeight) : message.revisionHeight; - else - object.revisionHeight = options.longs === String ? $util.Long.prototype.toString.call(message.revisionHeight) : options.longs === Number ? new $util.LongBits(message.revisionHeight.low >>> 0, message.revisionHeight.high >>> 0).toNumber(true) : message.revisionHeight; - if (message.latestHeight != null && message.hasOwnProperty("latestHeight")) - object.latestHeight = message.latestHeight; - return object; - }; - - /** - * Converts this QueryConsensusStateRequest to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.QueryConsensusStateRequest - * @instance - * @returns {Object.} JSON object - */ - QueryConsensusStateRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConsensusStateRequest; - })(v1.QueryConsensusStateRequest || {}); - - v1.QueryConsensusStateResponse = (function(QueryConsensusStateResponse) { - - /** - * Properties of a QueryConsensusStateResponse. - * @memberof ibc.core.client.v1 - * @interface IQueryConsensusStateResponse - * @property {google.protobuf.IAny|null} [consensusState] QueryConsensusStateResponse consensusState - * @property {Uint8Array|null} [proof] QueryConsensusStateResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryConsensusStateResponse proofHeight - */ - - /** - * Constructs a new QueryConsensusStateResponse. - * @memberof ibc.core.client.v1 - * @classdesc Represents a QueryConsensusStateResponse. - * @implements IQueryConsensusStateResponse - * @constructor - * @param {ibc.core.client.v1.IQueryConsensusStateResponse=} [properties] Properties to set - */ - function QueryConsensusStateResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConsensusStateResponse consensusState. - * @member {google.protobuf.IAny|null|undefined} consensusState - * @memberof ibc.core.client.v1.QueryConsensusStateResponse - * @instance - */ - QueryConsensusStateResponse.prototype.consensusState = null; - - /** - * QueryConsensusStateResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.client.v1.QueryConsensusStateResponse - * @instance - */ - QueryConsensusStateResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryConsensusStateResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.client.v1.QueryConsensusStateResponse - * @instance - */ - QueryConsensusStateResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryConsensusStateResponse instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.QueryConsensusStateResponse - * @static - * @param {ibc.core.client.v1.IQueryConsensusStateResponse=} [properties] Properties to set - * @returns {ibc.core.client.v1.QueryConsensusStateResponse} QueryConsensusStateResponse instance - */ - QueryConsensusStateResponse.create = function create(properties) { - return new QueryConsensusStateResponse(properties); - }; - - /** - * Encodes the specified QueryConsensusStateResponse message. Does not implicitly {@link ibc.core.client.v1.QueryConsensusStateResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.QueryConsensusStateResponse - * @static - * @param {ibc.core.client.v1.IQueryConsensusStateResponse} message QueryConsensusStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConsensusStateResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.consensusState != null && Object.hasOwnProperty.call(message, "consensusState")) - $root.google.protobuf.Any.encode(message.consensusState, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryConsensusStateResponse message, length delimited. Does not implicitly {@link ibc.core.client.v1.QueryConsensusStateResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.QueryConsensusStateResponse - * @static - * @param {ibc.core.client.v1.IQueryConsensusStateResponse} message QueryConsensusStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConsensusStateResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConsensusStateResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.QueryConsensusStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.QueryConsensusStateResponse} QueryConsensusStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConsensusStateResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.QueryConsensusStateResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.consensusState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 2: - message.proof = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConsensusStateResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.QueryConsensusStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.QueryConsensusStateResponse} QueryConsensusStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConsensusStateResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConsensusStateResponse message. - * @function verify - * @memberof ibc.core.client.v1.QueryConsensusStateResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConsensusStateResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.consensusState != null && message.hasOwnProperty("consensusState")) { - let error = $root.google.protobuf.Any.verify(message.consensusState); - if (error) - return "consensusState." + error; - } - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryConsensusStateResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.QueryConsensusStateResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.QueryConsensusStateResponse} QueryConsensusStateResponse - */ - QueryConsensusStateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.QueryConsensusStateResponse) - return object; - let message = new $root.ibc.core.client.v1.QueryConsensusStateResponse(); - if (object.consensusState != null) { - if (typeof object.consensusState !== "object") - throw TypeError(".ibc.core.client.v1.QueryConsensusStateResponse.consensusState: object expected"); - message.consensusState = $root.google.protobuf.Any.fromObject(object.consensusState); - } - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.client.v1.QueryConsensusStateResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryConsensusStateResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.QueryConsensusStateResponse - * @static - * @param {ibc.core.client.v1.QueryConsensusStateResponse} message QueryConsensusStateResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConsensusStateResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.consensusState = null; - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.consensusState != null && message.hasOwnProperty("consensusState")) - object.consensusState = $root.google.protobuf.Any.toObject(message.consensusState, options); - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryConsensusStateResponse to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.QueryConsensusStateResponse - * @instance - * @returns {Object.} JSON object - */ - QueryConsensusStateResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConsensusStateResponse; - })(v1.QueryConsensusStateResponse || {}); - - v1.QueryConsensusStatesRequest = (function(QueryConsensusStatesRequest) { - - /** - * Properties of a QueryConsensusStatesRequest. - * @memberof ibc.core.client.v1 - * @interface IQueryConsensusStatesRequest - * @property {string|null} [clientId] QueryConsensusStatesRequest clientId - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryConsensusStatesRequest pagination - */ - - /** - * Constructs a new QueryConsensusStatesRequest. - * @memberof ibc.core.client.v1 - * @classdesc Represents a QueryConsensusStatesRequest. - * @implements IQueryConsensusStatesRequest - * @constructor - * @param {ibc.core.client.v1.IQueryConsensusStatesRequest=} [properties] Properties to set - */ - function QueryConsensusStatesRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConsensusStatesRequest clientId. - * @member {string} clientId - * @memberof ibc.core.client.v1.QueryConsensusStatesRequest - * @instance - */ - QueryConsensusStatesRequest.prototype.clientId = ""; - - /** - * QueryConsensusStatesRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof ibc.core.client.v1.QueryConsensusStatesRequest - * @instance - */ - QueryConsensusStatesRequest.prototype.pagination = null; - - /** - * Creates a new QueryConsensusStatesRequest instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.QueryConsensusStatesRequest - * @static - * @param {ibc.core.client.v1.IQueryConsensusStatesRequest=} [properties] Properties to set - * @returns {ibc.core.client.v1.QueryConsensusStatesRequest} QueryConsensusStatesRequest instance - */ - QueryConsensusStatesRequest.create = function create(properties) { - return new QueryConsensusStatesRequest(properties); - }; - - /** - * Encodes the specified QueryConsensusStatesRequest message. Does not implicitly {@link ibc.core.client.v1.QueryConsensusStatesRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.QueryConsensusStatesRequest - * @static - * @param {ibc.core.client.v1.IQueryConsensusStatesRequest} message QueryConsensusStatesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConsensusStatesRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryConsensusStatesRequest message, length delimited. Does not implicitly {@link ibc.core.client.v1.QueryConsensusStatesRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.QueryConsensusStatesRequest - * @static - * @param {ibc.core.client.v1.IQueryConsensusStatesRequest} message QueryConsensusStatesRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConsensusStatesRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConsensusStatesRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.QueryConsensusStatesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.QueryConsensusStatesRequest} QueryConsensusStatesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConsensusStatesRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.QueryConsensusStatesRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConsensusStatesRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.QueryConsensusStatesRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.QueryConsensusStatesRequest} QueryConsensusStatesRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConsensusStatesRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConsensusStatesRequest message. - * @function verify - * @memberof ibc.core.client.v1.QueryConsensusStatesRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConsensusStatesRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryConsensusStatesRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.QueryConsensusStatesRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.QueryConsensusStatesRequest} QueryConsensusStatesRequest - */ - QueryConsensusStatesRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.QueryConsensusStatesRequest) - return object; - let message = new $root.ibc.core.client.v1.QueryConsensusStatesRequest(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.client.v1.QueryConsensusStatesRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryConsensusStatesRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.QueryConsensusStatesRequest - * @static - * @param {ibc.core.client.v1.QueryConsensusStatesRequest} message QueryConsensusStatesRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConsensusStatesRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.clientId = ""; - object.pagination = null; - } - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryConsensusStatesRequest to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.QueryConsensusStatesRequest - * @instance - * @returns {Object.} JSON object - */ - QueryConsensusStatesRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConsensusStatesRequest; - })(v1.QueryConsensusStatesRequest || {}); - - v1.QueryConsensusStatesResponse = (function(QueryConsensusStatesResponse) { - - /** - * Properties of a QueryConsensusStatesResponse. - * @memberof ibc.core.client.v1 - * @interface IQueryConsensusStatesResponse - * @property {Array.|null} [consensusStates] QueryConsensusStatesResponse consensusStates - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryConsensusStatesResponse pagination - */ - - /** - * Constructs a new QueryConsensusStatesResponse. - * @memberof ibc.core.client.v1 - * @classdesc Represents a QueryConsensusStatesResponse. - * @implements IQueryConsensusStatesResponse - * @constructor - * @param {ibc.core.client.v1.IQueryConsensusStatesResponse=} [properties] Properties to set - */ - function QueryConsensusStatesResponse(properties) { - this.consensusStates = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConsensusStatesResponse consensusStates. - * @member {Array.} consensusStates - * @memberof ibc.core.client.v1.QueryConsensusStatesResponse - * @instance - */ - QueryConsensusStatesResponse.prototype.consensusStates = $util.emptyArray; - - /** - * QueryConsensusStatesResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof ibc.core.client.v1.QueryConsensusStatesResponse - * @instance - */ - QueryConsensusStatesResponse.prototype.pagination = null; - - /** - * Creates a new QueryConsensusStatesResponse instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.QueryConsensusStatesResponse - * @static - * @param {ibc.core.client.v1.IQueryConsensusStatesResponse=} [properties] Properties to set - * @returns {ibc.core.client.v1.QueryConsensusStatesResponse} QueryConsensusStatesResponse instance - */ - QueryConsensusStatesResponse.create = function create(properties) { - return new QueryConsensusStatesResponse(properties); - }; - - /** - * Encodes the specified QueryConsensusStatesResponse message. Does not implicitly {@link ibc.core.client.v1.QueryConsensusStatesResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.QueryConsensusStatesResponse - * @static - * @param {ibc.core.client.v1.IQueryConsensusStatesResponse} message QueryConsensusStatesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConsensusStatesResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.consensusStates != null && message.consensusStates.length) - for (let i = 0; i < message.consensusStates.length; ++i) - $root.ibc.core.client.v1.ConsensusStateWithHeight.encode(message.consensusStates[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryConsensusStatesResponse message, length delimited. Does not implicitly {@link ibc.core.client.v1.QueryConsensusStatesResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.QueryConsensusStatesResponse - * @static - * @param {ibc.core.client.v1.IQueryConsensusStatesResponse} message QueryConsensusStatesResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConsensusStatesResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConsensusStatesResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.QueryConsensusStatesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.QueryConsensusStatesResponse} QueryConsensusStatesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConsensusStatesResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.QueryConsensusStatesResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.consensusStates && message.consensusStates.length)) - message.consensusStates = []; - message.consensusStates.push($root.ibc.core.client.v1.ConsensusStateWithHeight.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConsensusStatesResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.QueryConsensusStatesResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.QueryConsensusStatesResponse} QueryConsensusStatesResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConsensusStatesResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConsensusStatesResponse message. - * @function verify - * @memberof ibc.core.client.v1.QueryConsensusStatesResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConsensusStatesResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.consensusStates != null && message.hasOwnProperty("consensusStates")) { - if (!Array.isArray(message.consensusStates)) - return "consensusStates: array expected"; - for (let i = 0; i < message.consensusStates.length; ++i) { - let error = $root.ibc.core.client.v1.ConsensusStateWithHeight.verify(message.consensusStates[i]); - if (error) - return "consensusStates." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryConsensusStatesResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.QueryConsensusStatesResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.QueryConsensusStatesResponse} QueryConsensusStatesResponse - */ - QueryConsensusStatesResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.QueryConsensusStatesResponse) - return object; - let message = new $root.ibc.core.client.v1.QueryConsensusStatesResponse(); - if (object.consensusStates) { - if (!Array.isArray(object.consensusStates)) - throw TypeError(".ibc.core.client.v1.QueryConsensusStatesResponse.consensusStates: array expected"); - message.consensusStates = []; - for (let i = 0; i < object.consensusStates.length; ++i) { - if (typeof object.consensusStates[i] !== "object") - throw TypeError(".ibc.core.client.v1.QueryConsensusStatesResponse.consensusStates: object expected"); - message.consensusStates[i] = $root.ibc.core.client.v1.ConsensusStateWithHeight.fromObject(object.consensusStates[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.client.v1.QueryConsensusStatesResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryConsensusStatesResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.QueryConsensusStatesResponse - * @static - * @param {ibc.core.client.v1.QueryConsensusStatesResponse} message QueryConsensusStatesResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConsensusStatesResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.consensusStates = []; - if (options.defaults) - object.pagination = null; - if (message.consensusStates && message.consensusStates.length) { - object.consensusStates = []; - for (let j = 0; j < message.consensusStates.length; ++j) - object.consensusStates[j] = $root.ibc.core.client.v1.ConsensusStateWithHeight.toObject(message.consensusStates[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryConsensusStatesResponse to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.QueryConsensusStatesResponse - * @instance - * @returns {Object.} JSON object - */ - QueryConsensusStatesResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConsensusStatesResponse; - })(v1.QueryConsensusStatesResponse || {}); - - v1.QueryClientParamsRequest = (function(QueryClientParamsRequest) { - - /** - * Properties of a QueryClientParamsRequest. - * @memberof ibc.core.client.v1 - * @interface IQueryClientParamsRequest - */ - - /** - * Constructs a new QueryClientParamsRequest. - * @memberof ibc.core.client.v1 - * @classdesc Represents a QueryClientParamsRequest. - * @implements IQueryClientParamsRequest - * @constructor - * @param {ibc.core.client.v1.IQueryClientParamsRequest=} [properties] Properties to set - */ - function QueryClientParamsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new QueryClientParamsRequest instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.QueryClientParamsRequest - * @static - * @param {ibc.core.client.v1.IQueryClientParamsRequest=} [properties] Properties to set - * @returns {ibc.core.client.v1.QueryClientParamsRequest} QueryClientParamsRequest instance - */ - QueryClientParamsRequest.create = function create(properties) { - return new QueryClientParamsRequest(properties); - }; - - /** - * Encodes the specified QueryClientParamsRequest message. Does not implicitly {@link ibc.core.client.v1.QueryClientParamsRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.QueryClientParamsRequest - * @static - * @param {ibc.core.client.v1.IQueryClientParamsRequest} message QueryClientParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientParamsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified QueryClientParamsRequest message, length delimited. Does not implicitly {@link ibc.core.client.v1.QueryClientParamsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.QueryClientParamsRequest - * @static - * @param {ibc.core.client.v1.IQueryClientParamsRequest} message QueryClientParamsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientParamsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryClientParamsRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.QueryClientParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.QueryClientParamsRequest} QueryClientParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientParamsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.QueryClientParamsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryClientParamsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.QueryClientParamsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.QueryClientParamsRequest} QueryClientParamsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientParamsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryClientParamsRequest message. - * @function verify - * @memberof ibc.core.client.v1.QueryClientParamsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryClientParamsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a QueryClientParamsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.QueryClientParamsRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.QueryClientParamsRequest} QueryClientParamsRequest - */ - QueryClientParamsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.QueryClientParamsRequest) - return object; - return new $root.ibc.core.client.v1.QueryClientParamsRequest(); - }; - - /** - * Creates a plain object from a QueryClientParamsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.QueryClientParamsRequest - * @static - * @param {ibc.core.client.v1.QueryClientParamsRequest} message QueryClientParamsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryClientParamsRequest.toObject = function toObject() { - return {}; - }; - - /** - * Converts this QueryClientParamsRequest to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.QueryClientParamsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryClientParamsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryClientParamsRequest; - })(v1.QueryClientParamsRequest || {}); - - v1.QueryClientParamsResponse = (function(QueryClientParamsResponse) { - - /** - * Properties of a QueryClientParamsResponse. - * @memberof ibc.core.client.v1 - * @interface IQueryClientParamsResponse - * @property {ibc.core.client.v1.IParams|null} [params] QueryClientParamsResponse params - */ - - /** - * Constructs a new QueryClientParamsResponse. - * @memberof ibc.core.client.v1 - * @classdesc Represents a QueryClientParamsResponse. - * @implements IQueryClientParamsResponse - * @constructor - * @param {ibc.core.client.v1.IQueryClientParamsResponse=} [properties] Properties to set - */ - function QueryClientParamsResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryClientParamsResponse params. - * @member {ibc.core.client.v1.IParams|null|undefined} params - * @memberof ibc.core.client.v1.QueryClientParamsResponse - * @instance - */ - QueryClientParamsResponse.prototype.params = null; - - /** - * Creates a new QueryClientParamsResponse instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.QueryClientParamsResponse - * @static - * @param {ibc.core.client.v1.IQueryClientParamsResponse=} [properties] Properties to set - * @returns {ibc.core.client.v1.QueryClientParamsResponse} QueryClientParamsResponse instance - */ - QueryClientParamsResponse.create = function create(properties) { - return new QueryClientParamsResponse(properties); - }; - - /** - * Encodes the specified QueryClientParamsResponse message. Does not implicitly {@link ibc.core.client.v1.QueryClientParamsResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.QueryClientParamsResponse - * @static - * @param {ibc.core.client.v1.IQueryClientParamsResponse} message QueryClientParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientParamsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.params != null && Object.hasOwnProperty.call(message, "params")) - $root.ibc.core.client.v1.Params.encode(message.params, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryClientParamsResponse message, length delimited. Does not implicitly {@link ibc.core.client.v1.QueryClientParamsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.QueryClientParamsResponse - * @static - * @param {ibc.core.client.v1.IQueryClientParamsResponse} message QueryClientParamsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientParamsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryClientParamsResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.QueryClientParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.QueryClientParamsResponse} QueryClientParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientParamsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.QueryClientParamsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.params = $root.ibc.core.client.v1.Params.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryClientParamsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.QueryClientParamsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.QueryClientParamsResponse} QueryClientParamsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientParamsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryClientParamsResponse message. - * @function verify - * @memberof ibc.core.client.v1.QueryClientParamsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryClientParamsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.params != null && message.hasOwnProperty("params")) { - let error = $root.ibc.core.client.v1.Params.verify(message.params); - if (error) - return "params." + error; - } - return null; - }; - - /** - * Creates a QueryClientParamsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.QueryClientParamsResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.QueryClientParamsResponse} QueryClientParamsResponse - */ - QueryClientParamsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.QueryClientParamsResponse) - return object; - let message = new $root.ibc.core.client.v1.QueryClientParamsResponse(); - if (object.params != null) { - if (typeof object.params !== "object") - throw TypeError(".ibc.core.client.v1.QueryClientParamsResponse.params: object expected"); - message.params = $root.ibc.core.client.v1.Params.fromObject(object.params); - } - return message; - }; - - /** - * Creates a plain object from a QueryClientParamsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.QueryClientParamsResponse - * @static - * @param {ibc.core.client.v1.QueryClientParamsResponse} message QueryClientParamsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryClientParamsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.params = null; - if (message.params != null && message.hasOwnProperty("params")) - object.params = $root.ibc.core.client.v1.Params.toObject(message.params, options); - return object; - }; - - /** - * Converts this QueryClientParamsResponse to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.QueryClientParamsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryClientParamsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryClientParamsResponse; - })(v1.QueryClientParamsResponse || {}); - - v1.Msg = (function(Msg) { - - /** - * Constructs a new Msg service. - * @memberof ibc.core.client.v1 - * @classdesc Represents a Msg - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Msg(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Msg.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Msg; - - /** - * Creates new Msg service using the specified rpc implementation. - * @function create - * @memberof ibc.core.client.v1.Msg - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Msg} RPC service. Useful where requests and/or responses are streamed. - */ - Msg.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link ibc.core.client.v1.Msg#createClient}. - * @memberof ibc.core.client.v1.Msg - * @typedef CreateClientCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.client.v1.IMsgCreateClientResponse} [response] MsgCreateClientResponse - */ - - /** - * Calls CreateClient. - * @function createClient - * @memberof ibc.core.client.v1.Msg - * @instance - * @param {ibc.core.client.v1.IMsgCreateClient} request MsgCreateClient message or plain object - * @param {ibc.core.client.v1.Msg.CreateClientCallback} callback Node-style callback called with the error, if any, and MsgCreateClientResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.createClient = function createClient(request, callback) { - return this.rpcCall(createClient, $root.ibc.core.client.v1.MsgCreateClient, $root.ibc.core.client.v1.MsgCreateClientResponse, request, callback); - }, "name", { value: "CreateClient" }); - - /** - * Calls CreateClient. - * @function createClient - * @memberof ibc.core.client.v1.Msg - * @instance - * @param {ibc.core.client.v1.IMsgCreateClient} request MsgCreateClient message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.client.v1.Msg#updateClient}. - * @memberof ibc.core.client.v1.Msg - * @typedef UpdateClientCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.client.v1.IMsgUpdateClientResponse} [response] MsgUpdateClientResponse - */ - - /** - * Calls UpdateClient. - * @function updateClient - * @memberof ibc.core.client.v1.Msg - * @instance - * @param {ibc.core.client.v1.IMsgUpdateClient} request MsgUpdateClient message or plain object - * @param {ibc.core.client.v1.Msg.UpdateClientCallback} callback Node-style callback called with the error, if any, and MsgUpdateClientResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.updateClient = function updateClient(request, callback) { - return this.rpcCall(updateClient, $root.ibc.core.client.v1.MsgUpdateClient, $root.ibc.core.client.v1.MsgUpdateClientResponse, request, callback); - }, "name", { value: "UpdateClient" }); - - /** - * Calls UpdateClient. - * @function updateClient - * @memberof ibc.core.client.v1.Msg - * @instance - * @param {ibc.core.client.v1.IMsgUpdateClient} request MsgUpdateClient message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.client.v1.Msg#upgradeClient}. - * @memberof ibc.core.client.v1.Msg - * @typedef UpgradeClientCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.client.v1.IMsgUpgradeClientResponse} [response] MsgUpgradeClientResponse - */ - - /** - * Calls UpgradeClient. - * @function upgradeClient - * @memberof ibc.core.client.v1.Msg - * @instance - * @param {ibc.core.client.v1.IMsgUpgradeClient} request MsgUpgradeClient message or plain object - * @param {ibc.core.client.v1.Msg.UpgradeClientCallback} callback Node-style callback called with the error, if any, and MsgUpgradeClientResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.upgradeClient = function upgradeClient(request, callback) { - return this.rpcCall(upgradeClient, $root.ibc.core.client.v1.MsgUpgradeClient, $root.ibc.core.client.v1.MsgUpgradeClientResponse, request, callback); - }, "name", { value: "UpgradeClient" }); - - /** - * Calls UpgradeClient. - * @function upgradeClient - * @memberof ibc.core.client.v1.Msg - * @instance - * @param {ibc.core.client.v1.IMsgUpgradeClient} request MsgUpgradeClient message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.client.v1.Msg#submitMisbehaviour}. - * @memberof ibc.core.client.v1.Msg - * @typedef SubmitMisbehaviourCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.client.v1.IMsgSubmitMisbehaviourResponse} [response] MsgSubmitMisbehaviourResponse - */ - - /** - * Calls SubmitMisbehaviour. - * @function submitMisbehaviour - * @memberof ibc.core.client.v1.Msg - * @instance - * @param {ibc.core.client.v1.IMsgSubmitMisbehaviour} request MsgSubmitMisbehaviour message or plain object - * @param {ibc.core.client.v1.Msg.SubmitMisbehaviourCallback} callback Node-style callback called with the error, if any, and MsgSubmitMisbehaviourResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.submitMisbehaviour = function submitMisbehaviour(request, callback) { - return this.rpcCall(submitMisbehaviour, $root.ibc.core.client.v1.MsgSubmitMisbehaviour, $root.ibc.core.client.v1.MsgSubmitMisbehaviourResponse, request, callback); - }, "name", { value: "SubmitMisbehaviour" }); - - /** - * Calls SubmitMisbehaviour. - * @function submitMisbehaviour - * @memberof ibc.core.client.v1.Msg - * @instance - * @param {ibc.core.client.v1.IMsgSubmitMisbehaviour} request MsgSubmitMisbehaviour message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Msg; - })(v1.Msg || {}); - - v1.MsgCreateClient = (function(MsgCreateClient) { - - /** - * Properties of a MsgCreateClient. - * @memberof ibc.core.client.v1 - * @interface IMsgCreateClient - * @property {google.protobuf.IAny|null} [clientState] MsgCreateClient clientState - * @property {google.protobuf.IAny|null} [consensusState] MsgCreateClient consensusState - * @property {string|null} [signer] MsgCreateClient signer - */ - - /** - * Constructs a new MsgCreateClient. - * @memberof ibc.core.client.v1 - * @classdesc Represents a MsgCreateClient. - * @implements IMsgCreateClient - * @constructor - * @param {ibc.core.client.v1.IMsgCreateClient=} [properties] Properties to set - */ - function MsgCreateClient(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgCreateClient clientState. - * @member {google.protobuf.IAny|null|undefined} clientState - * @memberof ibc.core.client.v1.MsgCreateClient - * @instance - */ - MsgCreateClient.prototype.clientState = null; - - /** - * MsgCreateClient consensusState. - * @member {google.protobuf.IAny|null|undefined} consensusState - * @memberof ibc.core.client.v1.MsgCreateClient - * @instance - */ - MsgCreateClient.prototype.consensusState = null; - - /** - * MsgCreateClient signer. - * @member {string} signer - * @memberof ibc.core.client.v1.MsgCreateClient - * @instance - */ - MsgCreateClient.prototype.signer = ""; - - /** - * Creates a new MsgCreateClient instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.MsgCreateClient - * @static - * @param {ibc.core.client.v1.IMsgCreateClient=} [properties] Properties to set - * @returns {ibc.core.client.v1.MsgCreateClient} MsgCreateClient instance - */ - MsgCreateClient.create = function create(properties) { - return new MsgCreateClient(properties); - }; - - /** - * Encodes the specified MsgCreateClient message. Does not implicitly {@link ibc.core.client.v1.MsgCreateClient.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.MsgCreateClient - * @static - * @param {ibc.core.client.v1.IMsgCreateClient} message MsgCreateClient message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgCreateClient.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientState != null && Object.hasOwnProperty.call(message, "clientState")) - $root.google.protobuf.Any.encode(message.clientState, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.consensusState != null && Object.hasOwnProperty.call(message, "consensusState")) - $root.google.protobuf.Any.encode(message.consensusState, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgCreateClient message, length delimited. Does not implicitly {@link ibc.core.client.v1.MsgCreateClient.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.MsgCreateClient - * @static - * @param {ibc.core.client.v1.IMsgCreateClient} message MsgCreateClient message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgCreateClient.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgCreateClient message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.MsgCreateClient - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.MsgCreateClient} MsgCreateClient - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgCreateClient.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.MsgCreateClient(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 2: - message.consensusState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 3: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgCreateClient message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.MsgCreateClient - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.MsgCreateClient} MsgCreateClient - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgCreateClient.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgCreateClient message. - * @function verify - * @memberof ibc.core.client.v1.MsgCreateClient - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgCreateClient.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientState != null && message.hasOwnProperty("clientState")) { - let error = $root.google.protobuf.Any.verify(message.clientState); - if (error) - return "clientState." + error; - } - if (message.consensusState != null && message.hasOwnProperty("consensusState")) { - let error = $root.google.protobuf.Any.verify(message.consensusState); - if (error) - return "consensusState." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgCreateClient message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.MsgCreateClient - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.MsgCreateClient} MsgCreateClient - */ - MsgCreateClient.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.MsgCreateClient) - return object; - let message = new $root.ibc.core.client.v1.MsgCreateClient(); - if (object.clientState != null) { - if (typeof object.clientState !== "object") - throw TypeError(".ibc.core.client.v1.MsgCreateClient.clientState: object expected"); - message.clientState = $root.google.protobuf.Any.fromObject(object.clientState); - } - if (object.consensusState != null) { - if (typeof object.consensusState !== "object") - throw TypeError(".ibc.core.client.v1.MsgCreateClient.consensusState: object expected"); - message.consensusState = $root.google.protobuf.Any.fromObject(object.consensusState); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgCreateClient message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.MsgCreateClient - * @static - * @param {ibc.core.client.v1.MsgCreateClient} message MsgCreateClient - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgCreateClient.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.clientState = null; - object.consensusState = null; - object.signer = ""; - } - if (message.clientState != null && message.hasOwnProperty("clientState")) - object.clientState = $root.google.protobuf.Any.toObject(message.clientState, options); - if (message.consensusState != null && message.hasOwnProperty("consensusState")) - object.consensusState = $root.google.protobuf.Any.toObject(message.consensusState, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgCreateClient to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.MsgCreateClient - * @instance - * @returns {Object.} JSON object - */ - MsgCreateClient.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgCreateClient; - })(v1.MsgCreateClient || {}); - - v1.MsgCreateClientResponse = (function(MsgCreateClientResponse) { - - /** - * Properties of a MsgCreateClientResponse. - * @memberof ibc.core.client.v1 - * @interface IMsgCreateClientResponse - */ - - /** - * Constructs a new MsgCreateClientResponse. - * @memberof ibc.core.client.v1 - * @classdesc Represents a MsgCreateClientResponse. - * @implements IMsgCreateClientResponse - * @constructor - * @param {ibc.core.client.v1.IMsgCreateClientResponse=} [properties] Properties to set - */ - function MsgCreateClientResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgCreateClientResponse instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.MsgCreateClientResponse - * @static - * @param {ibc.core.client.v1.IMsgCreateClientResponse=} [properties] Properties to set - * @returns {ibc.core.client.v1.MsgCreateClientResponse} MsgCreateClientResponse instance - */ - MsgCreateClientResponse.create = function create(properties) { - return new MsgCreateClientResponse(properties); - }; - - /** - * Encodes the specified MsgCreateClientResponse message. Does not implicitly {@link ibc.core.client.v1.MsgCreateClientResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.MsgCreateClientResponse - * @static - * @param {ibc.core.client.v1.IMsgCreateClientResponse} message MsgCreateClientResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgCreateClientResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgCreateClientResponse message, length delimited. Does not implicitly {@link ibc.core.client.v1.MsgCreateClientResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.MsgCreateClientResponse - * @static - * @param {ibc.core.client.v1.IMsgCreateClientResponse} message MsgCreateClientResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgCreateClientResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgCreateClientResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.MsgCreateClientResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.MsgCreateClientResponse} MsgCreateClientResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgCreateClientResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.MsgCreateClientResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgCreateClientResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.MsgCreateClientResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.MsgCreateClientResponse} MsgCreateClientResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgCreateClientResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgCreateClientResponse message. - * @function verify - * @memberof ibc.core.client.v1.MsgCreateClientResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgCreateClientResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgCreateClientResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.MsgCreateClientResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.MsgCreateClientResponse} MsgCreateClientResponse - */ - MsgCreateClientResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.MsgCreateClientResponse) - return object; - return new $root.ibc.core.client.v1.MsgCreateClientResponse(); - }; - - /** - * Creates a plain object from a MsgCreateClientResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.MsgCreateClientResponse - * @static - * @param {ibc.core.client.v1.MsgCreateClientResponse} message MsgCreateClientResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgCreateClientResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgCreateClientResponse to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.MsgCreateClientResponse - * @instance - * @returns {Object.} JSON object - */ - MsgCreateClientResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgCreateClientResponse; - })(v1.MsgCreateClientResponse || {}); - - v1.MsgUpdateClient = (function(MsgUpdateClient) { - - /** - * Properties of a MsgUpdateClient. - * @memberof ibc.core.client.v1 - * @interface IMsgUpdateClient - * @property {string|null} [clientId] MsgUpdateClient clientId - * @property {google.protobuf.IAny|null} [header] MsgUpdateClient header - * @property {string|null} [signer] MsgUpdateClient signer - */ - - /** - * Constructs a new MsgUpdateClient. - * @memberof ibc.core.client.v1 - * @classdesc Represents a MsgUpdateClient. - * @implements IMsgUpdateClient - * @constructor - * @param {ibc.core.client.v1.IMsgUpdateClient=} [properties] Properties to set - */ - function MsgUpdateClient(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgUpdateClient clientId. - * @member {string} clientId - * @memberof ibc.core.client.v1.MsgUpdateClient - * @instance - */ - MsgUpdateClient.prototype.clientId = ""; - - /** - * MsgUpdateClient header. - * @member {google.protobuf.IAny|null|undefined} header - * @memberof ibc.core.client.v1.MsgUpdateClient - * @instance - */ - MsgUpdateClient.prototype.header = null; - - /** - * MsgUpdateClient signer. - * @member {string} signer - * @memberof ibc.core.client.v1.MsgUpdateClient - * @instance - */ - MsgUpdateClient.prototype.signer = ""; - - /** - * Creates a new MsgUpdateClient instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.MsgUpdateClient - * @static - * @param {ibc.core.client.v1.IMsgUpdateClient=} [properties] Properties to set - * @returns {ibc.core.client.v1.MsgUpdateClient} MsgUpdateClient instance - */ - MsgUpdateClient.create = function create(properties) { - return new MsgUpdateClient(properties); - }; - - /** - * Encodes the specified MsgUpdateClient message. Does not implicitly {@link ibc.core.client.v1.MsgUpdateClient.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.MsgUpdateClient - * @static - * @param {ibc.core.client.v1.IMsgUpdateClient} message MsgUpdateClient message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUpdateClient.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.header != null && Object.hasOwnProperty.call(message, "header")) - $root.google.protobuf.Any.encode(message.header, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgUpdateClient message, length delimited. Does not implicitly {@link ibc.core.client.v1.MsgUpdateClient.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.MsgUpdateClient - * @static - * @param {ibc.core.client.v1.IMsgUpdateClient} message MsgUpdateClient message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUpdateClient.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgUpdateClient message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.MsgUpdateClient - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.MsgUpdateClient} MsgUpdateClient - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUpdateClient.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.MsgUpdateClient(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - message.header = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 3: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgUpdateClient message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.MsgUpdateClient - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.MsgUpdateClient} MsgUpdateClient - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUpdateClient.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgUpdateClient message. - * @function verify - * @memberof ibc.core.client.v1.MsgUpdateClient - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgUpdateClient.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.header != null && message.hasOwnProperty("header")) { - let error = $root.google.protobuf.Any.verify(message.header); - if (error) - return "header." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgUpdateClient message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.MsgUpdateClient - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.MsgUpdateClient} MsgUpdateClient - */ - MsgUpdateClient.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.MsgUpdateClient) - return object; - let message = new $root.ibc.core.client.v1.MsgUpdateClient(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.header != null) { - if (typeof object.header !== "object") - throw TypeError(".ibc.core.client.v1.MsgUpdateClient.header: object expected"); - message.header = $root.google.protobuf.Any.fromObject(object.header); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgUpdateClient message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.MsgUpdateClient - * @static - * @param {ibc.core.client.v1.MsgUpdateClient} message MsgUpdateClient - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgUpdateClient.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.clientId = ""; - object.header = null; - object.signer = ""; - } - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.header != null && message.hasOwnProperty("header")) - object.header = $root.google.protobuf.Any.toObject(message.header, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgUpdateClient to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.MsgUpdateClient - * @instance - * @returns {Object.} JSON object - */ - MsgUpdateClient.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgUpdateClient; - })(v1.MsgUpdateClient || {}); - - v1.MsgUpdateClientResponse = (function(MsgUpdateClientResponse) { - - /** - * Properties of a MsgUpdateClientResponse. - * @memberof ibc.core.client.v1 - * @interface IMsgUpdateClientResponse - */ - - /** - * Constructs a new MsgUpdateClientResponse. - * @memberof ibc.core.client.v1 - * @classdesc Represents a MsgUpdateClientResponse. - * @implements IMsgUpdateClientResponse - * @constructor - * @param {ibc.core.client.v1.IMsgUpdateClientResponse=} [properties] Properties to set - */ - function MsgUpdateClientResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgUpdateClientResponse instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.MsgUpdateClientResponse - * @static - * @param {ibc.core.client.v1.IMsgUpdateClientResponse=} [properties] Properties to set - * @returns {ibc.core.client.v1.MsgUpdateClientResponse} MsgUpdateClientResponse instance - */ - MsgUpdateClientResponse.create = function create(properties) { - return new MsgUpdateClientResponse(properties); - }; - - /** - * Encodes the specified MsgUpdateClientResponse message. Does not implicitly {@link ibc.core.client.v1.MsgUpdateClientResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.MsgUpdateClientResponse - * @static - * @param {ibc.core.client.v1.IMsgUpdateClientResponse} message MsgUpdateClientResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUpdateClientResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgUpdateClientResponse message, length delimited. Does not implicitly {@link ibc.core.client.v1.MsgUpdateClientResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.MsgUpdateClientResponse - * @static - * @param {ibc.core.client.v1.IMsgUpdateClientResponse} message MsgUpdateClientResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUpdateClientResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgUpdateClientResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.MsgUpdateClientResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.MsgUpdateClientResponse} MsgUpdateClientResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUpdateClientResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.MsgUpdateClientResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgUpdateClientResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.MsgUpdateClientResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.MsgUpdateClientResponse} MsgUpdateClientResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUpdateClientResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgUpdateClientResponse message. - * @function verify - * @memberof ibc.core.client.v1.MsgUpdateClientResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgUpdateClientResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgUpdateClientResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.MsgUpdateClientResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.MsgUpdateClientResponse} MsgUpdateClientResponse - */ - MsgUpdateClientResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.MsgUpdateClientResponse) - return object; - return new $root.ibc.core.client.v1.MsgUpdateClientResponse(); - }; - - /** - * Creates a plain object from a MsgUpdateClientResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.MsgUpdateClientResponse - * @static - * @param {ibc.core.client.v1.MsgUpdateClientResponse} message MsgUpdateClientResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgUpdateClientResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgUpdateClientResponse to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.MsgUpdateClientResponse - * @instance - * @returns {Object.} JSON object - */ - MsgUpdateClientResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgUpdateClientResponse; - })(v1.MsgUpdateClientResponse || {}); - - v1.MsgUpgradeClient = (function(MsgUpgradeClient) { - - /** - * Properties of a MsgUpgradeClient. - * @memberof ibc.core.client.v1 - * @interface IMsgUpgradeClient - * @property {string|null} [clientId] MsgUpgradeClient clientId - * @property {google.protobuf.IAny|null} [clientState] MsgUpgradeClient clientState - * @property {google.protobuf.IAny|null} [consensusState] MsgUpgradeClient consensusState - * @property {Uint8Array|null} [proofUpgradeClient] MsgUpgradeClient proofUpgradeClient - * @property {Uint8Array|null} [proofUpgradeConsensusState] MsgUpgradeClient proofUpgradeConsensusState - * @property {string|null} [signer] MsgUpgradeClient signer - */ - - /** - * Constructs a new MsgUpgradeClient. - * @memberof ibc.core.client.v1 - * @classdesc Represents a MsgUpgradeClient. - * @implements IMsgUpgradeClient - * @constructor - * @param {ibc.core.client.v1.IMsgUpgradeClient=} [properties] Properties to set - */ - function MsgUpgradeClient(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgUpgradeClient clientId. - * @member {string} clientId - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @instance - */ - MsgUpgradeClient.prototype.clientId = ""; - - /** - * MsgUpgradeClient clientState. - * @member {google.protobuf.IAny|null|undefined} clientState - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @instance - */ - MsgUpgradeClient.prototype.clientState = null; - - /** - * MsgUpgradeClient consensusState. - * @member {google.protobuf.IAny|null|undefined} consensusState - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @instance - */ - MsgUpgradeClient.prototype.consensusState = null; - - /** - * MsgUpgradeClient proofUpgradeClient. - * @member {Uint8Array} proofUpgradeClient - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @instance - */ - MsgUpgradeClient.prototype.proofUpgradeClient = $util.newBuffer([]); - - /** - * MsgUpgradeClient proofUpgradeConsensusState. - * @member {Uint8Array} proofUpgradeConsensusState - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @instance - */ - MsgUpgradeClient.prototype.proofUpgradeConsensusState = $util.newBuffer([]); - - /** - * MsgUpgradeClient signer. - * @member {string} signer - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @instance - */ - MsgUpgradeClient.prototype.signer = ""; - - /** - * Creates a new MsgUpgradeClient instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @static - * @param {ibc.core.client.v1.IMsgUpgradeClient=} [properties] Properties to set - * @returns {ibc.core.client.v1.MsgUpgradeClient} MsgUpgradeClient instance - */ - MsgUpgradeClient.create = function create(properties) { - return new MsgUpgradeClient(properties); - }; - - /** - * Encodes the specified MsgUpgradeClient message. Does not implicitly {@link ibc.core.client.v1.MsgUpgradeClient.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @static - * @param {ibc.core.client.v1.IMsgUpgradeClient} message MsgUpgradeClient message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUpgradeClient.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.clientState != null && Object.hasOwnProperty.call(message, "clientState")) - $root.google.protobuf.Any.encode(message.clientState, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.consensusState != null && Object.hasOwnProperty.call(message, "consensusState")) - $root.google.protobuf.Any.encode(message.consensusState, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.proofUpgradeClient != null && Object.hasOwnProperty.call(message, "proofUpgradeClient")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.proofUpgradeClient); - if (message.proofUpgradeConsensusState != null && Object.hasOwnProperty.call(message, "proofUpgradeConsensusState")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.proofUpgradeConsensusState); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 6, wireType 2 =*/50).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgUpgradeClient message, length delimited. Does not implicitly {@link ibc.core.client.v1.MsgUpgradeClient.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @static - * @param {ibc.core.client.v1.IMsgUpgradeClient} message MsgUpgradeClient message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUpgradeClient.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgUpgradeClient message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.MsgUpgradeClient} MsgUpgradeClient - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUpgradeClient.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.MsgUpgradeClient(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - message.clientState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 3: - message.consensusState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 4: - message.proofUpgradeClient = reader.bytes(); - break; - case 5: - message.proofUpgradeConsensusState = reader.bytes(); - break; - case 6: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgUpgradeClient message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.MsgUpgradeClient} MsgUpgradeClient - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUpgradeClient.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgUpgradeClient message. - * @function verify - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgUpgradeClient.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.clientState != null && message.hasOwnProperty("clientState")) { - let error = $root.google.protobuf.Any.verify(message.clientState); - if (error) - return "clientState." + error; - } - if (message.consensusState != null && message.hasOwnProperty("consensusState")) { - let error = $root.google.protobuf.Any.verify(message.consensusState); - if (error) - return "consensusState." + error; - } - if (message.proofUpgradeClient != null && message.hasOwnProperty("proofUpgradeClient")) - if (!(message.proofUpgradeClient && typeof message.proofUpgradeClient.length === "number" || $util.isString(message.proofUpgradeClient))) - return "proofUpgradeClient: buffer expected"; - if (message.proofUpgradeConsensusState != null && message.hasOwnProperty("proofUpgradeConsensusState")) - if (!(message.proofUpgradeConsensusState && typeof message.proofUpgradeConsensusState.length === "number" || $util.isString(message.proofUpgradeConsensusState))) - return "proofUpgradeConsensusState: buffer expected"; - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgUpgradeClient message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.MsgUpgradeClient} MsgUpgradeClient - */ - MsgUpgradeClient.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.MsgUpgradeClient) - return object; - let message = new $root.ibc.core.client.v1.MsgUpgradeClient(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.clientState != null) { - if (typeof object.clientState !== "object") - throw TypeError(".ibc.core.client.v1.MsgUpgradeClient.clientState: object expected"); - message.clientState = $root.google.protobuf.Any.fromObject(object.clientState); - } - if (object.consensusState != null) { - if (typeof object.consensusState !== "object") - throw TypeError(".ibc.core.client.v1.MsgUpgradeClient.consensusState: object expected"); - message.consensusState = $root.google.protobuf.Any.fromObject(object.consensusState); - } - if (object.proofUpgradeClient != null) - if (typeof object.proofUpgradeClient === "string") - $util.base64.decode(object.proofUpgradeClient, message.proofUpgradeClient = $util.newBuffer($util.base64.length(object.proofUpgradeClient)), 0); - else if (object.proofUpgradeClient.length) - message.proofUpgradeClient = object.proofUpgradeClient; - if (object.proofUpgradeConsensusState != null) - if (typeof object.proofUpgradeConsensusState === "string") - $util.base64.decode(object.proofUpgradeConsensusState, message.proofUpgradeConsensusState = $util.newBuffer($util.base64.length(object.proofUpgradeConsensusState)), 0); - else if (object.proofUpgradeConsensusState.length) - message.proofUpgradeConsensusState = object.proofUpgradeConsensusState; - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgUpgradeClient message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @static - * @param {ibc.core.client.v1.MsgUpgradeClient} message MsgUpgradeClient - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgUpgradeClient.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.clientId = ""; - object.clientState = null; - object.consensusState = null; - if (options.bytes === String) - object.proofUpgradeClient = ""; - else { - object.proofUpgradeClient = []; - if (options.bytes !== Array) - object.proofUpgradeClient = $util.newBuffer(object.proofUpgradeClient); - } - if (options.bytes === String) - object.proofUpgradeConsensusState = ""; - else { - object.proofUpgradeConsensusState = []; - if (options.bytes !== Array) - object.proofUpgradeConsensusState = $util.newBuffer(object.proofUpgradeConsensusState); - } - object.signer = ""; - } - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.clientState != null && message.hasOwnProperty("clientState")) - object.clientState = $root.google.protobuf.Any.toObject(message.clientState, options); - if (message.consensusState != null && message.hasOwnProperty("consensusState")) - object.consensusState = $root.google.protobuf.Any.toObject(message.consensusState, options); - if (message.proofUpgradeClient != null && message.hasOwnProperty("proofUpgradeClient")) - object.proofUpgradeClient = options.bytes === String ? $util.base64.encode(message.proofUpgradeClient, 0, message.proofUpgradeClient.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofUpgradeClient) : message.proofUpgradeClient; - if (message.proofUpgradeConsensusState != null && message.hasOwnProperty("proofUpgradeConsensusState")) - object.proofUpgradeConsensusState = options.bytes === String ? $util.base64.encode(message.proofUpgradeConsensusState, 0, message.proofUpgradeConsensusState.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofUpgradeConsensusState) : message.proofUpgradeConsensusState; - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgUpgradeClient to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.MsgUpgradeClient - * @instance - * @returns {Object.} JSON object - */ - MsgUpgradeClient.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgUpgradeClient; - })(v1.MsgUpgradeClient || {}); - - v1.MsgUpgradeClientResponse = (function(MsgUpgradeClientResponse) { - - /** - * Properties of a MsgUpgradeClientResponse. - * @memberof ibc.core.client.v1 - * @interface IMsgUpgradeClientResponse - */ - - /** - * Constructs a new MsgUpgradeClientResponse. - * @memberof ibc.core.client.v1 - * @classdesc Represents a MsgUpgradeClientResponse. - * @implements IMsgUpgradeClientResponse - * @constructor - * @param {ibc.core.client.v1.IMsgUpgradeClientResponse=} [properties] Properties to set - */ - function MsgUpgradeClientResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgUpgradeClientResponse instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.MsgUpgradeClientResponse - * @static - * @param {ibc.core.client.v1.IMsgUpgradeClientResponse=} [properties] Properties to set - * @returns {ibc.core.client.v1.MsgUpgradeClientResponse} MsgUpgradeClientResponse instance - */ - MsgUpgradeClientResponse.create = function create(properties) { - return new MsgUpgradeClientResponse(properties); - }; - - /** - * Encodes the specified MsgUpgradeClientResponse message. Does not implicitly {@link ibc.core.client.v1.MsgUpgradeClientResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.MsgUpgradeClientResponse - * @static - * @param {ibc.core.client.v1.IMsgUpgradeClientResponse} message MsgUpgradeClientResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUpgradeClientResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgUpgradeClientResponse message, length delimited. Does not implicitly {@link ibc.core.client.v1.MsgUpgradeClientResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.MsgUpgradeClientResponse - * @static - * @param {ibc.core.client.v1.IMsgUpgradeClientResponse} message MsgUpgradeClientResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgUpgradeClientResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgUpgradeClientResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.MsgUpgradeClientResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.MsgUpgradeClientResponse} MsgUpgradeClientResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUpgradeClientResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.MsgUpgradeClientResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgUpgradeClientResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.MsgUpgradeClientResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.MsgUpgradeClientResponse} MsgUpgradeClientResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgUpgradeClientResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgUpgradeClientResponse message. - * @function verify - * @memberof ibc.core.client.v1.MsgUpgradeClientResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgUpgradeClientResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgUpgradeClientResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.MsgUpgradeClientResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.MsgUpgradeClientResponse} MsgUpgradeClientResponse - */ - MsgUpgradeClientResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.MsgUpgradeClientResponse) - return object; - return new $root.ibc.core.client.v1.MsgUpgradeClientResponse(); - }; - - /** - * Creates a plain object from a MsgUpgradeClientResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.MsgUpgradeClientResponse - * @static - * @param {ibc.core.client.v1.MsgUpgradeClientResponse} message MsgUpgradeClientResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgUpgradeClientResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgUpgradeClientResponse to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.MsgUpgradeClientResponse - * @instance - * @returns {Object.} JSON object - */ - MsgUpgradeClientResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgUpgradeClientResponse; - })(v1.MsgUpgradeClientResponse || {}); - - v1.MsgSubmitMisbehaviour = (function(MsgSubmitMisbehaviour) { - - /** - * Properties of a MsgSubmitMisbehaviour. - * @memberof ibc.core.client.v1 - * @interface IMsgSubmitMisbehaviour - * @property {string|null} [clientId] MsgSubmitMisbehaviour clientId - * @property {google.protobuf.IAny|null} [misbehaviour] MsgSubmitMisbehaviour misbehaviour - * @property {string|null} [signer] MsgSubmitMisbehaviour signer - */ - - /** - * Constructs a new MsgSubmitMisbehaviour. - * @memberof ibc.core.client.v1 - * @classdesc Represents a MsgSubmitMisbehaviour. - * @implements IMsgSubmitMisbehaviour - * @constructor - * @param {ibc.core.client.v1.IMsgSubmitMisbehaviour=} [properties] Properties to set - */ - function MsgSubmitMisbehaviour(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgSubmitMisbehaviour clientId. - * @member {string} clientId - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviour - * @instance - */ - MsgSubmitMisbehaviour.prototype.clientId = ""; - - /** - * MsgSubmitMisbehaviour misbehaviour. - * @member {google.protobuf.IAny|null|undefined} misbehaviour - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviour - * @instance - */ - MsgSubmitMisbehaviour.prototype.misbehaviour = null; - - /** - * MsgSubmitMisbehaviour signer. - * @member {string} signer - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviour - * @instance - */ - MsgSubmitMisbehaviour.prototype.signer = ""; - - /** - * Creates a new MsgSubmitMisbehaviour instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviour - * @static - * @param {ibc.core.client.v1.IMsgSubmitMisbehaviour=} [properties] Properties to set - * @returns {ibc.core.client.v1.MsgSubmitMisbehaviour} MsgSubmitMisbehaviour instance - */ - MsgSubmitMisbehaviour.create = function create(properties) { - return new MsgSubmitMisbehaviour(properties); - }; - - /** - * Encodes the specified MsgSubmitMisbehaviour message. Does not implicitly {@link ibc.core.client.v1.MsgSubmitMisbehaviour.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviour - * @static - * @param {ibc.core.client.v1.IMsgSubmitMisbehaviour} message MsgSubmitMisbehaviour message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSubmitMisbehaviour.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.misbehaviour != null && Object.hasOwnProperty.call(message, "misbehaviour")) - $root.google.protobuf.Any.encode(message.misbehaviour, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgSubmitMisbehaviour message, length delimited. Does not implicitly {@link ibc.core.client.v1.MsgSubmitMisbehaviour.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviour - * @static - * @param {ibc.core.client.v1.IMsgSubmitMisbehaviour} message MsgSubmitMisbehaviour message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSubmitMisbehaviour.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgSubmitMisbehaviour message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviour - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.MsgSubmitMisbehaviour} MsgSubmitMisbehaviour - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSubmitMisbehaviour.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.MsgSubmitMisbehaviour(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - message.misbehaviour = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 3: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgSubmitMisbehaviour message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviour - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.MsgSubmitMisbehaviour} MsgSubmitMisbehaviour - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSubmitMisbehaviour.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgSubmitMisbehaviour message. - * @function verify - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviour - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgSubmitMisbehaviour.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.misbehaviour != null && message.hasOwnProperty("misbehaviour")) { - let error = $root.google.protobuf.Any.verify(message.misbehaviour); - if (error) - return "misbehaviour." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgSubmitMisbehaviour message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviour - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.MsgSubmitMisbehaviour} MsgSubmitMisbehaviour - */ - MsgSubmitMisbehaviour.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.MsgSubmitMisbehaviour) - return object; - let message = new $root.ibc.core.client.v1.MsgSubmitMisbehaviour(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.misbehaviour != null) { - if (typeof object.misbehaviour !== "object") - throw TypeError(".ibc.core.client.v1.MsgSubmitMisbehaviour.misbehaviour: object expected"); - message.misbehaviour = $root.google.protobuf.Any.fromObject(object.misbehaviour); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgSubmitMisbehaviour message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviour - * @static - * @param {ibc.core.client.v1.MsgSubmitMisbehaviour} message MsgSubmitMisbehaviour - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgSubmitMisbehaviour.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.clientId = ""; - object.misbehaviour = null; - object.signer = ""; - } - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.misbehaviour != null && message.hasOwnProperty("misbehaviour")) - object.misbehaviour = $root.google.protobuf.Any.toObject(message.misbehaviour, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgSubmitMisbehaviour to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviour - * @instance - * @returns {Object.} JSON object - */ - MsgSubmitMisbehaviour.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgSubmitMisbehaviour; - })(v1.MsgSubmitMisbehaviour || {}); - - v1.MsgSubmitMisbehaviourResponse = (function(MsgSubmitMisbehaviourResponse) { - - /** - * Properties of a MsgSubmitMisbehaviourResponse. - * @memberof ibc.core.client.v1 - * @interface IMsgSubmitMisbehaviourResponse - */ - - /** - * Constructs a new MsgSubmitMisbehaviourResponse. - * @memberof ibc.core.client.v1 - * @classdesc Represents a MsgSubmitMisbehaviourResponse. - * @implements IMsgSubmitMisbehaviourResponse - * @constructor - * @param {ibc.core.client.v1.IMsgSubmitMisbehaviourResponse=} [properties] Properties to set - */ - function MsgSubmitMisbehaviourResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgSubmitMisbehaviourResponse instance using the specified properties. - * @function create - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviourResponse - * @static - * @param {ibc.core.client.v1.IMsgSubmitMisbehaviourResponse=} [properties] Properties to set - * @returns {ibc.core.client.v1.MsgSubmitMisbehaviourResponse} MsgSubmitMisbehaviourResponse instance - */ - MsgSubmitMisbehaviourResponse.create = function create(properties) { - return new MsgSubmitMisbehaviourResponse(properties); - }; - - /** - * Encodes the specified MsgSubmitMisbehaviourResponse message. Does not implicitly {@link ibc.core.client.v1.MsgSubmitMisbehaviourResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviourResponse - * @static - * @param {ibc.core.client.v1.IMsgSubmitMisbehaviourResponse} message MsgSubmitMisbehaviourResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSubmitMisbehaviourResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgSubmitMisbehaviourResponse message, length delimited. Does not implicitly {@link ibc.core.client.v1.MsgSubmitMisbehaviourResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviourResponse - * @static - * @param {ibc.core.client.v1.IMsgSubmitMisbehaviourResponse} message MsgSubmitMisbehaviourResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgSubmitMisbehaviourResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgSubmitMisbehaviourResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviourResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.client.v1.MsgSubmitMisbehaviourResponse} MsgSubmitMisbehaviourResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSubmitMisbehaviourResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.client.v1.MsgSubmitMisbehaviourResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgSubmitMisbehaviourResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviourResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.client.v1.MsgSubmitMisbehaviourResponse} MsgSubmitMisbehaviourResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgSubmitMisbehaviourResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgSubmitMisbehaviourResponse message. - * @function verify - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviourResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgSubmitMisbehaviourResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgSubmitMisbehaviourResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviourResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.client.v1.MsgSubmitMisbehaviourResponse} MsgSubmitMisbehaviourResponse - */ - MsgSubmitMisbehaviourResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.client.v1.MsgSubmitMisbehaviourResponse) - return object; - return new $root.ibc.core.client.v1.MsgSubmitMisbehaviourResponse(); - }; - - /** - * Creates a plain object from a MsgSubmitMisbehaviourResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviourResponse - * @static - * @param {ibc.core.client.v1.MsgSubmitMisbehaviourResponse} message MsgSubmitMisbehaviourResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgSubmitMisbehaviourResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgSubmitMisbehaviourResponse to JSON. - * @function toJSON - * @memberof ibc.core.client.v1.MsgSubmitMisbehaviourResponse - * @instance - * @returns {Object.} JSON object - */ - MsgSubmitMisbehaviourResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgSubmitMisbehaviourResponse; - })(v1.MsgSubmitMisbehaviourResponse || {}); - - return v1; - })(client.v1 || {}); - - return client; - })(core.client || {}); - - /** - * Namespace commitment. - * @memberof ibc.core - * @namespace - */ - - core.commitment = (function(commitment) { - - /** - * Namespace v1. - * @memberof ibc.core.commitment - * @namespace - */ - - commitment.v1 = (function(v1) { - - v1.MerkleRoot = (function(MerkleRoot) { - - /** - * Properties of a MerkleRoot. - * @memberof ibc.core.commitment.v1 - * @interface IMerkleRoot - * @property {Uint8Array|null} [hash] MerkleRoot hash - */ - - /** - * Constructs a new MerkleRoot. - * @memberof ibc.core.commitment.v1 - * @classdesc Represents a MerkleRoot. - * @implements IMerkleRoot - * @constructor - * @param {ibc.core.commitment.v1.IMerkleRoot=} [properties] Properties to set - */ - function MerkleRoot(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MerkleRoot hash. - * @member {Uint8Array} hash - * @memberof ibc.core.commitment.v1.MerkleRoot - * @instance - */ - MerkleRoot.prototype.hash = $util.newBuffer([]); - - /** - * Creates a new MerkleRoot instance using the specified properties. - * @function create - * @memberof ibc.core.commitment.v1.MerkleRoot - * @static - * @param {ibc.core.commitment.v1.IMerkleRoot=} [properties] Properties to set - * @returns {ibc.core.commitment.v1.MerkleRoot} MerkleRoot instance - */ - MerkleRoot.create = function create(properties) { - return new MerkleRoot(properties); - }; - - /** - * Encodes the specified MerkleRoot message. Does not implicitly {@link ibc.core.commitment.v1.MerkleRoot.verify|verify} messages. - * @function encode - * @memberof ibc.core.commitment.v1.MerkleRoot - * @static - * @param {ibc.core.commitment.v1.IMerkleRoot} message MerkleRoot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MerkleRoot.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.hash); - return writer; - }; - - /** - * Encodes the specified MerkleRoot message, length delimited. Does not implicitly {@link ibc.core.commitment.v1.MerkleRoot.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.commitment.v1.MerkleRoot - * @static - * @param {ibc.core.commitment.v1.IMerkleRoot} message MerkleRoot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MerkleRoot.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MerkleRoot message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.commitment.v1.MerkleRoot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.commitment.v1.MerkleRoot} MerkleRoot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MerkleRoot.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.commitment.v1.MerkleRoot(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.hash = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MerkleRoot message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.commitment.v1.MerkleRoot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.commitment.v1.MerkleRoot} MerkleRoot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MerkleRoot.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MerkleRoot message. - * @function verify - * @memberof ibc.core.commitment.v1.MerkleRoot - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MerkleRoot.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) - return "hash: buffer expected"; - return null; - }; - - /** - * Creates a MerkleRoot message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.commitment.v1.MerkleRoot - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.commitment.v1.MerkleRoot} MerkleRoot - */ - MerkleRoot.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.commitment.v1.MerkleRoot) - return object; - let message = new $root.ibc.core.commitment.v1.MerkleRoot(); - if (object.hash != null) - if (typeof object.hash === "string") - $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); - else if (object.hash.length) - message.hash = object.hash; - return message; - }; - - /** - * Creates a plain object from a MerkleRoot message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.commitment.v1.MerkleRoot - * @static - * @param {ibc.core.commitment.v1.MerkleRoot} message MerkleRoot - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MerkleRoot.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if (options.bytes === String) - object.hash = ""; - else { - object.hash = []; - if (options.bytes !== Array) - object.hash = $util.newBuffer(object.hash); - } - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; - return object; - }; - - /** - * Converts this MerkleRoot to JSON. - * @function toJSON - * @memberof ibc.core.commitment.v1.MerkleRoot - * @instance - * @returns {Object.} JSON object - */ - MerkleRoot.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MerkleRoot; - })(v1.MerkleRoot || {}); - - v1.MerklePrefix = (function(MerklePrefix) { - - /** - * Properties of a MerklePrefix. - * @memberof ibc.core.commitment.v1 - * @interface IMerklePrefix - * @property {Uint8Array|null} [keyPrefix] MerklePrefix keyPrefix - */ - - /** - * Constructs a new MerklePrefix. - * @memberof ibc.core.commitment.v1 - * @classdesc Represents a MerklePrefix. - * @implements IMerklePrefix - * @constructor - * @param {ibc.core.commitment.v1.IMerklePrefix=} [properties] Properties to set - */ - function MerklePrefix(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MerklePrefix keyPrefix. - * @member {Uint8Array} keyPrefix - * @memberof ibc.core.commitment.v1.MerklePrefix - * @instance - */ - MerklePrefix.prototype.keyPrefix = $util.newBuffer([]); - - /** - * Creates a new MerklePrefix instance using the specified properties. - * @function create - * @memberof ibc.core.commitment.v1.MerklePrefix - * @static - * @param {ibc.core.commitment.v1.IMerklePrefix=} [properties] Properties to set - * @returns {ibc.core.commitment.v1.MerklePrefix} MerklePrefix instance - */ - MerklePrefix.create = function create(properties) { - return new MerklePrefix(properties); - }; - - /** - * Encodes the specified MerklePrefix message. Does not implicitly {@link ibc.core.commitment.v1.MerklePrefix.verify|verify} messages. - * @function encode - * @memberof ibc.core.commitment.v1.MerklePrefix - * @static - * @param {ibc.core.commitment.v1.IMerklePrefix} message MerklePrefix message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MerklePrefix.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.keyPrefix != null && Object.hasOwnProperty.call(message, "keyPrefix")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.keyPrefix); - return writer; - }; - - /** - * Encodes the specified MerklePrefix message, length delimited. Does not implicitly {@link ibc.core.commitment.v1.MerklePrefix.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.commitment.v1.MerklePrefix - * @static - * @param {ibc.core.commitment.v1.IMerklePrefix} message MerklePrefix message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MerklePrefix.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MerklePrefix message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.commitment.v1.MerklePrefix - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.commitment.v1.MerklePrefix} MerklePrefix - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MerklePrefix.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.commitment.v1.MerklePrefix(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.keyPrefix = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MerklePrefix message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.commitment.v1.MerklePrefix - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.commitment.v1.MerklePrefix} MerklePrefix - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MerklePrefix.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MerklePrefix message. - * @function verify - * @memberof ibc.core.commitment.v1.MerklePrefix - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MerklePrefix.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.keyPrefix != null && message.hasOwnProperty("keyPrefix")) - if (!(message.keyPrefix && typeof message.keyPrefix.length === "number" || $util.isString(message.keyPrefix))) - return "keyPrefix: buffer expected"; - return null; - }; - - /** - * Creates a MerklePrefix message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.commitment.v1.MerklePrefix - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.commitment.v1.MerklePrefix} MerklePrefix - */ - MerklePrefix.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.commitment.v1.MerklePrefix) - return object; - let message = new $root.ibc.core.commitment.v1.MerklePrefix(); - if (object.keyPrefix != null) - if (typeof object.keyPrefix === "string") - $util.base64.decode(object.keyPrefix, message.keyPrefix = $util.newBuffer($util.base64.length(object.keyPrefix)), 0); - else if (object.keyPrefix.length) - message.keyPrefix = object.keyPrefix; - return message; - }; - - /** - * Creates a plain object from a MerklePrefix message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.commitment.v1.MerklePrefix - * @static - * @param {ibc.core.commitment.v1.MerklePrefix} message MerklePrefix - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MerklePrefix.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if (options.bytes === String) - object.keyPrefix = ""; - else { - object.keyPrefix = []; - if (options.bytes !== Array) - object.keyPrefix = $util.newBuffer(object.keyPrefix); - } - if (message.keyPrefix != null && message.hasOwnProperty("keyPrefix")) - object.keyPrefix = options.bytes === String ? $util.base64.encode(message.keyPrefix, 0, message.keyPrefix.length) : options.bytes === Array ? Array.prototype.slice.call(message.keyPrefix) : message.keyPrefix; - return object; - }; - - /** - * Converts this MerklePrefix to JSON. - * @function toJSON - * @memberof ibc.core.commitment.v1.MerklePrefix - * @instance - * @returns {Object.} JSON object - */ - MerklePrefix.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MerklePrefix; - })(v1.MerklePrefix || {}); - - v1.MerklePath = (function(MerklePath) { - - /** - * Properties of a MerklePath. - * @memberof ibc.core.commitment.v1 - * @interface IMerklePath - * @property {Array.|null} [keyPath] MerklePath keyPath - */ - - /** - * Constructs a new MerklePath. - * @memberof ibc.core.commitment.v1 - * @classdesc Represents a MerklePath. - * @implements IMerklePath - * @constructor - * @param {ibc.core.commitment.v1.IMerklePath=} [properties] Properties to set - */ - function MerklePath(properties) { - this.keyPath = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MerklePath keyPath. - * @member {Array.} keyPath - * @memberof ibc.core.commitment.v1.MerklePath - * @instance - */ - MerklePath.prototype.keyPath = $util.emptyArray; - - /** - * Creates a new MerklePath instance using the specified properties. - * @function create - * @memberof ibc.core.commitment.v1.MerklePath - * @static - * @param {ibc.core.commitment.v1.IMerklePath=} [properties] Properties to set - * @returns {ibc.core.commitment.v1.MerklePath} MerklePath instance - */ - MerklePath.create = function create(properties) { - return new MerklePath(properties); - }; - - /** - * Encodes the specified MerklePath message. Does not implicitly {@link ibc.core.commitment.v1.MerklePath.verify|verify} messages. - * @function encode - * @memberof ibc.core.commitment.v1.MerklePath - * @static - * @param {ibc.core.commitment.v1.IMerklePath} message MerklePath message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MerklePath.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.keyPath != null && message.keyPath.length) - for (let i = 0; i < message.keyPath.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.keyPath[i]); - return writer; - }; - - /** - * Encodes the specified MerklePath message, length delimited. Does not implicitly {@link ibc.core.commitment.v1.MerklePath.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.commitment.v1.MerklePath - * @static - * @param {ibc.core.commitment.v1.IMerklePath} message MerklePath message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MerklePath.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MerklePath message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.commitment.v1.MerklePath - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.commitment.v1.MerklePath} MerklePath - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MerklePath.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.commitment.v1.MerklePath(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.keyPath && message.keyPath.length)) - message.keyPath = []; - message.keyPath.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MerklePath message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.commitment.v1.MerklePath - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.commitment.v1.MerklePath} MerklePath - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MerklePath.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MerklePath message. - * @function verify - * @memberof ibc.core.commitment.v1.MerklePath - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MerklePath.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.keyPath != null && message.hasOwnProperty("keyPath")) { - if (!Array.isArray(message.keyPath)) - return "keyPath: array expected"; - for (let i = 0; i < message.keyPath.length; ++i) - if (!$util.isString(message.keyPath[i])) - return "keyPath: string[] expected"; - } - return null; - }; - - /** - * Creates a MerklePath message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.commitment.v1.MerklePath - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.commitment.v1.MerklePath} MerklePath - */ - MerklePath.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.commitment.v1.MerklePath) - return object; - let message = new $root.ibc.core.commitment.v1.MerklePath(); - if (object.keyPath) { - if (!Array.isArray(object.keyPath)) - throw TypeError(".ibc.core.commitment.v1.MerklePath.keyPath: array expected"); - message.keyPath = []; - for (let i = 0; i < object.keyPath.length; ++i) - message.keyPath[i] = String(object.keyPath[i]); - } - return message; - }; - - /** - * Creates a plain object from a MerklePath message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.commitment.v1.MerklePath - * @static - * @param {ibc.core.commitment.v1.MerklePath} message MerklePath - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MerklePath.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.keyPath = []; - if (message.keyPath && message.keyPath.length) { - object.keyPath = []; - for (let j = 0; j < message.keyPath.length; ++j) - object.keyPath[j] = message.keyPath[j]; - } - return object; - }; - - /** - * Converts this MerklePath to JSON. - * @function toJSON - * @memberof ibc.core.commitment.v1.MerklePath - * @instance - * @returns {Object.} JSON object - */ - MerklePath.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MerklePath; - })(v1.MerklePath || {}); - - v1.MerkleProof = (function(MerkleProof) { - - /** - * Properties of a MerkleProof. - * @memberof ibc.core.commitment.v1 - * @interface IMerkleProof - * @property {Array.|null} [proofs] MerkleProof proofs - */ - - /** - * Constructs a new MerkleProof. - * @memberof ibc.core.commitment.v1 - * @classdesc Represents a MerkleProof. - * @implements IMerkleProof - * @constructor - * @param {ibc.core.commitment.v1.IMerkleProof=} [properties] Properties to set - */ - function MerkleProof(properties) { - this.proofs = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MerkleProof proofs. - * @member {Array.} proofs - * @memberof ibc.core.commitment.v1.MerkleProof - * @instance - */ - MerkleProof.prototype.proofs = $util.emptyArray; - - /** - * Creates a new MerkleProof instance using the specified properties. - * @function create - * @memberof ibc.core.commitment.v1.MerkleProof - * @static - * @param {ibc.core.commitment.v1.IMerkleProof=} [properties] Properties to set - * @returns {ibc.core.commitment.v1.MerkleProof} MerkleProof instance - */ - MerkleProof.create = function create(properties) { - return new MerkleProof(properties); - }; - - /** - * Encodes the specified MerkleProof message. Does not implicitly {@link ibc.core.commitment.v1.MerkleProof.verify|verify} messages. - * @function encode - * @memberof ibc.core.commitment.v1.MerkleProof - * @static - * @param {ibc.core.commitment.v1.IMerkleProof} message MerkleProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MerkleProof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.proofs != null && message.proofs.length) - for (let i = 0; i < message.proofs.length; ++i) - $root.ics23.CommitmentProof.encode(message.proofs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified MerkleProof message, length delimited. Does not implicitly {@link ibc.core.commitment.v1.MerkleProof.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.commitment.v1.MerkleProof - * @static - * @param {ibc.core.commitment.v1.IMerkleProof} message MerkleProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MerkleProof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MerkleProof message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.commitment.v1.MerkleProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.commitment.v1.MerkleProof} MerkleProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MerkleProof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.commitment.v1.MerkleProof(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.proofs && message.proofs.length)) - message.proofs = []; - message.proofs.push($root.ics23.CommitmentProof.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MerkleProof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.commitment.v1.MerkleProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.commitment.v1.MerkleProof} MerkleProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MerkleProof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MerkleProof message. - * @function verify - * @memberof ibc.core.commitment.v1.MerkleProof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MerkleProof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.proofs != null && message.hasOwnProperty("proofs")) { - if (!Array.isArray(message.proofs)) - return "proofs: array expected"; - for (let i = 0; i < message.proofs.length; ++i) { - let error = $root.ics23.CommitmentProof.verify(message.proofs[i]); - if (error) - return "proofs." + error; - } - } - return null; - }; - - /** - * Creates a MerkleProof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.commitment.v1.MerkleProof - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.commitment.v1.MerkleProof} MerkleProof - */ - MerkleProof.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.commitment.v1.MerkleProof) - return object; - let message = new $root.ibc.core.commitment.v1.MerkleProof(); - if (object.proofs) { - if (!Array.isArray(object.proofs)) - throw TypeError(".ibc.core.commitment.v1.MerkleProof.proofs: array expected"); - message.proofs = []; - for (let i = 0; i < object.proofs.length; ++i) { - if (typeof object.proofs[i] !== "object") - throw TypeError(".ibc.core.commitment.v1.MerkleProof.proofs: object expected"); - message.proofs[i] = $root.ics23.CommitmentProof.fromObject(object.proofs[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a MerkleProof message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.commitment.v1.MerkleProof - * @static - * @param {ibc.core.commitment.v1.MerkleProof} message MerkleProof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MerkleProof.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.proofs = []; - if (message.proofs && message.proofs.length) { - object.proofs = []; - for (let j = 0; j < message.proofs.length; ++j) - object.proofs[j] = $root.ics23.CommitmentProof.toObject(message.proofs[j], options); - } - return object; - }; - - /** - * Converts this MerkleProof to JSON. - * @function toJSON - * @memberof ibc.core.commitment.v1.MerkleProof - * @instance - * @returns {Object.} JSON object - */ - MerkleProof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MerkleProof; - })(v1.MerkleProof || {}); - - return v1; - })(commitment.v1 || {}); - - return commitment; - })(core.commitment || {}); - - /** - * Namespace connection. - * @memberof ibc.core - * @namespace - */ - - core.connection = (function(connection) { - - /** - * Namespace v1. - * @memberof ibc.core.connection - * @namespace - */ - - connection.v1 = (function(v1) { - - v1.ConnectionEnd = (function(ConnectionEnd) { - - /** - * Properties of a ConnectionEnd. - * @memberof ibc.core.connection.v1 - * @interface IConnectionEnd - * @property {string|null} [clientId] ConnectionEnd clientId - * @property {Array.|null} [versions] ConnectionEnd versions - * @property {ibc.core.connection.v1.State|null} [state] ConnectionEnd state - * @property {ibc.core.connection.v1.ICounterparty|null} [counterparty] ConnectionEnd counterparty - * @property {number|Long|null} [delayPeriod] ConnectionEnd delayPeriod - */ - - /** - * Constructs a new ConnectionEnd. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a ConnectionEnd. - * @implements IConnectionEnd - * @constructor - * @param {ibc.core.connection.v1.IConnectionEnd=} [properties] Properties to set - */ - function ConnectionEnd(properties) { - this.versions = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ConnectionEnd clientId. - * @member {string} clientId - * @memberof ibc.core.connection.v1.ConnectionEnd - * @instance - */ - ConnectionEnd.prototype.clientId = ""; - - /** - * ConnectionEnd versions. - * @member {Array.} versions - * @memberof ibc.core.connection.v1.ConnectionEnd - * @instance - */ - ConnectionEnd.prototype.versions = $util.emptyArray; - - /** - * ConnectionEnd state. - * @member {ibc.core.connection.v1.State} state - * @memberof ibc.core.connection.v1.ConnectionEnd - * @instance - */ - ConnectionEnd.prototype.state = 0; - - /** - * ConnectionEnd counterparty. - * @member {ibc.core.connection.v1.ICounterparty|null|undefined} counterparty - * @memberof ibc.core.connection.v1.ConnectionEnd - * @instance - */ - ConnectionEnd.prototype.counterparty = null; - - /** - * ConnectionEnd delayPeriod. - * @member {number|Long} delayPeriod - * @memberof ibc.core.connection.v1.ConnectionEnd - * @instance - */ - ConnectionEnd.prototype.delayPeriod = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new ConnectionEnd instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.ConnectionEnd - * @static - * @param {ibc.core.connection.v1.IConnectionEnd=} [properties] Properties to set - * @returns {ibc.core.connection.v1.ConnectionEnd} ConnectionEnd instance - */ - ConnectionEnd.create = function create(properties) { - return new ConnectionEnd(properties); - }; - - /** - * Encodes the specified ConnectionEnd message. Does not implicitly {@link ibc.core.connection.v1.ConnectionEnd.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.ConnectionEnd - * @static - * @param {ibc.core.connection.v1.IConnectionEnd} message ConnectionEnd message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConnectionEnd.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.versions != null && message.versions.length) - for (let i = 0; i < message.versions.length; ++i) - $root.ibc.core.connection.v1.Version.encode(message.versions[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.state != null && Object.hasOwnProperty.call(message, "state")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.state); - if (message.counterparty != null && Object.hasOwnProperty.call(message, "counterparty")) - $root.ibc.core.connection.v1.Counterparty.encode(message.counterparty, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.delayPeriod != null && Object.hasOwnProperty.call(message, "delayPeriod")) - writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.delayPeriod); - return writer; - }; - - /** - * Encodes the specified ConnectionEnd message, length delimited. Does not implicitly {@link ibc.core.connection.v1.ConnectionEnd.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.ConnectionEnd - * @static - * @param {ibc.core.connection.v1.IConnectionEnd} message ConnectionEnd message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConnectionEnd.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ConnectionEnd message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.ConnectionEnd - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.ConnectionEnd} ConnectionEnd - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConnectionEnd.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.ConnectionEnd(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - if (!(message.versions && message.versions.length)) - message.versions = []; - message.versions.push($root.ibc.core.connection.v1.Version.decode(reader, reader.uint32())); - break; - case 3: - message.state = reader.int32(); - break; - case 4: - message.counterparty = $root.ibc.core.connection.v1.Counterparty.decode(reader, reader.uint32()); - break; - case 5: - message.delayPeriod = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ConnectionEnd message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.ConnectionEnd - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.ConnectionEnd} ConnectionEnd - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConnectionEnd.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ConnectionEnd message. - * @function verify - * @memberof ibc.core.connection.v1.ConnectionEnd - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ConnectionEnd.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.versions != null && message.hasOwnProperty("versions")) { - if (!Array.isArray(message.versions)) - return "versions: array expected"; - for (let i = 0; i < message.versions.length; ++i) { - let error = $root.ibc.core.connection.v1.Version.verify(message.versions[i]); - if (error) - return "versions." + error; - } - } - if (message.state != null && message.hasOwnProperty("state")) - switch (message.state) { - default: - return "state: enum value expected"; - case 0: - case 1: - case 2: - case 3: - break; - } - if (message.counterparty != null && message.hasOwnProperty("counterparty")) { - let error = $root.ibc.core.connection.v1.Counterparty.verify(message.counterparty); - if (error) - return "counterparty." + error; - } - if (message.delayPeriod != null && message.hasOwnProperty("delayPeriod")) - if (!$util.isInteger(message.delayPeriod) && !(message.delayPeriod && $util.isInteger(message.delayPeriod.low) && $util.isInteger(message.delayPeriod.high))) - return "delayPeriod: integer|Long expected"; - return null; - }; - - /** - * Creates a ConnectionEnd message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.ConnectionEnd - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.ConnectionEnd} ConnectionEnd - */ - ConnectionEnd.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.ConnectionEnd) - return object; - let message = new $root.ibc.core.connection.v1.ConnectionEnd(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.versions) { - if (!Array.isArray(object.versions)) - throw TypeError(".ibc.core.connection.v1.ConnectionEnd.versions: array expected"); - message.versions = []; - for (let i = 0; i < object.versions.length; ++i) { - if (typeof object.versions[i] !== "object") - throw TypeError(".ibc.core.connection.v1.ConnectionEnd.versions: object expected"); - message.versions[i] = $root.ibc.core.connection.v1.Version.fromObject(object.versions[i]); - } - } - switch (object.state) { - case "STATE_UNINITIALIZED_UNSPECIFIED": - case 0: - message.state = 0; - break; - case "STATE_INIT": - case 1: - message.state = 1; - break; - case "STATE_TRYOPEN": - case 2: - message.state = 2; - break; - case "STATE_OPEN": - case 3: - message.state = 3; - break; - } - if (object.counterparty != null) { - if (typeof object.counterparty !== "object") - throw TypeError(".ibc.core.connection.v1.ConnectionEnd.counterparty: object expected"); - message.counterparty = $root.ibc.core.connection.v1.Counterparty.fromObject(object.counterparty); - } - if (object.delayPeriod != null) - if ($util.Long) - (message.delayPeriod = $util.Long.fromValue(object.delayPeriod)).unsigned = true; - else if (typeof object.delayPeriod === "string") - message.delayPeriod = parseInt(object.delayPeriod, 10); - else if (typeof object.delayPeriod === "number") - message.delayPeriod = object.delayPeriod; - else if (typeof object.delayPeriod === "object") - message.delayPeriod = new $util.LongBits(object.delayPeriod.low >>> 0, object.delayPeriod.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a ConnectionEnd message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.ConnectionEnd - * @static - * @param {ibc.core.connection.v1.ConnectionEnd} message ConnectionEnd - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ConnectionEnd.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.versions = []; - if (options.defaults) { - object.clientId = ""; - object.state = options.enums === String ? "STATE_UNINITIALIZED_UNSPECIFIED" : 0; - object.counterparty = null; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.delayPeriod = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.delayPeriod = options.longs === String ? "0" : 0; - } - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.versions && message.versions.length) { - object.versions = []; - for (let j = 0; j < message.versions.length; ++j) - object.versions[j] = $root.ibc.core.connection.v1.Version.toObject(message.versions[j], options); - } - if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.ibc.core.connection.v1.State[message.state] : message.state; - if (message.counterparty != null && message.hasOwnProperty("counterparty")) - object.counterparty = $root.ibc.core.connection.v1.Counterparty.toObject(message.counterparty, options); - if (message.delayPeriod != null && message.hasOwnProperty("delayPeriod")) - if (typeof message.delayPeriod === "number") - object.delayPeriod = options.longs === String ? String(message.delayPeriod) : message.delayPeriod; - else - object.delayPeriod = options.longs === String ? $util.Long.prototype.toString.call(message.delayPeriod) : options.longs === Number ? new $util.LongBits(message.delayPeriod.low >>> 0, message.delayPeriod.high >>> 0).toNumber(true) : message.delayPeriod; - return object; - }; - - /** - * Converts this ConnectionEnd to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.ConnectionEnd - * @instance - * @returns {Object.} JSON object - */ - ConnectionEnd.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ConnectionEnd; - })(v1.ConnectionEnd || {}); - - v1.IdentifiedConnection = (function(IdentifiedConnection) { - - /** - * Properties of an IdentifiedConnection. - * @memberof ibc.core.connection.v1 - * @interface IIdentifiedConnection - * @property {string|null} [id] IdentifiedConnection id - * @property {string|null} [clientId] IdentifiedConnection clientId - * @property {Array.|null} [versions] IdentifiedConnection versions - * @property {ibc.core.connection.v1.State|null} [state] IdentifiedConnection state - * @property {ibc.core.connection.v1.ICounterparty|null} [counterparty] IdentifiedConnection counterparty - * @property {number|Long|null} [delayPeriod] IdentifiedConnection delayPeriod - */ - - /** - * Constructs a new IdentifiedConnection. - * @memberof ibc.core.connection.v1 - * @classdesc Represents an IdentifiedConnection. - * @implements IIdentifiedConnection - * @constructor - * @param {ibc.core.connection.v1.IIdentifiedConnection=} [properties] Properties to set - */ - function IdentifiedConnection(properties) { - this.versions = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * IdentifiedConnection id. - * @member {string} id - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @instance - */ - IdentifiedConnection.prototype.id = ""; - - /** - * IdentifiedConnection clientId. - * @member {string} clientId - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @instance - */ - IdentifiedConnection.prototype.clientId = ""; - - /** - * IdentifiedConnection versions. - * @member {Array.} versions - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @instance - */ - IdentifiedConnection.prototype.versions = $util.emptyArray; - - /** - * IdentifiedConnection state. - * @member {ibc.core.connection.v1.State} state - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @instance - */ - IdentifiedConnection.prototype.state = 0; - - /** - * IdentifiedConnection counterparty. - * @member {ibc.core.connection.v1.ICounterparty|null|undefined} counterparty - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @instance - */ - IdentifiedConnection.prototype.counterparty = null; - - /** - * IdentifiedConnection delayPeriod. - * @member {number|Long} delayPeriod - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @instance - */ - IdentifiedConnection.prototype.delayPeriod = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new IdentifiedConnection instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @static - * @param {ibc.core.connection.v1.IIdentifiedConnection=} [properties] Properties to set - * @returns {ibc.core.connection.v1.IdentifiedConnection} IdentifiedConnection instance - */ - IdentifiedConnection.create = function create(properties) { - return new IdentifiedConnection(properties); - }; - - /** - * Encodes the specified IdentifiedConnection message. Does not implicitly {@link ibc.core.connection.v1.IdentifiedConnection.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @static - * @param {ibc.core.connection.v1.IIdentifiedConnection} message IdentifiedConnection message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IdentifiedConnection.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.id != null && Object.hasOwnProperty.call(message, "id")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.id); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.clientId); - if (message.versions != null && message.versions.length) - for (let i = 0; i < message.versions.length; ++i) - $root.ibc.core.connection.v1.Version.encode(message.versions[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.state != null && Object.hasOwnProperty.call(message, "state")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.state); - if (message.counterparty != null && Object.hasOwnProperty.call(message, "counterparty")) - $root.ibc.core.connection.v1.Counterparty.encode(message.counterparty, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.delayPeriod != null && Object.hasOwnProperty.call(message, "delayPeriod")) - writer.uint32(/* id 6, wireType 0 =*/48).uint64(message.delayPeriod); - return writer; - }; - - /** - * Encodes the specified IdentifiedConnection message, length delimited. Does not implicitly {@link ibc.core.connection.v1.IdentifiedConnection.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @static - * @param {ibc.core.connection.v1.IIdentifiedConnection} message IdentifiedConnection message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - IdentifiedConnection.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an IdentifiedConnection message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.IdentifiedConnection} IdentifiedConnection - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IdentifiedConnection.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.IdentifiedConnection(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.id = reader.string(); - break; - case 2: - message.clientId = reader.string(); - break; - case 3: - if (!(message.versions && message.versions.length)) - message.versions = []; - message.versions.push($root.ibc.core.connection.v1.Version.decode(reader, reader.uint32())); - break; - case 4: - message.state = reader.int32(); - break; - case 5: - message.counterparty = $root.ibc.core.connection.v1.Counterparty.decode(reader, reader.uint32()); - break; - case 6: - message.delayPeriod = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an IdentifiedConnection message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.IdentifiedConnection} IdentifiedConnection - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - IdentifiedConnection.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an IdentifiedConnection message. - * @function verify - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - IdentifiedConnection.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.id != null && message.hasOwnProperty("id")) - if (!$util.isString(message.id)) - return "id: string expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.versions != null && message.hasOwnProperty("versions")) { - if (!Array.isArray(message.versions)) - return "versions: array expected"; - for (let i = 0; i < message.versions.length; ++i) { - let error = $root.ibc.core.connection.v1.Version.verify(message.versions[i]); - if (error) - return "versions." + error; - } - } - if (message.state != null && message.hasOwnProperty("state")) - switch (message.state) { - default: - return "state: enum value expected"; - case 0: - case 1: - case 2: - case 3: - break; - } - if (message.counterparty != null && message.hasOwnProperty("counterparty")) { - let error = $root.ibc.core.connection.v1.Counterparty.verify(message.counterparty); - if (error) - return "counterparty." + error; - } - if (message.delayPeriod != null && message.hasOwnProperty("delayPeriod")) - if (!$util.isInteger(message.delayPeriod) && !(message.delayPeriod && $util.isInteger(message.delayPeriod.low) && $util.isInteger(message.delayPeriod.high))) - return "delayPeriod: integer|Long expected"; - return null; - }; - - /** - * Creates an IdentifiedConnection message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.IdentifiedConnection} IdentifiedConnection - */ - IdentifiedConnection.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.IdentifiedConnection) - return object; - let message = new $root.ibc.core.connection.v1.IdentifiedConnection(); - if (object.id != null) - message.id = String(object.id); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.versions) { - if (!Array.isArray(object.versions)) - throw TypeError(".ibc.core.connection.v1.IdentifiedConnection.versions: array expected"); - message.versions = []; - for (let i = 0; i < object.versions.length; ++i) { - if (typeof object.versions[i] !== "object") - throw TypeError(".ibc.core.connection.v1.IdentifiedConnection.versions: object expected"); - message.versions[i] = $root.ibc.core.connection.v1.Version.fromObject(object.versions[i]); - } - } - switch (object.state) { - case "STATE_UNINITIALIZED_UNSPECIFIED": - case 0: - message.state = 0; - break; - case "STATE_INIT": - case 1: - message.state = 1; - break; - case "STATE_TRYOPEN": - case 2: - message.state = 2; - break; - case "STATE_OPEN": - case 3: - message.state = 3; - break; - } - if (object.counterparty != null) { - if (typeof object.counterparty !== "object") - throw TypeError(".ibc.core.connection.v1.IdentifiedConnection.counterparty: object expected"); - message.counterparty = $root.ibc.core.connection.v1.Counterparty.fromObject(object.counterparty); - } - if (object.delayPeriod != null) - if ($util.Long) - (message.delayPeriod = $util.Long.fromValue(object.delayPeriod)).unsigned = true; - else if (typeof object.delayPeriod === "string") - message.delayPeriod = parseInt(object.delayPeriod, 10); - else if (typeof object.delayPeriod === "number") - message.delayPeriod = object.delayPeriod; - else if (typeof object.delayPeriod === "object") - message.delayPeriod = new $util.LongBits(object.delayPeriod.low >>> 0, object.delayPeriod.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from an IdentifiedConnection message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @static - * @param {ibc.core.connection.v1.IdentifiedConnection} message IdentifiedConnection - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - IdentifiedConnection.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.versions = []; - if (options.defaults) { - object.id = ""; - object.clientId = ""; - object.state = options.enums === String ? "STATE_UNINITIALIZED_UNSPECIFIED" : 0; - object.counterparty = null; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.delayPeriod = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.delayPeriod = options.longs === String ? "0" : 0; - } - if (message.id != null && message.hasOwnProperty("id")) - object.id = message.id; - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.versions && message.versions.length) { - object.versions = []; - for (let j = 0; j < message.versions.length; ++j) - object.versions[j] = $root.ibc.core.connection.v1.Version.toObject(message.versions[j], options); - } - if (message.state != null && message.hasOwnProperty("state")) - object.state = options.enums === String ? $root.ibc.core.connection.v1.State[message.state] : message.state; - if (message.counterparty != null && message.hasOwnProperty("counterparty")) - object.counterparty = $root.ibc.core.connection.v1.Counterparty.toObject(message.counterparty, options); - if (message.delayPeriod != null && message.hasOwnProperty("delayPeriod")) - if (typeof message.delayPeriod === "number") - object.delayPeriod = options.longs === String ? String(message.delayPeriod) : message.delayPeriod; - else - object.delayPeriod = options.longs === String ? $util.Long.prototype.toString.call(message.delayPeriod) : options.longs === Number ? new $util.LongBits(message.delayPeriod.low >>> 0, message.delayPeriod.high >>> 0).toNumber(true) : message.delayPeriod; - return object; - }; - - /** - * Converts this IdentifiedConnection to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.IdentifiedConnection - * @instance - * @returns {Object.} JSON object - */ - IdentifiedConnection.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return IdentifiedConnection; - })(v1.IdentifiedConnection || {}); - - /** - * State enum. - * @name ibc.core.connection.v1.State - * @enum {string} - * @property {number} STATE_UNINITIALIZED_UNSPECIFIED=0 STATE_UNINITIALIZED_UNSPECIFIED value - * @property {number} STATE_INIT=1 STATE_INIT value - * @property {number} STATE_TRYOPEN=2 STATE_TRYOPEN value - * @property {number} STATE_OPEN=3 STATE_OPEN value - */ - v1.State = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "STATE_UNINITIALIZED_UNSPECIFIED"] = 0; - values[valuesById[1] = "STATE_INIT"] = 1; - values[valuesById[2] = "STATE_TRYOPEN"] = 2; - values[valuesById[3] = "STATE_OPEN"] = 3; - return values; - })(); - - v1.Counterparty = (function(Counterparty) { - - /** - * Properties of a Counterparty. - * @memberof ibc.core.connection.v1 - * @interface ICounterparty - * @property {string|null} [clientId] Counterparty clientId - * @property {string|null} [connectionId] Counterparty connectionId - * @property {ibc.core.commitment.v1.IMerklePrefix|null} [prefix] Counterparty prefix - */ - - /** - * Constructs a new Counterparty. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a Counterparty. - * @implements ICounterparty - * @constructor - * @param {ibc.core.connection.v1.ICounterparty=} [properties] Properties to set - */ - function Counterparty(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Counterparty clientId. - * @member {string} clientId - * @memberof ibc.core.connection.v1.Counterparty - * @instance - */ - Counterparty.prototype.clientId = ""; - - /** - * Counterparty connectionId. - * @member {string} connectionId - * @memberof ibc.core.connection.v1.Counterparty - * @instance - */ - Counterparty.prototype.connectionId = ""; - - /** - * Counterparty prefix. - * @member {ibc.core.commitment.v1.IMerklePrefix|null|undefined} prefix - * @memberof ibc.core.connection.v1.Counterparty - * @instance - */ - Counterparty.prototype.prefix = null; - - /** - * Creates a new Counterparty instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.Counterparty - * @static - * @param {ibc.core.connection.v1.ICounterparty=} [properties] Properties to set - * @returns {ibc.core.connection.v1.Counterparty} Counterparty instance - */ - Counterparty.create = function create(properties) { - return new Counterparty(properties); - }; - - /** - * Encodes the specified Counterparty message. Does not implicitly {@link ibc.core.connection.v1.Counterparty.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.Counterparty - * @static - * @param {ibc.core.connection.v1.ICounterparty} message Counterparty message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Counterparty.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.connectionId != null && Object.hasOwnProperty.call(message, "connectionId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.connectionId); - if (message.prefix != null && Object.hasOwnProperty.call(message, "prefix")) - $root.ibc.core.commitment.v1.MerklePrefix.encode(message.prefix, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Counterparty message, length delimited. Does not implicitly {@link ibc.core.connection.v1.Counterparty.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.Counterparty - * @static - * @param {ibc.core.connection.v1.ICounterparty} message Counterparty message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Counterparty.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Counterparty message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.Counterparty - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.Counterparty} Counterparty - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Counterparty.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.Counterparty(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - message.connectionId = reader.string(); - break; - case 3: - message.prefix = $root.ibc.core.commitment.v1.MerklePrefix.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Counterparty message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.Counterparty - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.Counterparty} Counterparty - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Counterparty.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Counterparty message. - * @function verify - * @memberof ibc.core.connection.v1.Counterparty - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Counterparty.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.connectionId != null && message.hasOwnProperty("connectionId")) - if (!$util.isString(message.connectionId)) - return "connectionId: string expected"; - if (message.prefix != null && message.hasOwnProperty("prefix")) { - let error = $root.ibc.core.commitment.v1.MerklePrefix.verify(message.prefix); - if (error) - return "prefix." + error; - } - return null; - }; - - /** - * Creates a Counterparty message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.Counterparty - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.Counterparty} Counterparty - */ - Counterparty.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.Counterparty) - return object; - let message = new $root.ibc.core.connection.v1.Counterparty(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.connectionId != null) - message.connectionId = String(object.connectionId); - if (object.prefix != null) { - if (typeof object.prefix !== "object") - throw TypeError(".ibc.core.connection.v1.Counterparty.prefix: object expected"); - message.prefix = $root.ibc.core.commitment.v1.MerklePrefix.fromObject(object.prefix); - } - return message; - }; - - /** - * Creates a plain object from a Counterparty message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.Counterparty - * @static - * @param {ibc.core.connection.v1.Counterparty} message Counterparty - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Counterparty.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.clientId = ""; - object.connectionId = ""; - object.prefix = null; - } - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.connectionId != null && message.hasOwnProperty("connectionId")) - object.connectionId = message.connectionId; - if (message.prefix != null && message.hasOwnProperty("prefix")) - object.prefix = $root.ibc.core.commitment.v1.MerklePrefix.toObject(message.prefix, options); - return object; - }; - - /** - * Converts this Counterparty to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.Counterparty - * @instance - * @returns {Object.} JSON object - */ - Counterparty.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Counterparty; - })(v1.Counterparty || {}); - - v1.ClientPaths = (function(ClientPaths) { - - /** - * Properties of a ClientPaths. - * @memberof ibc.core.connection.v1 - * @interface IClientPaths - * @property {Array.|null} [paths] ClientPaths paths - */ - - /** - * Constructs a new ClientPaths. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a ClientPaths. - * @implements IClientPaths - * @constructor - * @param {ibc.core.connection.v1.IClientPaths=} [properties] Properties to set - */ - function ClientPaths(properties) { - this.paths = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ClientPaths paths. - * @member {Array.} paths - * @memberof ibc.core.connection.v1.ClientPaths - * @instance - */ - ClientPaths.prototype.paths = $util.emptyArray; - - /** - * Creates a new ClientPaths instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.ClientPaths - * @static - * @param {ibc.core.connection.v1.IClientPaths=} [properties] Properties to set - * @returns {ibc.core.connection.v1.ClientPaths} ClientPaths instance - */ - ClientPaths.create = function create(properties) { - return new ClientPaths(properties); - }; - - /** - * Encodes the specified ClientPaths message. Does not implicitly {@link ibc.core.connection.v1.ClientPaths.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.ClientPaths - * @static - * @param {ibc.core.connection.v1.IClientPaths} message ClientPaths message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ClientPaths.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.paths != null && message.paths.length) - for (let i = 0; i < message.paths.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.paths[i]); - return writer; - }; - - /** - * Encodes the specified ClientPaths message, length delimited. Does not implicitly {@link ibc.core.connection.v1.ClientPaths.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.ClientPaths - * @static - * @param {ibc.core.connection.v1.IClientPaths} message ClientPaths message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ClientPaths.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ClientPaths message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.ClientPaths - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.ClientPaths} ClientPaths - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ClientPaths.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.ClientPaths(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.paths && message.paths.length)) - message.paths = []; - message.paths.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ClientPaths message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.ClientPaths - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.ClientPaths} ClientPaths - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ClientPaths.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ClientPaths message. - * @function verify - * @memberof ibc.core.connection.v1.ClientPaths - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ClientPaths.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.paths != null && message.hasOwnProperty("paths")) { - if (!Array.isArray(message.paths)) - return "paths: array expected"; - for (let i = 0; i < message.paths.length; ++i) - if (!$util.isString(message.paths[i])) - return "paths: string[] expected"; - } - return null; - }; - - /** - * Creates a ClientPaths message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.ClientPaths - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.ClientPaths} ClientPaths - */ - ClientPaths.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.ClientPaths) - return object; - let message = new $root.ibc.core.connection.v1.ClientPaths(); - if (object.paths) { - if (!Array.isArray(object.paths)) - throw TypeError(".ibc.core.connection.v1.ClientPaths.paths: array expected"); - message.paths = []; - for (let i = 0; i < object.paths.length; ++i) - message.paths[i] = String(object.paths[i]); - } - return message; - }; - - /** - * Creates a plain object from a ClientPaths message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.ClientPaths - * @static - * @param {ibc.core.connection.v1.ClientPaths} message ClientPaths - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ClientPaths.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.paths = []; - if (message.paths && message.paths.length) { - object.paths = []; - for (let j = 0; j < message.paths.length; ++j) - object.paths[j] = message.paths[j]; - } - return object; - }; - - /** - * Converts this ClientPaths to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.ClientPaths - * @instance - * @returns {Object.} JSON object - */ - ClientPaths.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ClientPaths; - })(v1.ClientPaths || {}); - - v1.ConnectionPaths = (function(ConnectionPaths) { - - /** - * Properties of a ConnectionPaths. - * @memberof ibc.core.connection.v1 - * @interface IConnectionPaths - * @property {string|null} [clientId] ConnectionPaths clientId - * @property {Array.|null} [paths] ConnectionPaths paths - */ - - /** - * Constructs a new ConnectionPaths. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a ConnectionPaths. - * @implements IConnectionPaths - * @constructor - * @param {ibc.core.connection.v1.IConnectionPaths=} [properties] Properties to set - */ - function ConnectionPaths(properties) { - this.paths = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ConnectionPaths clientId. - * @member {string} clientId - * @memberof ibc.core.connection.v1.ConnectionPaths - * @instance - */ - ConnectionPaths.prototype.clientId = ""; - - /** - * ConnectionPaths paths. - * @member {Array.} paths - * @memberof ibc.core.connection.v1.ConnectionPaths - * @instance - */ - ConnectionPaths.prototype.paths = $util.emptyArray; - - /** - * Creates a new ConnectionPaths instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.ConnectionPaths - * @static - * @param {ibc.core.connection.v1.IConnectionPaths=} [properties] Properties to set - * @returns {ibc.core.connection.v1.ConnectionPaths} ConnectionPaths instance - */ - ConnectionPaths.create = function create(properties) { - return new ConnectionPaths(properties); - }; - - /** - * Encodes the specified ConnectionPaths message. Does not implicitly {@link ibc.core.connection.v1.ConnectionPaths.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.ConnectionPaths - * @static - * @param {ibc.core.connection.v1.IConnectionPaths} message ConnectionPaths message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConnectionPaths.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.paths != null && message.paths.length) - for (let i = 0; i < message.paths.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.paths[i]); - return writer; - }; - - /** - * Encodes the specified ConnectionPaths message, length delimited. Does not implicitly {@link ibc.core.connection.v1.ConnectionPaths.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.ConnectionPaths - * @static - * @param {ibc.core.connection.v1.IConnectionPaths} message ConnectionPaths message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConnectionPaths.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ConnectionPaths message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.ConnectionPaths - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.ConnectionPaths} ConnectionPaths - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConnectionPaths.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.ConnectionPaths(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - if (!(message.paths && message.paths.length)) - message.paths = []; - message.paths.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ConnectionPaths message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.ConnectionPaths - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.ConnectionPaths} ConnectionPaths - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConnectionPaths.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ConnectionPaths message. - * @function verify - * @memberof ibc.core.connection.v1.ConnectionPaths - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ConnectionPaths.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.paths != null && message.hasOwnProperty("paths")) { - if (!Array.isArray(message.paths)) - return "paths: array expected"; - for (let i = 0; i < message.paths.length; ++i) - if (!$util.isString(message.paths[i])) - return "paths: string[] expected"; - } - return null; - }; - - /** - * Creates a ConnectionPaths message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.ConnectionPaths - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.ConnectionPaths} ConnectionPaths - */ - ConnectionPaths.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.ConnectionPaths) - return object; - let message = new $root.ibc.core.connection.v1.ConnectionPaths(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.paths) { - if (!Array.isArray(object.paths)) - throw TypeError(".ibc.core.connection.v1.ConnectionPaths.paths: array expected"); - message.paths = []; - for (let i = 0; i < object.paths.length; ++i) - message.paths[i] = String(object.paths[i]); - } - return message; - }; - - /** - * Creates a plain object from a ConnectionPaths message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.ConnectionPaths - * @static - * @param {ibc.core.connection.v1.ConnectionPaths} message ConnectionPaths - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ConnectionPaths.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.paths = []; - if (options.defaults) - object.clientId = ""; - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.paths && message.paths.length) { - object.paths = []; - for (let j = 0; j < message.paths.length; ++j) - object.paths[j] = message.paths[j]; - } - return object; - }; - - /** - * Converts this ConnectionPaths to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.ConnectionPaths - * @instance - * @returns {Object.} JSON object - */ - ConnectionPaths.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ConnectionPaths; - })(v1.ConnectionPaths || {}); - - v1.Version = (function(Version) { - - /** - * Properties of a Version. - * @memberof ibc.core.connection.v1 - * @interface IVersion - * @property {string|null} [identifier] Version identifier - * @property {Array.|null} [features] Version features - */ - - /** - * Constructs a new Version. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a Version. - * @implements IVersion - * @constructor - * @param {ibc.core.connection.v1.IVersion=} [properties] Properties to set - */ - function Version(properties) { - this.features = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Version identifier. - * @member {string} identifier - * @memberof ibc.core.connection.v1.Version - * @instance - */ - Version.prototype.identifier = ""; - - /** - * Version features. - * @member {Array.} features - * @memberof ibc.core.connection.v1.Version - * @instance - */ - Version.prototype.features = $util.emptyArray; - - /** - * Creates a new Version instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.Version - * @static - * @param {ibc.core.connection.v1.IVersion=} [properties] Properties to set - * @returns {ibc.core.connection.v1.Version} Version instance - */ - Version.create = function create(properties) { - return new Version(properties); - }; - - /** - * Encodes the specified Version message. Does not implicitly {@link ibc.core.connection.v1.Version.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.Version - * @static - * @param {ibc.core.connection.v1.IVersion} message Version message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Version.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.identifier != null && Object.hasOwnProperty.call(message, "identifier")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.identifier); - if (message.features != null && message.features.length) - for (let i = 0; i < message.features.length; ++i) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.features[i]); - return writer; - }; - - /** - * Encodes the specified Version message, length delimited. Does not implicitly {@link ibc.core.connection.v1.Version.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.Version - * @static - * @param {ibc.core.connection.v1.IVersion} message Version message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Version.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Version message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.Version - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.Version} Version - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Version.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.Version(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.identifier = reader.string(); - break; - case 2: - if (!(message.features && message.features.length)) - message.features = []; - message.features.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Version message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.Version - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.Version} Version - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Version.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Version message. - * @function verify - * @memberof ibc.core.connection.v1.Version - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Version.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.identifier != null && message.hasOwnProperty("identifier")) - if (!$util.isString(message.identifier)) - return "identifier: string expected"; - if (message.features != null && message.hasOwnProperty("features")) { - if (!Array.isArray(message.features)) - return "features: array expected"; - for (let i = 0; i < message.features.length; ++i) - if (!$util.isString(message.features[i])) - return "features: string[] expected"; - } - return null; - }; - - /** - * Creates a Version message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.Version - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.Version} Version - */ - Version.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.Version) - return object; - let message = new $root.ibc.core.connection.v1.Version(); - if (object.identifier != null) - message.identifier = String(object.identifier); - if (object.features) { - if (!Array.isArray(object.features)) - throw TypeError(".ibc.core.connection.v1.Version.features: array expected"); - message.features = []; - for (let i = 0; i < object.features.length; ++i) - message.features[i] = String(object.features[i]); - } - return message; - }; - - /** - * Creates a plain object from a Version message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.Version - * @static - * @param {ibc.core.connection.v1.Version} message Version - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Version.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.features = []; - if (options.defaults) - object.identifier = ""; - if (message.identifier != null && message.hasOwnProperty("identifier")) - object.identifier = message.identifier; - if (message.features && message.features.length) { - object.features = []; - for (let j = 0; j < message.features.length; ++j) - object.features[j] = message.features[j]; - } - return object; - }; - - /** - * Converts this Version to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.Version - * @instance - * @returns {Object.} JSON object - */ - Version.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Version; - })(v1.Version || {}); - - v1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof ibc.core.connection.v1 - * @interface IGenesisState - * @property {Array.|null} [connections] GenesisState connections - * @property {Array.|null} [clientConnectionPaths] GenesisState clientConnectionPaths - * @property {number|Long|null} [nextConnectionSequence] GenesisState nextConnectionSequence - */ - - /** - * Constructs a new GenesisState. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {ibc.core.connection.v1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - this.connections = []; - this.clientConnectionPaths = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState connections. - * @member {Array.} connections - * @memberof ibc.core.connection.v1.GenesisState - * @instance - */ - GenesisState.prototype.connections = $util.emptyArray; - - /** - * GenesisState clientConnectionPaths. - * @member {Array.} clientConnectionPaths - * @memberof ibc.core.connection.v1.GenesisState - * @instance - */ - GenesisState.prototype.clientConnectionPaths = $util.emptyArray; - - /** - * GenesisState nextConnectionSequence. - * @member {number|Long} nextConnectionSequence - * @memberof ibc.core.connection.v1.GenesisState - * @instance - */ - GenesisState.prototype.nextConnectionSequence = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.GenesisState - * @static - * @param {ibc.core.connection.v1.IGenesisState=} [properties] Properties to set - * @returns {ibc.core.connection.v1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link ibc.core.connection.v1.GenesisState.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.GenesisState - * @static - * @param {ibc.core.connection.v1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.connections != null && message.connections.length) - for (let i = 0; i < message.connections.length; ++i) - $root.ibc.core.connection.v1.IdentifiedConnection.encode(message.connections[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.clientConnectionPaths != null && message.clientConnectionPaths.length) - for (let i = 0; i < message.clientConnectionPaths.length; ++i) - $root.ibc.core.connection.v1.ConnectionPaths.encode(message.clientConnectionPaths[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.nextConnectionSequence != null && Object.hasOwnProperty.call(message, "nextConnectionSequence")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.nextConnectionSequence); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link ibc.core.connection.v1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.GenesisState - * @static - * @param {ibc.core.connection.v1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.connections && message.connections.length)) - message.connections = []; - message.connections.push($root.ibc.core.connection.v1.IdentifiedConnection.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.clientConnectionPaths && message.clientConnectionPaths.length)) - message.clientConnectionPaths = []; - message.clientConnectionPaths.push($root.ibc.core.connection.v1.ConnectionPaths.decode(reader, reader.uint32())); - break; - case 3: - message.nextConnectionSequence = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof ibc.core.connection.v1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.connections != null && message.hasOwnProperty("connections")) { - if (!Array.isArray(message.connections)) - return "connections: array expected"; - for (let i = 0; i < message.connections.length; ++i) { - let error = $root.ibc.core.connection.v1.IdentifiedConnection.verify(message.connections[i]); - if (error) - return "connections." + error; - } - } - if (message.clientConnectionPaths != null && message.hasOwnProperty("clientConnectionPaths")) { - if (!Array.isArray(message.clientConnectionPaths)) - return "clientConnectionPaths: array expected"; - for (let i = 0; i < message.clientConnectionPaths.length; ++i) { - let error = $root.ibc.core.connection.v1.ConnectionPaths.verify(message.clientConnectionPaths[i]); - if (error) - return "clientConnectionPaths." + error; - } - } - if (message.nextConnectionSequence != null && message.hasOwnProperty("nextConnectionSequence")) - if (!$util.isInteger(message.nextConnectionSequence) && !(message.nextConnectionSequence && $util.isInteger(message.nextConnectionSequence.low) && $util.isInteger(message.nextConnectionSequence.high))) - return "nextConnectionSequence: integer|Long expected"; - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.GenesisState) - return object; - let message = new $root.ibc.core.connection.v1.GenesisState(); - if (object.connections) { - if (!Array.isArray(object.connections)) - throw TypeError(".ibc.core.connection.v1.GenesisState.connections: array expected"); - message.connections = []; - for (let i = 0; i < object.connections.length; ++i) { - if (typeof object.connections[i] !== "object") - throw TypeError(".ibc.core.connection.v1.GenesisState.connections: object expected"); - message.connections[i] = $root.ibc.core.connection.v1.IdentifiedConnection.fromObject(object.connections[i]); - } - } - if (object.clientConnectionPaths) { - if (!Array.isArray(object.clientConnectionPaths)) - throw TypeError(".ibc.core.connection.v1.GenesisState.clientConnectionPaths: array expected"); - message.clientConnectionPaths = []; - for (let i = 0; i < object.clientConnectionPaths.length; ++i) { - if (typeof object.clientConnectionPaths[i] !== "object") - throw TypeError(".ibc.core.connection.v1.GenesisState.clientConnectionPaths: object expected"); - message.clientConnectionPaths[i] = $root.ibc.core.connection.v1.ConnectionPaths.fromObject(object.clientConnectionPaths[i]); - } - } - if (object.nextConnectionSequence != null) - if ($util.Long) - (message.nextConnectionSequence = $util.Long.fromValue(object.nextConnectionSequence)).unsigned = true; - else if (typeof object.nextConnectionSequence === "string") - message.nextConnectionSequence = parseInt(object.nextConnectionSequence, 10); - else if (typeof object.nextConnectionSequence === "number") - message.nextConnectionSequence = object.nextConnectionSequence; - else if (typeof object.nextConnectionSequence === "object") - message.nextConnectionSequence = new $util.LongBits(object.nextConnectionSequence.low >>> 0, object.nextConnectionSequence.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.GenesisState - * @static - * @param {ibc.core.connection.v1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.connections = []; - object.clientConnectionPaths = []; - } - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.nextConnectionSequence = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.nextConnectionSequence = options.longs === String ? "0" : 0; - if (message.connections && message.connections.length) { - object.connections = []; - for (let j = 0; j < message.connections.length; ++j) - object.connections[j] = $root.ibc.core.connection.v1.IdentifiedConnection.toObject(message.connections[j], options); - } - if (message.clientConnectionPaths && message.clientConnectionPaths.length) { - object.clientConnectionPaths = []; - for (let j = 0; j < message.clientConnectionPaths.length; ++j) - object.clientConnectionPaths[j] = $root.ibc.core.connection.v1.ConnectionPaths.toObject(message.clientConnectionPaths[j], options); - } - if (message.nextConnectionSequence != null && message.hasOwnProperty("nextConnectionSequence")) - if (typeof message.nextConnectionSequence === "number") - object.nextConnectionSequence = options.longs === String ? String(message.nextConnectionSequence) : message.nextConnectionSequence; - else - object.nextConnectionSequence = options.longs === String ? $util.Long.prototype.toString.call(message.nextConnectionSequence) : options.longs === Number ? new $util.LongBits(message.nextConnectionSequence.low >>> 0, message.nextConnectionSequence.high >>> 0).toNumber(true) : message.nextConnectionSequence; - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1.GenesisState || {}); - - v1.Query = (function(Query) { - - /** - * Constructs a new Query service. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a Query - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Query(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Query.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Query; - - /** - * Creates new Query service using the specified rpc implementation. - * @function create - * @memberof ibc.core.connection.v1.Query - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Query} RPC service. Useful where requests and/or responses are streamed. - */ - Query.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link ibc.core.connection.v1.Query#connection}. - * @memberof ibc.core.connection.v1.Query - * @typedef ConnectionCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.connection.v1.IQueryConnectionResponse} [response] QueryConnectionResponse - */ - - /** - * Calls Connection. - * @function connection - * @memberof ibc.core.connection.v1.Query - * @instance - * @param {ibc.core.connection.v1.IQueryConnectionRequest} request QueryConnectionRequest message or plain object - * @param {ibc.core.connection.v1.Query.ConnectionCallback} callback Node-style callback called with the error, if any, and QueryConnectionResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.connection = function connection(request, callback) { - return this.rpcCall(connection, $root.ibc.core.connection.v1.QueryConnectionRequest, $root.ibc.core.connection.v1.QueryConnectionResponse, request, callback); - }, "name", { value: "Connection" }); - - /** - * Calls Connection. - * @function connection - * @memberof ibc.core.connection.v1.Query - * @instance - * @param {ibc.core.connection.v1.IQueryConnectionRequest} request QueryConnectionRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.connection.v1.Query#connections}. - * @memberof ibc.core.connection.v1.Query - * @typedef ConnectionsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.connection.v1.IQueryConnectionsResponse} [response] QueryConnectionsResponse - */ - - /** - * Calls Connections. - * @function connections - * @memberof ibc.core.connection.v1.Query - * @instance - * @param {ibc.core.connection.v1.IQueryConnectionsRequest} request QueryConnectionsRequest message or plain object - * @param {ibc.core.connection.v1.Query.ConnectionsCallback} callback Node-style callback called with the error, if any, and QueryConnectionsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.connections = function connections(request, callback) { - return this.rpcCall(connections, $root.ibc.core.connection.v1.QueryConnectionsRequest, $root.ibc.core.connection.v1.QueryConnectionsResponse, request, callback); - }, "name", { value: "Connections" }); - - /** - * Calls Connections. - * @function connections - * @memberof ibc.core.connection.v1.Query - * @instance - * @param {ibc.core.connection.v1.IQueryConnectionsRequest} request QueryConnectionsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.connection.v1.Query#clientConnections}. - * @memberof ibc.core.connection.v1.Query - * @typedef ClientConnectionsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.connection.v1.IQueryClientConnectionsResponse} [response] QueryClientConnectionsResponse - */ - - /** - * Calls ClientConnections. - * @function clientConnections - * @memberof ibc.core.connection.v1.Query - * @instance - * @param {ibc.core.connection.v1.IQueryClientConnectionsRequest} request QueryClientConnectionsRequest message or plain object - * @param {ibc.core.connection.v1.Query.ClientConnectionsCallback} callback Node-style callback called with the error, if any, and QueryClientConnectionsResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.clientConnections = function clientConnections(request, callback) { - return this.rpcCall(clientConnections, $root.ibc.core.connection.v1.QueryClientConnectionsRequest, $root.ibc.core.connection.v1.QueryClientConnectionsResponse, request, callback); - }, "name", { value: "ClientConnections" }); - - /** - * Calls ClientConnections. - * @function clientConnections - * @memberof ibc.core.connection.v1.Query - * @instance - * @param {ibc.core.connection.v1.IQueryClientConnectionsRequest} request QueryClientConnectionsRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.connection.v1.Query#connectionClientState}. - * @memberof ibc.core.connection.v1.Query - * @typedef ConnectionClientStateCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.connection.v1.IQueryConnectionClientStateResponse} [response] QueryConnectionClientStateResponse - */ - - /** - * Calls ConnectionClientState. - * @function connectionClientState - * @memberof ibc.core.connection.v1.Query - * @instance - * @param {ibc.core.connection.v1.IQueryConnectionClientStateRequest} request QueryConnectionClientStateRequest message or plain object - * @param {ibc.core.connection.v1.Query.ConnectionClientStateCallback} callback Node-style callback called with the error, if any, and QueryConnectionClientStateResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.connectionClientState = function connectionClientState(request, callback) { - return this.rpcCall(connectionClientState, $root.ibc.core.connection.v1.QueryConnectionClientStateRequest, $root.ibc.core.connection.v1.QueryConnectionClientStateResponse, request, callback); - }, "name", { value: "ConnectionClientState" }); - - /** - * Calls ConnectionClientState. - * @function connectionClientState - * @memberof ibc.core.connection.v1.Query - * @instance - * @param {ibc.core.connection.v1.IQueryConnectionClientStateRequest} request QueryConnectionClientStateRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.connection.v1.Query#connectionConsensusState}. - * @memberof ibc.core.connection.v1.Query - * @typedef ConnectionConsensusStateCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.connection.v1.IQueryConnectionConsensusStateResponse} [response] QueryConnectionConsensusStateResponse - */ - - /** - * Calls ConnectionConsensusState. - * @function connectionConsensusState - * @memberof ibc.core.connection.v1.Query - * @instance - * @param {ibc.core.connection.v1.IQueryConnectionConsensusStateRequest} request QueryConnectionConsensusStateRequest message or plain object - * @param {ibc.core.connection.v1.Query.ConnectionConsensusStateCallback} callback Node-style callback called with the error, if any, and QueryConnectionConsensusStateResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Query.prototype.connectionConsensusState = function connectionConsensusState(request, callback) { - return this.rpcCall(connectionConsensusState, $root.ibc.core.connection.v1.QueryConnectionConsensusStateRequest, $root.ibc.core.connection.v1.QueryConnectionConsensusStateResponse, request, callback); - }, "name", { value: "ConnectionConsensusState" }); - - /** - * Calls ConnectionConsensusState. - * @function connectionConsensusState - * @memberof ibc.core.connection.v1.Query - * @instance - * @param {ibc.core.connection.v1.IQueryConnectionConsensusStateRequest} request QueryConnectionConsensusStateRequest message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Query; - })(v1.Query || {}); - - v1.QueryConnectionRequest = (function(QueryConnectionRequest) { - - /** - * Properties of a QueryConnectionRequest. - * @memberof ibc.core.connection.v1 - * @interface IQueryConnectionRequest - * @property {string|null} [connectionId] QueryConnectionRequest connectionId - */ - - /** - * Constructs a new QueryConnectionRequest. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a QueryConnectionRequest. - * @implements IQueryConnectionRequest - * @constructor - * @param {ibc.core.connection.v1.IQueryConnectionRequest=} [properties] Properties to set - */ - function QueryConnectionRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConnectionRequest connectionId. - * @member {string} connectionId - * @memberof ibc.core.connection.v1.QueryConnectionRequest - * @instance - */ - QueryConnectionRequest.prototype.connectionId = ""; - - /** - * Creates a new QueryConnectionRequest instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.QueryConnectionRequest - * @static - * @param {ibc.core.connection.v1.IQueryConnectionRequest=} [properties] Properties to set - * @returns {ibc.core.connection.v1.QueryConnectionRequest} QueryConnectionRequest instance - */ - QueryConnectionRequest.create = function create(properties) { - return new QueryConnectionRequest(properties); - }; - - /** - * Encodes the specified QueryConnectionRequest message. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.QueryConnectionRequest - * @static - * @param {ibc.core.connection.v1.IQueryConnectionRequest} message QueryConnectionRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.connectionId != null && Object.hasOwnProperty.call(message, "connectionId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.connectionId); - return writer; - }; - - /** - * Encodes the specified QueryConnectionRequest message, length delimited. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionRequest - * @static - * @param {ibc.core.connection.v1.IQueryConnectionRequest} message QueryConnectionRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConnectionRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.QueryConnectionRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.QueryConnectionRequest} QueryConnectionRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.QueryConnectionRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.connectionId = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConnectionRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.QueryConnectionRequest} QueryConnectionRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConnectionRequest message. - * @function verify - * @memberof ibc.core.connection.v1.QueryConnectionRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConnectionRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.connectionId != null && message.hasOwnProperty("connectionId")) - if (!$util.isString(message.connectionId)) - return "connectionId: string expected"; - return null; - }; - - /** - * Creates a QueryConnectionRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.QueryConnectionRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.QueryConnectionRequest} QueryConnectionRequest - */ - QueryConnectionRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.QueryConnectionRequest) - return object; - let message = new $root.ibc.core.connection.v1.QueryConnectionRequest(); - if (object.connectionId != null) - message.connectionId = String(object.connectionId); - return message; - }; - - /** - * Creates a plain object from a QueryConnectionRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.QueryConnectionRequest - * @static - * @param {ibc.core.connection.v1.QueryConnectionRequest} message QueryConnectionRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConnectionRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.connectionId = ""; - if (message.connectionId != null && message.hasOwnProperty("connectionId")) - object.connectionId = message.connectionId; - return object; - }; - - /** - * Converts this QueryConnectionRequest to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.QueryConnectionRequest - * @instance - * @returns {Object.} JSON object - */ - QueryConnectionRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConnectionRequest; - })(v1.QueryConnectionRequest || {}); - - v1.QueryConnectionResponse = (function(QueryConnectionResponse) { - - /** - * Properties of a QueryConnectionResponse. - * @memberof ibc.core.connection.v1 - * @interface IQueryConnectionResponse - * @property {ibc.core.connection.v1.IConnectionEnd|null} [connection] QueryConnectionResponse connection - * @property {Uint8Array|null} [proof] QueryConnectionResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryConnectionResponse proofHeight - */ - - /** - * Constructs a new QueryConnectionResponse. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a QueryConnectionResponse. - * @implements IQueryConnectionResponse - * @constructor - * @param {ibc.core.connection.v1.IQueryConnectionResponse=} [properties] Properties to set - */ - function QueryConnectionResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConnectionResponse connection. - * @member {ibc.core.connection.v1.IConnectionEnd|null|undefined} connection - * @memberof ibc.core.connection.v1.QueryConnectionResponse - * @instance - */ - QueryConnectionResponse.prototype.connection = null; - - /** - * QueryConnectionResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.connection.v1.QueryConnectionResponse - * @instance - */ - QueryConnectionResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryConnectionResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.connection.v1.QueryConnectionResponse - * @instance - */ - QueryConnectionResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryConnectionResponse instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.QueryConnectionResponse - * @static - * @param {ibc.core.connection.v1.IQueryConnectionResponse=} [properties] Properties to set - * @returns {ibc.core.connection.v1.QueryConnectionResponse} QueryConnectionResponse instance - */ - QueryConnectionResponse.create = function create(properties) { - return new QueryConnectionResponse(properties); - }; - - /** - * Encodes the specified QueryConnectionResponse message. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.QueryConnectionResponse - * @static - * @param {ibc.core.connection.v1.IQueryConnectionResponse} message QueryConnectionResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.connection != null && Object.hasOwnProperty.call(message, "connection")) - $root.ibc.core.connection.v1.ConnectionEnd.encode(message.connection, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryConnectionResponse message, length delimited. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionResponse - * @static - * @param {ibc.core.connection.v1.IQueryConnectionResponse} message QueryConnectionResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConnectionResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.QueryConnectionResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.QueryConnectionResponse} QueryConnectionResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.QueryConnectionResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.connection = $root.ibc.core.connection.v1.ConnectionEnd.decode(reader, reader.uint32()); - break; - case 2: - message.proof = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConnectionResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.QueryConnectionResponse} QueryConnectionResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConnectionResponse message. - * @function verify - * @memberof ibc.core.connection.v1.QueryConnectionResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConnectionResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.connection != null && message.hasOwnProperty("connection")) { - let error = $root.ibc.core.connection.v1.ConnectionEnd.verify(message.connection); - if (error) - return "connection." + error; - } - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryConnectionResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.QueryConnectionResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.QueryConnectionResponse} QueryConnectionResponse - */ - QueryConnectionResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.QueryConnectionResponse) - return object; - let message = new $root.ibc.core.connection.v1.QueryConnectionResponse(); - if (object.connection != null) { - if (typeof object.connection !== "object") - throw TypeError(".ibc.core.connection.v1.QueryConnectionResponse.connection: object expected"); - message.connection = $root.ibc.core.connection.v1.ConnectionEnd.fromObject(object.connection); - } - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.connection.v1.QueryConnectionResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryConnectionResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.QueryConnectionResponse - * @static - * @param {ibc.core.connection.v1.QueryConnectionResponse} message QueryConnectionResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConnectionResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.connection = null; - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.connection != null && message.hasOwnProperty("connection")) - object.connection = $root.ibc.core.connection.v1.ConnectionEnd.toObject(message.connection, options); - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryConnectionResponse to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.QueryConnectionResponse - * @instance - * @returns {Object.} JSON object - */ - QueryConnectionResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConnectionResponse; - })(v1.QueryConnectionResponse || {}); - - v1.QueryConnectionsRequest = (function(QueryConnectionsRequest) { - - /** - * Properties of a QueryConnectionsRequest. - * @memberof ibc.core.connection.v1 - * @interface IQueryConnectionsRequest - * @property {cosmos.base.query.v1beta1.IPageRequest|null} [pagination] QueryConnectionsRequest pagination - */ - - /** - * Constructs a new QueryConnectionsRequest. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a QueryConnectionsRequest. - * @implements IQueryConnectionsRequest - * @constructor - * @param {ibc.core.connection.v1.IQueryConnectionsRequest=} [properties] Properties to set - */ - function QueryConnectionsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConnectionsRequest pagination. - * @member {cosmos.base.query.v1beta1.IPageRequest|null|undefined} pagination - * @memberof ibc.core.connection.v1.QueryConnectionsRequest - * @instance - */ - QueryConnectionsRequest.prototype.pagination = null; - - /** - * Creates a new QueryConnectionsRequest instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.QueryConnectionsRequest - * @static - * @param {ibc.core.connection.v1.IQueryConnectionsRequest=} [properties] Properties to set - * @returns {ibc.core.connection.v1.QueryConnectionsRequest} QueryConnectionsRequest instance - */ - QueryConnectionsRequest.create = function create(properties) { - return new QueryConnectionsRequest(properties); - }; - - /** - * Encodes the specified QueryConnectionsRequest message. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionsRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.QueryConnectionsRequest - * @static - * @param {ibc.core.connection.v1.IQueryConnectionsRequest} message QueryConnectionsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageRequest.encode(message.pagination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryConnectionsRequest message, length delimited. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionsRequest - * @static - * @param {ibc.core.connection.v1.IQueryConnectionsRequest} message QueryConnectionsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConnectionsRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.QueryConnectionsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.QueryConnectionsRequest} QueryConnectionsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.QueryConnectionsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConnectionsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.QueryConnectionsRequest} QueryConnectionsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConnectionsRequest message. - * @function verify - * @memberof ibc.core.connection.v1.QueryConnectionsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConnectionsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageRequest.verify(message.pagination); - if (error) - return "pagination." + error; - } - return null; - }; - - /** - * Creates a QueryConnectionsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.QueryConnectionsRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.QueryConnectionsRequest} QueryConnectionsRequest - */ - QueryConnectionsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.QueryConnectionsRequest) - return object; - let message = new $root.ibc.core.connection.v1.QueryConnectionsRequest(); - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.connection.v1.QueryConnectionsRequest.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageRequest.fromObject(object.pagination); - } - return message; - }; - - /** - * Creates a plain object from a QueryConnectionsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.QueryConnectionsRequest - * @static - * @param {ibc.core.connection.v1.QueryConnectionsRequest} message QueryConnectionsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConnectionsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.pagination = null; - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageRequest.toObject(message.pagination, options); - return object; - }; - - /** - * Converts this QueryConnectionsRequest to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.QueryConnectionsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryConnectionsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConnectionsRequest; - })(v1.QueryConnectionsRequest || {}); - - v1.QueryConnectionsResponse = (function(QueryConnectionsResponse) { - - /** - * Properties of a QueryConnectionsResponse. - * @memberof ibc.core.connection.v1 - * @interface IQueryConnectionsResponse - * @property {Array.|null} [connections] QueryConnectionsResponse connections - * @property {cosmos.base.query.v1beta1.IPageResponse|null} [pagination] QueryConnectionsResponse pagination - * @property {ibc.core.client.v1.IHeight|null} [height] QueryConnectionsResponse height - */ - - /** - * Constructs a new QueryConnectionsResponse. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a QueryConnectionsResponse. - * @implements IQueryConnectionsResponse - * @constructor - * @param {ibc.core.connection.v1.IQueryConnectionsResponse=} [properties] Properties to set - */ - function QueryConnectionsResponse(properties) { - this.connections = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConnectionsResponse connections. - * @member {Array.} connections - * @memberof ibc.core.connection.v1.QueryConnectionsResponse - * @instance - */ - QueryConnectionsResponse.prototype.connections = $util.emptyArray; - - /** - * QueryConnectionsResponse pagination. - * @member {cosmos.base.query.v1beta1.IPageResponse|null|undefined} pagination - * @memberof ibc.core.connection.v1.QueryConnectionsResponse - * @instance - */ - QueryConnectionsResponse.prototype.pagination = null; - - /** - * QueryConnectionsResponse height. - * @member {ibc.core.client.v1.IHeight|null|undefined} height - * @memberof ibc.core.connection.v1.QueryConnectionsResponse - * @instance - */ - QueryConnectionsResponse.prototype.height = null; - - /** - * Creates a new QueryConnectionsResponse instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.QueryConnectionsResponse - * @static - * @param {ibc.core.connection.v1.IQueryConnectionsResponse=} [properties] Properties to set - * @returns {ibc.core.connection.v1.QueryConnectionsResponse} QueryConnectionsResponse instance - */ - QueryConnectionsResponse.create = function create(properties) { - return new QueryConnectionsResponse(properties); - }; - - /** - * Encodes the specified QueryConnectionsResponse message. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionsResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.QueryConnectionsResponse - * @static - * @param {ibc.core.connection.v1.IQueryConnectionsResponse} message QueryConnectionsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.connections != null && message.connections.length) - for (let i = 0; i < message.connections.length; ++i) - $root.ibc.core.connection.v1.IdentifiedConnection.encode(message.connections[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.pagination != null && Object.hasOwnProperty.call(message, "pagination")) - $root.cosmos.base.query.v1beta1.PageResponse.encode(message.pagination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - $root.ibc.core.client.v1.Height.encode(message.height, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryConnectionsResponse message, length delimited. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionsResponse - * @static - * @param {ibc.core.connection.v1.IQueryConnectionsResponse} message QueryConnectionsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConnectionsResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.QueryConnectionsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.QueryConnectionsResponse} QueryConnectionsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.QueryConnectionsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.connections && message.connections.length)) - message.connections = []; - message.connections.push($root.ibc.core.connection.v1.IdentifiedConnection.decode(reader, reader.uint32())); - break; - case 2: - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.decode(reader, reader.uint32()); - break; - case 3: - message.height = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConnectionsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.QueryConnectionsResponse} QueryConnectionsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConnectionsResponse message. - * @function verify - * @memberof ibc.core.connection.v1.QueryConnectionsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConnectionsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.connections != null && message.hasOwnProperty("connections")) { - if (!Array.isArray(message.connections)) - return "connections: array expected"; - for (let i = 0; i < message.connections.length; ++i) { - let error = $root.ibc.core.connection.v1.IdentifiedConnection.verify(message.connections[i]); - if (error) - return "connections." + error; - } - } - if (message.pagination != null && message.hasOwnProperty("pagination")) { - let error = $root.cosmos.base.query.v1beta1.PageResponse.verify(message.pagination); - if (error) - return "pagination." + error; - } - if (message.height != null && message.hasOwnProperty("height")) { - let error = $root.ibc.core.client.v1.Height.verify(message.height); - if (error) - return "height." + error; - } - return null; - }; - - /** - * Creates a QueryConnectionsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.QueryConnectionsResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.QueryConnectionsResponse} QueryConnectionsResponse - */ - QueryConnectionsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.QueryConnectionsResponse) - return object; - let message = new $root.ibc.core.connection.v1.QueryConnectionsResponse(); - if (object.connections) { - if (!Array.isArray(object.connections)) - throw TypeError(".ibc.core.connection.v1.QueryConnectionsResponse.connections: array expected"); - message.connections = []; - for (let i = 0; i < object.connections.length; ++i) { - if (typeof object.connections[i] !== "object") - throw TypeError(".ibc.core.connection.v1.QueryConnectionsResponse.connections: object expected"); - message.connections[i] = $root.ibc.core.connection.v1.IdentifiedConnection.fromObject(object.connections[i]); - } - } - if (object.pagination != null) { - if (typeof object.pagination !== "object") - throw TypeError(".ibc.core.connection.v1.QueryConnectionsResponse.pagination: object expected"); - message.pagination = $root.cosmos.base.query.v1beta1.PageResponse.fromObject(object.pagination); - } - if (object.height != null) { - if (typeof object.height !== "object") - throw TypeError(".ibc.core.connection.v1.QueryConnectionsResponse.height: object expected"); - message.height = $root.ibc.core.client.v1.Height.fromObject(object.height); - } - return message; - }; - - /** - * Creates a plain object from a QueryConnectionsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.QueryConnectionsResponse - * @static - * @param {ibc.core.connection.v1.QueryConnectionsResponse} message QueryConnectionsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConnectionsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.connections = []; - if (options.defaults) { - object.pagination = null; - object.height = null; - } - if (message.connections && message.connections.length) { - object.connections = []; - for (let j = 0; j < message.connections.length; ++j) - object.connections[j] = $root.ibc.core.connection.v1.IdentifiedConnection.toObject(message.connections[j], options); - } - if (message.pagination != null && message.hasOwnProperty("pagination")) - object.pagination = $root.cosmos.base.query.v1beta1.PageResponse.toObject(message.pagination, options); - if (message.height != null && message.hasOwnProperty("height")) - object.height = $root.ibc.core.client.v1.Height.toObject(message.height, options); - return object; - }; - - /** - * Converts this QueryConnectionsResponse to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.QueryConnectionsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryConnectionsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConnectionsResponse; - })(v1.QueryConnectionsResponse || {}); - - v1.QueryClientConnectionsRequest = (function(QueryClientConnectionsRequest) { - - /** - * Properties of a QueryClientConnectionsRequest. - * @memberof ibc.core.connection.v1 - * @interface IQueryClientConnectionsRequest - * @property {string|null} [clientId] QueryClientConnectionsRequest clientId - */ - - /** - * Constructs a new QueryClientConnectionsRequest. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a QueryClientConnectionsRequest. - * @implements IQueryClientConnectionsRequest - * @constructor - * @param {ibc.core.connection.v1.IQueryClientConnectionsRequest=} [properties] Properties to set - */ - function QueryClientConnectionsRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryClientConnectionsRequest clientId. - * @member {string} clientId - * @memberof ibc.core.connection.v1.QueryClientConnectionsRequest - * @instance - */ - QueryClientConnectionsRequest.prototype.clientId = ""; - - /** - * Creates a new QueryClientConnectionsRequest instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.QueryClientConnectionsRequest - * @static - * @param {ibc.core.connection.v1.IQueryClientConnectionsRequest=} [properties] Properties to set - * @returns {ibc.core.connection.v1.QueryClientConnectionsRequest} QueryClientConnectionsRequest instance - */ - QueryClientConnectionsRequest.create = function create(properties) { - return new QueryClientConnectionsRequest(properties); - }; - - /** - * Encodes the specified QueryClientConnectionsRequest message. Does not implicitly {@link ibc.core.connection.v1.QueryClientConnectionsRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.QueryClientConnectionsRequest - * @static - * @param {ibc.core.connection.v1.IQueryClientConnectionsRequest} message QueryClientConnectionsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientConnectionsRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - return writer; - }; - - /** - * Encodes the specified QueryClientConnectionsRequest message, length delimited. Does not implicitly {@link ibc.core.connection.v1.QueryClientConnectionsRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.QueryClientConnectionsRequest - * @static - * @param {ibc.core.connection.v1.IQueryClientConnectionsRequest} message QueryClientConnectionsRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientConnectionsRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryClientConnectionsRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.QueryClientConnectionsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.QueryClientConnectionsRequest} QueryClientConnectionsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientConnectionsRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.QueryClientConnectionsRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryClientConnectionsRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.QueryClientConnectionsRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.QueryClientConnectionsRequest} QueryClientConnectionsRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientConnectionsRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryClientConnectionsRequest message. - * @function verify - * @memberof ibc.core.connection.v1.QueryClientConnectionsRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryClientConnectionsRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - return null; - }; - - /** - * Creates a QueryClientConnectionsRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.QueryClientConnectionsRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.QueryClientConnectionsRequest} QueryClientConnectionsRequest - */ - QueryClientConnectionsRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.QueryClientConnectionsRequest) - return object; - let message = new $root.ibc.core.connection.v1.QueryClientConnectionsRequest(); - if (object.clientId != null) - message.clientId = String(object.clientId); - return message; - }; - - /** - * Creates a plain object from a QueryClientConnectionsRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.QueryClientConnectionsRequest - * @static - * @param {ibc.core.connection.v1.QueryClientConnectionsRequest} message QueryClientConnectionsRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryClientConnectionsRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.clientId = ""; - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - return object; - }; - - /** - * Converts this QueryClientConnectionsRequest to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.QueryClientConnectionsRequest - * @instance - * @returns {Object.} JSON object - */ - QueryClientConnectionsRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryClientConnectionsRequest; - })(v1.QueryClientConnectionsRequest || {}); - - v1.QueryClientConnectionsResponse = (function(QueryClientConnectionsResponse) { - - /** - * Properties of a QueryClientConnectionsResponse. - * @memberof ibc.core.connection.v1 - * @interface IQueryClientConnectionsResponse - * @property {Array.|null} [connectionPaths] QueryClientConnectionsResponse connectionPaths - * @property {Uint8Array|null} [proof] QueryClientConnectionsResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryClientConnectionsResponse proofHeight - */ - - /** - * Constructs a new QueryClientConnectionsResponse. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a QueryClientConnectionsResponse. - * @implements IQueryClientConnectionsResponse - * @constructor - * @param {ibc.core.connection.v1.IQueryClientConnectionsResponse=} [properties] Properties to set - */ - function QueryClientConnectionsResponse(properties) { - this.connectionPaths = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryClientConnectionsResponse connectionPaths. - * @member {Array.} connectionPaths - * @memberof ibc.core.connection.v1.QueryClientConnectionsResponse - * @instance - */ - QueryClientConnectionsResponse.prototype.connectionPaths = $util.emptyArray; - - /** - * QueryClientConnectionsResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.connection.v1.QueryClientConnectionsResponse - * @instance - */ - QueryClientConnectionsResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryClientConnectionsResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.connection.v1.QueryClientConnectionsResponse - * @instance - */ - QueryClientConnectionsResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryClientConnectionsResponse instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.QueryClientConnectionsResponse - * @static - * @param {ibc.core.connection.v1.IQueryClientConnectionsResponse=} [properties] Properties to set - * @returns {ibc.core.connection.v1.QueryClientConnectionsResponse} QueryClientConnectionsResponse instance - */ - QueryClientConnectionsResponse.create = function create(properties) { - return new QueryClientConnectionsResponse(properties); - }; - - /** - * Encodes the specified QueryClientConnectionsResponse message. Does not implicitly {@link ibc.core.connection.v1.QueryClientConnectionsResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.QueryClientConnectionsResponse - * @static - * @param {ibc.core.connection.v1.IQueryClientConnectionsResponse} message QueryClientConnectionsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientConnectionsResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.connectionPaths != null && message.connectionPaths.length) - for (let i = 0; i < message.connectionPaths.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.connectionPaths[i]); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryClientConnectionsResponse message, length delimited. Does not implicitly {@link ibc.core.connection.v1.QueryClientConnectionsResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.QueryClientConnectionsResponse - * @static - * @param {ibc.core.connection.v1.IQueryClientConnectionsResponse} message QueryClientConnectionsResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryClientConnectionsResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryClientConnectionsResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.QueryClientConnectionsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.QueryClientConnectionsResponse} QueryClientConnectionsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientConnectionsResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.QueryClientConnectionsResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.connectionPaths && message.connectionPaths.length)) - message.connectionPaths = []; - message.connectionPaths.push(reader.string()); - break; - case 2: - message.proof = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryClientConnectionsResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.QueryClientConnectionsResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.QueryClientConnectionsResponse} QueryClientConnectionsResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryClientConnectionsResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryClientConnectionsResponse message. - * @function verify - * @memberof ibc.core.connection.v1.QueryClientConnectionsResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryClientConnectionsResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.connectionPaths != null && message.hasOwnProperty("connectionPaths")) { - if (!Array.isArray(message.connectionPaths)) - return "connectionPaths: array expected"; - for (let i = 0; i < message.connectionPaths.length; ++i) - if (!$util.isString(message.connectionPaths[i])) - return "connectionPaths: string[] expected"; - } - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryClientConnectionsResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.QueryClientConnectionsResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.QueryClientConnectionsResponse} QueryClientConnectionsResponse - */ - QueryClientConnectionsResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.QueryClientConnectionsResponse) - return object; - let message = new $root.ibc.core.connection.v1.QueryClientConnectionsResponse(); - if (object.connectionPaths) { - if (!Array.isArray(object.connectionPaths)) - throw TypeError(".ibc.core.connection.v1.QueryClientConnectionsResponse.connectionPaths: array expected"); - message.connectionPaths = []; - for (let i = 0; i < object.connectionPaths.length; ++i) - message.connectionPaths[i] = String(object.connectionPaths[i]); - } - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.connection.v1.QueryClientConnectionsResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryClientConnectionsResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.QueryClientConnectionsResponse - * @static - * @param {ibc.core.connection.v1.QueryClientConnectionsResponse} message QueryClientConnectionsResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryClientConnectionsResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.connectionPaths = []; - if (options.defaults) { - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.connectionPaths && message.connectionPaths.length) { - object.connectionPaths = []; - for (let j = 0; j < message.connectionPaths.length; ++j) - object.connectionPaths[j] = message.connectionPaths[j]; - } - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryClientConnectionsResponse to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.QueryClientConnectionsResponse - * @instance - * @returns {Object.} JSON object - */ - QueryClientConnectionsResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryClientConnectionsResponse; - })(v1.QueryClientConnectionsResponse || {}); - - v1.QueryConnectionClientStateRequest = (function(QueryConnectionClientStateRequest) { - - /** - * Properties of a QueryConnectionClientStateRequest. - * @memberof ibc.core.connection.v1 - * @interface IQueryConnectionClientStateRequest - * @property {string|null} [connectionId] QueryConnectionClientStateRequest connectionId - */ - - /** - * Constructs a new QueryConnectionClientStateRequest. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a QueryConnectionClientStateRequest. - * @implements IQueryConnectionClientStateRequest - * @constructor - * @param {ibc.core.connection.v1.IQueryConnectionClientStateRequest=} [properties] Properties to set - */ - function QueryConnectionClientStateRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConnectionClientStateRequest connectionId. - * @member {string} connectionId - * @memberof ibc.core.connection.v1.QueryConnectionClientStateRequest - * @instance - */ - QueryConnectionClientStateRequest.prototype.connectionId = ""; - - /** - * Creates a new QueryConnectionClientStateRequest instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.QueryConnectionClientStateRequest - * @static - * @param {ibc.core.connection.v1.IQueryConnectionClientStateRequest=} [properties] Properties to set - * @returns {ibc.core.connection.v1.QueryConnectionClientStateRequest} QueryConnectionClientStateRequest instance - */ - QueryConnectionClientStateRequest.create = function create(properties) { - return new QueryConnectionClientStateRequest(properties); - }; - - /** - * Encodes the specified QueryConnectionClientStateRequest message. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionClientStateRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.QueryConnectionClientStateRequest - * @static - * @param {ibc.core.connection.v1.IQueryConnectionClientStateRequest} message QueryConnectionClientStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionClientStateRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.connectionId != null && Object.hasOwnProperty.call(message, "connectionId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.connectionId); - return writer; - }; - - /** - * Encodes the specified QueryConnectionClientStateRequest message, length delimited. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionClientStateRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionClientStateRequest - * @static - * @param {ibc.core.connection.v1.IQueryConnectionClientStateRequest} message QueryConnectionClientStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionClientStateRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConnectionClientStateRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.QueryConnectionClientStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.QueryConnectionClientStateRequest} QueryConnectionClientStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionClientStateRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.QueryConnectionClientStateRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.connectionId = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConnectionClientStateRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionClientStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.QueryConnectionClientStateRequest} QueryConnectionClientStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionClientStateRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConnectionClientStateRequest message. - * @function verify - * @memberof ibc.core.connection.v1.QueryConnectionClientStateRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConnectionClientStateRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.connectionId != null && message.hasOwnProperty("connectionId")) - if (!$util.isString(message.connectionId)) - return "connectionId: string expected"; - return null; - }; - - /** - * Creates a QueryConnectionClientStateRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.QueryConnectionClientStateRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.QueryConnectionClientStateRequest} QueryConnectionClientStateRequest - */ - QueryConnectionClientStateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.QueryConnectionClientStateRequest) - return object; - let message = new $root.ibc.core.connection.v1.QueryConnectionClientStateRequest(); - if (object.connectionId != null) - message.connectionId = String(object.connectionId); - return message; - }; - - /** - * Creates a plain object from a QueryConnectionClientStateRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.QueryConnectionClientStateRequest - * @static - * @param {ibc.core.connection.v1.QueryConnectionClientStateRequest} message QueryConnectionClientStateRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConnectionClientStateRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.connectionId = ""; - if (message.connectionId != null && message.hasOwnProperty("connectionId")) - object.connectionId = message.connectionId; - return object; - }; - - /** - * Converts this QueryConnectionClientStateRequest to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.QueryConnectionClientStateRequest - * @instance - * @returns {Object.} JSON object - */ - QueryConnectionClientStateRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConnectionClientStateRequest; - })(v1.QueryConnectionClientStateRequest || {}); - - v1.QueryConnectionClientStateResponse = (function(QueryConnectionClientStateResponse) { - - /** - * Properties of a QueryConnectionClientStateResponse. - * @memberof ibc.core.connection.v1 - * @interface IQueryConnectionClientStateResponse - * @property {ibc.core.client.v1.IIdentifiedClientState|null} [identifiedClientState] QueryConnectionClientStateResponse identifiedClientState - * @property {Uint8Array|null} [proof] QueryConnectionClientStateResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryConnectionClientStateResponse proofHeight - */ - - /** - * Constructs a new QueryConnectionClientStateResponse. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a QueryConnectionClientStateResponse. - * @implements IQueryConnectionClientStateResponse - * @constructor - * @param {ibc.core.connection.v1.IQueryConnectionClientStateResponse=} [properties] Properties to set - */ - function QueryConnectionClientStateResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConnectionClientStateResponse identifiedClientState. - * @member {ibc.core.client.v1.IIdentifiedClientState|null|undefined} identifiedClientState - * @memberof ibc.core.connection.v1.QueryConnectionClientStateResponse - * @instance - */ - QueryConnectionClientStateResponse.prototype.identifiedClientState = null; - - /** - * QueryConnectionClientStateResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.connection.v1.QueryConnectionClientStateResponse - * @instance - */ - QueryConnectionClientStateResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryConnectionClientStateResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.connection.v1.QueryConnectionClientStateResponse - * @instance - */ - QueryConnectionClientStateResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryConnectionClientStateResponse instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.QueryConnectionClientStateResponse - * @static - * @param {ibc.core.connection.v1.IQueryConnectionClientStateResponse=} [properties] Properties to set - * @returns {ibc.core.connection.v1.QueryConnectionClientStateResponse} QueryConnectionClientStateResponse instance - */ - QueryConnectionClientStateResponse.create = function create(properties) { - return new QueryConnectionClientStateResponse(properties); - }; - - /** - * Encodes the specified QueryConnectionClientStateResponse message. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionClientStateResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.QueryConnectionClientStateResponse - * @static - * @param {ibc.core.connection.v1.IQueryConnectionClientStateResponse} message QueryConnectionClientStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionClientStateResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.identifiedClientState != null && Object.hasOwnProperty.call(message, "identifiedClientState")) - $root.ibc.core.client.v1.IdentifiedClientState.encode(message.identifiedClientState, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryConnectionClientStateResponse message, length delimited. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionClientStateResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionClientStateResponse - * @static - * @param {ibc.core.connection.v1.IQueryConnectionClientStateResponse} message QueryConnectionClientStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionClientStateResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConnectionClientStateResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.QueryConnectionClientStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.QueryConnectionClientStateResponse} QueryConnectionClientStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionClientStateResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.QueryConnectionClientStateResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.identifiedClientState = $root.ibc.core.client.v1.IdentifiedClientState.decode(reader, reader.uint32()); - break; - case 2: - message.proof = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConnectionClientStateResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionClientStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.QueryConnectionClientStateResponse} QueryConnectionClientStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionClientStateResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConnectionClientStateResponse message. - * @function verify - * @memberof ibc.core.connection.v1.QueryConnectionClientStateResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConnectionClientStateResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.identifiedClientState != null && message.hasOwnProperty("identifiedClientState")) { - let error = $root.ibc.core.client.v1.IdentifiedClientState.verify(message.identifiedClientState); - if (error) - return "identifiedClientState." + error; - } - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryConnectionClientStateResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.QueryConnectionClientStateResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.QueryConnectionClientStateResponse} QueryConnectionClientStateResponse - */ - QueryConnectionClientStateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.QueryConnectionClientStateResponse) - return object; - let message = new $root.ibc.core.connection.v1.QueryConnectionClientStateResponse(); - if (object.identifiedClientState != null) { - if (typeof object.identifiedClientState !== "object") - throw TypeError(".ibc.core.connection.v1.QueryConnectionClientStateResponse.identifiedClientState: object expected"); - message.identifiedClientState = $root.ibc.core.client.v1.IdentifiedClientState.fromObject(object.identifiedClientState); - } - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.connection.v1.QueryConnectionClientStateResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryConnectionClientStateResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.QueryConnectionClientStateResponse - * @static - * @param {ibc.core.connection.v1.QueryConnectionClientStateResponse} message QueryConnectionClientStateResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConnectionClientStateResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.identifiedClientState = null; - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.identifiedClientState != null && message.hasOwnProperty("identifiedClientState")) - object.identifiedClientState = $root.ibc.core.client.v1.IdentifiedClientState.toObject(message.identifiedClientState, options); - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryConnectionClientStateResponse to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.QueryConnectionClientStateResponse - * @instance - * @returns {Object.} JSON object - */ - QueryConnectionClientStateResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConnectionClientStateResponse; - })(v1.QueryConnectionClientStateResponse || {}); - - v1.QueryConnectionConsensusStateRequest = (function(QueryConnectionConsensusStateRequest) { - - /** - * Properties of a QueryConnectionConsensusStateRequest. - * @memberof ibc.core.connection.v1 - * @interface IQueryConnectionConsensusStateRequest - * @property {string|null} [connectionId] QueryConnectionConsensusStateRequest connectionId - * @property {number|Long|null} [revisionNumber] QueryConnectionConsensusStateRequest revisionNumber - * @property {number|Long|null} [revisionHeight] QueryConnectionConsensusStateRequest revisionHeight - */ - - /** - * Constructs a new QueryConnectionConsensusStateRequest. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a QueryConnectionConsensusStateRequest. - * @implements IQueryConnectionConsensusStateRequest - * @constructor - * @param {ibc.core.connection.v1.IQueryConnectionConsensusStateRequest=} [properties] Properties to set - */ - function QueryConnectionConsensusStateRequest(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConnectionConsensusStateRequest connectionId. - * @member {string} connectionId - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateRequest - * @instance - */ - QueryConnectionConsensusStateRequest.prototype.connectionId = ""; - - /** - * QueryConnectionConsensusStateRequest revisionNumber. - * @member {number|Long} revisionNumber - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateRequest - * @instance - */ - QueryConnectionConsensusStateRequest.prototype.revisionNumber = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * QueryConnectionConsensusStateRequest revisionHeight. - * @member {number|Long} revisionHeight - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateRequest - * @instance - */ - QueryConnectionConsensusStateRequest.prototype.revisionHeight = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new QueryConnectionConsensusStateRequest instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateRequest - * @static - * @param {ibc.core.connection.v1.IQueryConnectionConsensusStateRequest=} [properties] Properties to set - * @returns {ibc.core.connection.v1.QueryConnectionConsensusStateRequest} QueryConnectionConsensusStateRequest instance - */ - QueryConnectionConsensusStateRequest.create = function create(properties) { - return new QueryConnectionConsensusStateRequest(properties); - }; - - /** - * Encodes the specified QueryConnectionConsensusStateRequest message. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionConsensusStateRequest.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateRequest - * @static - * @param {ibc.core.connection.v1.IQueryConnectionConsensusStateRequest} message QueryConnectionConsensusStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionConsensusStateRequest.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.connectionId != null && Object.hasOwnProperty.call(message, "connectionId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.connectionId); - if (message.revisionNumber != null && Object.hasOwnProperty.call(message, "revisionNumber")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.revisionNumber); - if (message.revisionHeight != null && Object.hasOwnProperty.call(message, "revisionHeight")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.revisionHeight); - return writer; - }; - - /** - * Encodes the specified QueryConnectionConsensusStateRequest message, length delimited. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionConsensusStateRequest.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateRequest - * @static - * @param {ibc.core.connection.v1.IQueryConnectionConsensusStateRequest} message QueryConnectionConsensusStateRequest message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionConsensusStateRequest.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConnectionConsensusStateRequest message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.QueryConnectionConsensusStateRequest} QueryConnectionConsensusStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionConsensusStateRequest.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.QueryConnectionConsensusStateRequest(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.connectionId = reader.string(); - break; - case 2: - message.revisionNumber = reader.uint64(); - break; - case 3: - message.revisionHeight = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConnectionConsensusStateRequest message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateRequest - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.QueryConnectionConsensusStateRequest} QueryConnectionConsensusStateRequest - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionConsensusStateRequest.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConnectionConsensusStateRequest message. - * @function verify - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateRequest - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConnectionConsensusStateRequest.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.connectionId != null && message.hasOwnProperty("connectionId")) - if (!$util.isString(message.connectionId)) - return "connectionId: string expected"; - if (message.revisionNumber != null && message.hasOwnProperty("revisionNumber")) - if (!$util.isInteger(message.revisionNumber) && !(message.revisionNumber && $util.isInteger(message.revisionNumber.low) && $util.isInteger(message.revisionNumber.high))) - return "revisionNumber: integer|Long expected"; - if (message.revisionHeight != null && message.hasOwnProperty("revisionHeight")) - if (!$util.isInteger(message.revisionHeight) && !(message.revisionHeight && $util.isInteger(message.revisionHeight.low) && $util.isInteger(message.revisionHeight.high))) - return "revisionHeight: integer|Long expected"; - return null; - }; - - /** - * Creates a QueryConnectionConsensusStateRequest message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateRequest - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.QueryConnectionConsensusStateRequest} QueryConnectionConsensusStateRequest - */ - QueryConnectionConsensusStateRequest.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.QueryConnectionConsensusStateRequest) - return object; - let message = new $root.ibc.core.connection.v1.QueryConnectionConsensusStateRequest(); - if (object.connectionId != null) - message.connectionId = String(object.connectionId); - if (object.revisionNumber != null) - if ($util.Long) - (message.revisionNumber = $util.Long.fromValue(object.revisionNumber)).unsigned = true; - else if (typeof object.revisionNumber === "string") - message.revisionNumber = parseInt(object.revisionNumber, 10); - else if (typeof object.revisionNumber === "number") - message.revisionNumber = object.revisionNumber; - else if (typeof object.revisionNumber === "object") - message.revisionNumber = new $util.LongBits(object.revisionNumber.low >>> 0, object.revisionNumber.high >>> 0).toNumber(true); - if (object.revisionHeight != null) - if ($util.Long) - (message.revisionHeight = $util.Long.fromValue(object.revisionHeight)).unsigned = true; - else if (typeof object.revisionHeight === "string") - message.revisionHeight = parseInt(object.revisionHeight, 10); - else if (typeof object.revisionHeight === "number") - message.revisionHeight = object.revisionHeight; - else if (typeof object.revisionHeight === "object") - message.revisionHeight = new $util.LongBits(object.revisionHeight.low >>> 0, object.revisionHeight.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a QueryConnectionConsensusStateRequest message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateRequest - * @static - * @param {ibc.core.connection.v1.QueryConnectionConsensusStateRequest} message QueryConnectionConsensusStateRequest - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConnectionConsensusStateRequest.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.connectionId = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.revisionNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.revisionNumber = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.revisionHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.revisionHeight = options.longs === String ? "0" : 0; - } - if (message.connectionId != null && message.hasOwnProperty("connectionId")) - object.connectionId = message.connectionId; - if (message.revisionNumber != null && message.hasOwnProperty("revisionNumber")) - if (typeof message.revisionNumber === "number") - object.revisionNumber = options.longs === String ? String(message.revisionNumber) : message.revisionNumber; - else - object.revisionNumber = options.longs === String ? $util.Long.prototype.toString.call(message.revisionNumber) : options.longs === Number ? new $util.LongBits(message.revisionNumber.low >>> 0, message.revisionNumber.high >>> 0).toNumber(true) : message.revisionNumber; - if (message.revisionHeight != null && message.hasOwnProperty("revisionHeight")) - if (typeof message.revisionHeight === "number") - object.revisionHeight = options.longs === String ? String(message.revisionHeight) : message.revisionHeight; - else - object.revisionHeight = options.longs === String ? $util.Long.prototype.toString.call(message.revisionHeight) : options.longs === Number ? new $util.LongBits(message.revisionHeight.low >>> 0, message.revisionHeight.high >>> 0).toNumber(true) : message.revisionHeight; - return object; - }; - - /** - * Converts this QueryConnectionConsensusStateRequest to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateRequest - * @instance - * @returns {Object.} JSON object - */ - QueryConnectionConsensusStateRequest.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConnectionConsensusStateRequest; - })(v1.QueryConnectionConsensusStateRequest || {}); - - v1.QueryConnectionConsensusStateResponse = (function(QueryConnectionConsensusStateResponse) { - - /** - * Properties of a QueryConnectionConsensusStateResponse. - * @memberof ibc.core.connection.v1 - * @interface IQueryConnectionConsensusStateResponse - * @property {google.protobuf.IAny|null} [consensusState] QueryConnectionConsensusStateResponse consensusState - * @property {string|null} [clientId] QueryConnectionConsensusStateResponse clientId - * @property {Uint8Array|null} [proof] QueryConnectionConsensusStateResponse proof - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] QueryConnectionConsensusStateResponse proofHeight - */ - - /** - * Constructs a new QueryConnectionConsensusStateResponse. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a QueryConnectionConsensusStateResponse. - * @implements IQueryConnectionConsensusStateResponse - * @constructor - * @param {ibc.core.connection.v1.IQueryConnectionConsensusStateResponse=} [properties] Properties to set - */ - function QueryConnectionConsensusStateResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * QueryConnectionConsensusStateResponse consensusState. - * @member {google.protobuf.IAny|null|undefined} consensusState - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @instance - */ - QueryConnectionConsensusStateResponse.prototype.consensusState = null; - - /** - * QueryConnectionConsensusStateResponse clientId. - * @member {string} clientId - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @instance - */ - QueryConnectionConsensusStateResponse.prototype.clientId = ""; - - /** - * QueryConnectionConsensusStateResponse proof. - * @member {Uint8Array} proof - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @instance - */ - QueryConnectionConsensusStateResponse.prototype.proof = $util.newBuffer([]); - - /** - * QueryConnectionConsensusStateResponse proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @instance - */ - QueryConnectionConsensusStateResponse.prototype.proofHeight = null; - - /** - * Creates a new QueryConnectionConsensusStateResponse instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @static - * @param {ibc.core.connection.v1.IQueryConnectionConsensusStateResponse=} [properties] Properties to set - * @returns {ibc.core.connection.v1.QueryConnectionConsensusStateResponse} QueryConnectionConsensusStateResponse instance - */ - QueryConnectionConsensusStateResponse.create = function create(properties) { - return new QueryConnectionConsensusStateResponse(properties); - }; - - /** - * Encodes the specified QueryConnectionConsensusStateResponse message. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionConsensusStateResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @static - * @param {ibc.core.connection.v1.IQueryConnectionConsensusStateResponse} message QueryConnectionConsensusStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionConsensusStateResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.consensusState != null && Object.hasOwnProperty.call(message, "consensusState")) - $root.google.protobuf.Any.encode(message.consensusState, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.clientId); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.proof); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified QueryConnectionConsensusStateResponse message, length delimited. Does not implicitly {@link ibc.core.connection.v1.QueryConnectionConsensusStateResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @static - * @param {ibc.core.connection.v1.IQueryConnectionConsensusStateResponse} message QueryConnectionConsensusStateResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - QueryConnectionConsensusStateResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a QueryConnectionConsensusStateResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.QueryConnectionConsensusStateResponse} QueryConnectionConsensusStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionConsensusStateResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.QueryConnectionConsensusStateResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.consensusState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 2: - message.clientId = reader.string(); - break; - case 3: - message.proof = reader.bytes(); - break; - case 4: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a QueryConnectionConsensusStateResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.QueryConnectionConsensusStateResponse} QueryConnectionConsensusStateResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - QueryConnectionConsensusStateResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a QueryConnectionConsensusStateResponse message. - * @function verify - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - QueryConnectionConsensusStateResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.consensusState != null && message.hasOwnProperty("consensusState")) { - let error = $root.google.protobuf.Any.verify(message.consensusState); - if (error) - return "consensusState." + error; - } - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.proof != null && message.hasOwnProperty("proof")) - if (!(message.proof && typeof message.proof.length === "number" || $util.isString(message.proof))) - return "proof: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - return null; - }; - - /** - * Creates a QueryConnectionConsensusStateResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.QueryConnectionConsensusStateResponse} QueryConnectionConsensusStateResponse - */ - QueryConnectionConsensusStateResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.QueryConnectionConsensusStateResponse) - return object; - let message = new $root.ibc.core.connection.v1.QueryConnectionConsensusStateResponse(); - if (object.consensusState != null) { - if (typeof object.consensusState !== "object") - throw TypeError(".ibc.core.connection.v1.QueryConnectionConsensusStateResponse.consensusState: object expected"); - message.consensusState = $root.google.protobuf.Any.fromObject(object.consensusState); - } - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.proof != null) - if (typeof object.proof === "string") - $util.base64.decode(object.proof, message.proof = $util.newBuffer($util.base64.length(object.proof)), 0); - else if (object.proof.length) - message.proof = object.proof; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.connection.v1.QueryConnectionConsensusStateResponse.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - return message; - }; - - /** - * Creates a plain object from a QueryConnectionConsensusStateResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @static - * @param {ibc.core.connection.v1.QueryConnectionConsensusStateResponse} message QueryConnectionConsensusStateResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - QueryConnectionConsensusStateResponse.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.consensusState = null; - object.clientId = ""; - if (options.bytes === String) - object.proof = ""; - else { - object.proof = []; - if (options.bytes !== Array) - object.proof = $util.newBuffer(object.proof); - } - object.proofHeight = null; - } - if (message.consensusState != null && message.hasOwnProperty("consensusState")) - object.consensusState = $root.google.protobuf.Any.toObject(message.consensusState, options); - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = options.bytes === String ? $util.base64.encode(message.proof, 0, message.proof.length) : options.bytes === Array ? Array.prototype.slice.call(message.proof) : message.proof; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - return object; - }; - - /** - * Converts this QueryConnectionConsensusStateResponse to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.QueryConnectionConsensusStateResponse - * @instance - * @returns {Object.} JSON object - */ - QueryConnectionConsensusStateResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return QueryConnectionConsensusStateResponse; - })(v1.QueryConnectionConsensusStateResponse || {}); - - v1.Msg = (function(Msg) { - - /** - * Constructs a new Msg service. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a Msg - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function Msg(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (Msg.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Msg; - - /** - * Creates new Msg service using the specified rpc implementation. - * @function create - * @memberof ibc.core.connection.v1.Msg - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {Msg} RPC service. Useful where requests and/or responses are streamed. - */ - Msg.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link ibc.core.connection.v1.Msg#connectionOpenInit}. - * @memberof ibc.core.connection.v1.Msg - * @typedef ConnectionOpenInitCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.connection.v1.IMsgConnectionOpenInitResponse} [response] MsgConnectionOpenInitResponse - */ - - /** - * Calls ConnectionOpenInit. - * @function connectionOpenInit - * @memberof ibc.core.connection.v1.Msg - * @instance - * @param {ibc.core.connection.v1.IMsgConnectionOpenInit} request MsgConnectionOpenInit message or plain object - * @param {ibc.core.connection.v1.Msg.ConnectionOpenInitCallback} callback Node-style callback called with the error, if any, and MsgConnectionOpenInitResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.connectionOpenInit = function connectionOpenInit(request, callback) { - return this.rpcCall(connectionOpenInit, $root.ibc.core.connection.v1.MsgConnectionOpenInit, $root.ibc.core.connection.v1.MsgConnectionOpenInitResponse, request, callback); - }, "name", { value: "ConnectionOpenInit" }); - - /** - * Calls ConnectionOpenInit. - * @function connectionOpenInit - * @memberof ibc.core.connection.v1.Msg - * @instance - * @param {ibc.core.connection.v1.IMsgConnectionOpenInit} request MsgConnectionOpenInit message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.connection.v1.Msg#connectionOpenTry}. - * @memberof ibc.core.connection.v1.Msg - * @typedef ConnectionOpenTryCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.connection.v1.IMsgConnectionOpenTryResponse} [response] MsgConnectionOpenTryResponse - */ - - /** - * Calls ConnectionOpenTry. - * @function connectionOpenTry - * @memberof ibc.core.connection.v1.Msg - * @instance - * @param {ibc.core.connection.v1.IMsgConnectionOpenTry} request MsgConnectionOpenTry message or plain object - * @param {ibc.core.connection.v1.Msg.ConnectionOpenTryCallback} callback Node-style callback called with the error, if any, and MsgConnectionOpenTryResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.connectionOpenTry = function connectionOpenTry(request, callback) { - return this.rpcCall(connectionOpenTry, $root.ibc.core.connection.v1.MsgConnectionOpenTry, $root.ibc.core.connection.v1.MsgConnectionOpenTryResponse, request, callback); - }, "name", { value: "ConnectionOpenTry" }); - - /** - * Calls ConnectionOpenTry. - * @function connectionOpenTry - * @memberof ibc.core.connection.v1.Msg - * @instance - * @param {ibc.core.connection.v1.IMsgConnectionOpenTry} request MsgConnectionOpenTry message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.connection.v1.Msg#connectionOpenAck}. - * @memberof ibc.core.connection.v1.Msg - * @typedef ConnectionOpenAckCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.connection.v1.IMsgConnectionOpenAckResponse} [response] MsgConnectionOpenAckResponse - */ - - /** - * Calls ConnectionOpenAck. - * @function connectionOpenAck - * @memberof ibc.core.connection.v1.Msg - * @instance - * @param {ibc.core.connection.v1.IMsgConnectionOpenAck} request MsgConnectionOpenAck message or plain object - * @param {ibc.core.connection.v1.Msg.ConnectionOpenAckCallback} callback Node-style callback called with the error, if any, and MsgConnectionOpenAckResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.connectionOpenAck = function connectionOpenAck(request, callback) { - return this.rpcCall(connectionOpenAck, $root.ibc.core.connection.v1.MsgConnectionOpenAck, $root.ibc.core.connection.v1.MsgConnectionOpenAckResponse, request, callback); - }, "name", { value: "ConnectionOpenAck" }); - - /** - * Calls ConnectionOpenAck. - * @function connectionOpenAck - * @memberof ibc.core.connection.v1.Msg - * @instance - * @param {ibc.core.connection.v1.IMsgConnectionOpenAck} request MsgConnectionOpenAck message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link ibc.core.connection.v1.Msg#connectionOpenConfirm}. - * @memberof ibc.core.connection.v1.Msg - * @typedef ConnectionOpenConfirmCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {ibc.core.connection.v1.IMsgConnectionOpenConfirmResponse} [response] MsgConnectionOpenConfirmResponse - */ - - /** - * Calls ConnectionOpenConfirm. - * @function connectionOpenConfirm - * @memberof ibc.core.connection.v1.Msg - * @instance - * @param {ibc.core.connection.v1.IMsgConnectionOpenConfirm} request MsgConnectionOpenConfirm message or plain object - * @param {ibc.core.connection.v1.Msg.ConnectionOpenConfirmCallback} callback Node-style callback called with the error, if any, and MsgConnectionOpenConfirmResponse - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(Msg.prototype.connectionOpenConfirm = function connectionOpenConfirm(request, callback) { - return this.rpcCall(connectionOpenConfirm, $root.ibc.core.connection.v1.MsgConnectionOpenConfirm, $root.ibc.core.connection.v1.MsgConnectionOpenConfirmResponse, request, callback); - }, "name", { value: "ConnectionOpenConfirm" }); - - /** - * Calls ConnectionOpenConfirm. - * @function connectionOpenConfirm - * @memberof ibc.core.connection.v1.Msg - * @instance - * @param {ibc.core.connection.v1.IMsgConnectionOpenConfirm} request MsgConnectionOpenConfirm message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return Msg; - })(v1.Msg || {}); - - v1.MsgConnectionOpenInit = (function(MsgConnectionOpenInit) { - - /** - * Properties of a MsgConnectionOpenInit. - * @memberof ibc.core.connection.v1 - * @interface IMsgConnectionOpenInit - * @property {string|null} [clientId] MsgConnectionOpenInit clientId - * @property {ibc.core.connection.v1.ICounterparty|null} [counterparty] MsgConnectionOpenInit counterparty - * @property {ibc.core.connection.v1.IVersion|null} [version] MsgConnectionOpenInit version - * @property {number|Long|null} [delayPeriod] MsgConnectionOpenInit delayPeriod - * @property {string|null} [signer] MsgConnectionOpenInit signer - */ - - /** - * Constructs a new MsgConnectionOpenInit. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a MsgConnectionOpenInit. - * @implements IMsgConnectionOpenInit - * @constructor - * @param {ibc.core.connection.v1.IMsgConnectionOpenInit=} [properties] Properties to set - */ - function MsgConnectionOpenInit(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgConnectionOpenInit clientId. - * @member {string} clientId - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @instance - */ - MsgConnectionOpenInit.prototype.clientId = ""; - - /** - * MsgConnectionOpenInit counterparty. - * @member {ibc.core.connection.v1.ICounterparty|null|undefined} counterparty - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @instance - */ - MsgConnectionOpenInit.prototype.counterparty = null; - - /** - * MsgConnectionOpenInit version. - * @member {ibc.core.connection.v1.IVersion|null|undefined} version - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @instance - */ - MsgConnectionOpenInit.prototype.version = null; - - /** - * MsgConnectionOpenInit delayPeriod. - * @member {number|Long} delayPeriod - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @instance - */ - MsgConnectionOpenInit.prototype.delayPeriod = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * MsgConnectionOpenInit signer. - * @member {string} signer - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @instance - */ - MsgConnectionOpenInit.prototype.signer = ""; - - /** - * Creates a new MsgConnectionOpenInit instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenInit=} [properties] Properties to set - * @returns {ibc.core.connection.v1.MsgConnectionOpenInit} MsgConnectionOpenInit instance - */ - MsgConnectionOpenInit.create = function create(properties) { - return new MsgConnectionOpenInit(properties); - }; - - /** - * Encodes the specified MsgConnectionOpenInit message. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenInit.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenInit} message MsgConnectionOpenInit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenInit.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.counterparty != null && Object.hasOwnProperty.call(message, "counterparty")) - $root.ibc.core.connection.v1.Counterparty.encode(message.counterparty, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - $root.ibc.core.connection.v1.Version.encode(message.version, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.delayPeriod != null && Object.hasOwnProperty.call(message, "delayPeriod")) - writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.delayPeriod); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgConnectionOpenInit message, length delimited. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenInit.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenInit} message MsgConnectionOpenInit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenInit.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgConnectionOpenInit message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.MsgConnectionOpenInit} MsgConnectionOpenInit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenInit.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.MsgConnectionOpenInit(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - message.counterparty = $root.ibc.core.connection.v1.Counterparty.decode(reader, reader.uint32()); - break; - case 3: - message.version = $root.ibc.core.connection.v1.Version.decode(reader, reader.uint32()); - break; - case 4: - message.delayPeriod = reader.uint64(); - break; - case 5: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgConnectionOpenInit message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.MsgConnectionOpenInit} MsgConnectionOpenInit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenInit.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgConnectionOpenInit message. - * @function verify - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgConnectionOpenInit.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.counterparty != null && message.hasOwnProperty("counterparty")) { - let error = $root.ibc.core.connection.v1.Counterparty.verify(message.counterparty); - if (error) - return "counterparty." + error; - } - if (message.version != null && message.hasOwnProperty("version")) { - let error = $root.ibc.core.connection.v1.Version.verify(message.version); - if (error) - return "version." + error; - } - if (message.delayPeriod != null && message.hasOwnProperty("delayPeriod")) - if (!$util.isInteger(message.delayPeriod) && !(message.delayPeriod && $util.isInteger(message.delayPeriod.low) && $util.isInteger(message.delayPeriod.high))) - return "delayPeriod: integer|Long expected"; - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgConnectionOpenInit message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.MsgConnectionOpenInit} MsgConnectionOpenInit - */ - MsgConnectionOpenInit.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.MsgConnectionOpenInit) - return object; - let message = new $root.ibc.core.connection.v1.MsgConnectionOpenInit(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.counterparty != null) { - if (typeof object.counterparty !== "object") - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenInit.counterparty: object expected"); - message.counterparty = $root.ibc.core.connection.v1.Counterparty.fromObject(object.counterparty); - } - if (object.version != null) { - if (typeof object.version !== "object") - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenInit.version: object expected"); - message.version = $root.ibc.core.connection.v1.Version.fromObject(object.version); - } - if (object.delayPeriod != null) - if ($util.Long) - (message.delayPeriod = $util.Long.fromValue(object.delayPeriod)).unsigned = true; - else if (typeof object.delayPeriod === "string") - message.delayPeriod = parseInt(object.delayPeriod, 10); - else if (typeof object.delayPeriod === "number") - message.delayPeriod = object.delayPeriod; - else if (typeof object.delayPeriod === "object") - message.delayPeriod = new $util.LongBits(object.delayPeriod.low >>> 0, object.delayPeriod.high >>> 0).toNumber(true); - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgConnectionOpenInit message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @static - * @param {ibc.core.connection.v1.MsgConnectionOpenInit} message MsgConnectionOpenInit - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgConnectionOpenInit.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.clientId = ""; - object.counterparty = null; - object.version = null; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.delayPeriod = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.delayPeriod = options.longs === String ? "0" : 0; - object.signer = ""; - } - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.counterparty != null && message.hasOwnProperty("counterparty")) - object.counterparty = $root.ibc.core.connection.v1.Counterparty.toObject(message.counterparty, options); - if (message.version != null && message.hasOwnProperty("version")) - object.version = $root.ibc.core.connection.v1.Version.toObject(message.version, options); - if (message.delayPeriod != null && message.hasOwnProperty("delayPeriod")) - if (typeof message.delayPeriod === "number") - object.delayPeriod = options.longs === String ? String(message.delayPeriod) : message.delayPeriod; - else - object.delayPeriod = options.longs === String ? $util.Long.prototype.toString.call(message.delayPeriod) : options.longs === Number ? new $util.LongBits(message.delayPeriod.low >>> 0, message.delayPeriod.high >>> 0).toNumber(true) : message.delayPeriod; - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgConnectionOpenInit to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.MsgConnectionOpenInit - * @instance - * @returns {Object.} JSON object - */ - MsgConnectionOpenInit.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgConnectionOpenInit; - })(v1.MsgConnectionOpenInit || {}); - - v1.MsgConnectionOpenInitResponse = (function(MsgConnectionOpenInitResponse) { - - /** - * Properties of a MsgConnectionOpenInitResponse. - * @memberof ibc.core.connection.v1 - * @interface IMsgConnectionOpenInitResponse - */ - - /** - * Constructs a new MsgConnectionOpenInitResponse. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a MsgConnectionOpenInitResponse. - * @implements IMsgConnectionOpenInitResponse - * @constructor - * @param {ibc.core.connection.v1.IMsgConnectionOpenInitResponse=} [properties] Properties to set - */ - function MsgConnectionOpenInitResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgConnectionOpenInitResponse instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.MsgConnectionOpenInitResponse - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenInitResponse=} [properties] Properties to set - * @returns {ibc.core.connection.v1.MsgConnectionOpenInitResponse} MsgConnectionOpenInitResponse instance - */ - MsgConnectionOpenInitResponse.create = function create(properties) { - return new MsgConnectionOpenInitResponse(properties); - }; - - /** - * Encodes the specified MsgConnectionOpenInitResponse message. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenInitResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.MsgConnectionOpenInitResponse - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenInitResponse} message MsgConnectionOpenInitResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenInitResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgConnectionOpenInitResponse message, length delimited. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenInitResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenInitResponse - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenInitResponse} message MsgConnectionOpenInitResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenInitResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgConnectionOpenInitResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.MsgConnectionOpenInitResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.MsgConnectionOpenInitResponse} MsgConnectionOpenInitResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenInitResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.MsgConnectionOpenInitResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgConnectionOpenInitResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenInitResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.MsgConnectionOpenInitResponse} MsgConnectionOpenInitResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenInitResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgConnectionOpenInitResponse message. - * @function verify - * @memberof ibc.core.connection.v1.MsgConnectionOpenInitResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgConnectionOpenInitResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgConnectionOpenInitResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenInitResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.MsgConnectionOpenInitResponse} MsgConnectionOpenInitResponse - */ - MsgConnectionOpenInitResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.MsgConnectionOpenInitResponse) - return object; - return new $root.ibc.core.connection.v1.MsgConnectionOpenInitResponse(); - }; - - /** - * Creates a plain object from a MsgConnectionOpenInitResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenInitResponse - * @static - * @param {ibc.core.connection.v1.MsgConnectionOpenInitResponse} message MsgConnectionOpenInitResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgConnectionOpenInitResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgConnectionOpenInitResponse to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.MsgConnectionOpenInitResponse - * @instance - * @returns {Object.} JSON object - */ - MsgConnectionOpenInitResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgConnectionOpenInitResponse; - })(v1.MsgConnectionOpenInitResponse || {}); - - v1.MsgConnectionOpenTry = (function(MsgConnectionOpenTry) { - - /** - * Properties of a MsgConnectionOpenTry. - * @memberof ibc.core.connection.v1 - * @interface IMsgConnectionOpenTry - * @property {string|null} [clientId] MsgConnectionOpenTry clientId - * @property {string|null} [previousConnectionId] MsgConnectionOpenTry previousConnectionId - * @property {google.protobuf.IAny|null} [clientState] MsgConnectionOpenTry clientState - * @property {ibc.core.connection.v1.ICounterparty|null} [counterparty] MsgConnectionOpenTry counterparty - * @property {number|Long|null} [delayPeriod] MsgConnectionOpenTry delayPeriod - * @property {Array.|null} [counterpartyVersions] MsgConnectionOpenTry counterpartyVersions - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] MsgConnectionOpenTry proofHeight - * @property {Uint8Array|null} [proofInit] MsgConnectionOpenTry proofInit - * @property {Uint8Array|null} [proofClient] MsgConnectionOpenTry proofClient - * @property {Uint8Array|null} [proofConsensus] MsgConnectionOpenTry proofConsensus - * @property {ibc.core.client.v1.IHeight|null} [consensusHeight] MsgConnectionOpenTry consensusHeight - * @property {string|null} [signer] MsgConnectionOpenTry signer - */ - - /** - * Constructs a new MsgConnectionOpenTry. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a MsgConnectionOpenTry. - * @implements IMsgConnectionOpenTry - * @constructor - * @param {ibc.core.connection.v1.IMsgConnectionOpenTry=} [properties] Properties to set - */ - function MsgConnectionOpenTry(properties) { - this.counterpartyVersions = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgConnectionOpenTry clientId. - * @member {string} clientId - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - */ - MsgConnectionOpenTry.prototype.clientId = ""; - - /** - * MsgConnectionOpenTry previousConnectionId. - * @member {string} previousConnectionId - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - */ - MsgConnectionOpenTry.prototype.previousConnectionId = ""; - - /** - * MsgConnectionOpenTry clientState. - * @member {google.protobuf.IAny|null|undefined} clientState - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - */ - MsgConnectionOpenTry.prototype.clientState = null; - - /** - * MsgConnectionOpenTry counterparty. - * @member {ibc.core.connection.v1.ICounterparty|null|undefined} counterparty - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - */ - MsgConnectionOpenTry.prototype.counterparty = null; - - /** - * MsgConnectionOpenTry delayPeriod. - * @member {number|Long} delayPeriod - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - */ - MsgConnectionOpenTry.prototype.delayPeriod = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * MsgConnectionOpenTry counterpartyVersions. - * @member {Array.} counterpartyVersions - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - */ - MsgConnectionOpenTry.prototype.counterpartyVersions = $util.emptyArray; - - /** - * MsgConnectionOpenTry proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - */ - MsgConnectionOpenTry.prototype.proofHeight = null; - - /** - * MsgConnectionOpenTry proofInit. - * @member {Uint8Array} proofInit - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - */ - MsgConnectionOpenTry.prototype.proofInit = $util.newBuffer([]); - - /** - * MsgConnectionOpenTry proofClient. - * @member {Uint8Array} proofClient - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - */ - MsgConnectionOpenTry.prototype.proofClient = $util.newBuffer([]); - - /** - * MsgConnectionOpenTry proofConsensus. - * @member {Uint8Array} proofConsensus - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - */ - MsgConnectionOpenTry.prototype.proofConsensus = $util.newBuffer([]); - - /** - * MsgConnectionOpenTry consensusHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} consensusHeight - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - */ - MsgConnectionOpenTry.prototype.consensusHeight = null; - - /** - * MsgConnectionOpenTry signer. - * @member {string} signer - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - */ - MsgConnectionOpenTry.prototype.signer = ""; - - /** - * Creates a new MsgConnectionOpenTry instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenTry=} [properties] Properties to set - * @returns {ibc.core.connection.v1.MsgConnectionOpenTry} MsgConnectionOpenTry instance - */ - MsgConnectionOpenTry.create = function create(properties) { - return new MsgConnectionOpenTry(properties); - }; - - /** - * Encodes the specified MsgConnectionOpenTry message. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenTry.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenTry} message MsgConnectionOpenTry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenTry.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientId != null && Object.hasOwnProperty.call(message, "clientId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.clientId); - if (message.previousConnectionId != null && Object.hasOwnProperty.call(message, "previousConnectionId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.previousConnectionId); - if (message.clientState != null && Object.hasOwnProperty.call(message, "clientState")) - $root.google.protobuf.Any.encode(message.clientState, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.counterparty != null && Object.hasOwnProperty.call(message, "counterparty")) - $root.ibc.core.connection.v1.Counterparty.encode(message.counterparty, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.delayPeriod != null && Object.hasOwnProperty.call(message, "delayPeriod")) - writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.delayPeriod); - if (message.counterpartyVersions != null && message.counterpartyVersions.length) - for (let i = 0; i < message.counterpartyVersions.length; ++i) - $root.ibc.core.connection.v1.Version.encode(message.counterpartyVersions[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.proofInit != null && Object.hasOwnProperty.call(message, "proofInit")) - writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.proofInit); - if (message.proofClient != null && Object.hasOwnProperty.call(message, "proofClient")) - writer.uint32(/* id 9, wireType 2 =*/74).bytes(message.proofClient); - if (message.proofConsensus != null && Object.hasOwnProperty.call(message, "proofConsensus")) - writer.uint32(/* id 10, wireType 2 =*/82).bytes(message.proofConsensus); - if (message.consensusHeight != null && Object.hasOwnProperty.call(message, "consensusHeight")) - $root.ibc.core.client.v1.Height.encode(message.consensusHeight, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 12, wireType 2 =*/98).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgConnectionOpenTry message, length delimited. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenTry.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenTry} message MsgConnectionOpenTry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenTry.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgConnectionOpenTry message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.MsgConnectionOpenTry} MsgConnectionOpenTry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenTry.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.MsgConnectionOpenTry(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientId = reader.string(); - break; - case 2: - message.previousConnectionId = reader.string(); - break; - case 3: - message.clientState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 4: - message.counterparty = $root.ibc.core.connection.v1.Counterparty.decode(reader, reader.uint32()); - break; - case 5: - message.delayPeriod = reader.uint64(); - break; - case 6: - if (!(message.counterpartyVersions && message.counterpartyVersions.length)) - message.counterpartyVersions = []; - message.counterpartyVersions.push($root.ibc.core.connection.v1.Version.decode(reader, reader.uint32())); - break; - case 7: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 8: - message.proofInit = reader.bytes(); - break; - case 9: - message.proofClient = reader.bytes(); - break; - case 10: - message.proofConsensus = reader.bytes(); - break; - case 11: - message.consensusHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 12: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgConnectionOpenTry message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.MsgConnectionOpenTry} MsgConnectionOpenTry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenTry.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgConnectionOpenTry message. - * @function verify - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgConnectionOpenTry.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientId != null && message.hasOwnProperty("clientId")) - if (!$util.isString(message.clientId)) - return "clientId: string expected"; - if (message.previousConnectionId != null && message.hasOwnProperty("previousConnectionId")) - if (!$util.isString(message.previousConnectionId)) - return "previousConnectionId: string expected"; - if (message.clientState != null && message.hasOwnProperty("clientState")) { - let error = $root.google.protobuf.Any.verify(message.clientState); - if (error) - return "clientState." + error; - } - if (message.counterparty != null && message.hasOwnProperty("counterparty")) { - let error = $root.ibc.core.connection.v1.Counterparty.verify(message.counterparty); - if (error) - return "counterparty." + error; - } - if (message.delayPeriod != null && message.hasOwnProperty("delayPeriod")) - if (!$util.isInteger(message.delayPeriod) && !(message.delayPeriod && $util.isInteger(message.delayPeriod.low) && $util.isInteger(message.delayPeriod.high))) - return "delayPeriod: integer|Long expected"; - if (message.counterpartyVersions != null && message.hasOwnProperty("counterpartyVersions")) { - if (!Array.isArray(message.counterpartyVersions)) - return "counterpartyVersions: array expected"; - for (let i = 0; i < message.counterpartyVersions.length; ++i) { - let error = $root.ibc.core.connection.v1.Version.verify(message.counterpartyVersions[i]); - if (error) - return "counterpartyVersions." + error; - } - } - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - if (message.proofInit != null && message.hasOwnProperty("proofInit")) - if (!(message.proofInit && typeof message.proofInit.length === "number" || $util.isString(message.proofInit))) - return "proofInit: buffer expected"; - if (message.proofClient != null && message.hasOwnProperty("proofClient")) - if (!(message.proofClient && typeof message.proofClient.length === "number" || $util.isString(message.proofClient))) - return "proofClient: buffer expected"; - if (message.proofConsensus != null && message.hasOwnProperty("proofConsensus")) - if (!(message.proofConsensus && typeof message.proofConsensus.length === "number" || $util.isString(message.proofConsensus))) - return "proofConsensus: buffer expected"; - if (message.consensusHeight != null && message.hasOwnProperty("consensusHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.consensusHeight); - if (error) - return "consensusHeight." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgConnectionOpenTry message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.MsgConnectionOpenTry} MsgConnectionOpenTry - */ - MsgConnectionOpenTry.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.MsgConnectionOpenTry) - return object; - let message = new $root.ibc.core.connection.v1.MsgConnectionOpenTry(); - if (object.clientId != null) - message.clientId = String(object.clientId); - if (object.previousConnectionId != null) - message.previousConnectionId = String(object.previousConnectionId); - if (object.clientState != null) { - if (typeof object.clientState !== "object") - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenTry.clientState: object expected"); - message.clientState = $root.google.protobuf.Any.fromObject(object.clientState); - } - if (object.counterparty != null) { - if (typeof object.counterparty !== "object") - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenTry.counterparty: object expected"); - message.counterparty = $root.ibc.core.connection.v1.Counterparty.fromObject(object.counterparty); - } - if (object.delayPeriod != null) - if ($util.Long) - (message.delayPeriod = $util.Long.fromValue(object.delayPeriod)).unsigned = true; - else if (typeof object.delayPeriod === "string") - message.delayPeriod = parseInt(object.delayPeriod, 10); - else if (typeof object.delayPeriod === "number") - message.delayPeriod = object.delayPeriod; - else if (typeof object.delayPeriod === "object") - message.delayPeriod = new $util.LongBits(object.delayPeriod.low >>> 0, object.delayPeriod.high >>> 0).toNumber(true); - if (object.counterpartyVersions) { - if (!Array.isArray(object.counterpartyVersions)) - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenTry.counterpartyVersions: array expected"); - message.counterpartyVersions = []; - for (let i = 0; i < object.counterpartyVersions.length; ++i) { - if (typeof object.counterpartyVersions[i] !== "object") - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenTry.counterpartyVersions: object expected"); - message.counterpartyVersions[i] = $root.ibc.core.connection.v1.Version.fromObject(object.counterpartyVersions[i]); - } - } - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenTry.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - if (object.proofInit != null) - if (typeof object.proofInit === "string") - $util.base64.decode(object.proofInit, message.proofInit = $util.newBuffer($util.base64.length(object.proofInit)), 0); - else if (object.proofInit.length) - message.proofInit = object.proofInit; - if (object.proofClient != null) - if (typeof object.proofClient === "string") - $util.base64.decode(object.proofClient, message.proofClient = $util.newBuffer($util.base64.length(object.proofClient)), 0); - else if (object.proofClient.length) - message.proofClient = object.proofClient; - if (object.proofConsensus != null) - if (typeof object.proofConsensus === "string") - $util.base64.decode(object.proofConsensus, message.proofConsensus = $util.newBuffer($util.base64.length(object.proofConsensus)), 0); - else if (object.proofConsensus.length) - message.proofConsensus = object.proofConsensus; - if (object.consensusHeight != null) { - if (typeof object.consensusHeight !== "object") - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenTry.consensusHeight: object expected"); - message.consensusHeight = $root.ibc.core.client.v1.Height.fromObject(object.consensusHeight); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgConnectionOpenTry message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @static - * @param {ibc.core.connection.v1.MsgConnectionOpenTry} message MsgConnectionOpenTry - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgConnectionOpenTry.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.counterpartyVersions = []; - if (options.defaults) { - object.clientId = ""; - object.previousConnectionId = ""; - object.clientState = null; - object.counterparty = null; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.delayPeriod = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.delayPeriod = options.longs === String ? "0" : 0; - object.proofHeight = null; - if (options.bytes === String) - object.proofInit = ""; - else { - object.proofInit = []; - if (options.bytes !== Array) - object.proofInit = $util.newBuffer(object.proofInit); - } - if (options.bytes === String) - object.proofClient = ""; - else { - object.proofClient = []; - if (options.bytes !== Array) - object.proofClient = $util.newBuffer(object.proofClient); - } - if (options.bytes === String) - object.proofConsensus = ""; - else { - object.proofConsensus = []; - if (options.bytes !== Array) - object.proofConsensus = $util.newBuffer(object.proofConsensus); - } - object.consensusHeight = null; - object.signer = ""; - } - if (message.clientId != null && message.hasOwnProperty("clientId")) - object.clientId = message.clientId; - if (message.previousConnectionId != null && message.hasOwnProperty("previousConnectionId")) - object.previousConnectionId = message.previousConnectionId; - if (message.clientState != null && message.hasOwnProperty("clientState")) - object.clientState = $root.google.protobuf.Any.toObject(message.clientState, options); - if (message.counterparty != null && message.hasOwnProperty("counterparty")) - object.counterparty = $root.ibc.core.connection.v1.Counterparty.toObject(message.counterparty, options); - if (message.delayPeriod != null && message.hasOwnProperty("delayPeriod")) - if (typeof message.delayPeriod === "number") - object.delayPeriod = options.longs === String ? String(message.delayPeriod) : message.delayPeriod; - else - object.delayPeriod = options.longs === String ? $util.Long.prototype.toString.call(message.delayPeriod) : options.longs === Number ? new $util.LongBits(message.delayPeriod.low >>> 0, message.delayPeriod.high >>> 0).toNumber(true) : message.delayPeriod; - if (message.counterpartyVersions && message.counterpartyVersions.length) { - object.counterpartyVersions = []; - for (let j = 0; j < message.counterpartyVersions.length; ++j) - object.counterpartyVersions[j] = $root.ibc.core.connection.v1.Version.toObject(message.counterpartyVersions[j], options); - } - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - if (message.proofInit != null && message.hasOwnProperty("proofInit")) - object.proofInit = options.bytes === String ? $util.base64.encode(message.proofInit, 0, message.proofInit.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofInit) : message.proofInit; - if (message.proofClient != null && message.hasOwnProperty("proofClient")) - object.proofClient = options.bytes === String ? $util.base64.encode(message.proofClient, 0, message.proofClient.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofClient) : message.proofClient; - if (message.proofConsensus != null && message.hasOwnProperty("proofConsensus")) - object.proofConsensus = options.bytes === String ? $util.base64.encode(message.proofConsensus, 0, message.proofConsensus.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofConsensus) : message.proofConsensus; - if (message.consensusHeight != null && message.hasOwnProperty("consensusHeight")) - object.consensusHeight = $root.ibc.core.client.v1.Height.toObject(message.consensusHeight, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgConnectionOpenTry to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.MsgConnectionOpenTry - * @instance - * @returns {Object.} JSON object - */ - MsgConnectionOpenTry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgConnectionOpenTry; - })(v1.MsgConnectionOpenTry || {}); - - v1.MsgConnectionOpenTryResponse = (function(MsgConnectionOpenTryResponse) { - - /** - * Properties of a MsgConnectionOpenTryResponse. - * @memberof ibc.core.connection.v1 - * @interface IMsgConnectionOpenTryResponse - */ - - /** - * Constructs a new MsgConnectionOpenTryResponse. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a MsgConnectionOpenTryResponse. - * @implements IMsgConnectionOpenTryResponse - * @constructor - * @param {ibc.core.connection.v1.IMsgConnectionOpenTryResponse=} [properties] Properties to set - */ - function MsgConnectionOpenTryResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgConnectionOpenTryResponse instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.MsgConnectionOpenTryResponse - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenTryResponse=} [properties] Properties to set - * @returns {ibc.core.connection.v1.MsgConnectionOpenTryResponse} MsgConnectionOpenTryResponse instance - */ - MsgConnectionOpenTryResponse.create = function create(properties) { - return new MsgConnectionOpenTryResponse(properties); - }; - - /** - * Encodes the specified MsgConnectionOpenTryResponse message. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenTryResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.MsgConnectionOpenTryResponse - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenTryResponse} message MsgConnectionOpenTryResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenTryResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgConnectionOpenTryResponse message, length delimited. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenTryResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenTryResponse - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenTryResponse} message MsgConnectionOpenTryResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenTryResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgConnectionOpenTryResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.MsgConnectionOpenTryResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.MsgConnectionOpenTryResponse} MsgConnectionOpenTryResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenTryResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.MsgConnectionOpenTryResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgConnectionOpenTryResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenTryResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.MsgConnectionOpenTryResponse} MsgConnectionOpenTryResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenTryResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgConnectionOpenTryResponse message. - * @function verify - * @memberof ibc.core.connection.v1.MsgConnectionOpenTryResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgConnectionOpenTryResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgConnectionOpenTryResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenTryResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.MsgConnectionOpenTryResponse} MsgConnectionOpenTryResponse - */ - MsgConnectionOpenTryResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.MsgConnectionOpenTryResponse) - return object; - return new $root.ibc.core.connection.v1.MsgConnectionOpenTryResponse(); - }; - - /** - * Creates a plain object from a MsgConnectionOpenTryResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenTryResponse - * @static - * @param {ibc.core.connection.v1.MsgConnectionOpenTryResponse} message MsgConnectionOpenTryResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgConnectionOpenTryResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgConnectionOpenTryResponse to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.MsgConnectionOpenTryResponse - * @instance - * @returns {Object.} JSON object - */ - MsgConnectionOpenTryResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgConnectionOpenTryResponse; - })(v1.MsgConnectionOpenTryResponse || {}); - - v1.MsgConnectionOpenAck = (function(MsgConnectionOpenAck) { - - /** - * Properties of a MsgConnectionOpenAck. - * @memberof ibc.core.connection.v1 - * @interface IMsgConnectionOpenAck - * @property {string|null} [connectionId] MsgConnectionOpenAck connectionId - * @property {string|null} [counterpartyConnectionId] MsgConnectionOpenAck counterpartyConnectionId - * @property {ibc.core.connection.v1.IVersion|null} [version] MsgConnectionOpenAck version - * @property {google.protobuf.IAny|null} [clientState] MsgConnectionOpenAck clientState - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] MsgConnectionOpenAck proofHeight - * @property {Uint8Array|null} [proofTry] MsgConnectionOpenAck proofTry - * @property {Uint8Array|null} [proofClient] MsgConnectionOpenAck proofClient - * @property {Uint8Array|null} [proofConsensus] MsgConnectionOpenAck proofConsensus - * @property {ibc.core.client.v1.IHeight|null} [consensusHeight] MsgConnectionOpenAck consensusHeight - * @property {string|null} [signer] MsgConnectionOpenAck signer - */ - - /** - * Constructs a new MsgConnectionOpenAck. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a MsgConnectionOpenAck. - * @implements IMsgConnectionOpenAck - * @constructor - * @param {ibc.core.connection.v1.IMsgConnectionOpenAck=} [properties] Properties to set - */ - function MsgConnectionOpenAck(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgConnectionOpenAck connectionId. - * @member {string} connectionId - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @instance - */ - MsgConnectionOpenAck.prototype.connectionId = ""; - - /** - * MsgConnectionOpenAck counterpartyConnectionId. - * @member {string} counterpartyConnectionId - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @instance - */ - MsgConnectionOpenAck.prototype.counterpartyConnectionId = ""; - - /** - * MsgConnectionOpenAck version. - * @member {ibc.core.connection.v1.IVersion|null|undefined} version - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @instance - */ - MsgConnectionOpenAck.prototype.version = null; - - /** - * MsgConnectionOpenAck clientState. - * @member {google.protobuf.IAny|null|undefined} clientState - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @instance - */ - MsgConnectionOpenAck.prototype.clientState = null; - - /** - * MsgConnectionOpenAck proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @instance - */ - MsgConnectionOpenAck.prototype.proofHeight = null; - - /** - * MsgConnectionOpenAck proofTry. - * @member {Uint8Array} proofTry - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @instance - */ - MsgConnectionOpenAck.prototype.proofTry = $util.newBuffer([]); - - /** - * MsgConnectionOpenAck proofClient. - * @member {Uint8Array} proofClient - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @instance - */ - MsgConnectionOpenAck.prototype.proofClient = $util.newBuffer([]); - - /** - * MsgConnectionOpenAck proofConsensus. - * @member {Uint8Array} proofConsensus - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @instance - */ - MsgConnectionOpenAck.prototype.proofConsensus = $util.newBuffer([]); - - /** - * MsgConnectionOpenAck consensusHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} consensusHeight - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @instance - */ - MsgConnectionOpenAck.prototype.consensusHeight = null; - - /** - * MsgConnectionOpenAck signer. - * @member {string} signer - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @instance - */ - MsgConnectionOpenAck.prototype.signer = ""; - - /** - * Creates a new MsgConnectionOpenAck instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenAck=} [properties] Properties to set - * @returns {ibc.core.connection.v1.MsgConnectionOpenAck} MsgConnectionOpenAck instance - */ - MsgConnectionOpenAck.create = function create(properties) { - return new MsgConnectionOpenAck(properties); - }; - - /** - * Encodes the specified MsgConnectionOpenAck message. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenAck.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenAck} message MsgConnectionOpenAck message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenAck.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.connectionId != null && Object.hasOwnProperty.call(message, "connectionId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.connectionId); - if (message.counterpartyConnectionId != null && Object.hasOwnProperty.call(message, "counterpartyConnectionId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.counterpartyConnectionId); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - $root.ibc.core.connection.v1.Version.encode(message.version, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.clientState != null && Object.hasOwnProperty.call(message, "clientState")) - $root.google.protobuf.Any.encode(message.clientState, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.proofTry != null && Object.hasOwnProperty.call(message, "proofTry")) - writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.proofTry); - if (message.proofClient != null && Object.hasOwnProperty.call(message, "proofClient")) - writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.proofClient); - if (message.proofConsensus != null && Object.hasOwnProperty.call(message, "proofConsensus")) - writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.proofConsensus); - if (message.consensusHeight != null && Object.hasOwnProperty.call(message, "consensusHeight")) - $root.ibc.core.client.v1.Height.encode(message.consensusHeight, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 10, wireType 2 =*/82).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgConnectionOpenAck message, length delimited. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenAck.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenAck} message MsgConnectionOpenAck message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenAck.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgConnectionOpenAck message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.MsgConnectionOpenAck} MsgConnectionOpenAck - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenAck.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.MsgConnectionOpenAck(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.connectionId = reader.string(); - break; - case 2: - message.counterpartyConnectionId = reader.string(); - break; - case 3: - message.version = $root.ibc.core.connection.v1.Version.decode(reader, reader.uint32()); - break; - case 4: - message.clientState = $root.google.protobuf.Any.decode(reader, reader.uint32()); - break; - case 5: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 6: - message.proofTry = reader.bytes(); - break; - case 7: - message.proofClient = reader.bytes(); - break; - case 8: - message.proofConsensus = reader.bytes(); - break; - case 9: - message.consensusHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 10: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgConnectionOpenAck message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.MsgConnectionOpenAck} MsgConnectionOpenAck - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenAck.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgConnectionOpenAck message. - * @function verify - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgConnectionOpenAck.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.connectionId != null && message.hasOwnProperty("connectionId")) - if (!$util.isString(message.connectionId)) - return "connectionId: string expected"; - if (message.counterpartyConnectionId != null && message.hasOwnProperty("counterpartyConnectionId")) - if (!$util.isString(message.counterpartyConnectionId)) - return "counterpartyConnectionId: string expected"; - if (message.version != null && message.hasOwnProperty("version")) { - let error = $root.ibc.core.connection.v1.Version.verify(message.version); - if (error) - return "version." + error; - } - if (message.clientState != null && message.hasOwnProperty("clientState")) { - let error = $root.google.protobuf.Any.verify(message.clientState); - if (error) - return "clientState." + error; - } - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - if (message.proofTry != null && message.hasOwnProperty("proofTry")) - if (!(message.proofTry && typeof message.proofTry.length === "number" || $util.isString(message.proofTry))) - return "proofTry: buffer expected"; - if (message.proofClient != null && message.hasOwnProperty("proofClient")) - if (!(message.proofClient && typeof message.proofClient.length === "number" || $util.isString(message.proofClient))) - return "proofClient: buffer expected"; - if (message.proofConsensus != null && message.hasOwnProperty("proofConsensus")) - if (!(message.proofConsensus && typeof message.proofConsensus.length === "number" || $util.isString(message.proofConsensus))) - return "proofConsensus: buffer expected"; - if (message.consensusHeight != null && message.hasOwnProperty("consensusHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.consensusHeight); - if (error) - return "consensusHeight." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgConnectionOpenAck message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.MsgConnectionOpenAck} MsgConnectionOpenAck - */ - MsgConnectionOpenAck.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.MsgConnectionOpenAck) - return object; - let message = new $root.ibc.core.connection.v1.MsgConnectionOpenAck(); - if (object.connectionId != null) - message.connectionId = String(object.connectionId); - if (object.counterpartyConnectionId != null) - message.counterpartyConnectionId = String(object.counterpartyConnectionId); - if (object.version != null) { - if (typeof object.version !== "object") - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenAck.version: object expected"); - message.version = $root.ibc.core.connection.v1.Version.fromObject(object.version); - } - if (object.clientState != null) { - if (typeof object.clientState !== "object") - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenAck.clientState: object expected"); - message.clientState = $root.google.protobuf.Any.fromObject(object.clientState); - } - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenAck.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - if (object.proofTry != null) - if (typeof object.proofTry === "string") - $util.base64.decode(object.proofTry, message.proofTry = $util.newBuffer($util.base64.length(object.proofTry)), 0); - else if (object.proofTry.length) - message.proofTry = object.proofTry; - if (object.proofClient != null) - if (typeof object.proofClient === "string") - $util.base64.decode(object.proofClient, message.proofClient = $util.newBuffer($util.base64.length(object.proofClient)), 0); - else if (object.proofClient.length) - message.proofClient = object.proofClient; - if (object.proofConsensus != null) - if (typeof object.proofConsensus === "string") - $util.base64.decode(object.proofConsensus, message.proofConsensus = $util.newBuffer($util.base64.length(object.proofConsensus)), 0); - else if (object.proofConsensus.length) - message.proofConsensus = object.proofConsensus; - if (object.consensusHeight != null) { - if (typeof object.consensusHeight !== "object") - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenAck.consensusHeight: object expected"); - message.consensusHeight = $root.ibc.core.client.v1.Height.fromObject(object.consensusHeight); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgConnectionOpenAck message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @static - * @param {ibc.core.connection.v1.MsgConnectionOpenAck} message MsgConnectionOpenAck - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgConnectionOpenAck.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.connectionId = ""; - object.counterpartyConnectionId = ""; - object.version = null; - object.clientState = null; - object.proofHeight = null; - if (options.bytes === String) - object.proofTry = ""; - else { - object.proofTry = []; - if (options.bytes !== Array) - object.proofTry = $util.newBuffer(object.proofTry); - } - if (options.bytes === String) - object.proofClient = ""; - else { - object.proofClient = []; - if (options.bytes !== Array) - object.proofClient = $util.newBuffer(object.proofClient); - } - if (options.bytes === String) - object.proofConsensus = ""; - else { - object.proofConsensus = []; - if (options.bytes !== Array) - object.proofConsensus = $util.newBuffer(object.proofConsensus); - } - object.consensusHeight = null; - object.signer = ""; - } - if (message.connectionId != null && message.hasOwnProperty("connectionId")) - object.connectionId = message.connectionId; - if (message.counterpartyConnectionId != null && message.hasOwnProperty("counterpartyConnectionId")) - object.counterpartyConnectionId = message.counterpartyConnectionId; - if (message.version != null && message.hasOwnProperty("version")) - object.version = $root.ibc.core.connection.v1.Version.toObject(message.version, options); - if (message.clientState != null && message.hasOwnProperty("clientState")) - object.clientState = $root.google.protobuf.Any.toObject(message.clientState, options); - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - if (message.proofTry != null && message.hasOwnProperty("proofTry")) - object.proofTry = options.bytes === String ? $util.base64.encode(message.proofTry, 0, message.proofTry.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofTry) : message.proofTry; - if (message.proofClient != null && message.hasOwnProperty("proofClient")) - object.proofClient = options.bytes === String ? $util.base64.encode(message.proofClient, 0, message.proofClient.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofClient) : message.proofClient; - if (message.proofConsensus != null && message.hasOwnProperty("proofConsensus")) - object.proofConsensus = options.bytes === String ? $util.base64.encode(message.proofConsensus, 0, message.proofConsensus.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofConsensus) : message.proofConsensus; - if (message.consensusHeight != null && message.hasOwnProperty("consensusHeight")) - object.consensusHeight = $root.ibc.core.client.v1.Height.toObject(message.consensusHeight, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgConnectionOpenAck to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.MsgConnectionOpenAck - * @instance - * @returns {Object.} JSON object - */ - MsgConnectionOpenAck.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgConnectionOpenAck; - })(v1.MsgConnectionOpenAck || {}); - - v1.MsgConnectionOpenAckResponse = (function(MsgConnectionOpenAckResponse) { - - /** - * Properties of a MsgConnectionOpenAckResponse. - * @memberof ibc.core.connection.v1 - * @interface IMsgConnectionOpenAckResponse - */ - - /** - * Constructs a new MsgConnectionOpenAckResponse. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a MsgConnectionOpenAckResponse. - * @implements IMsgConnectionOpenAckResponse - * @constructor - * @param {ibc.core.connection.v1.IMsgConnectionOpenAckResponse=} [properties] Properties to set - */ - function MsgConnectionOpenAckResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgConnectionOpenAckResponse instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.MsgConnectionOpenAckResponse - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenAckResponse=} [properties] Properties to set - * @returns {ibc.core.connection.v1.MsgConnectionOpenAckResponse} MsgConnectionOpenAckResponse instance - */ - MsgConnectionOpenAckResponse.create = function create(properties) { - return new MsgConnectionOpenAckResponse(properties); - }; - - /** - * Encodes the specified MsgConnectionOpenAckResponse message. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenAckResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.MsgConnectionOpenAckResponse - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenAckResponse} message MsgConnectionOpenAckResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenAckResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgConnectionOpenAckResponse message, length delimited. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenAckResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenAckResponse - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenAckResponse} message MsgConnectionOpenAckResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenAckResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgConnectionOpenAckResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.MsgConnectionOpenAckResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.MsgConnectionOpenAckResponse} MsgConnectionOpenAckResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenAckResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.MsgConnectionOpenAckResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgConnectionOpenAckResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenAckResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.MsgConnectionOpenAckResponse} MsgConnectionOpenAckResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenAckResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgConnectionOpenAckResponse message. - * @function verify - * @memberof ibc.core.connection.v1.MsgConnectionOpenAckResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgConnectionOpenAckResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgConnectionOpenAckResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenAckResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.MsgConnectionOpenAckResponse} MsgConnectionOpenAckResponse - */ - MsgConnectionOpenAckResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.MsgConnectionOpenAckResponse) - return object; - return new $root.ibc.core.connection.v1.MsgConnectionOpenAckResponse(); - }; - - /** - * Creates a plain object from a MsgConnectionOpenAckResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenAckResponse - * @static - * @param {ibc.core.connection.v1.MsgConnectionOpenAckResponse} message MsgConnectionOpenAckResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgConnectionOpenAckResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgConnectionOpenAckResponse to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.MsgConnectionOpenAckResponse - * @instance - * @returns {Object.} JSON object - */ - MsgConnectionOpenAckResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgConnectionOpenAckResponse; - })(v1.MsgConnectionOpenAckResponse || {}); - - v1.MsgConnectionOpenConfirm = (function(MsgConnectionOpenConfirm) { - - /** - * Properties of a MsgConnectionOpenConfirm. - * @memberof ibc.core.connection.v1 - * @interface IMsgConnectionOpenConfirm - * @property {string|null} [connectionId] MsgConnectionOpenConfirm connectionId - * @property {Uint8Array|null} [proofAck] MsgConnectionOpenConfirm proofAck - * @property {ibc.core.client.v1.IHeight|null} [proofHeight] MsgConnectionOpenConfirm proofHeight - * @property {string|null} [signer] MsgConnectionOpenConfirm signer - */ - - /** - * Constructs a new MsgConnectionOpenConfirm. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a MsgConnectionOpenConfirm. - * @implements IMsgConnectionOpenConfirm - * @constructor - * @param {ibc.core.connection.v1.IMsgConnectionOpenConfirm=} [properties] Properties to set - */ - function MsgConnectionOpenConfirm(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * MsgConnectionOpenConfirm connectionId. - * @member {string} connectionId - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @instance - */ - MsgConnectionOpenConfirm.prototype.connectionId = ""; - - /** - * MsgConnectionOpenConfirm proofAck. - * @member {Uint8Array} proofAck - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @instance - */ - MsgConnectionOpenConfirm.prototype.proofAck = $util.newBuffer([]); - - /** - * MsgConnectionOpenConfirm proofHeight. - * @member {ibc.core.client.v1.IHeight|null|undefined} proofHeight - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @instance - */ - MsgConnectionOpenConfirm.prototype.proofHeight = null; - - /** - * MsgConnectionOpenConfirm signer. - * @member {string} signer - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @instance - */ - MsgConnectionOpenConfirm.prototype.signer = ""; - - /** - * Creates a new MsgConnectionOpenConfirm instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenConfirm=} [properties] Properties to set - * @returns {ibc.core.connection.v1.MsgConnectionOpenConfirm} MsgConnectionOpenConfirm instance - */ - MsgConnectionOpenConfirm.create = function create(properties) { - return new MsgConnectionOpenConfirm(properties); - }; - - /** - * Encodes the specified MsgConnectionOpenConfirm message. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenConfirm.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenConfirm} message MsgConnectionOpenConfirm message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenConfirm.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.connectionId != null && Object.hasOwnProperty.call(message, "connectionId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.connectionId); - if (message.proofAck != null && Object.hasOwnProperty.call(message, "proofAck")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.proofAck); - if (message.proofHeight != null && Object.hasOwnProperty.call(message, "proofHeight")) - $root.ibc.core.client.v1.Height.encode(message.proofHeight, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.signer != null && Object.hasOwnProperty.call(message, "signer")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.signer); - return writer; - }; - - /** - * Encodes the specified MsgConnectionOpenConfirm message, length delimited. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenConfirm.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenConfirm} message MsgConnectionOpenConfirm message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenConfirm.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgConnectionOpenConfirm message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.MsgConnectionOpenConfirm} MsgConnectionOpenConfirm - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenConfirm.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.MsgConnectionOpenConfirm(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.connectionId = reader.string(); - break; - case 2: - message.proofAck = reader.bytes(); - break; - case 3: - message.proofHeight = $root.ibc.core.client.v1.Height.decode(reader, reader.uint32()); - break; - case 4: - message.signer = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgConnectionOpenConfirm message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.MsgConnectionOpenConfirm} MsgConnectionOpenConfirm - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenConfirm.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgConnectionOpenConfirm message. - * @function verify - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgConnectionOpenConfirm.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.connectionId != null && message.hasOwnProperty("connectionId")) - if (!$util.isString(message.connectionId)) - return "connectionId: string expected"; - if (message.proofAck != null && message.hasOwnProperty("proofAck")) - if (!(message.proofAck && typeof message.proofAck.length === "number" || $util.isString(message.proofAck))) - return "proofAck: buffer expected"; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) { - let error = $root.ibc.core.client.v1.Height.verify(message.proofHeight); - if (error) - return "proofHeight." + error; - } - if (message.signer != null && message.hasOwnProperty("signer")) - if (!$util.isString(message.signer)) - return "signer: string expected"; - return null; - }; - - /** - * Creates a MsgConnectionOpenConfirm message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.MsgConnectionOpenConfirm} MsgConnectionOpenConfirm - */ - MsgConnectionOpenConfirm.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.MsgConnectionOpenConfirm) - return object; - let message = new $root.ibc.core.connection.v1.MsgConnectionOpenConfirm(); - if (object.connectionId != null) - message.connectionId = String(object.connectionId); - if (object.proofAck != null) - if (typeof object.proofAck === "string") - $util.base64.decode(object.proofAck, message.proofAck = $util.newBuffer($util.base64.length(object.proofAck)), 0); - else if (object.proofAck.length) - message.proofAck = object.proofAck; - if (object.proofHeight != null) { - if (typeof object.proofHeight !== "object") - throw TypeError(".ibc.core.connection.v1.MsgConnectionOpenConfirm.proofHeight: object expected"); - message.proofHeight = $root.ibc.core.client.v1.Height.fromObject(object.proofHeight); - } - if (object.signer != null) - message.signer = String(object.signer); - return message; - }; - - /** - * Creates a plain object from a MsgConnectionOpenConfirm message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @static - * @param {ibc.core.connection.v1.MsgConnectionOpenConfirm} message MsgConnectionOpenConfirm - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgConnectionOpenConfirm.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.connectionId = ""; - if (options.bytes === String) - object.proofAck = ""; - else { - object.proofAck = []; - if (options.bytes !== Array) - object.proofAck = $util.newBuffer(object.proofAck); - } - object.proofHeight = null; - object.signer = ""; - } - if (message.connectionId != null && message.hasOwnProperty("connectionId")) - object.connectionId = message.connectionId; - if (message.proofAck != null && message.hasOwnProperty("proofAck")) - object.proofAck = options.bytes === String ? $util.base64.encode(message.proofAck, 0, message.proofAck.length) : options.bytes === Array ? Array.prototype.slice.call(message.proofAck) : message.proofAck; - if (message.proofHeight != null && message.hasOwnProperty("proofHeight")) - object.proofHeight = $root.ibc.core.client.v1.Height.toObject(message.proofHeight, options); - if (message.signer != null && message.hasOwnProperty("signer")) - object.signer = message.signer; - return object; - }; - - /** - * Converts this MsgConnectionOpenConfirm to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirm - * @instance - * @returns {Object.} JSON object - */ - MsgConnectionOpenConfirm.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgConnectionOpenConfirm; - })(v1.MsgConnectionOpenConfirm || {}); - - v1.MsgConnectionOpenConfirmResponse = (function(MsgConnectionOpenConfirmResponse) { - - /** - * Properties of a MsgConnectionOpenConfirmResponse. - * @memberof ibc.core.connection.v1 - * @interface IMsgConnectionOpenConfirmResponse - */ - - /** - * Constructs a new MsgConnectionOpenConfirmResponse. - * @memberof ibc.core.connection.v1 - * @classdesc Represents a MsgConnectionOpenConfirmResponse. - * @implements IMsgConnectionOpenConfirmResponse - * @constructor - * @param {ibc.core.connection.v1.IMsgConnectionOpenConfirmResponse=} [properties] Properties to set - */ - function MsgConnectionOpenConfirmResponse(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new MsgConnectionOpenConfirmResponse instance using the specified properties. - * @function create - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirmResponse - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenConfirmResponse=} [properties] Properties to set - * @returns {ibc.core.connection.v1.MsgConnectionOpenConfirmResponse} MsgConnectionOpenConfirmResponse instance - */ - MsgConnectionOpenConfirmResponse.create = function create(properties) { - return new MsgConnectionOpenConfirmResponse(properties); - }; - - /** - * Encodes the specified MsgConnectionOpenConfirmResponse message. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenConfirmResponse.verify|verify} messages. - * @function encode - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirmResponse - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenConfirmResponse} message MsgConnectionOpenConfirmResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenConfirmResponse.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified MsgConnectionOpenConfirmResponse message, length delimited. Does not implicitly {@link ibc.core.connection.v1.MsgConnectionOpenConfirmResponse.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirmResponse - * @static - * @param {ibc.core.connection.v1.IMsgConnectionOpenConfirmResponse} message MsgConnectionOpenConfirmResponse message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - MsgConnectionOpenConfirmResponse.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a MsgConnectionOpenConfirmResponse message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirmResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.connection.v1.MsgConnectionOpenConfirmResponse} MsgConnectionOpenConfirmResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenConfirmResponse.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.connection.v1.MsgConnectionOpenConfirmResponse(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a MsgConnectionOpenConfirmResponse message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirmResponse - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.connection.v1.MsgConnectionOpenConfirmResponse} MsgConnectionOpenConfirmResponse - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - MsgConnectionOpenConfirmResponse.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a MsgConnectionOpenConfirmResponse message. - * @function verify - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirmResponse - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - MsgConnectionOpenConfirmResponse.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a MsgConnectionOpenConfirmResponse message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirmResponse - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.connection.v1.MsgConnectionOpenConfirmResponse} MsgConnectionOpenConfirmResponse - */ - MsgConnectionOpenConfirmResponse.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.connection.v1.MsgConnectionOpenConfirmResponse) - return object; - return new $root.ibc.core.connection.v1.MsgConnectionOpenConfirmResponse(); - }; - - /** - * Creates a plain object from a MsgConnectionOpenConfirmResponse message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirmResponse - * @static - * @param {ibc.core.connection.v1.MsgConnectionOpenConfirmResponse} message MsgConnectionOpenConfirmResponse - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - MsgConnectionOpenConfirmResponse.toObject = function toObject() { - return {}; - }; - - /** - * Converts this MsgConnectionOpenConfirmResponse to JSON. - * @function toJSON - * @memberof ibc.core.connection.v1.MsgConnectionOpenConfirmResponse - * @instance - * @returns {Object.} JSON object - */ - MsgConnectionOpenConfirmResponse.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return MsgConnectionOpenConfirmResponse; - })(v1.MsgConnectionOpenConfirmResponse || {}); - - return v1; - })(connection.v1 || {}); - - return connection; - })(core.connection || {}); - - /** - * Namespace types. - * @memberof ibc.core - * @namespace - */ - - core.types = (function(types) { - - /** - * Namespace v1. - * @memberof ibc.core.types - * @namespace - */ - - types.v1 = (function(v1) { - - v1.GenesisState = (function(GenesisState) { - - /** - * Properties of a GenesisState. - * @memberof ibc.core.types.v1 - * @interface IGenesisState - * @property {ibc.core.client.v1.IGenesisState|null} [clientGenesis] GenesisState clientGenesis - * @property {ibc.core.connection.v1.IGenesisState|null} [connectionGenesis] GenesisState connectionGenesis - * @property {ibc.core.channel.v1.IGenesisState|null} [channelGenesis] GenesisState channelGenesis - */ - - /** - * Constructs a new GenesisState. - * @memberof ibc.core.types.v1 - * @classdesc Represents a GenesisState. - * @implements IGenesisState - * @constructor - * @param {ibc.core.types.v1.IGenesisState=} [properties] Properties to set - */ - function GenesisState(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * GenesisState clientGenesis. - * @member {ibc.core.client.v1.IGenesisState|null|undefined} clientGenesis - * @memberof ibc.core.types.v1.GenesisState - * @instance - */ - GenesisState.prototype.clientGenesis = null; - - /** - * GenesisState connectionGenesis. - * @member {ibc.core.connection.v1.IGenesisState|null|undefined} connectionGenesis - * @memberof ibc.core.types.v1.GenesisState - * @instance - */ - GenesisState.prototype.connectionGenesis = null; - - /** - * GenesisState channelGenesis. - * @member {ibc.core.channel.v1.IGenesisState|null|undefined} channelGenesis - * @memberof ibc.core.types.v1.GenesisState - * @instance - */ - GenesisState.prototype.channelGenesis = null; - - /** - * Creates a new GenesisState instance using the specified properties. - * @function create - * @memberof ibc.core.types.v1.GenesisState - * @static - * @param {ibc.core.types.v1.IGenesisState=} [properties] Properties to set - * @returns {ibc.core.types.v1.GenesisState} GenesisState instance - */ - GenesisState.create = function create(properties) { - return new GenesisState(properties); - }; - - /** - * Encodes the specified GenesisState message. Does not implicitly {@link ibc.core.types.v1.GenesisState.verify|verify} messages. - * @function encode - * @memberof ibc.core.types.v1.GenesisState - * @static - * @param {ibc.core.types.v1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.clientGenesis != null && Object.hasOwnProperty.call(message, "clientGenesis")) - $root.ibc.core.client.v1.GenesisState.encode(message.clientGenesis, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.connectionGenesis != null && Object.hasOwnProperty.call(message, "connectionGenesis")) - $root.ibc.core.connection.v1.GenesisState.encode(message.connectionGenesis, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.channelGenesis != null && Object.hasOwnProperty.call(message, "channelGenesis")) - $root.ibc.core.channel.v1.GenesisState.encode(message.channelGenesis, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified GenesisState message, length delimited. Does not implicitly {@link ibc.core.types.v1.GenesisState.verify|verify} messages. - * @function encodeDelimited - * @memberof ibc.core.types.v1.GenesisState - * @static - * @param {ibc.core.types.v1.IGenesisState} message GenesisState message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - GenesisState.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer. - * @function decode - * @memberof ibc.core.types.v1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ibc.core.types.v1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ibc.core.types.v1.GenesisState(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.clientGenesis = $root.ibc.core.client.v1.GenesisState.decode(reader, reader.uint32()); - break; - case 2: - message.connectionGenesis = $root.ibc.core.connection.v1.GenesisState.decode(reader, reader.uint32()); - break; - case 3: - message.channelGenesis = $root.ibc.core.channel.v1.GenesisState.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a GenesisState message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ibc.core.types.v1.GenesisState - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ibc.core.types.v1.GenesisState} GenesisState - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - GenesisState.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a GenesisState message. - * @function verify - * @memberof ibc.core.types.v1.GenesisState - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - GenesisState.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.clientGenesis != null && message.hasOwnProperty("clientGenesis")) { - let error = $root.ibc.core.client.v1.GenesisState.verify(message.clientGenesis); - if (error) - return "clientGenesis." + error; - } - if (message.connectionGenesis != null && message.hasOwnProperty("connectionGenesis")) { - let error = $root.ibc.core.connection.v1.GenesisState.verify(message.connectionGenesis); - if (error) - return "connectionGenesis." + error; - } - if (message.channelGenesis != null && message.hasOwnProperty("channelGenesis")) { - let error = $root.ibc.core.channel.v1.GenesisState.verify(message.channelGenesis); - if (error) - return "channelGenesis." + error; - } - return null; - }; - - /** - * Creates a GenesisState message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ibc.core.types.v1.GenesisState - * @static - * @param {Object.} object Plain object - * @returns {ibc.core.types.v1.GenesisState} GenesisState - */ - GenesisState.fromObject = function fromObject(object) { - if (object instanceof $root.ibc.core.types.v1.GenesisState) - return object; - let message = new $root.ibc.core.types.v1.GenesisState(); - if (object.clientGenesis != null) { - if (typeof object.clientGenesis !== "object") - throw TypeError(".ibc.core.types.v1.GenesisState.clientGenesis: object expected"); - message.clientGenesis = $root.ibc.core.client.v1.GenesisState.fromObject(object.clientGenesis); - } - if (object.connectionGenesis != null) { - if (typeof object.connectionGenesis !== "object") - throw TypeError(".ibc.core.types.v1.GenesisState.connectionGenesis: object expected"); - message.connectionGenesis = $root.ibc.core.connection.v1.GenesisState.fromObject(object.connectionGenesis); - } - if (object.channelGenesis != null) { - if (typeof object.channelGenesis !== "object") - throw TypeError(".ibc.core.types.v1.GenesisState.channelGenesis: object expected"); - message.channelGenesis = $root.ibc.core.channel.v1.GenesisState.fromObject(object.channelGenesis); - } - return message; - }; - - /** - * Creates a plain object from a GenesisState message. Also converts values to other types if specified. - * @function toObject - * @memberof ibc.core.types.v1.GenesisState - * @static - * @param {ibc.core.types.v1.GenesisState} message GenesisState - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - GenesisState.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.clientGenesis = null; - object.connectionGenesis = null; - object.channelGenesis = null; - } - if (message.clientGenesis != null && message.hasOwnProperty("clientGenesis")) - object.clientGenesis = $root.ibc.core.client.v1.GenesisState.toObject(message.clientGenesis, options); - if (message.connectionGenesis != null && message.hasOwnProperty("connectionGenesis")) - object.connectionGenesis = $root.ibc.core.connection.v1.GenesisState.toObject(message.connectionGenesis, options); - if (message.channelGenesis != null && message.hasOwnProperty("channelGenesis")) - object.channelGenesis = $root.ibc.core.channel.v1.GenesisState.toObject(message.channelGenesis, options); - return object; - }; - - /** - * Converts this GenesisState to JSON. - * @function toJSON - * @memberof ibc.core.types.v1.GenesisState - * @instance - * @returns {Object.} JSON object - */ - GenesisState.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return GenesisState; - })(v1.GenesisState || {}); - - return v1; - })(types.v1 || {}); - - return types; - })(core.types || {}); - - return core; - })(ibc.core || {}); - - return ibc; -})($root.ibc || {}); - -/** - * Namespace tendermint. - * @exports tendermint - * @namespace - */ - -export const tendermint = $root.tendermint = ((tendermint) => { - - /** - * Namespace abci. - * @memberof tendermint - * @namespace - */ - - tendermint.abci = (function(abci) { - - abci.Request = (function(Request) { - - /** - * Properties of a Request. - * @memberof tendermint.abci - * @interface IRequest - * @property {tendermint.abci.IRequestEcho|null} [echo] Request echo - * @property {tendermint.abci.IRequestFlush|null} [flush] Request flush - * @property {tendermint.abci.IRequestInfo|null} [info] Request info - * @property {tendermint.abci.IRequestSetOption|null} [setOption] Request setOption - * @property {tendermint.abci.IRequestInitChain|null} [initChain] Request initChain - * @property {tendermint.abci.IRequestQuery|null} [query] Request query - * @property {tendermint.abci.IRequestBeginBlock|null} [beginBlock] Request beginBlock - * @property {tendermint.abci.IRequestCheckTx|null} [checkTx] Request checkTx - * @property {tendermint.abci.IRequestDeliverTx|null} [deliverTx] Request deliverTx - * @property {tendermint.abci.IRequestEndBlock|null} [endBlock] Request endBlock - * @property {tendermint.abci.IRequestCommit|null} [commit] Request commit - * @property {tendermint.abci.IRequestListSnapshots|null} [listSnapshots] Request listSnapshots - * @property {tendermint.abci.IRequestOfferSnapshot|null} [offerSnapshot] Request offerSnapshot - * @property {tendermint.abci.IRequestLoadSnapshotChunk|null} [loadSnapshotChunk] Request loadSnapshotChunk - * @property {tendermint.abci.IRequestApplySnapshotChunk|null} [applySnapshotChunk] Request applySnapshotChunk - */ - - /** - * Constructs a new Request. - * @memberof tendermint.abci - * @classdesc Represents a Request. - * @implements IRequest - * @constructor - * @param {tendermint.abci.IRequest=} [properties] Properties to set - */ - function Request(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Request echo. - * @member {tendermint.abci.IRequestEcho|null|undefined} echo - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.echo = null; - - /** - * Request flush. - * @member {tendermint.abci.IRequestFlush|null|undefined} flush - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.flush = null; - - /** - * Request info. - * @member {tendermint.abci.IRequestInfo|null|undefined} info - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.info = null; - - /** - * Request setOption. - * @member {tendermint.abci.IRequestSetOption|null|undefined} setOption - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.setOption = null; - - /** - * Request initChain. - * @member {tendermint.abci.IRequestInitChain|null|undefined} initChain - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.initChain = null; - - /** - * Request query. - * @member {tendermint.abci.IRequestQuery|null|undefined} query - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.query = null; - - /** - * Request beginBlock. - * @member {tendermint.abci.IRequestBeginBlock|null|undefined} beginBlock - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.beginBlock = null; - - /** - * Request checkTx. - * @member {tendermint.abci.IRequestCheckTx|null|undefined} checkTx - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.checkTx = null; - - /** - * Request deliverTx. - * @member {tendermint.abci.IRequestDeliverTx|null|undefined} deliverTx - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.deliverTx = null; - - /** - * Request endBlock. - * @member {tendermint.abci.IRequestEndBlock|null|undefined} endBlock - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.endBlock = null; - - /** - * Request commit. - * @member {tendermint.abci.IRequestCommit|null|undefined} commit - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.commit = null; - - /** - * Request listSnapshots. - * @member {tendermint.abci.IRequestListSnapshots|null|undefined} listSnapshots - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.listSnapshots = null; - - /** - * Request offerSnapshot. - * @member {tendermint.abci.IRequestOfferSnapshot|null|undefined} offerSnapshot - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.offerSnapshot = null; - - /** - * Request loadSnapshotChunk. - * @member {tendermint.abci.IRequestLoadSnapshotChunk|null|undefined} loadSnapshotChunk - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.loadSnapshotChunk = null; - - /** - * Request applySnapshotChunk. - * @member {tendermint.abci.IRequestApplySnapshotChunk|null|undefined} applySnapshotChunk - * @memberof tendermint.abci.Request - * @instance - */ - Request.prototype.applySnapshotChunk = null; - - // OneOf field names bound to virtual getters and setters - let $oneOfFields; - - /** - * Request value. - * @member {"echo"|"flush"|"info"|"setOption"|"initChain"|"query"|"beginBlock"|"checkTx"|"deliverTx"|"endBlock"|"commit"|"listSnapshots"|"offerSnapshot"|"loadSnapshotChunk"|"applySnapshotChunk"|undefined} value - * @memberof tendermint.abci.Request - * @instance - */ - Object.defineProperty(Request.prototype, "value", { - get: $util.oneOfGetter($oneOfFields = ["echo", "flush", "info", "setOption", "initChain", "query", "beginBlock", "checkTx", "deliverTx", "endBlock", "commit", "listSnapshots", "offerSnapshot", "loadSnapshotChunk", "applySnapshotChunk"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Request instance using the specified properties. - * @function create - * @memberof tendermint.abci.Request - * @static - * @param {tendermint.abci.IRequest=} [properties] Properties to set - * @returns {tendermint.abci.Request} Request instance - */ - Request.create = function create(properties) { - return new Request(properties); - }; - - /** - * Encodes the specified Request message. Does not implicitly {@link tendermint.abci.Request.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.Request - * @static - * @param {tendermint.abci.IRequest} message Request message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Request.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.echo != null && Object.hasOwnProperty.call(message, "echo")) - $root.tendermint.abci.RequestEcho.encode(message.echo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.flush != null && Object.hasOwnProperty.call(message, "flush")) - $root.tendermint.abci.RequestFlush.encode(message.flush, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.info != null && Object.hasOwnProperty.call(message, "info")) - $root.tendermint.abci.RequestInfo.encode(message.info, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.setOption != null && Object.hasOwnProperty.call(message, "setOption")) - $root.tendermint.abci.RequestSetOption.encode(message.setOption, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.initChain != null && Object.hasOwnProperty.call(message, "initChain")) - $root.tendermint.abci.RequestInitChain.encode(message.initChain, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.query != null && Object.hasOwnProperty.call(message, "query")) - $root.tendermint.abci.RequestQuery.encode(message.query, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.beginBlock != null && Object.hasOwnProperty.call(message, "beginBlock")) - $root.tendermint.abci.RequestBeginBlock.encode(message.beginBlock, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.checkTx != null && Object.hasOwnProperty.call(message, "checkTx")) - $root.tendermint.abci.RequestCheckTx.encode(message.checkTx, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.deliverTx != null && Object.hasOwnProperty.call(message, "deliverTx")) - $root.tendermint.abci.RequestDeliverTx.encode(message.deliverTx, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.endBlock != null && Object.hasOwnProperty.call(message, "endBlock")) - $root.tendermint.abci.RequestEndBlock.encode(message.endBlock, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); - if (message.commit != null && Object.hasOwnProperty.call(message, "commit")) - $root.tendermint.abci.RequestCommit.encode(message.commit, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.listSnapshots != null && Object.hasOwnProperty.call(message, "listSnapshots")) - $root.tendermint.abci.RequestListSnapshots.encode(message.listSnapshots, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.offerSnapshot != null && Object.hasOwnProperty.call(message, "offerSnapshot")) - $root.tendermint.abci.RequestOfferSnapshot.encode(message.offerSnapshot, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.loadSnapshotChunk != null && Object.hasOwnProperty.call(message, "loadSnapshotChunk")) - $root.tendermint.abci.RequestLoadSnapshotChunk.encode(message.loadSnapshotChunk, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.applySnapshotChunk != null && Object.hasOwnProperty.call(message, "applySnapshotChunk")) - $root.tendermint.abci.RequestApplySnapshotChunk.encode(message.applySnapshotChunk, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Request message, length delimited. Does not implicitly {@link tendermint.abci.Request.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.Request - * @static - * @param {tendermint.abci.IRequest} message Request message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Request.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Request message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.Request - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.Request} Request - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Request.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.Request(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.echo = $root.tendermint.abci.RequestEcho.decode(reader, reader.uint32()); - break; - case 2: - message.flush = $root.tendermint.abci.RequestFlush.decode(reader, reader.uint32()); - break; - case 3: - message.info = $root.tendermint.abci.RequestInfo.decode(reader, reader.uint32()); - break; - case 4: - message.setOption = $root.tendermint.abci.RequestSetOption.decode(reader, reader.uint32()); - break; - case 5: - message.initChain = $root.tendermint.abci.RequestInitChain.decode(reader, reader.uint32()); - break; - case 6: - message.query = $root.tendermint.abci.RequestQuery.decode(reader, reader.uint32()); - break; - case 7: - message.beginBlock = $root.tendermint.abci.RequestBeginBlock.decode(reader, reader.uint32()); - break; - case 8: - message.checkTx = $root.tendermint.abci.RequestCheckTx.decode(reader, reader.uint32()); - break; - case 9: - message.deliverTx = $root.tendermint.abci.RequestDeliverTx.decode(reader, reader.uint32()); - break; - case 10: - message.endBlock = $root.tendermint.abci.RequestEndBlock.decode(reader, reader.uint32()); - break; - case 11: - message.commit = $root.tendermint.abci.RequestCommit.decode(reader, reader.uint32()); - break; - case 12: - message.listSnapshots = $root.tendermint.abci.RequestListSnapshots.decode(reader, reader.uint32()); - break; - case 13: - message.offerSnapshot = $root.tendermint.abci.RequestOfferSnapshot.decode(reader, reader.uint32()); - break; - case 14: - message.loadSnapshotChunk = $root.tendermint.abci.RequestLoadSnapshotChunk.decode(reader, reader.uint32()); - break; - case 15: - message.applySnapshotChunk = $root.tendermint.abci.RequestApplySnapshotChunk.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Request message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.Request - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.Request} Request - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Request.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Request message. - * @function verify - * @memberof tendermint.abci.Request - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Request.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - let properties = {}; - if (message.echo != null && message.hasOwnProperty("echo")) { - properties.value = 1; - { - let error = $root.tendermint.abci.RequestEcho.verify(message.echo); - if (error) - return "echo." + error; - } - } - if (message.flush != null && message.hasOwnProperty("flush")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestFlush.verify(message.flush); - if (error) - return "flush." + error; - } - } - if (message.info != null && message.hasOwnProperty("info")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestInfo.verify(message.info); - if (error) - return "info." + error; - } - } - if (message.setOption != null && message.hasOwnProperty("setOption")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestSetOption.verify(message.setOption); - if (error) - return "setOption." + error; - } - } - if (message.initChain != null && message.hasOwnProperty("initChain")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestInitChain.verify(message.initChain); - if (error) - return "initChain." + error; - } - } - if (message.query != null && message.hasOwnProperty("query")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestQuery.verify(message.query); - if (error) - return "query." + error; - } - } - if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestBeginBlock.verify(message.beginBlock); - if (error) - return "beginBlock." + error; - } - } - if (message.checkTx != null && message.hasOwnProperty("checkTx")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestCheckTx.verify(message.checkTx); - if (error) - return "checkTx." + error; - } - } - if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestDeliverTx.verify(message.deliverTx); - if (error) - return "deliverTx." + error; - } - } - if (message.endBlock != null && message.hasOwnProperty("endBlock")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestEndBlock.verify(message.endBlock); - if (error) - return "endBlock." + error; - } - } - if (message.commit != null && message.hasOwnProperty("commit")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestCommit.verify(message.commit); - if (error) - return "commit." + error; - } - } - if (message.listSnapshots != null && message.hasOwnProperty("listSnapshots")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestListSnapshots.verify(message.listSnapshots); - if (error) - return "listSnapshots." + error; - } - } - if (message.offerSnapshot != null && message.hasOwnProperty("offerSnapshot")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestOfferSnapshot.verify(message.offerSnapshot); - if (error) - return "offerSnapshot." + error; - } - } - if (message.loadSnapshotChunk != null && message.hasOwnProperty("loadSnapshotChunk")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestLoadSnapshotChunk.verify(message.loadSnapshotChunk); - if (error) - return "loadSnapshotChunk." + error; - } - } - if (message.applySnapshotChunk != null && message.hasOwnProperty("applySnapshotChunk")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.RequestApplySnapshotChunk.verify(message.applySnapshotChunk); - if (error) - return "applySnapshotChunk." + error; - } - } - return null; - }; - - /** - * Creates a Request message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.Request - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.Request} Request - */ - Request.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.Request) - return object; - let message = new $root.tendermint.abci.Request(); - if (object.echo != null) { - if (typeof object.echo !== "object") - throw TypeError(".tendermint.abci.Request.echo: object expected"); - message.echo = $root.tendermint.abci.RequestEcho.fromObject(object.echo); - } - if (object.flush != null) { - if (typeof object.flush !== "object") - throw TypeError(".tendermint.abci.Request.flush: object expected"); - message.flush = $root.tendermint.abci.RequestFlush.fromObject(object.flush); - } - if (object.info != null) { - if (typeof object.info !== "object") - throw TypeError(".tendermint.abci.Request.info: object expected"); - message.info = $root.tendermint.abci.RequestInfo.fromObject(object.info); - } - if (object.setOption != null) { - if (typeof object.setOption !== "object") - throw TypeError(".tendermint.abci.Request.setOption: object expected"); - message.setOption = $root.tendermint.abci.RequestSetOption.fromObject(object.setOption); - } - if (object.initChain != null) { - if (typeof object.initChain !== "object") - throw TypeError(".tendermint.abci.Request.initChain: object expected"); - message.initChain = $root.tendermint.abci.RequestInitChain.fromObject(object.initChain); - } - if (object.query != null) { - if (typeof object.query !== "object") - throw TypeError(".tendermint.abci.Request.query: object expected"); - message.query = $root.tendermint.abci.RequestQuery.fromObject(object.query); - } - if (object.beginBlock != null) { - if (typeof object.beginBlock !== "object") - throw TypeError(".tendermint.abci.Request.beginBlock: object expected"); - message.beginBlock = $root.tendermint.abci.RequestBeginBlock.fromObject(object.beginBlock); - } - if (object.checkTx != null) { - if (typeof object.checkTx !== "object") - throw TypeError(".tendermint.abci.Request.checkTx: object expected"); - message.checkTx = $root.tendermint.abci.RequestCheckTx.fromObject(object.checkTx); - } - if (object.deliverTx != null) { - if (typeof object.deliverTx !== "object") - throw TypeError(".tendermint.abci.Request.deliverTx: object expected"); - message.deliverTx = $root.tendermint.abci.RequestDeliverTx.fromObject(object.deliverTx); - } - if (object.endBlock != null) { - if (typeof object.endBlock !== "object") - throw TypeError(".tendermint.abci.Request.endBlock: object expected"); - message.endBlock = $root.tendermint.abci.RequestEndBlock.fromObject(object.endBlock); - } - if (object.commit != null) { - if (typeof object.commit !== "object") - throw TypeError(".tendermint.abci.Request.commit: object expected"); - message.commit = $root.tendermint.abci.RequestCommit.fromObject(object.commit); - } - if (object.listSnapshots != null) { - if (typeof object.listSnapshots !== "object") - throw TypeError(".tendermint.abci.Request.listSnapshots: object expected"); - message.listSnapshots = $root.tendermint.abci.RequestListSnapshots.fromObject(object.listSnapshots); - } - if (object.offerSnapshot != null) { - if (typeof object.offerSnapshot !== "object") - throw TypeError(".tendermint.abci.Request.offerSnapshot: object expected"); - message.offerSnapshot = $root.tendermint.abci.RequestOfferSnapshot.fromObject(object.offerSnapshot); - } - if (object.loadSnapshotChunk != null) { - if (typeof object.loadSnapshotChunk !== "object") - throw TypeError(".tendermint.abci.Request.loadSnapshotChunk: object expected"); - message.loadSnapshotChunk = $root.tendermint.abci.RequestLoadSnapshotChunk.fromObject(object.loadSnapshotChunk); - } - if (object.applySnapshotChunk != null) { - if (typeof object.applySnapshotChunk !== "object") - throw TypeError(".tendermint.abci.Request.applySnapshotChunk: object expected"); - message.applySnapshotChunk = $root.tendermint.abci.RequestApplySnapshotChunk.fromObject(object.applySnapshotChunk); - } - return message; - }; - - /** - * Creates a plain object from a Request message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.Request - * @static - * @param {tendermint.abci.Request} message Request - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Request.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (message.echo != null && message.hasOwnProperty("echo")) { - object.echo = $root.tendermint.abci.RequestEcho.toObject(message.echo, options); - if (options.oneofs) - object.value = "echo"; - } - if (message.flush != null && message.hasOwnProperty("flush")) { - object.flush = $root.tendermint.abci.RequestFlush.toObject(message.flush, options); - if (options.oneofs) - object.value = "flush"; - } - if (message.info != null && message.hasOwnProperty("info")) { - object.info = $root.tendermint.abci.RequestInfo.toObject(message.info, options); - if (options.oneofs) - object.value = "info"; - } - if (message.setOption != null && message.hasOwnProperty("setOption")) { - object.setOption = $root.tendermint.abci.RequestSetOption.toObject(message.setOption, options); - if (options.oneofs) - object.value = "setOption"; - } - if (message.initChain != null && message.hasOwnProperty("initChain")) { - object.initChain = $root.tendermint.abci.RequestInitChain.toObject(message.initChain, options); - if (options.oneofs) - object.value = "initChain"; - } - if (message.query != null && message.hasOwnProperty("query")) { - object.query = $root.tendermint.abci.RequestQuery.toObject(message.query, options); - if (options.oneofs) - object.value = "query"; - } - if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { - object.beginBlock = $root.tendermint.abci.RequestBeginBlock.toObject(message.beginBlock, options); - if (options.oneofs) - object.value = "beginBlock"; - } - if (message.checkTx != null && message.hasOwnProperty("checkTx")) { - object.checkTx = $root.tendermint.abci.RequestCheckTx.toObject(message.checkTx, options); - if (options.oneofs) - object.value = "checkTx"; - } - if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { - object.deliverTx = $root.tendermint.abci.RequestDeliverTx.toObject(message.deliverTx, options); - if (options.oneofs) - object.value = "deliverTx"; - } - if (message.endBlock != null && message.hasOwnProperty("endBlock")) { - object.endBlock = $root.tendermint.abci.RequestEndBlock.toObject(message.endBlock, options); - if (options.oneofs) - object.value = "endBlock"; - } - if (message.commit != null && message.hasOwnProperty("commit")) { - object.commit = $root.tendermint.abci.RequestCommit.toObject(message.commit, options); - if (options.oneofs) - object.value = "commit"; - } - if (message.listSnapshots != null && message.hasOwnProperty("listSnapshots")) { - object.listSnapshots = $root.tendermint.abci.RequestListSnapshots.toObject(message.listSnapshots, options); - if (options.oneofs) - object.value = "listSnapshots"; - } - if (message.offerSnapshot != null && message.hasOwnProperty("offerSnapshot")) { - object.offerSnapshot = $root.tendermint.abci.RequestOfferSnapshot.toObject(message.offerSnapshot, options); - if (options.oneofs) - object.value = "offerSnapshot"; - } - if (message.loadSnapshotChunk != null && message.hasOwnProperty("loadSnapshotChunk")) { - object.loadSnapshotChunk = $root.tendermint.abci.RequestLoadSnapshotChunk.toObject(message.loadSnapshotChunk, options); - if (options.oneofs) - object.value = "loadSnapshotChunk"; - } - if (message.applySnapshotChunk != null && message.hasOwnProperty("applySnapshotChunk")) { - object.applySnapshotChunk = $root.tendermint.abci.RequestApplySnapshotChunk.toObject(message.applySnapshotChunk, options); - if (options.oneofs) - object.value = "applySnapshotChunk"; - } - return object; - }; - - /** - * Converts this Request to JSON. - * @function toJSON - * @memberof tendermint.abci.Request - * @instance - * @returns {Object.} JSON object - */ - Request.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Request; - })(abci.Request || {}); - - abci.RequestEcho = (function(RequestEcho) { - - /** - * Properties of a RequestEcho. - * @memberof tendermint.abci - * @interface IRequestEcho - * @property {string|null} [message] RequestEcho message - */ - - /** - * Constructs a new RequestEcho. - * @memberof tendermint.abci - * @classdesc Represents a RequestEcho. - * @implements IRequestEcho - * @constructor - * @param {tendermint.abci.IRequestEcho=} [properties] Properties to set - */ - function RequestEcho(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestEcho message. - * @member {string} message - * @memberof tendermint.abci.RequestEcho - * @instance - */ - RequestEcho.prototype.message = ""; - - /** - * Creates a new RequestEcho instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestEcho - * @static - * @param {tendermint.abci.IRequestEcho=} [properties] Properties to set - * @returns {tendermint.abci.RequestEcho} RequestEcho instance - */ - RequestEcho.create = function create(properties) { - return new RequestEcho(properties); - }; - - /** - * Encodes the specified RequestEcho message. Does not implicitly {@link tendermint.abci.RequestEcho.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestEcho - * @static - * @param {tendermint.abci.IRequestEcho} message RequestEcho message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestEcho.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.message != null && Object.hasOwnProperty.call(message, "message")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.message); - return writer; - }; - - /** - * Encodes the specified RequestEcho message, length delimited. Does not implicitly {@link tendermint.abci.RequestEcho.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestEcho - * @static - * @param {tendermint.abci.IRequestEcho} message RequestEcho message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestEcho.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestEcho message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestEcho - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestEcho} RequestEcho - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestEcho.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestEcho(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.message = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestEcho message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestEcho - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestEcho} RequestEcho - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestEcho.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestEcho message. - * @function verify - * @memberof tendermint.abci.RequestEcho - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestEcho.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.message != null && message.hasOwnProperty("message")) - if (!$util.isString(message.message)) - return "message: string expected"; - return null; - }; - - /** - * Creates a RequestEcho message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestEcho - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestEcho} RequestEcho - */ - RequestEcho.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestEcho) - return object; - let message = new $root.tendermint.abci.RequestEcho(); - if (object.message != null) - message.message = String(object.message); - return message; - }; - - /** - * Creates a plain object from a RequestEcho message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestEcho - * @static - * @param {tendermint.abci.RequestEcho} message RequestEcho - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestEcho.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.message = ""; - if (message.message != null && message.hasOwnProperty("message")) - object.message = message.message; - return object; - }; - - /** - * Converts this RequestEcho to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestEcho - * @instance - * @returns {Object.} JSON object - */ - RequestEcho.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestEcho; - })(abci.RequestEcho || {}); - - abci.RequestFlush = (function(RequestFlush) { - - /** - * Properties of a RequestFlush. - * @memberof tendermint.abci - * @interface IRequestFlush - */ - - /** - * Constructs a new RequestFlush. - * @memberof tendermint.abci - * @classdesc Represents a RequestFlush. - * @implements IRequestFlush - * @constructor - * @param {tendermint.abci.IRequestFlush=} [properties] Properties to set - */ - function RequestFlush(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new RequestFlush instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestFlush - * @static - * @param {tendermint.abci.IRequestFlush=} [properties] Properties to set - * @returns {tendermint.abci.RequestFlush} RequestFlush instance - */ - RequestFlush.create = function create(properties) { - return new RequestFlush(properties); - }; - - /** - * Encodes the specified RequestFlush message. Does not implicitly {@link tendermint.abci.RequestFlush.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestFlush - * @static - * @param {tendermint.abci.IRequestFlush} message RequestFlush message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestFlush.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified RequestFlush message, length delimited. Does not implicitly {@link tendermint.abci.RequestFlush.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestFlush - * @static - * @param {tendermint.abci.IRequestFlush} message RequestFlush message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestFlush.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestFlush message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestFlush - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestFlush} RequestFlush - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestFlush.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestFlush(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestFlush message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestFlush - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestFlush} RequestFlush - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestFlush.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestFlush message. - * @function verify - * @memberof tendermint.abci.RequestFlush - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestFlush.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a RequestFlush message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestFlush - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestFlush} RequestFlush - */ - RequestFlush.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestFlush) - return object; - return new $root.tendermint.abci.RequestFlush(); - }; - - /** - * Creates a plain object from a RequestFlush message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestFlush - * @static - * @param {tendermint.abci.RequestFlush} message RequestFlush - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestFlush.toObject = function toObject() { - return {}; - }; - - /** - * Converts this RequestFlush to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestFlush - * @instance - * @returns {Object.} JSON object - */ - RequestFlush.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestFlush; - })(abci.RequestFlush || {}); - - abci.RequestInfo = (function(RequestInfo) { - - /** - * Properties of a RequestInfo. - * @memberof tendermint.abci - * @interface IRequestInfo - * @property {string|null} [version] RequestInfo version - * @property {number|Long|null} [blockVersion] RequestInfo blockVersion - * @property {number|Long|null} [p2pVersion] RequestInfo p2pVersion - */ - - /** - * Constructs a new RequestInfo. - * @memberof tendermint.abci - * @classdesc Represents a RequestInfo. - * @implements IRequestInfo - * @constructor - * @param {tendermint.abci.IRequestInfo=} [properties] Properties to set - */ - function RequestInfo(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestInfo version. - * @member {string} version - * @memberof tendermint.abci.RequestInfo - * @instance - */ - RequestInfo.prototype.version = ""; - - /** - * RequestInfo blockVersion. - * @member {number|Long} blockVersion - * @memberof tendermint.abci.RequestInfo - * @instance - */ - RequestInfo.prototype.blockVersion = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * RequestInfo p2pVersion. - * @member {number|Long} p2pVersion - * @memberof tendermint.abci.RequestInfo - * @instance - */ - RequestInfo.prototype.p2pVersion = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new RequestInfo instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestInfo - * @static - * @param {tendermint.abci.IRequestInfo=} [properties] Properties to set - * @returns {tendermint.abci.RequestInfo} RequestInfo instance - */ - RequestInfo.create = function create(properties) { - return new RequestInfo(properties); - }; - - /** - * Encodes the specified RequestInfo message. Does not implicitly {@link tendermint.abci.RequestInfo.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestInfo - * @static - * @param {tendermint.abci.IRequestInfo} message RequestInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.version); - if (message.blockVersion != null && Object.hasOwnProperty.call(message, "blockVersion")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.blockVersion); - if (message.p2pVersion != null && Object.hasOwnProperty.call(message, "p2pVersion")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.p2pVersion); - return writer; - }; - - /** - * Encodes the specified RequestInfo message, length delimited. Does not implicitly {@link tendermint.abci.RequestInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestInfo - * @static - * @param {tendermint.abci.IRequestInfo} message RequestInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestInfo message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestInfo} RequestInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.version = reader.string(); - break; - case 2: - message.blockVersion = reader.uint64(); - break; - case 3: - message.p2pVersion = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestInfo} RequestInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestInfo message. - * @function verify - * @memberof tendermint.abci.RequestInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isString(message.version)) - return "version: string expected"; - if (message.blockVersion != null && message.hasOwnProperty("blockVersion")) - if (!$util.isInteger(message.blockVersion) && !(message.blockVersion && $util.isInteger(message.blockVersion.low) && $util.isInteger(message.blockVersion.high))) - return "blockVersion: integer|Long expected"; - if (message.p2pVersion != null && message.hasOwnProperty("p2pVersion")) - if (!$util.isInteger(message.p2pVersion) && !(message.p2pVersion && $util.isInteger(message.p2pVersion.low) && $util.isInteger(message.p2pVersion.high))) - return "p2pVersion: integer|Long expected"; - return null; - }; - - /** - * Creates a RequestInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestInfo - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestInfo} RequestInfo - */ - RequestInfo.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestInfo) - return object; - let message = new $root.tendermint.abci.RequestInfo(); - if (object.version != null) - message.version = String(object.version); - if (object.blockVersion != null) - if ($util.Long) - (message.blockVersion = $util.Long.fromValue(object.blockVersion)).unsigned = true; - else if (typeof object.blockVersion === "string") - message.blockVersion = parseInt(object.blockVersion, 10); - else if (typeof object.blockVersion === "number") - message.blockVersion = object.blockVersion; - else if (typeof object.blockVersion === "object") - message.blockVersion = new $util.LongBits(object.blockVersion.low >>> 0, object.blockVersion.high >>> 0).toNumber(true); - if (object.p2pVersion != null) - if ($util.Long) - (message.p2pVersion = $util.Long.fromValue(object.p2pVersion)).unsigned = true; - else if (typeof object.p2pVersion === "string") - message.p2pVersion = parseInt(object.p2pVersion, 10); - else if (typeof object.p2pVersion === "number") - message.p2pVersion = object.p2pVersion; - else if (typeof object.p2pVersion === "object") - message.p2pVersion = new $util.LongBits(object.p2pVersion.low >>> 0, object.p2pVersion.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a RequestInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestInfo - * @static - * @param {tendermint.abci.RequestInfo} message RequestInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.version = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.blockVersion = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.blockVersion = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.p2pVersion = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.p2pVersion = options.longs === String ? "0" : 0; - } - if (message.version != null && message.hasOwnProperty("version")) - object.version = message.version; - if (message.blockVersion != null && message.hasOwnProperty("blockVersion")) - if (typeof message.blockVersion === "number") - object.blockVersion = options.longs === String ? String(message.blockVersion) : message.blockVersion; - else - object.blockVersion = options.longs === String ? $util.Long.prototype.toString.call(message.blockVersion) : options.longs === Number ? new $util.LongBits(message.blockVersion.low >>> 0, message.blockVersion.high >>> 0).toNumber(true) : message.blockVersion; - if (message.p2pVersion != null && message.hasOwnProperty("p2pVersion")) - if (typeof message.p2pVersion === "number") - object.p2pVersion = options.longs === String ? String(message.p2pVersion) : message.p2pVersion; - else - object.p2pVersion = options.longs === String ? $util.Long.prototype.toString.call(message.p2pVersion) : options.longs === Number ? new $util.LongBits(message.p2pVersion.low >>> 0, message.p2pVersion.high >>> 0).toNumber(true) : message.p2pVersion; - return object; - }; - - /** - * Converts this RequestInfo to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestInfo - * @instance - * @returns {Object.} JSON object - */ - RequestInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestInfo; - })(abci.RequestInfo || {}); - - abci.RequestSetOption = (function(RequestSetOption) { - - /** - * Properties of a RequestSetOption. - * @memberof tendermint.abci - * @interface IRequestSetOption - * @property {string|null} [key] RequestSetOption key - * @property {string|null} [value] RequestSetOption value - */ - - /** - * Constructs a new RequestSetOption. - * @memberof tendermint.abci - * @classdesc Represents a RequestSetOption. - * @implements IRequestSetOption - * @constructor - * @param {tendermint.abci.IRequestSetOption=} [properties] Properties to set - */ - function RequestSetOption(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestSetOption key. - * @member {string} key - * @memberof tendermint.abci.RequestSetOption - * @instance - */ - RequestSetOption.prototype.key = ""; - - /** - * RequestSetOption value. - * @member {string} value - * @memberof tendermint.abci.RequestSetOption - * @instance - */ - RequestSetOption.prototype.value = ""; - - /** - * Creates a new RequestSetOption instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestSetOption - * @static - * @param {tendermint.abci.IRequestSetOption=} [properties] Properties to set - * @returns {tendermint.abci.RequestSetOption} RequestSetOption instance - */ - RequestSetOption.create = function create(properties) { - return new RequestSetOption(properties); - }; - - /** - * Encodes the specified RequestSetOption message. Does not implicitly {@link tendermint.abci.RequestSetOption.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestSetOption - * @static - * @param {tendermint.abci.IRequestSetOption} message RequestSetOption message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestSetOption.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); - return writer; - }; - - /** - * Encodes the specified RequestSetOption message, length delimited. Does not implicitly {@link tendermint.abci.RequestSetOption.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestSetOption - * @static - * @param {tendermint.abci.IRequestSetOption} message RequestSetOption message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestSetOption.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestSetOption message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestSetOption - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestSetOption} RequestSetOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestSetOption.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestSetOption(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 2: - message.value = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestSetOption message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestSetOption - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestSetOption} RequestSetOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestSetOption.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestSetOption message. - * @function verify - * @memberof tendermint.abci.RequestSetOption - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestSetOption.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!$util.isString(message.key)) - return "key: string expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!$util.isString(message.value)) - return "value: string expected"; - return null; - }; - - /** - * Creates a RequestSetOption message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestSetOption - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestSetOption} RequestSetOption - */ - RequestSetOption.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestSetOption) - return object; - let message = new $root.tendermint.abci.RequestSetOption(); - if (object.key != null) - message.key = String(object.key); - if (object.value != null) - message.value = String(object.value); - return message; - }; - - /** - * Creates a plain object from a RequestSetOption message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestSetOption - * @static - * @param {tendermint.abci.RequestSetOption} message RequestSetOption - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestSetOption.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.key = ""; - object.value = ""; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = message.value; - return object; - }; - - /** - * Converts this RequestSetOption to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestSetOption - * @instance - * @returns {Object.} JSON object - */ - RequestSetOption.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestSetOption; - })(abci.RequestSetOption || {}); - - abci.RequestInitChain = (function(RequestInitChain) { - - /** - * Properties of a RequestInitChain. - * @memberof tendermint.abci - * @interface IRequestInitChain - * @property {google.protobuf.ITimestamp|null} [time] RequestInitChain time - * @property {string|null} [chainId] RequestInitChain chainId - * @property {tendermint.abci.IConsensusParams|null} [consensusParams] RequestInitChain consensusParams - * @property {Array.|null} [validators] RequestInitChain validators - * @property {Uint8Array|null} [appStateBytes] RequestInitChain appStateBytes - * @property {number|Long|null} [initialHeight] RequestInitChain initialHeight - */ - - /** - * Constructs a new RequestInitChain. - * @memberof tendermint.abci - * @classdesc Represents a RequestInitChain. - * @implements IRequestInitChain - * @constructor - * @param {tendermint.abci.IRequestInitChain=} [properties] Properties to set - */ - function RequestInitChain(properties) { - this.validators = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestInitChain time. - * @member {google.protobuf.ITimestamp|null|undefined} time - * @memberof tendermint.abci.RequestInitChain - * @instance - */ - RequestInitChain.prototype.time = null; - - /** - * RequestInitChain chainId. - * @member {string} chainId - * @memberof tendermint.abci.RequestInitChain - * @instance - */ - RequestInitChain.prototype.chainId = ""; - - /** - * RequestInitChain consensusParams. - * @member {tendermint.abci.IConsensusParams|null|undefined} consensusParams - * @memberof tendermint.abci.RequestInitChain - * @instance - */ - RequestInitChain.prototype.consensusParams = null; - - /** - * RequestInitChain validators. - * @member {Array.} validators - * @memberof tendermint.abci.RequestInitChain - * @instance - */ - RequestInitChain.prototype.validators = $util.emptyArray; - - /** - * RequestInitChain appStateBytes. - * @member {Uint8Array} appStateBytes - * @memberof tendermint.abci.RequestInitChain - * @instance - */ - RequestInitChain.prototype.appStateBytes = $util.newBuffer([]); - - /** - * RequestInitChain initialHeight. - * @member {number|Long} initialHeight - * @memberof tendermint.abci.RequestInitChain - * @instance - */ - RequestInitChain.prototype.initialHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new RequestInitChain instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestInitChain - * @static - * @param {tendermint.abci.IRequestInitChain=} [properties] Properties to set - * @returns {tendermint.abci.RequestInitChain} RequestInitChain instance - */ - RequestInitChain.create = function create(properties) { - return new RequestInitChain(properties); - }; - - /** - * Encodes the specified RequestInitChain message. Does not implicitly {@link tendermint.abci.RequestInitChain.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestInitChain - * @static - * @param {tendermint.abci.IRequestInitChain} message RequestInitChain message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestInitChain.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.time != null && Object.hasOwnProperty.call(message, "time")) - $root.google.protobuf.Timestamp.encode(message.time, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.chainId); - if (message.consensusParams != null && Object.hasOwnProperty.call(message, "consensusParams")) - $root.tendermint.abci.ConsensusParams.encode(message.consensusParams, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.validators != null && message.validators.length) - for (let i = 0; i < message.validators.length; ++i) - $root.tendermint.abci.ValidatorUpdate.encode(message.validators[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.appStateBytes != null && Object.hasOwnProperty.call(message, "appStateBytes")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.appStateBytes); - if (message.initialHeight != null && Object.hasOwnProperty.call(message, "initialHeight")) - writer.uint32(/* id 6, wireType 0 =*/48).int64(message.initialHeight); - return writer; - }; - - /** - * Encodes the specified RequestInitChain message, length delimited. Does not implicitly {@link tendermint.abci.RequestInitChain.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestInitChain - * @static - * @param {tendermint.abci.IRequestInitChain} message RequestInitChain message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestInitChain.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestInitChain message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestInitChain - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestInitChain} RequestInitChain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestInitChain.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestInitChain(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.time = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 2: - message.chainId = reader.string(); - break; - case 3: - message.consensusParams = $root.tendermint.abci.ConsensusParams.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.validators && message.validators.length)) - message.validators = []; - message.validators.push($root.tendermint.abci.ValidatorUpdate.decode(reader, reader.uint32())); - break; - case 5: - message.appStateBytes = reader.bytes(); - break; - case 6: - message.initialHeight = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestInitChain message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestInitChain - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestInitChain} RequestInitChain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestInitChain.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestInitChain message. - * @function verify - * @memberof tendermint.abci.RequestInitChain - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestInitChain.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.time != null && message.hasOwnProperty("time")) { - let error = $root.google.protobuf.Timestamp.verify(message.time); - if (error) - return "time." + error; - } - if (message.chainId != null && message.hasOwnProperty("chainId")) - if (!$util.isString(message.chainId)) - return "chainId: string expected"; - if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) { - let error = $root.tendermint.abci.ConsensusParams.verify(message.consensusParams); - if (error) - return "consensusParams." + error; - } - if (message.validators != null && message.hasOwnProperty("validators")) { - if (!Array.isArray(message.validators)) - return "validators: array expected"; - for (let i = 0; i < message.validators.length; ++i) { - let error = $root.tendermint.abci.ValidatorUpdate.verify(message.validators[i]); - if (error) - return "validators." + error; - } - } - if (message.appStateBytes != null && message.hasOwnProperty("appStateBytes")) - if (!(message.appStateBytes && typeof message.appStateBytes.length === "number" || $util.isString(message.appStateBytes))) - return "appStateBytes: buffer expected"; - if (message.initialHeight != null && message.hasOwnProperty("initialHeight")) - if (!$util.isInteger(message.initialHeight) && !(message.initialHeight && $util.isInteger(message.initialHeight.low) && $util.isInteger(message.initialHeight.high))) - return "initialHeight: integer|Long expected"; - return null; - }; - - /** - * Creates a RequestInitChain message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestInitChain - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestInitChain} RequestInitChain - */ - RequestInitChain.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestInitChain) - return object; - let message = new $root.tendermint.abci.RequestInitChain(); - if (object.time != null) { - if (typeof object.time !== "object") - throw TypeError(".tendermint.abci.RequestInitChain.time: object expected"); - message.time = $root.google.protobuf.Timestamp.fromObject(object.time); - } - if (object.chainId != null) - message.chainId = String(object.chainId); - if (object.consensusParams != null) { - if (typeof object.consensusParams !== "object") - throw TypeError(".tendermint.abci.RequestInitChain.consensusParams: object expected"); - message.consensusParams = $root.tendermint.abci.ConsensusParams.fromObject(object.consensusParams); - } - if (object.validators) { - if (!Array.isArray(object.validators)) - throw TypeError(".tendermint.abci.RequestInitChain.validators: array expected"); - message.validators = []; - for (let i = 0; i < object.validators.length; ++i) { - if (typeof object.validators[i] !== "object") - throw TypeError(".tendermint.abci.RequestInitChain.validators: object expected"); - message.validators[i] = $root.tendermint.abci.ValidatorUpdate.fromObject(object.validators[i]); - } - } - if (object.appStateBytes != null) - if (typeof object.appStateBytes === "string") - $util.base64.decode(object.appStateBytes, message.appStateBytes = $util.newBuffer($util.base64.length(object.appStateBytes)), 0); - else if (object.appStateBytes.length) - message.appStateBytes = object.appStateBytes; - if (object.initialHeight != null) - if ($util.Long) - (message.initialHeight = $util.Long.fromValue(object.initialHeight)).unsigned = false; - else if (typeof object.initialHeight === "string") - message.initialHeight = parseInt(object.initialHeight, 10); - else if (typeof object.initialHeight === "number") - message.initialHeight = object.initialHeight; - else if (typeof object.initialHeight === "object") - message.initialHeight = new $util.LongBits(object.initialHeight.low >>> 0, object.initialHeight.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a RequestInitChain message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestInitChain - * @static - * @param {tendermint.abci.RequestInitChain} message RequestInitChain - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestInitChain.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.validators = []; - if (options.defaults) { - object.time = null; - object.chainId = ""; - object.consensusParams = null; - if (options.bytes === String) - object.appStateBytes = ""; - else { - object.appStateBytes = []; - if (options.bytes !== Array) - object.appStateBytes = $util.newBuffer(object.appStateBytes); - } - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.initialHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.initialHeight = options.longs === String ? "0" : 0; - } - if (message.time != null && message.hasOwnProperty("time")) - object.time = $root.google.protobuf.Timestamp.toObject(message.time, options); - if (message.chainId != null && message.hasOwnProperty("chainId")) - object.chainId = message.chainId; - if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) - object.consensusParams = $root.tendermint.abci.ConsensusParams.toObject(message.consensusParams, options); - if (message.validators && message.validators.length) { - object.validators = []; - for (let j = 0; j < message.validators.length; ++j) - object.validators[j] = $root.tendermint.abci.ValidatorUpdate.toObject(message.validators[j], options); - } - if (message.appStateBytes != null && message.hasOwnProperty("appStateBytes")) - object.appStateBytes = options.bytes === String ? $util.base64.encode(message.appStateBytes, 0, message.appStateBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.appStateBytes) : message.appStateBytes; - if (message.initialHeight != null && message.hasOwnProperty("initialHeight")) - if (typeof message.initialHeight === "number") - object.initialHeight = options.longs === String ? String(message.initialHeight) : message.initialHeight; - else - object.initialHeight = options.longs === String ? $util.Long.prototype.toString.call(message.initialHeight) : options.longs === Number ? new $util.LongBits(message.initialHeight.low >>> 0, message.initialHeight.high >>> 0).toNumber() : message.initialHeight; - return object; - }; - - /** - * Converts this RequestInitChain to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestInitChain - * @instance - * @returns {Object.} JSON object - */ - RequestInitChain.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestInitChain; - })(abci.RequestInitChain || {}); - - abci.RequestQuery = (function(RequestQuery) { - - /** - * Properties of a RequestQuery. - * @memberof tendermint.abci - * @interface IRequestQuery - * @property {Uint8Array|null} [data] RequestQuery data - * @property {string|null} [path] RequestQuery path - * @property {number|Long|null} [height] RequestQuery height - * @property {boolean|null} [prove] RequestQuery prove - */ - - /** - * Constructs a new RequestQuery. - * @memberof tendermint.abci - * @classdesc Represents a RequestQuery. - * @implements IRequestQuery - * @constructor - * @param {tendermint.abci.IRequestQuery=} [properties] Properties to set - */ - function RequestQuery(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestQuery data. - * @member {Uint8Array} data - * @memberof tendermint.abci.RequestQuery - * @instance - */ - RequestQuery.prototype.data = $util.newBuffer([]); - - /** - * RequestQuery path. - * @member {string} path - * @memberof tendermint.abci.RequestQuery - * @instance - */ - RequestQuery.prototype.path = ""; - - /** - * RequestQuery height. - * @member {number|Long} height - * @memberof tendermint.abci.RequestQuery - * @instance - */ - RequestQuery.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * RequestQuery prove. - * @member {boolean} prove - * @memberof tendermint.abci.RequestQuery - * @instance - */ - RequestQuery.prototype.prove = false; - - /** - * Creates a new RequestQuery instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestQuery - * @static - * @param {tendermint.abci.IRequestQuery=} [properties] Properties to set - * @returns {tendermint.abci.RequestQuery} RequestQuery instance - */ - RequestQuery.create = function create(properties) { - return new RequestQuery(properties); - }; - - /** - * Encodes the specified RequestQuery message. Does not implicitly {@link tendermint.abci.RequestQuery.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestQuery - * @static - * @param {tendermint.abci.IRequestQuery} message RequestQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestQuery.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.data); - if (message.path != null && Object.hasOwnProperty.call(message, "path")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.path); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.height); - if (message.prove != null && Object.hasOwnProperty.call(message, "prove")) - writer.uint32(/* id 4, wireType 0 =*/32).bool(message.prove); - return writer; - }; - - /** - * Encodes the specified RequestQuery message, length delimited. Does not implicitly {@link tendermint.abci.RequestQuery.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestQuery - * @static - * @param {tendermint.abci.IRequestQuery} message RequestQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestQuery.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestQuery message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestQuery} RequestQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestQuery.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestQuery(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.bytes(); - break; - case 2: - message.path = reader.string(); - break; - case 3: - message.height = reader.int64(); - break; - case 4: - message.prove = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestQuery message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestQuery} RequestQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestQuery.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestQuery message. - * @function verify - * @memberof tendermint.abci.RequestQuery - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestQuery.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - if (message.path != null && message.hasOwnProperty("path")) - if (!$util.isString(message.path)) - return "path: string expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.prove != null && message.hasOwnProperty("prove")) - if (typeof message.prove !== "boolean") - return "prove: boolean expected"; - return null; - }; - - /** - * Creates a RequestQuery message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestQuery - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestQuery} RequestQuery - */ - RequestQuery.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestQuery) - return object; - let message = new $root.tendermint.abci.RequestQuery(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - if (object.path != null) - message.path = String(object.path); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.prove != null) - message.prove = Boolean(object.prove); - return message; - }; - - /** - * Creates a plain object from a RequestQuery message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestQuery - * @static - * @param {tendermint.abci.RequestQuery} message RequestQuery - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestQuery.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - object.path = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.prove = false; - } - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (message.path != null && message.hasOwnProperty("path")) - object.path = message.path; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.prove != null && message.hasOwnProperty("prove")) - object.prove = message.prove; - return object; - }; - - /** - * Converts this RequestQuery to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestQuery - * @instance - * @returns {Object.} JSON object - */ - RequestQuery.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestQuery; - })(abci.RequestQuery || {}); - - abci.RequestBeginBlock = (function(RequestBeginBlock) { - - /** - * Properties of a RequestBeginBlock. - * @memberof tendermint.abci - * @interface IRequestBeginBlock - * @property {Uint8Array|null} [hash] RequestBeginBlock hash - * @property {tendermint.types.IHeader|null} [header] RequestBeginBlock header - * @property {tendermint.abci.ILastCommitInfo|null} [lastCommitInfo] RequestBeginBlock lastCommitInfo - * @property {Array.|null} [byzantineValidators] RequestBeginBlock byzantineValidators - */ - - /** - * Constructs a new RequestBeginBlock. - * @memberof tendermint.abci - * @classdesc Represents a RequestBeginBlock. - * @implements IRequestBeginBlock - * @constructor - * @param {tendermint.abci.IRequestBeginBlock=} [properties] Properties to set - */ - function RequestBeginBlock(properties) { - this.byzantineValidators = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestBeginBlock hash. - * @member {Uint8Array} hash - * @memberof tendermint.abci.RequestBeginBlock - * @instance - */ - RequestBeginBlock.prototype.hash = $util.newBuffer([]); - - /** - * RequestBeginBlock header. - * @member {tendermint.types.IHeader|null|undefined} header - * @memberof tendermint.abci.RequestBeginBlock - * @instance - */ - RequestBeginBlock.prototype.header = null; - - /** - * RequestBeginBlock lastCommitInfo. - * @member {tendermint.abci.ILastCommitInfo|null|undefined} lastCommitInfo - * @memberof tendermint.abci.RequestBeginBlock - * @instance - */ - RequestBeginBlock.prototype.lastCommitInfo = null; - - /** - * RequestBeginBlock byzantineValidators. - * @member {Array.} byzantineValidators - * @memberof tendermint.abci.RequestBeginBlock - * @instance - */ - RequestBeginBlock.prototype.byzantineValidators = $util.emptyArray; - - /** - * Creates a new RequestBeginBlock instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestBeginBlock - * @static - * @param {tendermint.abci.IRequestBeginBlock=} [properties] Properties to set - * @returns {tendermint.abci.RequestBeginBlock} RequestBeginBlock instance - */ - RequestBeginBlock.create = function create(properties) { - return new RequestBeginBlock(properties); - }; - - /** - * Encodes the specified RequestBeginBlock message. Does not implicitly {@link tendermint.abci.RequestBeginBlock.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestBeginBlock - * @static - * @param {tendermint.abci.IRequestBeginBlock} message RequestBeginBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestBeginBlock.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.hash); - if (message.header != null && Object.hasOwnProperty.call(message, "header")) - $root.tendermint.types.Header.encode(message.header, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.lastCommitInfo != null && Object.hasOwnProperty.call(message, "lastCommitInfo")) - $root.tendermint.abci.LastCommitInfo.encode(message.lastCommitInfo, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.byzantineValidators != null && message.byzantineValidators.length) - for (let i = 0; i < message.byzantineValidators.length; ++i) - $root.tendermint.abci.Evidence.encode(message.byzantineValidators[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified RequestBeginBlock message, length delimited. Does not implicitly {@link tendermint.abci.RequestBeginBlock.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestBeginBlock - * @static - * @param {tendermint.abci.IRequestBeginBlock} message RequestBeginBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestBeginBlock.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestBeginBlock message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestBeginBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestBeginBlock} RequestBeginBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestBeginBlock.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestBeginBlock(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.hash = reader.bytes(); - break; - case 2: - message.header = $root.tendermint.types.Header.decode(reader, reader.uint32()); - break; - case 3: - message.lastCommitInfo = $root.tendermint.abci.LastCommitInfo.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.byzantineValidators && message.byzantineValidators.length)) - message.byzantineValidators = []; - message.byzantineValidators.push($root.tendermint.abci.Evidence.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestBeginBlock message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestBeginBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestBeginBlock} RequestBeginBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestBeginBlock.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestBeginBlock message. - * @function verify - * @memberof tendermint.abci.RequestBeginBlock - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestBeginBlock.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) - return "hash: buffer expected"; - if (message.header != null && message.hasOwnProperty("header")) { - let error = $root.tendermint.types.Header.verify(message.header); - if (error) - return "header." + error; - } - if (message.lastCommitInfo != null && message.hasOwnProperty("lastCommitInfo")) { - let error = $root.tendermint.abci.LastCommitInfo.verify(message.lastCommitInfo); - if (error) - return "lastCommitInfo." + error; - } - if (message.byzantineValidators != null && message.hasOwnProperty("byzantineValidators")) { - if (!Array.isArray(message.byzantineValidators)) - return "byzantineValidators: array expected"; - for (let i = 0; i < message.byzantineValidators.length; ++i) { - let error = $root.tendermint.abci.Evidence.verify(message.byzantineValidators[i]); - if (error) - return "byzantineValidators." + error; - } - } - return null; - }; - - /** - * Creates a RequestBeginBlock message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestBeginBlock - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestBeginBlock} RequestBeginBlock - */ - RequestBeginBlock.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestBeginBlock) - return object; - let message = new $root.tendermint.abci.RequestBeginBlock(); - if (object.hash != null) - if (typeof object.hash === "string") - $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); - else if (object.hash.length) - message.hash = object.hash; - if (object.header != null) { - if (typeof object.header !== "object") - throw TypeError(".tendermint.abci.RequestBeginBlock.header: object expected"); - message.header = $root.tendermint.types.Header.fromObject(object.header); - } - if (object.lastCommitInfo != null) { - if (typeof object.lastCommitInfo !== "object") - throw TypeError(".tendermint.abci.RequestBeginBlock.lastCommitInfo: object expected"); - message.lastCommitInfo = $root.tendermint.abci.LastCommitInfo.fromObject(object.lastCommitInfo); - } - if (object.byzantineValidators) { - if (!Array.isArray(object.byzantineValidators)) - throw TypeError(".tendermint.abci.RequestBeginBlock.byzantineValidators: array expected"); - message.byzantineValidators = []; - for (let i = 0; i < object.byzantineValidators.length; ++i) { - if (typeof object.byzantineValidators[i] !== "object") - throw TypeError(".tendermint.abci.RequestBeginBlock.byzantineValidators: object expected"); - message.byzantineValidators[i] = $root.tendermint.abci.Evidence.fromObject(object.byzantineValidators[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a RequestBeginBlock message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestBeginBlock - * @static - * @param {tendermint.abci.RequestBeginBlock} message RequestBeginBlock - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestBeginBlock.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.byzantineValidators = []; - if (options.defaults) { - if (options.bytes === String) - object.hash = ""; - else { - object.hash = []; - if (options.bytes !== Array) - object.hash = $util.newBuffer(object.hash); - } - object.header = null; - object.lastCommitInfo = null; - } - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; - if (message.header != null && message.hasOwnProperty("header")) - object.header = $root.tendermint.types.Header.toObject(message.header, options); - if (message.lastCommitInfo != null && message.hasOwnProperty("lastCommitInfo")) - object.lastCommitInfo = $root.tendermint.abci.LastCommitInfo.toObject(message.lastCommitInfo, options); - if (message.byzantineValidators && message.byzantineValidators.length) { - object.byzantineValidators = []; - for (let j = 0; j < message.byzantineValidators.length; ++j) - object.byzantineValidators[j] = $root.tendermint.abci.Evidence.toObject(message.byzantineValidators[j], options); - } - return object; - }; - - /** - * Converts this RequestBeginBlock to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestBeginBlock - * @instance - * @returns {Object.} JSON object - */ - RequestBeginBlock.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestBeginBlock; - })(abci.RequestBeginBlock || {}); - - /** - * CheckTxType enum. - * @name tendermint.abci.CheckTxType - * @enum {string} - * @property {number} NEW=0 NEW value - * @property {number} RECHECK=1 RECHECK value - */ - abci.CheckTxType = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "NEW"] = 0; - values[valuesById[1] = "RECHECK"] = 1; - return values; - })(); - - abci.RequestCheckTx = (function(RequestCheckTx) { - - /** - * Properties of a RequestCheckTx. - * @memberof tendermint.abci - * @interface IRequestCheckTx - * @property {Uint8Array|null} [tx] RequestCheckTx tx - * @property {tendermint.abci.CheckTxType|null} [type] RequestCheckTx type - */ - - /** - * Constructs a new RequestCheckTx. - * @memberof tendermint.abci - * @classdesc Represents a RequestCheckTx. - * @implements IRequestCheckTx - * @constructor - * @param {tendermint.abci.IRequestCheckTx=} [properties] Properties to set - */ - function RequestCheckTx(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestCheckTx tx. - * @member {Uint8Array} tx - * @memberof tendermint.abci.RequestCheckTx - * @instance - */ - RequestCheckTx.prototype.tx = $util.newBuffer([]); - - /** - * RequestCheckTx type. - * @member {tendermint.abci.CheckTxType} type - * @memberof tendermint.abci.RequestCheckTx - * @instance - */ - RequestCheckTx.prototype.type = 0; - - /** - * Creates a new RequestCheckTx instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestCheckTx - * @static - * @param {tendermint.abci.IRequestCheckTx=} [properties] Properties to set - * @returns {tendermint.abci.RequestCheckTx} RequestCheckTx instance - */ - RequestCheckTx.create = function create(properties) { - return new RequestCheckTx(properties); - }; - - /** - * Encodes the specified RequestCheckTx message. Does not implicitly {@link tendermint.abci.RequestCheckTx.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestCheckTx - * @static - * @param {tendermint.abci.IRequestCheckTx} message RequestCheckTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestCheckTx.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.tx != null && Object.hasOwnProperty.call(message, "tx")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tx); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.type); - return writer; - }; - - /** - * Encodes the specified RequestCheckTx message, length delimited. Does not implicitly {@link tendermint.abci.RequestCheckTx.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestCheckTx - * @static - * @param {tendermint.abci.IRequestCheckTx} message RequestCheckTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestCheckTx.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestCheckTx message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestCheckTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestCheckTx} RequestCheckTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestCheckTx.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestCheckTx(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.tx = reader.bytes(); - break; - case 2: - message.type = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestCheckTx message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestCheckTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestCheckTx} RequestCheckTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestCheckTx.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestCheckTx message. - * @function verify - * @memberof tendermint.abci.RequestCheckTx - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestCheckTx.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tx != null && message.hasOwnProperty("tx")) - if (!(message.tx && typeof message.tx.length === "number" || $util.isString(message.tx))) - return "tx: buffer expected"; - if (message.type != null && message.hasOwnProperty("type")) - switch (message.type) { - default: - return "type: enum value expected"; - case 0: - case 1: - break; - } - return null; - }; - - /** - * Creates a RequestCheckTx message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestCheckTx - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestCheckTx} RequestCheckTx - */ - RequestCheckTx.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestCheckTx) - return object; - let message = new $root.tendermint.abci.RequestCheckTx(); - if (object.tx != null) - if (typeof object.tx === "string") - $util.base64.decode(object.tx, message.tx = $util.newBuffer($util.base64.length(object.tx)), 0); - else if (object.tx.length) - message.tx = object.tx; - switch (object.type) { - case "NEW": - case 0: - message.type = 0; - break; - case "RECHECK": - case 1: - message.type = 1; - break; - } - return message; - }; - - /** - * Creates a plain object from a RequestCheckTx message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestCheckTx - * @static - * @param {tendermint.abci.RequestCheckTx} message RequestCheckTx - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestCheckTx.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.tx = ""; - else { - object.tx = []; - if (options.bytes !== Array) - object.tx = $util.newBuffer(object.tx); - } - object.type = options.enums === String ? "NEW" : 0; - } - if (message.tx != null && message.hasOwnProperty("tx")) - object.tx = options.bytes === String ? $util.base64.encode(message.tx, 0, message.tx.length) : options.bytes === Array ? Array.prototype.slice.call(message.tx) : message.tx; - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.tendermint.abci.CheckTxType[message.type] : message.type; - return object; - }; - - /** - * Converts this RequestCheckTx to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestCheckTx - * @instance - * @returns {Object.} JSON object - */ - RequestCheckTx.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestCheckTx; - })(abci.RequestCheckTx || {}); - - abci.RequestDeliverTx = (function(RequestDeliverTx) { - - /** - * Properties of a RequestDeliverTx. - * @memberof tendermint.abci - * @interface IRequestDeliverTx - * @property {Uint8Array|null} [tx] RequestDeliverTx tx - */ - - /** - * Constructs a new RequestDeliverTx. - * @memberof tendermint.abci - * @classdesc Represents a RequestDeliverTx. - * @implements IRequestDeliverTx - * @constructor - * @param {tendermint.abci.IRequestDeliverTx=} [properties] Properties to set - */ - function RequestDeliverTx(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestDeliverTx tx. - * @member {Uint8Array} tx - * @memberof tendermint.abci.RequestDeliverTx - * @instance - */ - RequestDeliverTx.prototype.tx = $util.newBuffer([]); - - /** - * Creates a new RequestDeliverTx instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestDeliverTx - * @static - * @param {tendermint.abci.IRequestDeliverTx=} [properties] Properties to set - * @returns {tendermint.abci.RequestDeliverTx} RequestDeliverTx instance - */ - RequestDeliverTx.create = function create(properties) { - return new RequestDeliverTx(properties); - }; - - /** - * Encodes the specified RequestDeliverTx message. Does not implicitly {@link tendermint.abci.RequestDeliverTx.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestDeliverTx - * @static - * @param {tendermint.abci.IRequestDeliverTx} message RequestDeliverTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestDeliverTx.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.tx != null && Object.hasOwnProperty.call(message, "tx")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.tx); - return writer; - }; - - /** - * Encodes the specified RequestDeliverTx message, length delimited. Does not implicitly {@link tendermint.abci.RequestDeliverTx.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestDeliverTx - * @static - * @param {tendermint.abci.IRequestDeliverTx} message RequestDeliverTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestDeliverTx.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestDeliverTx message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestDeliverTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestDeliverTx} RequestDeliverTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestDeliverTx.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestDeliverTx(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.tx = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestDeliverTx message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestDeliverTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestDeliverTx} RequestDeliverTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestDeliverTx.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestDeliverTx message. - * @function verify - * @memberof tendermint.abci.RequestDeliverTx - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestDeliverTx.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.tx != null && message.hasOwnProperty("tx")) - if (!(message.tx && typeof message.tx.length === "number" || $util.isString(message.tx))) - return "tx: buffer expected"; - return null; - }; - - /** - * Creates a RequestDeliverTx message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestDeliverTx - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestDeliverTx} RequestDeliverTx - */ - RequestDeliverTx.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestDeliverTx) - return object; - let message = new $root.tendermint.abci.RequestDeliverTx(); - if (object.tx != null) - if (typeof object.tx === "string") - $util.base64.decode(object.tx, message.tx = $util.newBuffer($util.base64.length(object.tx)), 0); - else if (object.tx.length) - message.tx = object.tx; - return message; - }; - - /** - * Creates a plain object from a RequestDeliverTx message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestDeliverTx - * @static - * @param {tendermint.abci.RequestDeliverTx} message RequestDeliverTx - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestDeliverTx.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if (options.bytes === String) - object.tx = ""; - else { - object.tx = []; - if (options.bytes !== Array) - object.tx = $util.newBuffer(object.tx); - } - if (message.tx != null && message.hasOwnProperty("tx")) - object.tx = options.bytes === String ? $util.base64.encode(message.tx, 0, message.tx.length) : options.bytes === Array ? Array.prototype.slice.call(message.tx) : message.tx; - return object; - }; - - /** - * Converts this RequestDeliverTx to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestDeliverTx - * @instance - * @returns {Object.} JSON object - */ - RequestDeliverTx.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestDeliverTx; - })(abci.RequestDeliverTx || {}); - - abci.RequestEndBlock = (function(RequestEndBlock) { - - /** - * Properties of a RequestEndBlock. - * @memberof tendermint.abci - * @interface IRequestEndBlock - * @property {number|Long|null} [height] RequestEndBlock height - */ - - /** - * Constructs a new RequestEndBlock. - * @memberof tendermint.abci - * @classdesc Represents a RequestEndBlock. - * @implements IRequestEndBlock - * @constructor - * @param {tendermint.abci.IRequestEndBlock=} [properties] Properties to set - */ - function RequestEndBlock(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestEndBlock height. - * @member {number|Long} height - * @memberof tendermint.abci.RequestEndBlock - * @instance - */ - RequestEndBlock.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new RequestEndBlock instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestEndBlock - * @static - * @param {tendermint.abci.IRequestEndBlock=} [properties] Properties to set - * @returns {tendermint.abci.RequestEndBlock} RequestEndBlock instance - */ - RequestEndBlock.create = function create(properties) { - return new RequestEndBlock(properties); - }; - - /** - * Encodes the specified RequestEndBlock message. Does not implicitly {@link tendermint.abci.RequestEndBlock.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestEndBlock - * @static - * @param {tendermint.abci.IRequestEndBlock} message RequestEndBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestEndBlock.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); - return writer; - }; - - /** - * Encodes the specified RequestEndBlock message, length delimited. Does not implicitly {@link tendermint.abci.RequestEndBlock.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestEndBlock - * @static - * @param {tendermint.abci.IRequestEndBlock} message RequestEndBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestEndBlock.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestEndBlock message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestEndBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestEndBlock} RequestEndBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestEndBlock.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestEndBlock(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestEndBlock message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestEndBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestEndBlock} RequestEndBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestEndBlock.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestEndBlock message. - * @function verify - * @memberof tendermint.abci.RequestEndBlock - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestEndBlock.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - return null; - }; - - /** - * Creates a RequestEndBlock message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestEndBlock - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestEndBlock} RequestEndBlock - */ - RequestEndBlock.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestEndBlock) - return object; - let message = new $root.tendermint.abci.RequestEndBlock(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a RequestEndBlock message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestEndBlock - * @static - * @param {tendermint.abci.RequestEndBlock} message RequestEndBlock - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestEndBlock.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - return object; - }; - - /** - * Converts this RequestEndBlock to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestEndBlock - * @instance - * @returns {Object.} JSON object - */ - RequestEndBlock.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestEndBlock; - })(abci.RequestEndBlock || {}); - - abci.RequestCommit = (function(RequestCommit) { - - /** - * Properties of a RequestCommit. - * @memberof tendermint.abci - * @interface IRequestCommit - */ - - /** - * Constructs a new RequestCommit. - * @memberof tendermint.abci - * @classdesc Represents a RequestCommit. - * @implements IRequestCommit - * @constructor - * @param {tendermint.abci.IRequestCommit=} [properties] Properties to set - */ - function RequestCommit(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new RequestCommit instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestCommit - * @static - * @param {tendermint.abci.IRequestCommit=} [properties] Properties to set - * @returns {tendermint.abci.RequestCommit} RequestCommit instance - */ - RequestCommit.create = function create(properties) { - return new RequestCommit(properties); - }; - - /** - * Encodes the specified RequestCommit message. Does not implicitly {@link tendermint.abci.RequestCommit.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestCommit - * @static - * @param {tendermint.abci.IRequestCommit} message RequestCommit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestCommit.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified RequestCommit message, length delimited. Does not implicitly {@link tendermint.abci.RequestCommit.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestCommit - * @static - * @param {tendermint.abci.IRequestCommit} message RequestCommit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestCommit.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestCommit message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestCommit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestCommit} RequestCommit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestCommit.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestCommit(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestCommit message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestCommit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestCommit} RequestCommit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestCommit.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestCommit message. - * @function verify - * @memberof tendermint.abci.RequestCommit - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestCommit.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a RequestCommit message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestCommit - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestCommit} RequestCommit - */ - RequestCommit.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestCommit) - return object; - return new $root.tendermint.abci.RequestCommit(); - }; - - /** - * Creates a plain object from a RequestCommit message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestCommit - * @static - * @param {tendermint.abci.RequestCommit} message RequestCommit - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestCommit.toObject = function toObject() { - return {}; - }; - - /** - * Converts this RequestCommit to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestCommit - * @instance - * @returns {Object.} JSON object - */ - RequestCommit.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestCommit; - })(abci.RequestCommit || {}); - - abci.RequestListSnapshots = (function(RequestListSnapshots) { - - /** - * Properties of a RequestListSnapshots. - * @memberof tendermint.abci - * @interface IRequestListSnapshots - */ - - /** - * Constructs a new RequestListSnapshots. - * @memberof tendermint.abci - * @classdesc Represents a RequestListSnapshots. - * @implements IRequestListSnapshots - * @constructor - * @param {tendermint.abci.IRequestListSnapshots=} [properties] Properties to set - */ - function RequestListSnapshots(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new RequestListSnapshots instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestListSnapshots - * @static - * @param {tendermint.abci.IRequestListSnapshots=} [properties] Properties to set - * @returns {tendermint.abci.RequestListSnapshots} RequestListSnapshots instance - */ - RequestListSnapshots.create = function create(properties) { - return new RequestListSnapshots(properties); - }; - - /** - * Encodes the specified RequestListSnapshots message. Does not implicitly {@link tendermint.abci.RequestListSnapshots.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestListSnapshots - * @static - * @param {tendermint.abci.IRequestListSnapshots} message RequestListSnapshots message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestListSnapshots.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified RequestListSnapshots message, length delimited. Does not implicitly {@link tendermint.abci.RequestListSnapshots.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestListSnapshots - * @static - * @param {tendermint.abci.IRequestListSnapshots} message RequestListSnapshots message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestListSnapshots.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestListSnapshots message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestListSnapshots - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestListSnapshots} RequestListSnapshots - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestListSnapshots.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestListSnapshots(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestListSnapshots message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestListSnapshots - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestListSnapshots} RequestListSnapshots - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestListSnapshots.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestListSnapshots message. - * @function verify - * @memberof tendermint.abci.RequestListSnapshots - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestListSnapshots.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a RequestListSnapshots message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestListSnapshots - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestListSnapshots} RequestListSnapshots - */ - RequestListSnapshots.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestListSnapshots) - return object; - return new $root.tendermint.abci.RequestListSnapshots(); - }; - - /** - * Creates a plain object from a RequestListSnapshots message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestListSnapshots - * @static - * @param {tendermint.abci.RequestListSnapshots} message RequestListSnapshots - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestListSnapshots.toObject = function toObject() { - return {}; - }; - - /** - * Converts this RequestListSnapshots to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestListSnapshots - * @instance - * @returns {Object.} JSON object - */ - RequestListSnapshots.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestListSnapshots; - })(abci.RequestListSnapshots || {}); - - abci.RequestOfferSnapshot = (function(RequestOfferSnapshot) { - - /** - * Properties of a RequestOfferSnapshot. - * @memberof tendermint.abci - * @interface IRequestOfferSnapshot - * @property {tendermint.abci.ISnapshot|null} [snapshot] RequestOfferSnapshot snapshot - * @property {Uint8Array|null} [appHash] RequestOfferSnapshot appHash - */ - - /** - * Constructs a new RequestOfferSnapshot. - * @memberof tendermint.abci - * @classdesc Represents a RequestOfferSnapshot. - * @implements IRequestOfferSnapshot - * @constructor - * @param {tendermint.abci.IRequestOfferSnapshot=} [properties] Properties to set - */ - function RequestOfferSnapshot(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestOfferSnapshot snapshot. - * @member {tendermint.abci.ISnapshot|null|undefined} snapshot - * @memberof tendermint.abci.RequestOfferSnapshot - * @instance - */ - RequestOfferSnapshot.prototype.snapshot = null; - - /** - * RequestOfferSnapshot appHash. - * @member {Uint8Array} appHash - * @memberof tendermint.abci.RequestOfferSnapshot - * @instance - */ - RequestOfferSnapshot.prototype.appHash = $util.newBuffer([]); - - /** - * Creates a new RequestOfferSnapshot instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestOfferSnapshot - * @static - * @param {tendermint.abci.IRequestOfferSnapshot=} [properties] Properties to set - * @returns {tendermint.abci.RequestOfferSnapshot} RequestOfferSnapshot instance - */ - RequestOfferSnapshot.create = function create(properties) { - return new RequestOfferSnapshot(properties); - }; - - /** - * Encodes the specified RequestOfferSnapshot message. Does not implicitly {@link tendermint.abci.RequestOfferSnapshot.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestOfferSnapshot - * @static - * @param {tendermint.abci.IRequestOfferSnapshot} message RequestOfferSnapshot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestOfferSnapshot.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.snapshot != null && Object.hasOwnProperty.call(message, "snapshot")) - $root.tendermint.abci.Snapshot.encode(message.snapshot, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.appHash != null && Object.hasOwnProperty.call(message, "appHash")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.appHash); - return writer; - }; - - /** - * Encodes the specified RequestOfferSnapshot message, length delimited. Does not implicitly {@link tendermint.abci.RequestOfferSnapshot.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestOfferSnapshot - * @static - * @param {tendermint.abci.IRequestOfferSnapshot} message RequestOfferSnapshot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestOfferSnapshot.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestOfferSnapshot message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestOfferSnapshot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestOfferSnapshot} RequestOfferSnapshot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestOfferSnapshot.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestOfferSnapshot(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.snapshot = $root.tendermint.abci.Snapshot.decode(reader, reader.uint32()); - break; - case 2: - message.appHash = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestOfferSnapshot message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestOfferSnapshot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestOfferSnapshot} RequestOfferSnapshot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestOfferSnapshot.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestOfferSnapshot message. - * @function verify - * @memberof tendermint.abci.RequestOfferSnapshot - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestOfferSnapshot.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.snapshot != null && message.hasOwnProperty("snapshot")) { - let error = $root.tendermint.abci.Snapshot.verify(message.snapshot); - if (error) - return "snapshot." + error; - } - if (message.appHash != null && message.hasOwnProperty("appHash")) - if (!(message.appHash && typeof message.appHash.length === "number" || $util.isString(message.appHash))) - return "appHash: buffer expected"; - return null; - }; - - /** - * Creates a RequestOfferSnapshot message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestOfferSnapshot - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestOfferSnapshot} RequestOfferSnapshot - */ - RequestOfferSnapshot.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestOfferSnapshot) - return object; - let message = new $root.tendermint.abci.RequestOfferSnapshot(); - if (object.snapshot != null) { - if (typeof object.snapshot !== "object") - throw TypeError(".tendermint.abci.RequestOfferSnapshot.snapshot: object expected"); - message.snapshot = $root.tendermint.abci.Snapshot.fromObject(object.snapshot); - } - if (object.appHash != null) - if (typeof object.appHash === "string") - $util.base64.decode(object.appHash, message.appHash = $util.newBuffer($util.base64.length(object.appHash)), 0); - else if (object.appHash.length) - message.appHash = object.appHash; - return message; - }; - - /** - * Creates a plain object from a RequestOfferSnapshot message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestOfferSnapshot - * @static - * @param {tendermint.abci.RequestOfferSnapshot} message RequestOfferSnapshot - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestOfferSnapshot.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.snapshot = null; - if (options.bytes === String) - object.appHash = ""; - else { - object.appHash = []; - if (options.bytes !== Array) - object.appHash = $util.newBuffer(object.appHash); - } - } - if (message.snapshot != null && message.hasOwnProperty("snapshot")) - object.snapshot = $root.tendermint.abci.Snapshot.toObject(message.snapshot, options); - if (message.appHash != null && message.hasOwnProperty("appHash")) - object.appHash = options.bytes === String ? $util.base64.encode(message.appHash, 0, message.appHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.appHash) : message.appHash; - return object; - }; - - /** - * Converts this RequestOfferSnapshot to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestOfferSnapshot - * @instance - * @returns {Object.} JSON object - */ - RequestOfferSnapshot.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestOfferSnapshot; - })(abci.RequestOfferSnapshot || {}); - - abci.RequestLoadSnapshotChunk = (function(RequestLoadSnapshotChunk) { - - /** - * Properties of a RequestLoadSnapshotChunk. - * @memberof tendermint.abci - * @interface IRequestLoadSnapshotChunk - * @property {number|Long|null} [height] RequestLoadSnapshotChunk height - * @property {number|null} [format] RequestLoadSnapshotChunk format - * @property {number|null} [chunk] RequestLoadSnapshotChunk chunk - */ - - /** - * Constructs a new RequestLoadSnapshotChunk. - * @memberof tendermint.abci - * @classdesc Represents a RequestLoadSnapshotChunk. - * @implements IRequestLoadSnapshotChunk - * @constructor - * @param {tendermint.abci.IRequestLoadSnapshotChunk=} [properties] Properties to set - */ - function RequestLoadSnapshotChunk(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestLoadSnapshotChunk height. - * @member {number|Long} height - * @memberof tendermint.abci.RequestLoadSnapshotChunk - * @instance - */ - RequestLoadSnapshotChunk.prototype.height = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * RequestLoadSnapshotChunk format. - * @member {number} format - * @memberof tendermint.abci.RequestLoadSnapshotChunk - * @instance - */ - RequestLoadSnapshotChunk.prototype.format = 0; - - /** - * RequestLoadSnapshotChunk chunk. - * @member {number} chunk - * @memberof tendermint.abci.RequestLoadSnapshotChunk - * @instance - */ - RequestLoadSnapshotChunk.prototype.chunk = 0; - - /** - * Creates a new RequestLoadSnapshotChunk instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestLoadSnapshotChunk - * @static - * @param {tendermint.abci.IRequestLoadSnapshotChunk=} [properties] Properties to set - * @returns {tendermint.abci.RequestLoadSnapshotChunk} RequestLoadSnapshotChunk instance - */ - RequestLoadSnapshotChunk.create = function create(properties) { - return new RequestLoadSnapshotChunk(properties); - }; - - /** - * Encodes the specified RequestLoadSnapshotChunk message. Does not implicitly {@link tendermint.abci.RequestLoadSnapshotChunk.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestLoadSnapshotChunk - * @static - * @param {tendermint.abci.IRequestLoadSnapshotChunk} message RequestLoadSnapshotChunk message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestLoadSnapshotChunk.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.height); - if (message.format != null && Object.hasOwnProperty.call(message, "format")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.format); - if (message.chunk != null && Object.hasOwnProperty.call(message, "chunk")) - writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.chunk); - return writer; - }; - - /** - * Encodes the specified RequestLoadSnapshotChunk message, length delimited. Does not implicitly {@link tendermint.abci.RequestLoadSnapshotChunk.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestLoadSnapshotChunk - * @static - * @param {tendermint.abci.IRequestLoadSnapshotChunk} message RequestLoadSnapshotChunk message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestLoadSnapshotChunk.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestLoadSnapshotChunk message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestLoadSnapshotChunk - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestLoadSnapshotChunk} RequestLoadSnapshotChunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestLoadSnapshotChunk.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestLoadSnapshotChunk(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.uint64(); - break; - case 2: - message.format = reader.uint32(); - break; - case 3: - message.chunk = reader.uint32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestLoadSnapshotChunk message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestLoadSnapshotChunk - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestLoadSnapshotChunk} RequestLoadSnapshotChunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestLoadSnapshotChunk.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestLoadSnapshotChunk message. - * @function verify - * @memberof tendermint.abci.RequestLoadSnapshotChunk - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestLoadSnapshotChunk.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.format != null && message.hasOwnProperty("format")) - if (!$util.isInteger(message.format)) - return "format: integer expected"; - if (message.chunk != null && message.hasOwnProperty("chunk")) - if (!$util.isInteger(message.chunk)) - return "chunk: integer expected"; - return null; - }; - - /** - * Creates a RequestLoadSnapshotChunk message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestLoadSnapshotChunk - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestLoadSnapshotChunk} RequestLoadSnapshotChunk - */ - RequestLoadSnapshotChunk.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestLoadSnapshotChunk) - return object; - let message = new $root.tendermint.abci.RequestLoadSnapshotChunk(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = true; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(true); - if (object.format != null) - message.format = object.format >>> 0; - if (object.chunk != null) - message.chunk = object.chunk >>> 0; - return message; - }; - - /** - * Creates a plain object from a RequestLoadSnapshotChunk message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestLoadSnapshotChunk - * @static - * @param {tendermint.abci.RequestLoadSnapshotChunk} message RequestLoadSnapshotChunk - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestLoadSnapshotChunk.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.format = 0; - object.chunk = 0; - } - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber(true) : message.height; - if (message.format != null && message.hasOwnProperty("format")) - object.format = message.format; - if (message.chunk != null && message.hasOwnProperty("chunk")) - object.chunk = message.chunk; - return object; - }; - - /** - * Converts this RequestLoadSnapshotChunk to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestLoadSnapshotChunk - * @instance - * @returns {Object.} JSON object - */ - RequestLoadSnapshotChunk.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestLoadSnapshotChunk; - })(abci.RequestLoadSnapshotChunk || {}); - - abci.RequestApplySnapshotChunk = (function(RequestApplySnapshotChunk) { - - /** - * Properties of a RequestApplySnapshotChunk. - * @memberof tendermint.abci - * @interface IRequestApplySnapshotChunk - * @property {number|null} [index] RequestApplySnapshotChunk index - * @property {Uint8Array|null} [chunk] RequestApplySnapshotChunk chunk - * @property {string|null} [sender] RequestApplySnapshotChunk sender - */ - - /** - * Constructs a new RequestApplySnapshotChunk. - * @memberof tendermint.abci - * @classdesc Represents a RequestApplySnapshotChunk. - * @implements IRequestApplySnapshotChunk - * @constructor - * @param {tendermint.abci.IRequestApplySnapshotChunk=} [properties] Properties to set - */ - function RequestApplySnapshotChunk(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * RequestApplySnapshotChunk index. - * @member {number} index - * @memberof tendermint.abci.RequestApplySnapshotChunk - * @instance - */ - RequestApplySnapshotChunk.prototype.index = 0; - - /** - * RequestApplySnapshotChunk chunk. - * @member {Uint8Array} chunk - * @memberof tendermint.abci.RequestApplySnapshotChunk - * @instance - */ - RequestApplySnapshotChunk.prototype.chunk = $util.newBuffer([]); - - /** - * RequestApplySnapshotChunk sender. - * @member {string} sender - * @memberof tendermint.abci.RequestApplySnapshotChunk - * @instance - */ - RequestApplySnapshotChunk.prototype.sender = ""; - - /** - * Creates a new RequestApplySnapshotChunk instance using the specified properties. - * @function create - * @memberof tendermint.abci.RequestApplySnapshotChunk - * @static - * @param {tendermint.abci.IRequestApplySnapshotChunk=} [properties] Properties to set - * @returns {tendermint.abci.RequestApplySnapshotChunk} RequestApplySnapshotChunk instance - */ - RequestApplySnapshotChunk.create = function create(properties) { - return new RequestApplySnapshotChunk(properties); - }; - - /** - * Encodes the specified RequestApplySnapshotChunk message. Does not implicitly {@link tendermint.abci.RequestApplySnapshotChunk.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.RequestApplySnapshotChunk - * @static - * @param {tendermint.abci.IRequestApplySnapshotChunk} message RequestApplySnapshotChunk message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestApplySnapshotChunk.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.index != null && Object.hasOwnProperty.call(message, "index")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.index); - if (message.chunk != null && Object.hasOwnProperty.call(message, "chunk")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.chunk); - if (message.sender != null && Object.hasOwnProperty.call(message, "sender")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.sender); - return writer; - }; - - /** - * Encodes the specified RequestApplySnapshotChunk message, length delimited. Does not implicitly {@link tendermint.abci.RequestApplySnapshotChunk.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.RequestApplySnapshotChunk - * @static - * @param {tendermint.abci.IRequestApplySnapshotChunk} message RequestApplySnapshotChunk message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - RequestApplySnapshotChunk.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a RequestApplySnapshotChunk message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.RequestApplySnapshotChunk - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.RequestApplySnapshotChunk} RequestApplySnapshotChunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestApplySnapshotChunk.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.RequestApplySnapshotChunk(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.index = reader.uint32(); - break; - case 2: - message.chunk = reader.bytes(); - break; - case 3: - message.sender = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a RequestApplySnapshotChunk message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.RequestApplySnapshotChunk - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.RequestApplySnapshotChunk} RequestApplySnapshotChunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - RequestApplySnapshotChunk.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a RequestApplySnapshotChunk message. - * @function verify - * @memberof tendermint.abci.RequestApplySnapshotChunk - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - RequestApplySnapshotChunk.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.index != null && message.hasOwnProperty("index")) - if (!$util.isInteger(message.index)) - return "index: integer expected"; - if (message.chunk != null && message.hasOwnProperty("chunk")) - if (!(message.chunk && typeof message.chunk.length === "number" || $util.isString(message.chunk))) - return "chunk: buffer expected"; - if (message.sender != null && message.hasOwnProperty("sender")) - if (!$util.isString(message.sender)) - return "sender: string expected"; - return null; - }; - - /** - * Creates a RequestApplySnapshotChunk message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.RequestApplySnapshotChunk - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.RequestApplySnapshotChunk} RequestApplySnapshotChunk - */ - RequestApplySnapshotChunk.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.RequestApplySnapshotChunk) - return object; - let message = new $root.tendermint.abci.RequestApplySnapshotChunk(); - if (object.index != null) - message.index = object.index >>> 0; - if (object.chunk != null) - if (typeof object.chunk === "string") - $util.base64.decode(object.chunk, message.chunk = $util.newBuffer($util.base64.length(object.chunk)), 0); - else if (object.chunk.length) - message.chunk = object.chunk; - if (object.sender != null) - message.sender = String(object.sender); - return message; - }; - - /** - * Creates a plain object from a RequestApplySnapshotChunk message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.RequestApplySnapshotChunk - * @static - * @param {tendermint.abci.RequestApplySnapshotChunk} message RequestApplySnapshotChunk - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - RequestApplySnapshotChunk.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.index = 0; - if (options.bytes === String) - object.chunk = ""; - else { - object.chunk = []; - if (options.bytes !== Array) - object.chunk = $util.newBuffer(object.chunk); - } - object.sender = ""; - } - if (message.index != null && message.hasOwnProperty("index")) - object.index = message.index; - if (message.chunk != null && message.hasOwnProperty("chunk")) - object.chunk = options.bytes === String ? $util.base64.encode(message.chunk, 0, message.chunk.length) : options.bytes === Array ? Array.prototype.slice.call(message.chunk) : message.chunk; - if (message.sender != null && message.hasOwnProperty("sender")) - object.sender = message.sender; - return object; - }; - - /** - * Converts this RequestApplySnapshotChunk to JSON. - * @function toJSON - * @memberof tendermint.abci.RequestApplySnapshotChunk - * @instance - * @returns {Object.} JSON object - */ - RequestApplySnapshotChunk.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return RequestApplySnapshotChunk; - })(abci.RequestApplySnapshotChunk || {}); - - abci.Response = (function(Response) { - - /** - * Properties of a Response. - * @memberof tendermint.abci - * @interface IResponse - * @property {tendermint.abci.IResponseException|null} [exception] Response exception - * @property {tendermint.abci.IResponseEcho|null} [echo] Response echo - * @property {tendermint.abci.IResponseFlush|null} [flush] Response flush - * @property {tendermint.abci.IResponseInfo|null} [info] Response info - * @property {tendermint.abci.IResponseSetOption|null} [setOption] Response setOption - * @property {tendermint.abci.IResponseInitChain|null} [initChain] Response initChain - * @property {tendermint.abci.IResponseQuery|null} [query] Response query - * @property {tendermint.abci.IResponseBeginBlock|null} [beginBlock] Response beginBlock - * @property {tendermint.abci.IResponseCheckTx|null} [checkTx] Response checkTx - * @property {tendermint.abci.IResponseDeliverTx|null} [deliverTx] Response deliverTx - * @property {tendermint.abci.IResponseEndBlock|null} [endBlock] Response endBlock - * @property {tendermint.abci.IResponseCommit|null} [commit] Response commit - * @property {tendermint.abci.IResponseListSnapshots|null} [listSnapshots] Response listSnapshots - * @property {tendermint.abci.IResponseOfferSnapshot|null} [offerSnapshot] Response offerSnapshot - * @property {tendermint.abci.IResponseLoadSnapshotChunk|null} [loadSnapshotChunk] Response loadSnapshotChunk - * @property {tendermint.abci.IResponseApplySnapshotChunk|null} [applySnapshotChunk] Response applySnapshotChunk - */ - - /** - * Constructs a new Response. - * @memberof tendermint.abci - * @classdesc Represents a Response. - * @implements IResponse - * @constructor - * @param {tendermint.abci.IResponse=} [properties] Properties to set - */ - function Response(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Response exception. - * @member {tendermint.abci.IResponseException|null|undefined} exception - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.exception = null; - - /** - * Response echo. - * @member {tendermint.abci.IResponseEcho|null|undefined} echo - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.echo = null; - - /** - * Response flush. - * @member {tendermint.abci.IResponseFlush|null|undefined} flush - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.flush = null; - - /** - * Response info. - * @member {tendermint.abci.IResponseInfo|null|undefined} info - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.info = null; - - /** - * Response setOption. - * @member {tendermint.abci.IResponseSetOption|null|undefined} setOption - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.setOption = null; - - /** - * Response initChain. - * @member {tendermint.abci.IResponseInitChain|null|undefined} initChain - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.initChain = null; - - /** - * Response query. - * @member {tendermint.abci.IResponseQuery|null|undefined} query - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.query = null; - - /** - * Response beginBlock. - * @member {tendermint.abci.IResponseBeginBlock|null|undefined} beginBlock - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.beginBlock = null; - - /** - * Response checkTx. - * @member {tendermint.abci.IResponseCheckTx|null|undefined} checkTx - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.checkTx = null; - - /** - * Response deliverTx. - * @member {tendermint.abci.IResponseDeliverTx|null|undefined} deliverTx - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.deliverTx = null; - - /** - * Response endBlock. - * @member {tendermint.abci.IResponseEndBlock|null|undefined} endBlock - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.endBlock = null; - - /** - * Response commit. - * @member {tendermint.abci.IResponseCommit|null|undefined} commit - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.commit = null; - - /** - * Response listSnapshots. - * @member {tendermint.abci.IResponseListSnapshots|null|undefined} listSnapshots - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.listSnapshots = null; - - /** - * Response offerSnapshot. - * @member {tendermint.abci.IResponseOfferSnapshot|null|undefined} offerSnapshot - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.offerSnapshot = null; - - /** - * Response loadSnapshotChunk. - * @member {tendermint.abci.IResponseLoadSnapshotChunk|null|undefined} loadSnapshotChunk - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.loadSnapshotChunk = null; - - /** - * Response applySnapshotChunk. - * @member {tendermint.abci.IResponseApplySnapshotChunk|null|undefined} applySnapshotChunk - * @memberof tendermint.abci.Response - * @instance - */ - Response.prototype.applySnapshotChunk = null; - - // OneOf field names bound to virtual getters and setters - let $oneOfFields; - - /** - * Response value. - * @member {"exception"|"echo"|"flush"|"info"|"setOption"|"initChain"|"query"|"beginBlock"|"checkTx"|"deliverTx"|"endBlock"|"commit"|"listSnapshots"|"offerSnapshot"|"loadSnapshotChunk"|"applySnapshotChunk"|undefined} value - * @memberof tendermint.abci.Response - * @instance - */ - Object.defineProperty(Response.prototype, "value", { - get: $util.oneOfGetter($oneOfFields = ["exception", "echo", "flush", "info", "setOption", "initChain", "query", "beginBlock", "checkTx", "deliverTx", "endBlock", "commit", "listSnapshots", "offerSnapshot", "loadSnapshotChunk", "applySnapshotChunk"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Response instance using the specified properties. - * @function create - * @memberof tendermint.abci.Response - * @static - * @param {tendermint.abci.IResponse=} [properties] Properties to set - * @returns {tendermint.abci.Response} Response instance - */ - Response.create = function create(properties) { - return new Response(properties); - }; - - /** - * Encodes the specified Response message. Does not implicitly {@link tendermint.abci.Response.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.Response - * @static - * @param {tendermint.abci.IResponse} message Response message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Response.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.exception != null && Object.hasOwnProperty.call(message, "exception")) - $root.tendermint.abci.ResponseException.encode(message.exception, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.echo != null && Object.hasOwnProperty.call(message, "echo")) - $root.tendermint.abci.ResponseEcho.encode(message.echo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.flush != null && Object.hasOwnProperty.call(message, "flush")) - $root.tendermint.abci.ResponseFlush.encode(message.flush, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.info != null && Object.hasOwnProperty.call(message, "info")) - $root.tendermint.abci.ResponseInfo.encode(message.info, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.setOption != null && Object.hasOwnProperty.call(message, "setOption")) - $root.tendermint.abci.ResponseSetOption.encode(message.setOption, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.initChain != null && Object.hasOwnProperty.call(message, "initChain")) - $root.tendermint.abci.ResponseInitChain.encode(message.initChain, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.query != null && Object.hasOwnProperty.call(message, "query")) - $root.tendermint.abci.ResponseQuery.encode(message.query, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.beginBlock != null && Object.hasOwnProperty.call(message, "beginBlock")) - $root.tendermint.abci.ResponseBeginBlock.encode(message.beginBlock, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.checkTx != null && Object.hasOwnProperty.call(message, "checkTx")) - $root.tendermint.abci.ResponseCheckTx.encode(message.checkTx, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); - if (message.deliverTx != null && Object.hasOwnProperty.call(message, "deliverTx")) - $root.tendermint.abci.ResponseDeliverTx.encode(message.deliverTx, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); - if (message.endBlock != null && Object.hasOwnProperty.call(message, "endBlock")) - $root.tendermint.abci.ResponseEndBlock.encode(message.endBlock, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); - if (message.commit != null && Object.hasOwnProperty.call(message, "commit")) - $root.tendermint.abci.ResponseCommit.encode(message.commit, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); - if (message.listSnapshots != null && Object.hasOwnProperty.call(message, "listSnapshots")) - $root.tendermint.abci.ResponseListSnapshots.encode(message.listSnapshots, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); - if (message.offerSnapshot != null && Object.hasOwnProperty.call(message, "offerSnapshot")) - $root.tendermint.abci.ResponseOfferSnapshot.encode(message.offerSnapshot, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); - if (message.loadSnapshotChunk != null && Object.hasOwnProperty.call(message, "loadSnapshotChunk")) - $root.tendermint.abci.ResponseLoadSnapshotChunk.encode(message.loadSnapshotChunk, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); - if (message.applySnapshotChunk != null && Object.hasOwnProperty.call(message, "applySnapshotChunk")) - $root.tendermint.abci.ResponseApplySnapshotChunk.encode(message.applySnapshotChunk, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Response message, length delimited. Does not implicitly {@link tendermint.abci.Response.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.Response - * @static - * @param {tendermint.abci.IResponse} message Response message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Response.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Response message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.Response - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.Response} Response - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Response.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.Response(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.exception = $root.tendermint.abci.ResponseException.decode(reader, reader.uint32()); - break; - case 2: - message.echo = $root.tendermint.abci.ResponseEcho.decode(reader, reader.uint32()); - break; - case 3: - message.flush = $root.tendermint.abci.ResponseFlush.decode(reader, reader.uint32()); - break; - case 4: - message.info = $root.tendermint.abci.ResponseInfo.decode(reader, reader.uint32()); - break; - case 5: - message.setOption = $root.tendermint.abci.ResponseSetOption.decode(reader, reader.uint32()); - break; - case 6: - message.initChain = $root.tendermint.abci.ResponseInitChain.decode(reader, reader.uint32()); - break; - case 7: - message.query = $root.tendermint.abci.ResponseQuery.decode(reader, reader.uint32()); - break; - case 8: - message.beginBlock = $root.tendermint.abci.ResponseBeginBlock.decode(reader, reader.uint32()); - break; - case 9: - message.checkTx = $root.tendermint.abci.ResponseCheckTx.decode(reader, reader.uint32()); - break; - case 10: - message.deliverTx = $root.tendermint.abci.ResponseDeliverTx.decode(reader, reader.uint32()); - break; - case 11: - message.endBlock = $root.tendermint.abci.ResponseEndBlock.decode(reader, reader.uint32()); - break; - case 12: - message.commit = $root.tendermint.abci.ResponseCommit.decode(reader, reader.uint32()); - break; - case 13: - message.listSnapshots = $root.tendermint.abci.ResponseListSnapshots.decode(reader, reader.uint32()); - break; - case 14: - message.offerSnapshot = $root.tendermint.abci.ResponseOfferSnapshot.decode(reader, reader.uint32()); - break; - case 15: - message.loadSnapshotChunk = $root.tendermint.abci.ResponseLoadSnapshotChunk.decode(reader, reader.uint32()); - break; - case 16: - message.applySnapshotChunk = $root.tendermint.abci.ResponseApplySnapshotChunk.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Response message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.Response - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.Response} Response - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Response.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Response message. - * @function verify - * @memberof tendermint.abci.Response - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Response.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - let properties = {}; - if (message.exception != null && message.hasOwnProperty("exception")) { - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseException.verify(message.exception); - if (error) - return "exception." + error; - } - } - if (message.echo != null && message.hasOwnProperty("echo")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseEcho.verify(message.echo); - if (error) - return "echo." + error; - } - } - if (message.flush != null && message.hasOwnProperty("flush")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseFlush.verify(message.flush); - if (error) - return "flush." + error; - } - } - if (message.info != null && message.hasOwnProperty("info")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseInfo.verify(message.info); - if (error) - return "info." + error; - } - } - if (message.setOption != null && message.hasOwnProperty("setOption")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseSetOption.verify(message.setOption); - if (error) - return "setOption." + error; - } - } - if (message.initChain != null && message.hasOwnProperty("initChain")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseInitChain.verify(message.initChain); - if (error) - return "initChain." + error; - } - } - if (message.query != null && message.hasOwnProperty("query")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseQuery.verify(message.query); - if (error) - return "query." + error; - } - } - if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseBeginBlock.verify(message.beginBlock); - if (error) - return "beginBlock." + error; - } - } - if (message.checkTx != null && message.hasOwnProperty("checkTx")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseCheckTx.verify(message.checkTx); - if (error) - return "checkTx." + error; - } - } - if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseDeliverTx.verify(message.deliverTx); - if (error) - return "deliverTx." + error; - } - } - if (message.endBlock != null && message.hasOwnProperty("endBlock")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseEndBlock.verify(message.endBlock); - if (error) - return "endBlock." + error; - } - } - if (message.commit != null && message.hasOwnProperty("commit")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseCommit.verify(message.commit); - if (error) - return "commit." + error; - } - } - if (message.listSnapshots != null && message.hasOwnProperty("listSnapshots")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseListSnapshots.verify(message.listSnapshots); - if (error) - return "listSnapshots." + error; - } - } - if (message.offerSnapshot != null && message.hasOwnProperty("offerSnapshot")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseOfferSnapshot.verify(message.offerSnapshot); - if (error) - return "offerSnapshot." + error; - } - } - if (message.loadSnapshotChunk != null && message.hasOwnProperty("loadSnapshotChunk")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseLoadSnapshotChunk.verify(message.loadSnapshotChunk); - if (error) - return "loadSnapshotChunk." + error; - } - } - if (message.applySnapshotChunk != null && message.hasOwnProperty("applySnapshotChunk")) { - if (properties.value === 1) - return "value: multiple values"; - properties.value = 1; - { - let error = $root.tendermint.abci.ResponseApplySnapshotChunk.verify(message.applySnapshotChunk); - if (error) - return "applySnapshotChunk." + error; - } - } - return null; - }; - - /** - * Creates a Response message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.Response - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.Response} Response - */ - Response.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.Response) - return object; - let message = new $root.tendermint.abci.Response(); - if (object.exception != null) { - if (typeof object.exception !== "object") - throw TypeError(".tendermint.abci.Response.exception: object expected"); - message.exception = $root.tendermint.abci.ResponseException.fromObject(object.exception); - } - if (object.echo != null) { - if (typeof object.echo !== "object") - throw TypeError(".tendermint.abci.Response.echo: object expected"); - message.echo = $root.tendermint.abci.ResponseEcho.fromObject(object.echo); - } - if (object.flush != null) { - if (typeof object.flush !== "object") - throw TypeError(".tendermint.abci.Response.flush: object expected"); - message.flush = $root.tendermint.abci.ResponseFlush.fromObject(object.flush); - } - if (object.info != null) { - if (typeof object.info !== "object") - throw TypeError(".tendermint.abci.Response.info: object expected"); - message.info = $root.tendermint.abci.ResponseInfo.fromObject(object.info); - } - if (object.setOption != null) { - if (typeof object.setOption !== "object") - throw TypeError(".tendermint.abci.Response.setOption: object expected"); - message.setOption = $root.tendermint.abci.ResponseSetOption.fromObject(object.setOption); - } - if (object.initChain != null) { - if (typeof object.initChain !== "object") - throw TypeError(".tendermint.abci.Response.initChain: object expected"); - message.initChain = $root.tendermint.abci.ResponseInitChain.fromObject(object.initChain); - } - if (object.query != null) { - if (typeof object.query !== "object") - throw TypeError(".tendermint.abci.Response.query: object expected"); - message.query = $root.tendermint.abci.ResponseQuery.fromObject(object.query); - } - if (object.beginBlock != null) { - if (typeof object.beginBlock !== "object") - throw TypeError(".tendermint.abci.Response.beginBlock: object expected"); - message.beginBlock = $root.tendermint.abci.ResponseBeginBlock.fromObject(object.beginBlock); - } - if (object.checkTx != null) { - if (typeof object.checkTx !== "object") - throw TypeError(".tendermint.abci.Response.checkTx: object expected"); - message.checkTx = $root.tendermint.abci.ResponseCheckTx.fromObject(object.checkTx); - } - if (object.deliverTx != null) { - if (typeof object.deliverTx !== "object") - throw TypeError(".tendermint.abci.Response.deliverTx: object expected"); - message.deliverTx = $root.tendermint.abci.ResponseDeliverTx.fromObject(object.deliverTx); - } - if (object.endBlock != null) { - if (typeof object.endBlock !== "object") - throw TypeError(".tendermint.abci.Response.endBlock: object expected"); - message.endBlock = $root.tendermint.abci.ResponseEndBlock.fromObject(object.endBlock); - } - if (object.commit != null) { - if (typeof object.commit !== "object") - throw TypeError(".tendermint.abci.Response.commit: object expected"); - message.commit = $root.tendermint.abci.ResponseCommit.fromObject(object.commit); - } - if (object.listSnapshots != null) { - if (typeof object.listSnapshots !== "object") - throw TypeError(".tendermint.abci.Response.listSnapshots: object expected"); - message.listSnapshots = $root.tendermint.abci.ResponseListSnapshots.fromObject(object.listSnapshots); - } - if (object.offerSnapshot != null) { - if (typeof object.offerSnapshot !== "object") - throw TypeError(".tendermint.abci.Response.offerSnapshot: object expected"); - message.offerSnapshot = $root.tendermint.abci.ResponseOfferSnapshot.fromObject(object.offerSnapshot); - } - if (object.loadSnapshotChunk != null) { - if (typeof object.loadSnapshotChunk !== "object") - throw TypeError(".tendermint.abci.Response.loadSnapshotChunk: object expected"); - message.loadSnapshotChunk = $root.tendermint.abci.ResponseLoadSnapshotChunk.fromObject(object.loadSnapshotChunk); - } - if (object.applySnapshotChunk != null) { - if (typeof object.applySnapshotChunk !== "object") - throw TypeError(".tendermint.abci.Response.applySnapshotChunk: object expected"); - message.applySnapshotChunk = $root.tendermint.abci.ResponseApplySnapshotChunk.fromObject(object.applySnapshotChunk); - } - return message; - }; - - /** - * Creates a plain object from a Response message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.Response - * @static - * @param {tendermint.abci.Response} message Response - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Response.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (message.exception != null && message.hasOwnProperty("exception")) { - object.exception = $root.tendermint.abci.ResponseException.toObject(message.exception, options); - if (options.oneofs) - object.value = "exception"; - } - if (message.echo != null && message.hasOwnProperty("echo")) { - object.echo = $root.tendermint.abci.ResponseEcho.toObject(message.echo, options); - if (options.oneofs) - object.value = "echo"; - } - if (message.flush != null && message.hasOwnProperty("flush")) { - object.flush = $root.tendermint.abci.ResponseFlush.toObject(message.flush, options); - if (options.oneofs) - object.value = "flush"; - } - if (message.info != null && message.hasOwnProperty("info")) { - object.info = $root.tendermint.abci.ResponseInfo.toObject(message.info, options); - if (options.oneofs) - object.value = "info"; - } - if (message.setOption != null && message.hasOwnProperty("setOption")) { - object.setOption = $root.tendermint.abci.ResponseSetOption.toObject(message.setOption, options); - if (options.oneofs) - object.value = "setOption"; - } - if (message.initChain != null && message.hasOwnProperty("initChain")) { - object.initChain = $root.tendermint.abci.ResponseInitChain.toObject(message.initChain, options); - if (options.oneofs) - object.value = "initChain"; - } - if (message.query != null && message.hasOwnProperty("query")) { - object.query = $root.tendermint.abci.ResponseQuery.toObject(message.query, options); - if (options.oneofs) - object.value = "query"; - } - if (message.beginBlock != null && message.hasOwnProperty("beginBlock")) { - object.beginBlock = $root.tendermint.abci.ResponseBeginBlock.toObject(message.beginBlock, options); - if (options.oneofs) - object.value = "beginBlock"; - } - if (message.checkTx != null && message.hasOwnProperty("checkTx")) { - object.checkTx = $root.tendermint.abci.ResponseCheckTx.toObject(message.checkTx, options); - if (options.oneofs) - object.value = "checkTx"; - } - if (message.deliverTx != null && message.hasOwnProperty("deliverTx")) { - object.deliverTx = $root.tendermint.abci.ResponseDeliverTx.toObject(message.deliverTx, options); - if (options.oneofs) - object.value = "deliverTx"; - } - if (message.endBlock != null && message.hasOwnProperty("endBlock")) { - object.endBlock = $root.tendermint.abci.ResponseEndBlock.toObject(message.endBlock, options); - if (options.oneofs) - object.value = "endBlock"; - } - if (message.commit != null && message.hasOwnProperty("commit")) { - object.commit = $root.tendermint.abci.ResponseCommit.toObject(message.commit, options); - if (options.oneofs) - object.value = "commit"; - } - if (message.listSnapshots != null && message.hasOwnProperty("listSnapshots")) { - object.listSnapshots = $root.tendermint.abci.ResponseListSnapshots.toObject(message.listSnapshots, options); - if (options.oneofs) - object.value = "listSnapshots"; - } - if (message.offerSnapshot != null && message.hasOwnProperty("offerSnapshot")) { - object.offerSnapshot = $root.tendermint.abci.ResponseOfferSnapshot.toObject(message.offerSnapshot, options); - if (options.oneofs) - object.value = "offerSnapshot"; - } - if (message.loadSnapshotChunk != null && message.hasOwnProperty("loadSnapshotChunk")) { - object.loadSnapshotChunk = $root.tendermint.abci.ResponseLoadSnapshotChunk.toObject(message.loadSnapshotChunk, options); - if (options.oneofs) - object.value = "loadSnapshotChunk"; - } - if (message.applySnapshotChunk != null && message.hasOwnProperty("applySnapshotChunk")) { - object.applySnapshotChunk = $root.tendermint.abci.ResponseApplySnapshotChunk.toObject(message.applySnapshotChunk, options); - if (options.oneofs) - object.value = "applySnapshotChunk"; - } - return object; - }; - - /** - * Converts this Response to JSON. - * @function toJSON - * @memberof tendermint.abci.Response - * @instance - * @returns {Object.} JSON object - */ - Response.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Response; - })(abci.Response || {}); - - abci.ResponseException = (function(ResponseException) { - - /** - * Properties of a ResponseException. - * @memberof tendermint.abci - * @interface IResponseException - * @property {string|null} [error] ResponseException error - */ - - /** - * Constructs a new ResponseException. - * @memberof tendermint.abci - * @classdesc Represents a ResponseException. - * @implements IResponseException - * @constructor - * @param {tendermint.abci.IResponseException=} [properties] Properties to set - */ - function ResponseException(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseException error. - * @member {string} error - * @memberof tendermint.abci.ResponseException - * @instance - */ - ResponseException.prototype.error = ""; - - /** - * Creates a new ResponseException instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseException - * @static - * @param {tendermint.abci.IResponseException=} [properties] Properties to set - * @returns {tendermint.abci.ResponseException} ResponseException instance - */ - ResponseException.create = function create(properties) { - return new ResponseException(properties); - }; - - /** - * Encodes the specified ResponseException message. Does not implicitly {@link tendermint.abci.ResponseException.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseException - * @static - * @param {tendermint.abci.IResponseException} message ResponseException message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseException.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.error != null && Object.hasOwnProperty.call(message, "error")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.error); - return writer; - }; - - /** - * Encodes the specified ResponseException message, length delimited. Does not implicitly {@link tendermint.abci.ResponseException.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseException - * @static - * @param {tendermint.abci.IResponseException} message ResponseException message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseException.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseException message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseException - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseException} ResponseException - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseException.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseException(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.error = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseException message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseException - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseException} ResponseException - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseException.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseException message. - * @function verify - * @memberof tendermint.abci.ResponseException - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseException.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.error != null && message.hasOwnProperty("error")) - if (!$util.isString(message.error)) - return "error: string expected"; - return null; - }; - - /** - * Creates a ResponseException message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseException - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseException} ResponseException - */ - ResponseException.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseException) - return object; - let message = new $root.tendermint.abci.ResponseException(); - if (object.error != null) - message.error = String(object.error); - return message; - }; - - /** - * Creates a plain object from a ResponseException message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseException - * @static - * @param {tendermint.abci.ResponseException} message ResponseException - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseException.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.error = ""; - if (message.error != null && message.hasOwnProperty("error")) - object.error = message.error; - return object; - }; - - /** - * Converts this ResponseException to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseException - * @instance - * @returns {Object.} JSON object - */ - ResponseException.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseException; - })(abci.ResponseException || {}); - - abci.ResponseEcho = (function(ResponseEcho) { - - /** - * Properties of a ResponseEcho. - * @memberof tendermint.abci - * @interface IResponseEcho - * @property {string|null} [message] ResponseEcho message - */ - - /** - * Constructs a new ResponseEcho. - * @memberof tendermint.abci - * @classdesc Represents a ResponseEcho. - * @implements IResponseEcho - * @constructor - * @param {tendermint.abci.IResponseEcho=} [properties] Properties to set - */ - function ResponseEcho(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseEcho message. - * @member {string} message - * @memberof tendermint.abci.ResponseEcho - * @instance - */ - ResponseEcho.prototype.message = ""; - - /** - * Creates a new ResponseEcho instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseEcho - * @static - * @param {tendermint.abci.IResponseEcho=} [properties] Properties to set - * @returns {tendermint.abci.ResponseEcho} ResponseEcho instance - */ - ResponseEcho.create = function create(properties) { - return new ResponseEcho(properties); - }; - - /** - * Encodes the specified ResponseEcho message. Does not implicitly {@link tendermint.abci.ResponseEcho.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseEcho - * @static - * @param {tendermint.abci.IResponseEcho} message ResponseEcho message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseEcho.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.message != null && Object.hasOwnProperty.call(message, "message")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.message); - return writer; - }; - - /** - * Encodes the specified ResponseEcho message, length delimited. Does not implicitly {@link tendermint.abci.ResponseEcho.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseEcho - * @static - * @param {tendermint.abci.IResponseEcho} message ResponseEcho message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseEcho.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseEcho message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseEcho - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseEcho} ResponseEcho - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseEcho.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseEcho(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.message = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseEcho message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseEcho - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseEcho} ResponseEcho - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseEcho.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseEcho message. - * @function verify - * @memberof tendermint.abci.ResponseEcho - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseEcho.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.message != null && message.hasOwnProperty("message")) - if (!$util.isString(message.message)) - return "message: string expected"; - return null; - }; - - /** - * Creates a ResponseEcho message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseEcho - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseEcho} ResponseEcho - */ - ResponseEcho.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseEcho) - return object; - let message = new $root.tendermint.abci.ResponseEcho(); - if (object.message != null) - message.message = String(object.message); - return message; - }; - - /** - * Creates a plain object from a ResponseEcho message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseEcho - * @static - * @param {tendermint.abci.ResponseEcho} message ResponseEcho - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseEcho.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.message = ""; - if (message.message != null && message.hasOwnProperty("message")) - object.message = message.message; - return object; - }; - - /** - * Converts this ResponseEcho to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseEcho - * @instance - * @returns {Object.} JSON object - */ - ResponseEcho.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseEcho; - })(abci.ResponseEcho || {}); - - abci.ResponseFlush = (function(ResponseFlush) { - - /** - * Properties of a ResponseFlush. - * @memberof tendermint.abci - * @interface IResponseFlush - */ - - /** - * Constructs a new ResponseFlush. - * @memberof tendermint.abci - * @classdesc Represents a ResponseFlush. - * @implements IResponseFlush - * @constructor - * @param {tendermint.abci.IResponseFlush=} [properties] Properties to set - */ - function ResponseFlush(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Creates a new ResponseFlush instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseFlush - * @static - * @param {tendermint.abci.IResponseFlush=} [properties] Properties to set - * @returns {tendermint.abci.ResponseFlush} ResponseFlush instance - */ - ResponseFlush.create = function create(properties) { - return new ResponseFlush(properties); - }; - - /** - * Encodes the specified ResponseFlush message. Does not implicitly {@link tendermint.abci.ResponseFlush.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseFlush - * @static - * @param {tendermint.abci.IResponseFlush} message ResponseFlush message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseFlush.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - return writer; - }; - - /** - * Encodes the specified ResponseFlush message, length delimited. Does not implicitly {@link tendermint.abci.ResponseFlush.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseFlush - * @static - * @param {tendermint.abci.IResponseFlush} message ResponseFlush message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseFlush.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseFlush message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseFlush - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseFlush} ResponseFlush - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseFlush.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseFlush(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseFlush message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseFlush - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseFlush} ResponseFlush - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseFlush.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseFlush message. - * @function verify - * @memberof tendermint.abci.ResponseFlush - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseFlush.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - return null; - }; - - /** - * Creates a ResponseFlush message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseFlush - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseFlush} ResponseFlush - */ - ResponseFlush.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseFlush) - return object; - return new $root.tendermint.abci.ResponseFlush(); - }; - - /** - * Creates a plain object from a ResponseFlush message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseFlush - * @static - * @param {tendermint.abci.ResponseFlush} message ResponseFlush - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseFlush.toObject = function toObject() { - return {}; - }; - - /** - * Converts this ResponseFlush to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseFlush - * @instance - * @returns {Object.} JSON object - */ - ResponseFlush.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseFlush; - })(abci.ResponseFlush || {}); - - abci.ResponseInfo = (function(ResponseInfo) { - - /** - * Properties of a ResponseInfo. - * @memberof tendermint.abci - * @interface IResponseInfo - * @property {string|null} [data] ResponseInfo data - * @property {string|null} [version] ResponseInfo version - * @property {number|Long|null} [appVersion] ResponseInfo appVersion - * @property {number|Long|null} [lastBlockHeight] ResponseInfo lastBlockHeight - * @property {Uint8Array|null} [lastBlockAppHash] ResponseInfo lastBlockAppHash - */ - - /** - * Constructs a new ResponseInfo. - * @memberof tendermint.abci - * @classdesc Represents a ResponseInfo. - * @implements IResponseInfo - * @constructor - * @param {tendermint.abci.IResponseInfo=} [properties] Properties to set - */ - function ResponseInfo(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseInfo data. - * @member {string} data - * @memberof tendermint.abci.ResponseInfo - * @instance - */ - ResponseInfo.prototype.data = ""; - - /** - * ResponseInfo version. - * @member {string} version - * @memberof tendermint.abci.ResponseInfo - * @instance - */ - ResponseInfo.prototype.version = ""; - - /** - * ResponseInfo appVersion. - * @member {number|Long} appVersion - * @memberof tendermint.abci.ResponseInfo - * @instance - */ - ResponseInfo.prototype.appVersion = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * ResponseInfo lastBlockHeight. - * @member {number|Long} lastBlockHeight - * @memberof tendermint.abci.ResponseInfo - * @instance - */ - ResponseInfo.prototype.lastBlockHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * ResponseInfo lastBlockAppHash. - * @member {Uint8Array} lastBlockAppHash - * @memberof tendermint.abci.ResponseInfo - * @instance - */ - ResponseInfo.prototype.lastBlockAppHash = $util.newBuffer([]); - - /** - * Creates a new ResponseInfo instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseInfo - * @static - * @param {tendermint.abci.IResponseInfo=} [properties] Properties to set - * @returns {tendermint.abci.ResponseInfo} ResponseInfo instance - */ - ResponseInfo.create = function create(properties) { - return new ResponseInfo(properties); - }; - - /** - * Encodes the specified ResponseInfo message. Does not implicitly {@link tendermint.abci.ResponseInfo.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseInfo - * @static - * @param {tendermint.abci.IResponseInfo} message ResponseInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.data); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.version); - if (message.appVersion != null && Object.hasOwnProperty.call(message, "appVersion")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.appVersion); - if (message.lastBlockHeight != null && Object.hasOwnProperty.call(message, "lastBlockHeight")) - writer.uint32(/* id 4, wireType 0 =*/32).int64(message.lastBlockHeight); - if (message.lastBlockAppHash != null && Object.hasOwnProperty.call(message, "lastBlockAppHash")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.lastBlockAppHash); - return writer; - }; - - /** - * Encodes the specified ResponseInfo message, length delimited. Does not implicitly {@link tendermint.abci.ResponseInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseInfo - * @static - * @param {tendermint.abci.IResponseInfo} message ResponseInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseInfo message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseInfo} ResponseInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.data = reader.string(); - break; - case 2: - message.version = reader.string(); - break; - case 3: - message.appVersion = reader.uint64(); - break; - case 4: - message.lastBlockHeight = reader.int64(); - break; - case 5: - message.lastBlockAppHash = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseInfo} ResponseInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseInfo message. - * @function verify - * @memberof tendermint.abci.ResponseInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!$util.isString(message.data)) - return "data: string expected"; - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isString(message.version)) - return "version: string expected"; - if (message.appVersion != null && message.hasOwnProperty("appVersion")) - if (!$util.isInteger(message.appVersion) && !(message.appVersion && $util.isInteger(message.appVersion.low) && $util.isInteger(message.appVersion.high))) - return "appVersion: integer|Long expected"; - if (message.lastBlockHeight != null && message.hasOwnProperty("lastBlockHeight")) - if (!$util.isInteger(message.lastBlockHeight) && !(message.lastBlockHeight && $util.isInteger(message.lastBlockHeight.low) && $util.isInteger(message.lastBlockHeight.high))) - return "lastBlockHeight: integer|Long expected"; - if (message.lastBlockAppHash != null && message.hasOwnProperty("lastBlockAppHash")) - if (!(message.lastBlockAppHash && typeof message.lastBlockAppHash.length === "number" || $util.isString(message.lastBlockAppHash))) - return "lastBlockAppHash: buffer expected"; - return null; - }; - - /** - * Creates a ResponseInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseInfo - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseInfo} ResponseInfo - */ - ResponseInfo.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseInfo) - return object; - let message = new $root.tendermint.abci.ResponseInfo(); - if (object.data != null) - message.data = String(object.data); - if (object.version != null) - message.version = String(object.version); - if (object.appVersion != null) - if ($util.Long) - (message.appVersion = $util.Long.fromValue(object.appVersion)).unsigned = true; - else if (typeof object.appVersion === "string") - message.appVersion = parseInt(object.appVersion, 10); - else if (typeof object.appVersion === "number") - message.appVersion = object.appVersion; - else if (typeof object.appVersion === "object") - message.appVersion = new $util.LongBits(object.appVersion.low >>> 0, object.appVersion.high >>> 0).toNumber(true); - if (object.lastBlockHeight != null) - if ($util.Long) - (message.lastBlockHeight = $util.Long.fromValue(object.lastBlockHeight)).unsigned = false; - else if (typeof object.lastBlockHeight === "string") - message.lastBlockHeight = parseInt(object.lastBlockHeight, 10); - else if (typeof object.lastBlockHeight === "number") - message.lastBlockHeight = object.lastBlockHeight; - else if (typeof object.lastBlockHeight === "object") - message.lastBlockHeight = new $util.LongBits(object.lastBlockHeight.low >>> 0, object.lastBlockHeight.high >>> 0).toNumber(); - if (object.lastBlockAppHash != null) - if (typeof object.lastBlockAppHash === "string") - $util.base64.decode(object.lastBlockAppHash, message.lastBlockAppHash = $util.newBuffer($util.base64.length(object.lastBlockAppHash)), 0); - else if (object.lastBlockAppHash.length) - message.lastBlockAppHash = object.lastBlockAppHash; - return message; - }; - - /** - * Creates a plain object from a ResponseInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseInfo - * @static - * @param {tendermint.abci.ResponseInfo} message ResponseInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.data = ""; - object.version = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.appVersion = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.appVersion = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.lastBlockHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.lastBlockHeight = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.lastBlockAppHash = ""; - else { - object.lastBlockAppHash = []; - if (options.bytes !== Array) - object.lastBlockAppHash = $util.newBuffer(object.lastBlockAppHash); - } - } - if (message.data != null && message.hasOwnProperty("data")) - object.data = message.data; - if (message.version != null && message.hasOwnProperty("version")) - object.version = message.version; - if (message.appVersion != null && message.hasOwnProperty("appVersion")) - if (typeof message.appVersion === "number") - object.appVersion = options.longs === String ? String(message.appVersion) : message.appVersion; - else - object.appVersion = options.longs === String ? $util.Long.prototype.toString.call(message.appVersion) : options.longs === Number ? new $util.LongBits(message.appVersion.low >>> 0, message.appVersion.high >>> 0).toNumber(true) : message.appVersion; - if (message.lastBlockHeight != null && message.hasOwnProperty("lastBlockHeight")) - if (typeof message.lastBlockHeight === "number") - object.lastBlockHeight = options.longs === String ? String(message.lastBlockHeight) : message.lastBlockHeight; - else - object.lastBlockHeight = options.longs === String ? $util.Long.prototype.toString.call(message.lastBlockHeight) : options.longs === Number ? new $util.LongBits(message.lastBlockHeight.low >>> 0, message.lastBlockHeight.high >>> 0).toNumber() : message.lastBlockHeight; - if (message.lastBlockAppHash != null && message.hasOwnProperty("lastBlockAppHash")) - object.lastBlockAppHash = options.bytes === String ? $util.base64.encode(message.lastBlockAppHash, 0, message.lastBlockAppHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastBlockAppHash) : message.lastBlockAppHash; - return object; - }; - - /** - * Converts this ResponseInfo to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseInfo - * @instance - * @returns {Object.} JSON object - */ - ResponseInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseInfo; - })(abci.ResponseInfo || {}); - - abci.ResponseSetOption = (function(ResponseSetOption) { - - /** - * Properties of a ResponseSetOption. - * @memberof tendermint.abci - * @interface IResponseSetOption - * @property {number|null} [code] ResponseSetOption code - * @property {string|null} [log] ResponseSetOption log - * @property {string|null} [info] ResponseSetOption info - */ - - /** - * Constructs a new ResponseSetOption. - * @memberof tendermint.abci - * @classdesc Represents a ResponseSetOption. - * @implements IResponseSetOption - * @constructor - * @param {tendermint.abci.IResponseSetOption=} [properties] Properties to set - */ - function ResponseSetOption(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseSetOption code. - * @member {number} code - * @memberof tendermint.abci.ResponseSetOption - * @instance - */ - ResponseSetOption.prototype.code = 0; - - /** - * ResponseSetOption log. - * @member {string} log - * @memberof tendermint.abci.ResponseSetOption - * @instance - */ - ResponseSetOption.prototype.log = ""; - - /** - * ResponseSetOption info. - * @member {string} info - * @memberof tendermint.abci.ResponseSetOption - * @instance - */ - ResponseSetOption.prototype.info = ""; - - /** - * Creates a new ResponseSetOption instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseSetOption - * @static - * @param {tendermint.abci.IResponseSetOption=} [properties] Properties to set - * @returns {tendermint.abci.ResponseSetOption} ResponseSetOption instance - */ - ResponseSetOption.create = function create(properties) { - return new ResponseSetOption(properties); - }; - - /** - * Encodes the specified ResponseSetOption message. Does not implicitly {@link tendermint.abci.ResponseSetOption.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseSetOption - * @static - * @param {tendermint.abci.IResponseSetOption} message ResponseSetOption message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseSetOption.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.code != null && Object.hasOwnProperty.call(message, "code")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.code); - if (message.log != null && Object.hasOwnProperty.call(message, "log")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.log); - if (message.info != null && Object.hasOwnProperty.call(message, "info")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); - return writer; - }; - - /** - * Encodes the specified ResponseSetOption message, length delimited. Does not implicitly {@link tendermint.abci.ResponseSetOption.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseSetOption - * @static - * @param {tendermint.abci.IResponseSetOption} message ResponseSetOption message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseSetOption.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseSetOption message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseSetOption - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseSetOption} ResponseSetOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseSetOption.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseSetOption(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.code = reader.uint32(); - break; - case 3: - message.log = reader.string(); - break; - case 4: - message.info = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseSetOption message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseSetOption - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseSetOption} ResponseSetOption - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseSetOption.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseSetOption message. - * @function verify - * @memberof tendermint.abci.ResponseSetOption - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseSetOption.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.code != null && message.hasOwnProperty("code")) - if (!$util.isInteger(message.code)) - return "code: integer expected"; - if (message.log != null && message.hasOwnProperty("log")) - if (!$util.isString(message.log)) - return "log: string expected"; - if (message.info != null && message.hasOwnProperty("info")) - if (!$util.isString(message.info)) - return "info: string expected"; - return null; - }; - - /** - * Creates a ResponseSetOption message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseSetOption - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseSetOption} ResponseSetOption - */ - ResponseSetOption.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseSetOption) - return object; - let message = new $root.tendermint.abci.ResponseSetOption(); - if (object.code != null) - message.code = object.code >>> 0; - if (object.log != null) - message.log = String(object.log); - if (object.info != null) - message.info = String(object.info); - return message; - }; - - /** - * Creates a plain object from a ResponseSetOption message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseSetOption - * @static - * @param {tendermint.abci.ResponseSetOption} message ResponseSetOption - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseSetOption.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.code = 0; - object.log = ""; - object.info = ""; - } - if (message.code != null && message.hasOwnProperty("code")) - object.code = message.code; - if (message.log != null && message.hasOwnProperty("log")) - object.log = message.log; - if (message.info != null && message.hasOwnProperty("info")) - object.info = message.info; - return object; - }; - - /** - * Converts this ResponseSetOption to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseSetOption - * @instance - * @returns {Object.} JSON object - */ - ResponseSetOption.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseSetOption; - })(abci.ResponseSetOption || {}); - - abci.ResponseInitChain = (function(ResponseInitChain) { - - /** - * Properties of a ResponseInitChain. - * @memberof tendermint.abci - * @interface IResponseInitChain - * @property {tendermint.abci.IConsensusParams|null} [consensusParams] ResponseInitChain consensusParams - * @property {Array.|null} [validators] ResponseInitChain validators - * @property {Uint8Array|null} [appHash] ResponseInitChain appHash - */ - - /** - * Constructs a new ResponseInitChain. - * @memberof tendermint.abci - * @classdesc Represents a ResponseInitChain. - * @implements IResponseInitChain - * @constructor - * @param {tendermint.abci.IResponseInitChain=} [properties] Properties to set - */ - function ResponseInitChain(properties) { - this.validators = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseInitChain consensusParams. - * @member {tendermint.abci.IConsensusParams|null|undefined} consensusParams - * @memberof tendermint.abci.ResponseInitChain - * @instance - */ - ResponseInitChain.prototype.consensusParams = null; - - /** - * ResponseInitChain validators. - * @member {Array.} validators - * @memberof tendermint.abci.ResponseInitChain - * @instance - */ - ResponseInitChain.prototype.validators = $util.emptyArray; - - /** - * ResponseInitChain appHash. - * @member {Uint8Array} appHash - * @memberof tendermint.abci.ResponseInitChain - * @instance - */ - ResponseInitChain.prototype.appHash = $util.newBuffer([]); - - /** - * Creates a new ResponseInitChain instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseInitChain - * @static - * @param {tendermint.abci.IResponseInitChain=} [properties] Properties to set - * @returns {tendermint.abci.ResponseInitChain} ResponseInitChain instance - */ - ResponseInitChain.create = function create(properties) { - return new ResponseInitChain(properties); - }; - - /** - * Encodes the specified ResponseInitChain message. Does not implicitly {@link tendermint.abci.ResponseInitChain.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseInitChain - * @static - * @param {tendermint.abci.IResponseInitChain} message ResponseInitChain message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseInitChain.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.consensusParams != null && Object.hasOwnProperty.call(message, "consensusParams")) - $root.tendermint.abci.ConsensusParams.encode(message.consensusParams, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.validators != null && message.validators.length) - for (let i = 0; i < message.validators.length; ++i) - $root.tendermint.abci.ValidatorUpdate.encode(message.validators[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.appHash != null && Object.hasOwnProperty.call(message, "appHash")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.appHash); - return writer; - }; - - /** - * Encodes the specified ResponseInitChain message, length delimited. Does not implicitly {@link tendermint.abci.ResponseInitChain.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseInitChain - * @static - * @param {tendermint.abci.IResponseInitChain} message ResponseInitChain message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseInitChain.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseInitChain message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseInitChain - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseInitChain} ResponseInitChain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseInitChain.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseInitChain(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.consensusParams = $root.tendermint.abci.ConsensusParams.decode(reader, reader.uint32()); - break; - case 2: - if (!(message.validators && message.validators.length)) - message.validators = []; - message.validators.push($root.tendermint.abci.ValidatorUpdate.decode(reader, reader.uint32())); - break; - case 3: - message.appHash = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseInitChain message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseInitChain - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseInitChain} ResponseInitChain - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseInitChain.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseInitChain message. - * @function verify - * @memberof tendermint.abci.ResponseInitChain - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseInitChain.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) { - let error = $root.tendermint.abci.ConsensusParams.verify(message.consensusParams); - if (error) - return "consensusParams." + error; - } - if (message.validators != null && message.hasOwnProperty("validators")) { - if (!Array.isArray(message.validators)) - return "validators: array expected"; - for (let i = 0; i < message.validators.length; ++i) { - let error = $root.tendermint.abci.ValidatorUpdate.verify(message.validators[i]); - if (error) - return "validators." + error; - } - } - if (message.appHash != null && message.hasOwnProperty("appHash")) - if (!(message.appHash && typeof message.appHash.length === "number" || $util.isString(message.appHash))) - return "appHash: buffer expected"; - return null; - }; - - /** - * Creates a ResponseInitChain message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseInitChain - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseInitChain} ResponseInitChain - */ - ResponseInitChain.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseInitChain) - return object; - let message = new $root.tendermint.abci.ResponseInitChain(); - if (object.consensusParams != null) { - if (typeof object.consensusParams !== "object") - throw TypeError(".tendermint.abci.ResponseInitChain.consensusParams: object expected"); - message.consensusParams = $root.tendermint.abci.ConsensusParams.fromObject(object.consensusParams); - } - if (object.validators) { - if (!Array.isArray(object.validators)) - throw TypeError(".tendermint.abci.ResponseInitChain.validators: array expected"); - message.validators = []; - for (let i = 0; i < object.validators.length; ++i) { - if (typeof object.validators[i] !== "object") - throw TypeError(".tendermint.abci.ResponseInitChain.validators: object expected"); - message.validators[i] = $root.tendermint.abci.ValidatorUpdate.fromObject(object.validators[i]); - } - } - if (object.appHash != null) - if (typeof object.appHash === "string") - $util.base64.decode(object.appHash, message.appHash = $util.newBuffer($util.base64.length(object.appHash)), 0); - else if (object.appHash.length) - message.appHash = object.appHash; - return message; - }; - - /** - * Creates a plain object from a ResponseInitChain message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseInitChain - * @static - * @param {tendermint.abci.ResponseInitChain} message ResponseInitChain - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseInitChain.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.validators = []; - if (options.defaults) { - object.consensusParams = null; - if (options.bytes === String) - object.appHash = ""; - else { - object.appHash = []; - if (options.bytes !== Array) - object.appHash = $util.newBuffer(object.appHash); - } - } - if (message.consensusParams != null && message.hasOwnProperty("consensusParams")) - object.consensusParams = $root.tendermint.abci.ConsensusParams.toObject(message.consensusParams, options); - if (message.validators && message.validators.length) { - object.validators = []; - for (let j = 0; j < message.validators.length; ++j) - object.validators[j] = $root.tendermint.abci.ValidatorUpdate.toObject(message.validators[j], options); - } - if (message.appHash != null && message.hasOwnProperty("appHash")) - object.appHash = options.bytes === String ? $util.base64.encode(message.appHash, 0, message.appHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.appHash) : message.appHash; - return object; - }; - - /** - * Converts this ResponseInitChain to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseInitChain - * @instance - * @returns {Object.} JSON object - */ - ResponseInitChain.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseInitChain; - })(abci.ResponseInitChain || {}); - - abci.ResponseQuery = (function(ResponseQuery) { - - /** - * Properties of a ResponseQuery. - * @memberof tendermint.abci - * @interface IResponseQuery - * @property {number|null} [code] ResponseQuery code - * @property {string|null} [log] ResponseQuery log - * @property {string|null} [info] ResponseQuery info - * @property {number|Long|null} [index] ResponseQuery index - * @property {Uint8Array|null} [key] ResponseQuery key - * @property {Uint8Array|null} [value] ResponseQuery value - * @property {tendermint.crypto.IProofOps|null} [proofOps] ResponseQuery proofOps - * @property {number|Long|null} [height] ResponseQuery height - * @property {string|null} [codespace] ResponseQuery codespace - */ - - /** - * Constructs a new ResponseQuery. - * @memberof tendermint.abci - * @classdesc Represents a ResponseQuery. - * @implements IResponseQuery - * @constructor - * @param {tendermint.abci.IResponseQuery=} [properties] Properties to set - */ - function ResponseQuery(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseQuery code. - * @member {number} code - * @memberof tendermint.abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.code = 0; - - /** - * ResponseQuery log. - * @member {string} log - * @memberof tendermint.abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.log = ""; - - /** - * ResponseQuery info. - * @member {string} info - * @memberof tendermint.abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.info = ""; - - /** - * ResponseQuery index. - * @member {number|Long} index - * @memberof tendermint.abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.index = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * ResponseQuery key. - * @member {Uint8Array} key - * @memberof tendermint.abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.key = $util.newBuffer([]); - - /** - * ResponseQuery value. - * @member {Uint8Array} value - * @memberof tendermint.abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.value = $util.newBuffer([]); - - /** - * ResponseQuery proofOps. - * @member {tendermint.crypto.IProofOps|null|undefined} proofOps - * @memberof tendermint.abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.proofOps = null; - - /** - * ResponseQuery height. - * @member {number|Long} height - * @memberof tendermint.abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * ResponseQuery codespace. - * @member {string} codespace - * @memberof tendermint.abci.ResponseQuery - * @instance - */ - ResponseQuery.prototype.codespace = ""; - - /** - * Creates a new ResponseQuery instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseQuery - * @static - * @param {tendermint.abci.IResponseQuery=} [properties] Properties to set - * @returns {tendermint.abci.ResponseQuery} ResponseQuery instance - */ - ResponseQuery.create = function create(properties) { - return new ResponseQuery(properties); - }; - - /** - * Encodes the specified ResponseQuery message. Does not implicitly {@link tendermint.abci.ResponseQuery.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseQuery - * @static - * @param {tendermint.abci.IResponseQuery} message ResponseQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseQuery.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.code != null && Object.hasOwnProperty.call(message, "code")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.code); - if (message.log != null && Object.hasOwnProperty.call(message, "log")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.log); - if (message.info != null && Object.hasOwnProperty.call(message, "info")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); - if (message.index != null && Object.hasOwnProperty.call(message, "index")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.index); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.value); - if (message.proofOps != null && Object.hasOwnProperty.call(message, "proofOps")) - $root.tendermint.crypto.ProofOps.encode(message.proofOps, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 9, wireType 0 =*/72).int64(message.height); - if (message.codespace != null && Object.hasOwnProperty.call(message, "codespace")) - writer.uint32(/* id 10, wireType 2 =*/82).string(message.codespace); - return writer; - }; - - /** - * Encodes the specified ResponseQuery message, length delimited. Does not implicitly {@link tendermint.abci.ResponseQuery.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseQuery - * @static - * @param {tendermint.abci.IResponseQuery} message ResponseQuery message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseQuery.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseQuery message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseQuery} ResponseQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseQuery.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseQuery(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.code = reader.uint32(); - break; - case 3: - message.log = reader.string(); - break; - case 4: - message.info = reader.string(); - break; - case 5: - message.index = reader.int64(); - break; - case 6: - message.key = reader.bytes(); - break; - case 7: - message.value = reader.bytes(); - break; - case 8: - message.proofOps = $root.tendermint.crypto.ProofOps.decode(reader, reader.uint32()); - break; - case 9: - message.height = reader.int64(); - break; - case 10: - message.codespace = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseQuery message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseQuery - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseQuery} ResponseQuery - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseQuery.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseQuery message. - * @function verify - * @memberof tendermint.abci.ResponseQuery - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseQuery.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.code != null && message.hasOwnProperty("code")) - if (!$util.isInteger(message.code)) - return "code: integer expected"; - if (message.log != null && message.hasOwnProperty("log")) - if (!$util.isString(message.log)) - return "log: string expected"; - if (message.info != null && message.hasOwnProperty("info")) - if (!$util.isString(message.info)) - return "info: string expected"; - if (message.index != null && message.hasOwnProperty("index")) - if (!$util.isInteger(message.index) && !(message.index && $util.isInteger(message.index.low) && $util.isInteger(message.index.high))) - return "index: integer|Long expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; - if (message.proofOps != null && message.hasOwnProperty("proofOps")) { - let error = $root.tendermint.crypto.ProofOps.verify(message.proofOps); - if (error) - return "proofOps." + error; - } - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.codespace != null && message.hasOwnProperty("codespace")) - if (!$util.isString(message.codespace)) - return "codespace: string expected"; - return null; - }; - - /** - * Creates a ResponseQuery message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseQuery - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseQuery} ResponseQuery - */ - ResponseQuery.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseQuery) - return object; - let message = new $root.tendermint.abci.ResponseQuery(); - if (object.code != null) - message.code = object.code >>> 0; - if (object.log != null) - message.log = String(object.log); - if (object.info != null) - message.info = String(object.info); - if (object.index != null) - if ($util.Long) - (message.index = $util.Long.fromValue(object.index)).unsigned = false; - else if (typeof object.index === "string") - message.index = parseInt(object.index, 10); - else if (typeof object.index === "number") - message.index = object.index; - else if (typeof object.index === "object") - message.index = new $util.LongBits(object.index.low >>> 0, object.index.high >>> 0).toNumber(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) - message.value = object.value; - if (object.proofOps != null) { - if (typeof object.proofOps !== "object") - throw TypeError(".tendermint.abci.ResponseQuery.proofOps: object expected"); - message.proofOps = $root.tendermint.crypto.ProofOps.fromObject(object.proofOps); - } - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.codespace != null) - message.codespace = String(object.codespace); - return message; - }; - - /** - * Creates a plain object from a ResponseQuery message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseQuery - * @static - * @param {tendermint.abci.ResponseQuery} message ResponseQuery - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseQuery.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.code = 0; - object.log = ""; - object.info = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.index = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.index = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - object.proofOps = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.codespace = ""; - } - if (message.code != null && message.hasOwnProperty("code")) - object.code = message.code; - if (message.log != null && message.hasOwnProperty("log")) - object.log = message.log; - if (message.info != null && message.hasOwnProperty("info")) - object.info = message.info; - if (message.index != null && message.hasOwnProperty("index")) - if (typeof message.index === "number") - object.index = options.longs === String ? String(message.index) : message.index; - else - object.index = options.longs === String ? $util.Long.prototype.toString.call(message.index) : options.longs === Number ? new $util.LongBits(message.index.low >>> 0, message.index.high >>> 0).toNumber() : message.index; - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; - if (message.proofOps != null && message.hasOwnProperty("proofOps")) - object.proofOps = $root.tendermint.crypto.ProofOps.toObject(message.proofOps, options); - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.codespace != null && message.hasOwnProperty("codespace")) - object.codespace = message.codespace; - return object; - }; - - /** - * Converts this ResponseQuery to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseQuery - * @instance - * @returns {Object.} JSON object - */ - ResponseQuery.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseQuery; - })(abci.ResponseQuery || {}); - - abci.ResponseBeginBlock = (function(ResponseBeginBlock) { - - /** - * Properties of a ResponseBeginBlock. - * @memberof tendermint.abci - * @interface IResponseBeginBlock - * @property {Array.|null} [events] ResponseBeginBlock events - */ - - /** - * Constructs a new ResponseBeginBlock. - * @memberof tendermint.abci - * @classdesc Represents a ResponseBeginBlock. - * @implements IResponseBeginBlock - * @constructor - * @param {tendermint.abci.IResponseBeginBlock=} [properties] Properties to set - */ - function ResponseBeginBlock(properties) { - this.events = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseBeginBlock events. - * @member {Array.} events - * @memberof tendermint.abci.ResponseBeginBlock - * @instance - */ - ResponseBeginBlock.prototype.events = $util.emptyArray; - - /** - * Creates a new ResponseBeginBlock instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseBeginBlock - * @static - * @param {tendermint.abci.IResponseBeginBlock=} [properties] Properties to set - * @returns {tendermint.abci.ResponseBeginBlock} ResponseBeginBlock instance - */ - ResponseBeginBlock.create = function create(properties) { - return new ResponseBeginBlock(properties); - }; - - /** - * Encodes the specified ResponseBeginBlock message. Does not implicitly {@link tendermint.abci.ResponseBeginBlock.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseBeginBlock - * @static - * @param {tendermint.abci.IResponseBeginBlock} message ResponseBeginBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseBeginBlock.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.events != null && message.events.length) - for (let i = 0; i < message.events.length; ++i) - $root.tendermint.abci.Event.encode(message.events[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ResponseBeginBlock message, length delimited. Does not implicitly {@link tendermint.abci.ResponseBeginBlock.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseBeginBlock - * @static - * @param {tendermint.abci.IResponseBeginBlock} message ResponseBeginBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseBeginBlock.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseBeginBlock message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseBeginBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseBeginBlock} ResponseBeginBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseBeginBlock.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseBeginBlock(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.events && message.events.length)) - message.events = []; - message.events.push($root.tendermint.abci.Event.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseBeginBlock message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseBeginBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseBeginBlock} ResponseBeginBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseBeginBlock.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseBeginBlock message. - * @function verify - * @memberof tendermint.abci.ResponseBeginBlock - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseBeginBlock.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.events != null && message.hasOwnProperty("events")) { - if (!Array.isArray(message.events)) - return "events: array expected"; - for (let i = 0; i < message.events.length; ++i) { - let error = $root.tendermint.abci.Event.verify(message.events[i]); - if (error) - return "events." + error; - } - } - return null; - }; - - /** - * Creates a ResponseBeginBlock message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseBeginBlock - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseBeginBlock} ResponseBeginBlock - */ - ResponseBeginBlock.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseBeginBlock) - return object; - let message = new $root.tendermint.abci.ResponseBeginBlock(); - if (object.events) { - if (!Array.isArray(object.events)) - throw TypeError(".tendermint.abci.ResponseBeginBlock.events: array expected"); - message.events = []; - for (let i = 0; i < object.events.length; ++i) { - if (typeof object.events[i] !== "object") - throw TypeError(".tendermint.abci.ResponseBeginBlock.events: object expected"); - message.events[i] = $root.tendermint.abci.Event.fromObject(object.events[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ResponseBeginBlock message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseBeginBlock - * @static - * @param {tendermint.abci.ResponseBeginBlock} message ResponseBeginBlock - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseBeginBlock.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.events = []; - if (message.events && message.events.length) { - object.events = []; - for (let j = 0; j < message.events.length; ++j) - object.events[j] = $root.tendermint.abci.Event.toObject(message.events[j], options); - } - return object; - }; - - /** - * Converts this ResponseBeginBlock to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseBeginBlock - * @instance - * @returns {Object.} JSON object - */ - ResponseBeginBlock.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseBeginBlock; - })(abci.ResponseBeginBlock || {}); - - abci.ResponseCheckTx = (function(ResponseCheckTx) { - - /** - * Properties of a ResponseCheckTx. - * @memberof tendermint.abci - * @interface IResponseCheckTx - * @property {number|null} [code] ResponseCheckTx code - * @property {Uint8Array|null} [data] ResponseCheckTx data - * @property {string|null} [log] ResponseCheckTx log - * @property {string|null} [info] ResponseCheckTx info - * @property {number|Long|null} [gasWanted] ResponseCheckTx gasWanted - * @property {number|Long|null} [gasUsed] ResponseCheckTx gasUsed - * @property {Array.|null} [events] ResponseCheckTx events - * @property {string|null} [codespace] ResponseCheckTx codespace - */ - - /** - * Constructs a new ResponseCheckTx. - * @memberof tendermint.abci - * @classdesc Represents a ResponseCheckTx. - * @implements IResponseCheckTx - * @constructor - * @param {tendermint.abci.IResponseCheckTx=} [properties] Properties to set - */ - function ResponseCheckTx(properties) { - this.events = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseCheckTx code. - * @member {number} code - * @memberof tendermint.abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.code = 0; - - /** - * ResponseCheckTx data. - * @member {Uint8Array} data - * @memberof tendermint.abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.data = $util.newBuffer([]); - - /** - * ResponseCheckTx log. - * @member {string} log - * @memberof tendermint.abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.log = ""; - - /** - * ResponseCheckTx info. - * @member {string} info - * @memberof tendermint.abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.info = ""; - - /** - * ResponseCheckTx gasWanted. - * @member {number|Long} gasWanted - * @memberof tendermint.abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.gasWanted = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * ResponseCheckTx gasUsed. - * @member {number|Long} gasUsed - * @memberof tendermint.abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.gasUsed = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * ResponseCheckTx events. - * @member {Array.} events - * @memberof tendermint.abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.events = $util.emptyArray; - - /** - * ResponseCheckTx codespace. - * @member {string} codespace - * @memberof tendermint.abci.ResponseCheckTx - * @instance - */ - ResponseCheckTx.prototype.codespace = ""; - - /** - * Creates a new ResponseCheckTx instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseCheckTx - * @static - * @param {tendermint.abci.IResponseCheckTx=} [properties] Properties to set - * @returns {tendermint.abci.ResponseCheckTx} ResponseCheckTx instance - */ - ResponseCheckTx.create = function create(properties) { - return new ResponseCheckTx(properties); - }; - - /** - * Encodes the specified ResponseCheckTx message. Does not implicitly {@link tendermint.abci.ResponseCheckTx.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseCheckTx - * @static - * @param {tendermint.abci.IResponseCheckTx} message ResponseCheckTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseCheckTx.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.code != null && Object.hasOwnProperty.call(message, "code")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.code); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); - if (message.log != null && Object.hasOwnProperty.call(message, "log")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.log); - if (message.info != null && Object.hasOwnProperty.call(message, "info")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); - if (message.gasWanted != null && Object.hasOwnProperty.call(message, "gasWanted")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.gasWanted); - if (message.gasUsed != null && Object.hasOwnProperty.call(message, "gasUsed")) - writer.uint32(/* id 6, wireType 0 =*/48).int64(message.gasUsed); - if (message.events != null && message.events.length) - for (let i = 0; i < message.events.length; ++i) - $root.tendermint.abci.Event.encode(message.events[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.codespace != null && Object.hasOwnProperty.call(message, "codespace")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.codespace); - return writer; - }; - - /** - * Encodes the specified ResponseCheckTx message, length delimited. Does not implicitly {@link tendermint.abci.ResponseCheckTx.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseCheckTx - * @static - * @param {tendermint.abci.IResponseCheckTx} message ResponseCheckTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseCheckTx.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseCheckTx message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseCheckTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseCheckTx} ResponseCheckTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseCheckTx.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseCheckTx(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.code = reader.uint32(); - break; - case 2: - message.data = reader.bytes(); - break; - case 3: - message.log = reader.string(); - break; - case 4: - message.info = reader.string(); - break; - case 5: - message.gasWanted = reader.int64(); - break; - case 6: - message.gasUsed = reader.int64(); - break; - case 7: - if (!(message.events && message.events.length)) - message.events = []; - message.events.push($root.tendermint.abci.Event.decode(reader, reader.uint32())); - break; - case 8: - message.codespace = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseCheckTx message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseCheckTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseCheckTx} ResponseCheckTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseCheckTx.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseCheckTx message. - * @function verify - * @memberof tendermint.abci.ResponseCheckTx - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseCheckTx.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.code != null && message.hasOwnProperty("code")) - if (!$util.isInteger(message.code)) - return "code: integer expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - if (message.log != null && message.hasOwnProperty("log")) - if (!$util.isString(message.log)) - return "log: string expected"; - if (message.info != null && message.hasOwnProperty("info")) - if (!$util.isString(message.info)) - return "info: string expected"; - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - if (!$util.isInteger(message.gasWanted) && !(message.gasWanted && $util.isInteger(message.gasWanted.low) && $util.isInteger(message.gasWanted.high))) - return "gasWanted: integer|Long expected"; - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - if (!$util.isInteger(message.gasUsed) && !(message.gasUsed && $util.isInteger(message.gasUsed.low) && $util.isInteger(message.gasUsed.high))) - return "gasUsed: integer|Long expected"; - if (message.events != null && message.hasOwnProperty("events")) { - if (!Array.isArray(message.events)) - return "events: array expected"; - for (let i = 0; i < message.events.length; ++i) { - let error = $root.tendermint.abci.Event.verify(message.events[i]); - if (error) - return "events." + error; - } - } - if (message.codespace != null && message.hasOwnProperty("codespace")) - if (!$util.isString(message.codespace)) - return "codespace: string expected"; - return null; - }; - - /** - * Creates a ResponseCheckTx message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseCheckTx - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseCheckTx} ResponseCheckTx - */ - ResponseCheckTx.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseCheckTx) - return object; - let message = new $root.tendermint.abci.ResponseCheckTx(); - if (object.code != null) - message.code = object.code >>> 0; - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - if (object.log != null) - message.log = String(object.log); - if (object.info != null) - message.info = String(object.info); - if (object.gasWanted != null) - if ($util.Long) - (message.gasWanted = $util.Long.fromValue(object.gasWanted)).unsigned = false; - else if (typeof object.gasWanted === "string") - message.gasWanted = parseInt(object.gasWanted, 10); - else if (typeof object.gasWanted === "number") - message.gasWanted = object.gasWanted; - else if (typeof object.gasWanted === "object") - message.gasWanted = new $util.LongBits(object.gasWanted.low >>> 0, object.gasWanted.high >>> 0).toNumber(); - if (object.gasUsed != null) - if ($util.Long) - (message.gasUsed = $util.Long.fromValue(object.gasUsed)).unsigned = false; - else if (typeof object.gasUsed === "string") - message.gasUsed = parseInt(object.gasUsed, 10); - else if (typeof object.gasUsed === "number") - message.gasUsed = object.gasUsed; - else if (typeof object.gasUsed === "object") - message.gasUsed = new $util.LongBits(object.gasUsed.low >>> 0, object.gasUsed.high >>> 0).toNumber(); - if (object.events) { - if (!Array.isArray(object.events)) - throw TypeError(".tendermint.abci.ResponseCheckTx.events: array expected"); - message.events = []; - for (let i = 0; i < object.events.length; ++i) { - if (typeof object.events[i] !== "object") - throw TypeError(".tendermint.abci.ResponseCheckTx.events: object expected"); - message.events[i] = $root.tendermint.abci.Event.fromObject(object.events[i]); - } - } - if (object.codespace != null) - message.codespace = String(object.codespace); - return message; - }; - - /** - * Creates a plain object from a ResponseCheckTx message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseCheckTx - * @static - * @param {tendermint.abci.ResponseCheckTx} message ResponseCheckTx - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseCheckTx.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.events = []; - if (options.defaults) { - object.code = 0; - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - object.log = ""; - object.info = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.gasWanted = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasWanted = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.gasUsed = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasUsed = options.longs === String ? "0" : 0; - object.codespace = ""; - } - if (message.code != null && message.hasOwnProperty("code")) - object.code = message.code; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (message.log != null && message.hasOwnProperty("log")) - object.log = message.log; - if (message.info != null && message.hasOwnProperty("info")) - object.info = message.info; - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - if (typeof message.gasWanted === "number") - object.gasWanted = options.longs === String ? String(message.gasWanted) : message.gasWanted; - else - object.gasWanted = options.longs === String ? $util.Long.prototype.toString.call(message.gasWanted) : options.longs === Number ? new $util.LongBits(message.gasWanted.low >>> 0, message.gasWanted.high >>> 0).toNumber() : message.gasWanted; - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - if (typeof message.gasUsed === "number") - object.gasUsed = options.longs === String ? String(message.gasUsed) : message.gasUsed; - else - object.gasUsed = options.longs === String ? $util.Long.prototype.toString.call(message.gasUsed) : options.longs === Number ? new $util.LongBits(message.gasUsed.low >>> 0, message.gasUsed.high >>> 0).toNumber() : message.gasUsed; - if (message.events && message.events.length) { - object.events = []; - for (let j = 0; j < message.events.length; ++j) - object.events[j] = $root.tendermint.abci.Event.toObject(message.events[j], options); - } - if (message.codespace != null && message.hasOwnProperty("codespace")) - object.codespace = message.codespace; - return object; - }; - - /** - * Converts this ResponseCheckTx to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseCheckTx - * @instance - * @returns {Object.} JSON object - */ - ResponseCheckTx.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseCheckTx; - })(abci.ResponseCheckTx || {}); - - abci.ResponseDeliverTx = (function(ResponseDeliverTx) { - - /** - * Properties of a ResponseDeliverTx. - * @memberof tendermint.abci - * @interface IResponseDeliverTx - * @property {number|null} [code] ResponseDeliverTx code - * @property {Uint8Array|null} [data] ResponseDeliverTx data - * @property {string|null} [log] ResponseDeliverTx log - * @property {string|null} [info] ResponseDeliverTx info - * @property {number|Long|null} [gasWanted] ResponseDeliverTx gasWanted - * @property {number|Long|null} [gasUsed] ResponseDeliverTx gasUsed - * @property {Array.|null} [events] ResponseDeliverTx events - * @property {string|null} [codespace] ResponseDeliverTx codespace - */ - - /** - * Constructs a new ResponseDeliverTx. - * @memberof tendermint.abci - * @classdesc Represents a ResponseDeliverTx. - * @implements IResponseDeliverTx - * @constructor - * @param {tendermint.abci.IResponseDeliverTx=} [properties] Properties to set - */ - function ResponseDeliverTx(properties) { - this.events = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseDeliverTx code. - * @member {number} code - * @memberof tendermint.abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.code = 0; - - /** - * ResponseDeliverTx data. - * @member {Uint8Array} data - * @memberof tendermint.abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.data = $util.newBuffer([]); - - /** - * ResponseDeliverTx log. - * @member {string} log - * @memberof tendermint.abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.log = ""; - - /** - * ResponseDeliverTx info. - * @member {string} info - * @memberof tendermint.abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.info = ""; - - /** - * ResponseDeliverTx gasWanted. - * @member {number|Long} gasWanted - * @memberof tendermint.abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.gasWanted = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * ResponseDeliverTx gasUsed. - * @member {number|Long} gasUsed - * @memberof tendermint.abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.gasUsed = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * ResponseDeliverTx events. - * @member {Array.} events - * @memberof tendermint.abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.events = $util.emptyArray; - - /** - * ResponseDeliverTx codespace. - * @member {string} codespace - * @memberof tendermint.abci.ResponseDeliverTx - * @instance - */ - ResponseDeliverTx.prototype.codespace = ""; - - /** - * Creates a new ResponseDeliverTx instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseDeliverTx - * @static - * @param {tendermint.abci.IResponseDeliverTx=} [properties] Properties to set - * @returns {tendermint.abci.ResponseDeliverTx} ResponseDeliverTx instance - */ - ResponseDeliverTx.create = function create(properties) { - return new ResponseDeliverTx(properties); - }; - - /** - * Encodes the specified ResponseDeliverTx message. Does not implicitly {@link tendermint.abci.ResponseDeliverTx.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseDeliverTx - * @static - * @param {tendermint.abci.IResponseDeliverTx} message ResponseDeliverTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseDeliverTx.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.code != null && Object.hasOwnProperty.call(message, "code")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.code); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); - if (message.log != null && Object.hasOwnProperty.call(message, "log")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.log); - if (message.info != null && Object.hasOwnProperty.call(message, "info")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.info); - if (message.gasWanted != null && Object.hasOwnProperty.call(message, "gasWanted")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.gasWanted); - if (message.gasUsed != null && Object.hasOwnProperty.call(message, "gasUsed")) - writer.uint32(/* id 6, wireType 0 =*/48).int64(message.gasUsed); - if (message.events != null && message.events.length) - for (let i = 0; i < message.events.length; ++i) - $root.tendermint.abci.Event.encode(message.events[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); - if (message.codespace != null && Object.hasOwnProperty.call(message, "codespace")) - writer.uint32(/* id 8, wireType 2 =*/66).string(message.codespace); - return writer; - }; - - /** - * Encodes the specified ResponseDeliverTx message, length delimited. Does not implicitly {@link tendermint.abci.ResponseDeliverTx.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseDeliverTx - * @static - * @param {tendermint.abci.IResponseDeliverTx} message ResponseDeliverTx message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseDeliverTx.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseDeliverTx message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseDeliverTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseDeliverTx} ResponseDeliverTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseDeliverTx.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseDeliverTx(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.code = reader.uint32(); - break; - case 2: - message.data = reader.bytes(); - break; - case 3: - message.log = reader.string(); - break; - case 4: - message.info = reader.string(); - break; - case 5: - message.gasWanted = reader.int64(); - break; - case 6: - message.gasUsed = reader.int64(); - break; - case 7: - if (!(message.events && message.events.length)) - message.events = []; - message.events.push($root.tendermint.abci.Event.decode(reader, reader.uint32())); - break; - case 8: - message.codespace = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseDeliverTx message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseDeliverTx - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseDeliverTx} ResponseDeliverTx - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseDeliverTx.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseDeliverTx message. - * @function verify - * @memberof tendermint.abci.ResponseDeliverTx - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseDeliverTx.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.code != null && message.hasOwnProperty("code")) - if (!$util.isInteger(message.code)) - return "code: integer expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - if (message.log != null && message.hasOwnProperty("log")) - if (!$util.isString(message.log)) - return "log: string expected"; - if (message.info != null && message.hasOwnProperty("info")) - if (!$util.isString(message.info)) - return "info: string expected"; - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - if (!$util.isInteger(message.gasWanted) && !(message.gasWanted && $util.isInteger(message.gasWanted.low) && $util.isInteger(message.gasWanted.high))) - return "gasWanted: integer|Long expected"; - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - if (!$util.isInteger(message.gasUsed) && !(message.gasUsed && $util.isInteger(message.gasUsed.low) && $util.isInteger(message.gasUsed.high))) - return "gasUsed: integer|Long expected"; - if (message.events != null && message.hasOwnProperty("events")) { - if (!Array.isArray(message.events)) - return "events: array expected"; - for (let i = 0; i < message.events.length; ++i) { - let error = $root.tendermint.abci.Event.verify(message.events[i]); - if (error) - return "events." + error; - } - } - if (message.codespace != null && message.hasOwnProperty("codespace")) - if (!$util.isString(message.codespace)) - return "codespace: string expected"; - return null; - }; - - /** - * Creates a ResponseDeliverTx message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseDeliverTx - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseDeliverTx} ResponseDeliverTx - */ - ResponseDeliverTx.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseDeliverTx) - return object; - let message = new $root.tendermint.abci.ResponseDeliverTx(); - if (object.code != null) - message.code = object.code >>> 0; - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - if (object.log != null) - message.log = String(object.log); - if (object.info != null) - message.info = String(object.info); - if (object.gasWanted != null) - if ($util.Long) - (message.gasWanted = $util.Long.fromValue(object.gasWanted)).unsigned = false; - else if (typeof object.gasWanted === "string") - message.gasWanted = parseInt(object.gasWanted, 10); - else if (typeof object.gasWanted === "number") - message.gasWanted = object.gasWanted; - else if (typeof object.gasWanted === "object") - message.gasWanted = new $util.LongBits(object.gasWanted.low >>> 0, object.gasWanted.high >>> 0).toNumber(); - if (object.gasUsed != null) - if ($util.Long) - (message.gasUsed = $util.Long.fromValue(object.gasUsed)).unsigned = false; - else if (typeof object.gasUsed === "string") - message.gasUsed = parseInt(object.gasUsed, 10); - else if (typeof object.gasUsed === "number") - message.gasUsed = object.gasUsed; - else if (typeof object.gasUsed === "object") - message.gasUsed = new $util.LongBits(object.gasUsed.low >>> 0, object.gasUsed.high >>> 0).toNumber(); - if (object.events) { - if (!Array.isArray(object.events)) - throw TypeError(".tendermint.abci.ResponseDeliverTx.events: array expected"); - message.events = []; - for (let i = 0; i < object.events.length; ++i) { - if (typeof object.events[i] !== "object") - throw TypeError(".tendermint.abci.ResponseDeliverTx.events: object expected"); - message.events[i] = $root.tendermint.abci.Event.fromObject(object.events[i]); - } - } - if (object.codespace != null) - message.codespace = String(object.codespace); - return message; - }; - - /** - * Creates a plain object from a ResponseDeliverTx message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseDeliverTx - * @static - * @param {tendermint.abci.ResponseDeliverTx} message ResponseDeliverTx - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseDeliverTx.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.events = []; - if (options.defaults) { - object.code = 0; - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - object.log = ""; - object.info = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.gasWanted = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasWanted = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.gasUsed = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.gasUsed = options.longs === String ? "0" : 0; - object.codespace = ""; - } - if (message.code != null && message.hasOwnProperty("code")) - object.code = message.code; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (message.log != null && message.hasOwnProperty("log")) - object.log = message.log; - if (message.info != null && message.hasOwnProperty("info")) - object.info = message.info; - if (message.gasWanted != null && message.hasOwnProperty("gasWanted")) - if (typeof message.gasWanted === "number") - object.gasWanted = options.longs === String ? String(message.gasWanted) : message.gasWanted; - else - object.gasWanted = options.longs === String ? $util.Long.prototype.toString.call(message.gasWanted) : options.longs === Number ? new $util.LongBits(message.gasWanted.low >>> 0, message.gasWanted.high >>> 0).toNumber() : message.gasWanted; - if (message.gasUsed != null && message.hasOwnProperty("gasUsed")) - if (typeof message.gasUsed === "number") - object.gasUsed = options.longs === String ? String(message.gasUsed) : message.gasUsed; - else - object.gasUsed = options.longs === String ? $util.Long.prototype.toString.call(message.gasUsed) : options.longs === Number ? new $util.LongBits(message.gasUsed.low >>> 0, message.gasUsed.high >>> 0).toNumber() : message.gasUsed; - if (message.events && message.events.length) { - object.events = []; - for (let j = 0; j < message.events.length; ++j) - object.events[j] = $root.tendermint.abci.Event.toObject(message.events[j], options); - } - if (message.codespace != null && message.hasOwnProperty("codespace")) - object.codespace = message.codespace; - return object; - }; - - /** - * Converts this ResponseDeliverTx to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseDeliverTx - * @instance - * @returns {Object.} JSON object - */ - ResponseDeliverTx.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseDeliverTx; - })(abci.ResponseDeliverTx || {}); - - abci.ResponseEndBlock = (function(ResponseEndBlock) { - - /** - * Properties of a ResponseEndBlock. - * @memberof tendermint.abci - * @interface IResponseEndBlock - * @property {Array.|null} [validatorUpdates] ResponseEndBlock validatorUpdates - * @property {tendermint.abci.IConsensusParams|null} [consensusParamUpdates] ResponseEndBlock consensusParamUpdates - * @property {Array.|null} [events] ResponseEndBlock events - */ - - /** - * Constructs a new ResponseEndBlock. - * @memberof tendermint.abci - * @classdesc Represents a ResponseEndBlock. - * @implements IResponseEndBlock - * @constructor - * @param {tendermint.abci.IResponseEndBlock=} [properties] Properties to set - */ - function ResponseEndBlock(properties) { - this.validatorUpdates = []; - this.events = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseEndBlock validatorUpdates. - * @member {Array.} validatorUpdates - * @memberof tendermint.abci.ResponseEndBlock - * @instance - */ - ResponseEndBlock.prototype.validatorUpdates = $util.emptyArray; - - /** - * ResponseEndBlock consensusParamUpdates. - * @member {tendermint.abci.IConsensusParams|null|undefined} consensusParamUpdates - * @memberof tendermint.abci.ResponseEndBlock - * @instance - */ - ResponseEndBlock.prototype.consensusParamUpdates = null; - - /** - * ResponseEndBlock events. - * @member {Array.} events - * @memberof tendermint.abci.ResponseEndBlock - * @instance - */ - ResponseEndBlock.prototype.events = $util.emptyArray; - - /** - * Creates a new ResponseEndBlock instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseEndBlock - * @static - * @param {tendermint.abci.IResponseEndBlock=} [properties] Properties to set - * @returns {tendermint.abci.ResponseEndBlock} ResponseEndBlock instance - */ - ResponseEndBlock.create = function create(properties) { - return new ResponseEndBlock(properties); - }; - - /** - * Encodes the specified ResponseEndBlock message. Does not implicitly {@link tendermint.abci.ResponseEndBlock.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseEndBlock - * @static - * @param {tendermint.abci.IResponseEndBlock} message ResponseEndBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseEndBlock.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validatorUpdates != null && message.validatorUpdates.length) - for (let i = 0; i < message.validatorUpdates.length; ++i) - $root.tendermint.abci.ValidatorUpdate.encode(message.validatorUpdates[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.consensusParamUpdates != null && Object.hasOwnProperty.call(message, "consensusParamUpdates")) - $root.tendermint.abci.ConsensusParams.encode(message.consensusParamUpdates, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.events != null && message.events.length) - for (let i = 0; i < message.events.length; ++i) - $root.tendermint.abci.Event.encode(message.events[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ResponseEndBlock message, length delimited. Does not implicitly {@link tendermint.abci.ResponseEndBlock.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseEndBlock - * @static - * @param {tendermint.abci.IResponseEndBlock} message ResponseEndBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseEndBlock.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseEndBlock message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseEndBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseEndBlock} ResponseEndBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseEndBlock.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseEndBlock(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.validatorUpdates && message.validatorUpdates.length)) - message.validatorUpdates = []; - message.validatorUpdates.push($root.tendermint.abci.ValidatorUpdate.decode(reader, reader.uint32())); - break; - case 2: - message.consensusParamUpdates = $root.tendermint.abci.ConsensusParams.decode(reader, reader.uint32()); - break; - case 3: - if (!(message.events && message.events.length)) - message.events = []; - message.events.push($root.tendermint.abci.Event.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseEndBlock message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseEndBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseEndBlock} ResponseEndBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseEndBlock.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseEndBlock message. - * @function verify - * @memberof tendermint.abci.ResponseEndBlock - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseEndBlock.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validatorUpdates != null && message.hasOwnProperty("validatorUpdates")) { - if (!Array.isArray(message.validatorUpdates)) - return "validatorUpdates: array expected"; - for (let i = 0; i < message.validatorUpdates.length; ++i) { - let error = $root.tendermint.abci.ValidatorUpdate.verify(message.validatorUpdates[i]); - if (error) - return "validatorUpdates." + error; - } - } - if (message.consensusParamUpdates != null && message.hasOwnProperty("consensusParamUpdates")) { - let error = $root.tendermint.abci.ConsensusParams.verify(message.consensusParamUpdates); - if (error) - return "consensusParamUpdates." + error; - } - if (message.events != null && message.hasOwnProperty("events")) { - if (!Array.isArray(message.events)) - return "events: array expected"; - for (let i = 0; i < message.events.length; ++i) { - let error = $root.tendermint.abci.Event.verify(message.events[i]); - if (error) - return "events." + error; - } - } - return null; - }; - - /** - * Creates a ResponseEndBlock message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseEndBlock - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseEndBlock} ResponseEndBlock - */ - ResponseEndBlock.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseEndBlock) - return object; - let message = new $root.tendermint.abci.ResponseEndBlock(); - if (object.validatorUpdates) { - if (!Array.isArray(object.validatorUpdates)) - throw TypeError(".tendermint.abci.ResponseEndBlock.validatorUpdates: array expected"); - message.validatorUpdates = []; - for (let i = 0; i < object.validatorUpdates.length; ++i) { - if (typeof object.validatorUpdates[i] !== "object") - throw TypeError(".tendermint.abci.ResponseEndBlock.validatorUpdates: object expected"); - message.validatorUpdates[i] = $root.tendermint.abci.ValidatorUpdate.fromObject(object.validatorUpdates[i]); - } - } - if (object.consensusParamUpdates != null) { - if (typeof object.consensusParamUpdates !== "object") - throw TypeError(".tendermint.abci.ResponseEndBlock.consensusParamUpdates: object expected"); - message.consensusParamUpdates = $root.tendermint.abci.ConsensusParams.fromObject(object.consensusParamUpdates); - } - if (object.events) { - if (!Array.isArray(object.events)) - throw TypeError(".tendermint.abci.ResponseEndBlock.events: array expected"); - message.events = []; - for (let i = 0; i < object.events.length; ++i) { - if (typeof object.events[i] !== "object") - throw TypeError(".tendermint.abci.ResponseEndBlock.events: object expected"); - message.events[i] = $root.tendermint.abci.Event.fromObject(object.events[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ResponseEndBlock message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseEndBlock - * @static - * @param {tendermint.abci.ResponseEndBlock} message ResponseEndBlock - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseEndBlock.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.validatorUpdates = []; - object.events = []; - } - if (options.defaults) - object.consensusParamUpdates = null; - if (message.validatorUpdates && message.validatorUpdates.length) { - object.validatorUpdates = []; - for (let j = 0; j < message.validatorUpdates.length; ++j) - object.validatorUpdates[j] = $root.tendermint.abci.ValidatorUpdate.toObject(message.validatorUpdates[j], options); - } - if (message.consensusParamUpdates != null && message.hasOwnProperty("consensusParamUpdates")) - object.consensusParamUpdates = $root.tendermint.abci.ConsensusParams.toObject(message.consensusParamUpdates, options); - if (message.events && message.events.length) { - object.events = []; - for (let j = 0; j < message.events.length; ++j) - object.events[j] = $root.tendermint.abci.Event.toObject(message.events[j], options); - } - return object; - }; - - /** - * Converts this ResponseEndBlock to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseEndBlock - * @instance - * @returns {Object.} JSON object - */ - ResponseEndBlock.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseEndBlock; - })(abci.ResponseEndBlock || {}); - - abci.ResponseCommit = (function(ResponseCommit) { - - /** - * Properties of a ResponseCommit. - * @memberof tendermint.abci - * @interface IResponseCommit - * @property {Uint8Array|null} [data] ResponseCommit data - * @property {number|Long|null} [retainHeight] ResponseCommit retainHeight - */ - - /** - * Constructs a new ResponseCommit. - * @memberof tendermint.abci - * @classdesc Represents a ResponseCommit. - * @implements IResponseCommit - * @constructor - * @param {tendermint.abci.IResponseCommit=} [properties] Properties to set - */ - function ResponseCommit(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseCommit data. - * @member {Uint8Array} data - * @memberof tendermint.abci.ResponseCommit - * @instance - */ - ResponseCommit.prototype.data = $util.newBuffer([]); - - /** - * ResponseCommit retainHeight. - * @member {number|Long} retainHeight - * @memberof tendermint.abci.ResponseCommit - * @instance - */ - ResponseCommit.prototype.retainHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new ResponseCommit instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseCommit - * @static - * @param {tendermint.abci.IResponseCommit=} [properties] Properties to set - * @returns {tendermint.abci.ResponseCommit} ResponseCommit instance - */ - ResponseCommit.create = function create(properties) { - return new ResponseCommit(properties); - }; - - /** - * Encodes the specified ResponseCommit message. Does not implicitly {@link tendermint.abci.ResponseCommit.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseCommit - * @static - * @param {tendermint.abci.IResponseCommit} message ResponseCommit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseCommit.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); - if (message.retainHeight != null && Object.hasOwnProperty.call(message, "retainHeight")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.retainHeight); - return writer; - }; - - /** - * Encodes the specified ResponseCommit message, length delimited. Does not implicitly {@link tendermint.abci.ResponseCommit.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseCommit - * @static - * @param {tendermint.abci.IResponseCommit} message ResponseCommit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseCommit.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseCommit message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseCommit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseCommit} ResponseCommit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseCommit.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseCommit(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 2: - message.data = reader.bytes(); - break; - case 3: - message.retainHeight = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseCommit message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseCommit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseCommit} ResponseCommit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseCommit.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseCommit message. - * @function verify - * @memberof tendermint.abci.ResponseCommit - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseCommit.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - if (message.retainHeight != null && message.hasOwnProperty("retainHeight")) - if (!$util.isInteger(message.retainHeight) && !(message.retainHeight && $util.isInteger(message.retainHeight.low) && $util.isInteger(message.retainHeight.high))) - return "retainHeight: integer|Long expected"; - return null; - }; - - /** - * Creates a ResponseCommit message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseCommit - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseCommit} ResponseCommit - */ - ResponseCommit.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseCommit) - return object; - let message = new $root.tendermint.abci.ResponseCommit(); - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - if (object.retainHeight != null) - if ($util.Long) - (message.retainHeight = $util.Long.fromValue(object.retainHeight)).unsigned = false; - else if (typeof object.retainHeight === "string") - message.retainHeight = parseInt(object.retainHeight, 10); - else if (typeof object.retainHeight === "number") - message.retainHeight = object.retainHeight; - else if (typeof object.retainHeight === "object") - message.retainHeight = new $util.LongBits(object.retainHeight.low >>> 0, object.retainHeight.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a ResponseCommit message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseCommit - * @static - * @param {tendermint.abci.ResponseCommit} message ResponseCommit - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseCommit.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.retainHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.retainHeight = options.longs === String ? "0" : 0; - } - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (message.retainHeight != null && message.hasOwnProperty("retainHeight")) - if (typeof message.retainHeight === "number") - object.retainHeight = options.longs === String ? String(message.retainHeight) : message.retainHeight; - else - object.retainHeight = options.longs === String ? $util.Long.prototype.toString.call(message.retainHeight) : options.longs === Number ? new $util.LongBits(message.retainHeight.low >>> 0, message.retainHeight.high >>> 0).toNumber() : message.retainHeight; - return object; - }; - - /** - * Converts this ResponseCommit to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseCommit - * @instance - * @returns {Object.} JSON object - */ - ResponseCommit.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseCommit; - })(abci.ResponseCommit || {}); - - abci.ResponseListSnapshots = (function(ResponseListSnapshots) { - - /** - * Properties of a ResponseListSnapshots. - * @memberof tendermint.abci - * @interface IResponseListSnapshots - * @property {Array.|null} [snapshots] ResponseListSnapshots snapshots - */ - - /** - * Constructs a new ResponseListSnapshots. - * @memberof tendermint.abci - * @classdesc Represents a ResponseListSnapshots. - * @implements IResponseListSnapshots - * @constructor - * @param {tendermint.abci.IResponseListSnapshots=} [properties] Properties to set - */ - function ResponseListSnapshots(properties) { - this.snapshots = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseListSnapshots snapshots. - * @member {Array.} snapshots - * @memberof tendermint.abci.ResponseListSnapshots - * @instance - */ - ResponseListSnapshots.prototype.snapshots = $util.emptyArray; - - /** - * Creates a new ResponseListSnapshots instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseListSnapshots - * @static - * @param {tendermint.abci.IResponseListSnapshots=} [properties] Properties to set - * @returns {tendermint.abci.ResponseListSnapshots} ResponseListSnapshots instance - */ - ResponseListSnapshots.create = function create(properties) { - return new ResponseListSnapshots(properties); - }; - - /** - * Encodes the specified ResponseListSnapshots message. Does not implicitly {@link tendermint.abci.ResponseListSnapshots.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseListSnapshots - * @static - * @param {tendermint.abci.IResponseListSnapshots} message ResponseListSnapshots message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseListSnapshots.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.snapshots != null && message.snapshots.length) - for (let i = 0; i < message.snapshots.length; ++i) - $root.tendermint.abci.Snapshot.encode(message.snapshots[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ResponseListSnapshots message, length delimited. Does not implicitly {@link tendermint.abci.ResponseListSnapshots.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseListSnapshots - * @static - * @param {tendermint.abci.IResponseListSnapshots} message ResponseListSnapshots message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseListSnapshots.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseListSnapshots message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseListSnapshots - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseListSnapshots} ResponseListSnapshots - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseListSnapshots.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseListSnapshots(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.snapshots && message.snapshots.length)) - message.snapshots = []; - message.snapshots.push($root.tendermint.abci.Snapshot.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseListSnapshots message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseListSnapshots - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseListSnapshots} ResponseListSnapshots - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseListSnapshots.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseListSnapshots message. - * @function verify - * @memberof tendermint.abci.ResponseListSnapshots - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseListSnapshots.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.snapshots != null && message.hasOwnProperty("snapshots")) { - if (!Array.isArray(message.snapshots)) - return "snapshots: array expected"; - for (let i = 0; i < message.snapshots.length; ++i) { - let error = $root.tendermint.abci.Snapshot.verify(message.snapshots[i]); - if (error) - return "snapshots." + error; - } - } - return null; - }; - - /** - * Creates a ResponseListSnapshots message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseListSnapshots - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseListSnapshots} ResponseListSnapshots - */ - ResponseListSnapshots.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseListSnapshots) - return object; - let message = new $root.tendermint.abci.ResponseListSnapshots(); - if (object.snapshots) { - if (!Array.isArray(object.snapshots)) - throw TypeError(".tendermint.abci.ResponseListSnapshots.snapshots: array expected"); - message.snapshots = []; - for (let i = 0; i < object.snapshots.length; ++i) { - if (typeof object.snapshots[i] !== "object") - throw TypeError(".tendermint.abci.ResponseListSnapshots.snapshots: object expected"); - message.snapshots[i] = $root.tendermint.abci.Snapshot.fromObject(object.snapshots[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ResponseListSnapshots message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseListSnapshots - * @static - * @param {tendermint.abci.ResponseListSnapshots} message ResponseListSnapshots - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseListSnapshots.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.snapshots = []; - if (message.snapshots && message.snapshots.length) { - object.snapshots = []; - for (let j = 0; j < message.snapshots.length; ++j) - object.snapshots[j] = $root.tendermint.abci.Snapshot.toObject(message.snapshots[j], options); - } - return object; - }; - - /** - * Converts this ResponseListSnapshots to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseListSnapshots - * @instance - * @returns {Object.} JSON object - */ - ResponseListSnapshots.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseListSnapshots; - })(abci.ResponseListSnapshots || {}); - - abci.ResponseOfferSnapshot = (function(ResponseOfferSnapshot) { - - /** - * Properties of a ResponseOfferSnapshot. - * @memberof tendermint.abci - * @interface IResponseOfferSnapshot - * @property {tendermint.abci.ResponseOfferSnapshot.Result|null} [result] ResponseOfferSnapshot result - */ - - /** - * Constructs a new ResponseOfferSnapshot. - * @memberof tendermint.abci - * @classdesc Represents a ResponseOfferSnapshot. - * @implements IResponseOfferSnapshot - * @constructor - * @param {tendermint.abci.IResponseOfferSnapshot=} [properties] Properties to set - */ - function ResponseOfferSnapshot(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseOfferSnapshot result. - * @member {tendermint.abci.ResponseOfferSnapshot.Result} result - * @memberof tendermint.abci.ResponseOfferSnapshot - * @instance - */ - ResponseOfferSnapshot.prototype.result = 0; - - /** - * Creates a new ResponseOfferSnapshot instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseOfferSnapshot - * @static - * @param {tendermint.abci.IResponseOfferSnapshot=} [properties] Properties to set - * @returns {tendermint.abci.ResponseOfferSnapshot} ResponseOfferSnapshot instance - */ - ResponseOfferSnapshot.create = function create(properties) { - return new ResponseOfferSnapshot(properties); - }; - - /** - * Encodes the specified ResponseOfferSnapshot message. Does not implicitly {@link tendermint.abci.ResponseOfferSnapshot.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseOfferSnapshot - * @static - * @param {tendermint.abci.IResponseOfferSnapshot} message ResponseOfferSnapshot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseOfferSnapshot.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.result != null && Object.hasOwnProperty.call(message, "result")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.result); - return writer; - }; - - /** - * Encodes the specified ResponseOfferSnapshot message, length delimited. Does not implicitly {@link tendermint.abci.ResponseOfferSnapshot.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseOfferSnapshot - * @static - * @param {tendermint.abci.IResponseOfferSnapshot} message ResponseOfferSnapshot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseOfferSnapshot.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseOfferSnapshot message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseOfferSnapshot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseOfferSnapshot} ResponseOfferSnapshot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseOfferSnapshot.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseOfferSnapshot(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.result = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseOfferSnapshot message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseOfferSnapshot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseOfferSnapshot} ResponseOfferSnapshot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseOfferSnapshot.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseOfferSnapshot message. - * @function verify - * @memberof tendermint.abci.ResponseOfferSnapshot - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseOfferSnapshot.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.result != null && message.hasOwnProperty("result")) - switch (message.result) { - default: - return "result: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - return null; - }; - - /** - * Creates a ResponseOfferSnapshot message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseOfferSnapshot - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseOfferSnapshot} ResponseOfferSnapshot - */ - ResponseOfferSnapshot.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseOfferSnapshot) - return object; - let message = new $root.tendermint.abci.ResponseOfferSnapshot(); - switch (object.result) { - case "UNKNOWN": - case 0: - message.result = 0; - break; - case "ACCEPT": - case 1: - message.result = 1; - break; - case "ABORT": - case 2: - message.result = 2; - break; - case "REJECT": - case 3: - message.result = 3; - break; - case "REJECT_FORMAT": - case 4: - message.result = 4; - break; - case "REJECT_SENDER": - case 5: - message.result = 5; - break; - } - return message; - }; - - /** - * Creates a plain object from a ResponseOfferSnapshot message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseOfferSnapshot - * @static - * @param {tendermint.abci.ResponseOfferSnapshot} message ResponseOfferSnapshot - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseOfferSnapshot.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - object.result = options.enums === String ? "UNKNOWN" : 0; - if (message.result != null && message.hasOwnProperty("result")) - object.result = options.enums === String ? $root.tendermint.abci.ResponseOfferSnapshot.Result[message.result] : message.result; - return object; - }; - - /** - * Converts this ResponseOfferSnapshot to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseOfferSnapshot - * @instance - * @returns {Object.} JSON object - */ - ResponseOfferSnapshot.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Result enum. - * @name tendermint.abci.ResponseOfferSnapshot.Result - * @enum {string} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} ACCEPT=1 ACCEPT value - * @property {number} ABORT=2 ABORT value - * @property {number} REJECT=3 REJECT value - * @property {number} REJECT_FORMAT=4 REJECT_FORMAT value - * @property {number} REJECT_SENDER=5 REJECT_SENDER value - */ - ResponseOfferSnapshot.Result = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "ACCEPT"] = 1; - values[valuesById[2] = "ABORT"] = 2; - values[valuesById[3] = "REJECT"] = 3; - values[valuesById[4] = "REJECT_FORMAT"] = 4; - values[valuesById[5] = "REJECT_SENDER"] = 5; - return values; - })(); - - return ResponseOfferSnapshot; - })(abci.ResponseOfferSnapshot || {}); - - abci.ResponseLoadSnapshotChunk = (function(ResponseLoadSnapshotChunk) { - - /** - * Properties of a ResponseLoadSnapshotChunk. - * @memberof tendermint.abci - * @interface IResponseLoadSnapshotChunk - * @property {Uint8Array|null} [chunk] ResponseLoadSnapshotChunk chunk - */ - - /** - * Constructs a new ResponseLoadSnapshotChunk. - * @memberof tendermint.abci - * @classdesc Represents a ResponseLoadSnapshotChunk. - * @implements IResponseLoadSnapshotChunk - * @constructor - * @param {tendermint.abci.IResponseLoadSnapshotChunk=} [properties] Properties to set - */ - function ResponseLoadSnapshotChunk(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseLoadSnapshotChunk chunk. - * @member {Uint8Array} chunk - * @memberof tendermint.abci.ResponseLoadSnapshotChunk - * @instance - */ - ResponseLoadSnapshotChunk.prototype.chunk = $util.newBuffer([]); - - /** - * Creates a new ResponseLoadSnapshotChunk instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseLoadSnapshotChunk - * @static - * @param {tendermint.abci.IResponseLoadSnapshotChunk=} [properties] Properties to set - * @returns {tendermint.abci.ResponseLoadSnapshotChunk} ResponseLoadSnapshotChunk instance - */ - ResponseLoadSnapshotChunk.create = function create(properties) { - return new ResponseLoadSnapshotChunk(properties); - }; - - /** - * Encodes the specified ResponseLoadSnapshotChunk message. Does not implicitly {@link tendermint.abci.ResponseLoadSnapshotChunk.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseLoadSnapshotChunk - * @static - * @param {tendermint.abci.IResponseLoadSnapshotChunk} message ResponseLoadSnapshotChunk message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseLoadSnapshotChunk.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.chunk != null && Object.hasOwnProperty.call(message, "chunk")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.chunk); - return writer; - }; - - /** - * Encodes the specified ResponseLoadSnapshotChunk message, length delimited. Does not implicitly {@link tendermint.abci.ResponseLoadSnapshotChunk.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseLoadSnapshotChunk - * @static - * @param {tendermint.abci.IResponseLoadSnapshotChunk} message ResponseLoadSnapshotChunk message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseLoadSnapshotChunk.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseLoadSnapshotChunk message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseLoadSnapshotChunk - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseLoadSnapshotChunk} ResponseLoadSnapshotChunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseLoadSnapshotChunk.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseLoadSnapshotChunk(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.chunk = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseLoadSnapshotChunk message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseLoadSnapshotChunk - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseLoadSnapshotChunk} ResponseLoadSnapshotChunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseLoadSnapshotChunk.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseLoadSnapshotChunk message. - * @function verify - * @memberof tendermint.abci.ResponseLoadSnapshotChunk - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseLoadSnapshotChunk.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.chunk != null && message.hasOwnProperty("chunk")) - if (!(message.chunk && typeof message.chunk.length === "number" || $util.isString(message.chunk))) - return "chunk: buffer expected"; - return null; - }; - - /** - * Creates a ResponseLoadSnapshotChunk message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseLoadSnapshotChunk - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseLoadSnapshotChunk} ResponseLoadSnapshotChunk - */ - ResponseLoadSnapshotChunk.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseLoadSnapshotChunk) - return object; - let message = new $root.tendermint.abci.ResponseLoadSnapshotChunk(); - if (object.chunk != null) - if (typeof object.chunk === "string") - $util.base64.decode(object.chunk, message.chunk = $util.newBuffer($util.base64.length(object.chunk)), 0); - else if (object.chunk.length) - message.chunk = object.chunk; - return message; - }; - - /** - * Creates a plain object from a ResponseLoadSnapshotChunk message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseLoadSnapshotChunk - * @static - * @param {tendermint.abci.ResponseLoadSnapshotChunk} message ResponseLoadSnapshotChunk - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseLoadSnapshotChunk.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if (options.bytes === String) - object.chunk = ""; - else { - object.chunk = []; - if (options.bytes !== Array) - object.chunk = $util.newBuffer(object.chunk); - } - if (message.chunk != null && message.hasOwnProperty("chunk")) - object.chunk = options.bytes === String ? $util.base64.encode(message.chunk, 0, message.chunk.length) : options.bytes === Array ? Array.prototype.slice.call(message.chunk) : message.chunk; - return object; - }; - - /** - * Converts this ResponseLoadSnapshotChunk to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseLoadSnapshotChunk - * @instance - * @returns {Object.} JSON object - */ - ResponseLoadSnapshotChunk.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ResponseLoadSnapshotChunk; - })(abci.ResponseLoadSnapshotChunk || {}); - - abci.ResponseApplySnapshotChunk = (function(ResponseApplySnapshotChunk) { - - /** - * Properties of a ResponseApplySnapshotChunk. - * @memberof tendermint.abci - * @interface IResponseApplySnapshotChunk - * @property {tendermint.abci.ResponseApplySnapshotChunk.Result|null} [result] ResponseApplySnapshotChunk result - * @property {Array.|null} [refetchChunks] ResponseApplySnapshotChunk refetchChunks - * @property {Array.|null} [rejectSenders] ResponseApplySnapshotChunk rejectSenders - */ - - /** - * Constructs a new ResponseApplySnapshotChunk. - * @memberof tendermint.abci - * @classdesc Represents a ResponseApplySnapshotChunk. - * @implements IResponseApplySnapshotChunk - * @constructor - * @param {tendermint.abci.IResponseApplySnapshotChunk=} [properties] Properties to set - */ - function ResponseApplySnapshotChunk(properties) { - this.refetchChunks = []; - this.rejectSenders = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ResponseApplySnapshotChunk result. - * @member {tendermint.abci.ResponseApplySnapshotChunk.Result} result - * @memberof tendermint.abci.ResponseApplySnapshotChunk - * @instance - */ - ResponseApplySnapshotChunk.prototype.result = 0; - - /** - * ResponseApplySnapshotChunk refetchChunks. - * @member {Array.} refetchChunks - * @memberof tendermint.abci.ResponseApplySnapshotChunk - * @instance - */ - ResponseApplySnapshotChunk.prototype.refetchChunks = $util.emptyArray; - - /** - * ResponseApplySnapshotChunk rejectSenders. - * @member {Array.} rejectSenders - * @memberof tendermint.abci.ResponseApplySnapshotChunk - * @instance - */ - ResponseApplySnapshotChunk.prototype.rejectSenders = $util.emptyArray; - - /** - * Creates a new ResponseApplySnapshotChunk instance using the specified properties. - * @function create - * @memberof tendermint.abci.ResponseApplySnapshotChunk - * @static - * @param {tendermint.abci.IResponseApplySnapshotChunk=} [properties] Properties to set - * @returns {tendermint.abci.ResponseApplySnapshotChunk} ResponseApplySnapshotChunk instance - */ - ResponseApplySnapshotChunk.create = function create(properties) { - return new ResponseApplySnapshotChunk(properties); - }; - - /** - * Encodes the specified ResponseApplySnapshotChunk message. Does not implicitly {@link tendermint.abci.ResponseApplySnapshotChunk.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ResponseApplySnapshotChunk - * @static - * @param {tendermint.abci.IResponseApplySnapshotChunk} message ResponseApplySnapshotChunk message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseApplySnapshotChunk.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.result != null && Object.hasOwnProperty.call(message, "result")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.result); - if (message.refetchChunks != null && message.refetchChunks.length) { - writer.uint32(/* id 2, wireType 2 =*/18).fork(); - for (let i = 0; i < message.refetchChunks.length; ++i) - writer.uint32(message.refetchChunks[i]); - writer.ldelim(); - } - if (message.rejectSenders != null && message.rejectSenders.length) - for (let i = 0; i < message.rejectSenders.length; ++i) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.rejectSenders[i]); - return writer; - }; - - /** - * Encodes the specified ResponseApplySnapshotChunk message, length delimited. Does not implicitly {@link tendermint.abci.ResponseApplySnapshotChunk.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ResponseApplySnapshotChunk - * @static - * @param {tendermint.abci.IResponseApplySnapshotChunk} message ResponseApplySnapshotChunk message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ResponseApplySnapshotChunk.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ResponseApplySnapshotChunk message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ResponseApplySnapshotChunk - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ResponseApplySnapshotChunk} ResponseApplySnapshotChunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseApplySnapshotChunk.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ResponseApplySnapshotChunk(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.result = reader.int32(); - break; - case 2: - if (!(message.refetchChunks && message.refetchChunks.length)) - message.refetchChunks = []; - if ((tag & 7) === 2) { - let end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.refetchChunks.push(reader.uint32()); - } else - message.refetchChunks.push(reader.uint32()); - break; - case 3: - if (!(message.rejectSenders && message.rejectSenders.length)) - message.rejectSenders = []; - message.rejectSenders.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ResponseApplySnapshotChunk message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ResponseApplySnapshotChunk - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ResponseApplySnapshotChunk} ResponseApplySnapshotChunk - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ResponseApplySnapshotChunk.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ResponseApplySnapshotChunk message. - * @function verify - * @memberof tendermint.abci.ResponseApplySnapshotChunk - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ResponseApplySnapshotChunk.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.result != null && message.hasOwnProperty("result")) - switch (message.result) { - default: - return "result: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.refetchChunks != null && message.hasOwnProperty("refetchChunks")) { - if (!Array.isArray(message.refetchChunks)) - return "refetchChunks: array expected"; - for (let i = 0; i < message.refetchChunks.length; ++i) - if (!$util.isInteger(message.refetchChunks[i])) - return "refetchChunks: integer[] expected"; - } - if (message.rejectSenders != null && message.hasOwnProperty("rejectSenders")) { - if (!Array.isArray(message.rejectSenders)) - return "rejectSenders: array expected"; - for (let i = 0; i < message.rejectSenders.length; ++i) - if (!$util.isString(message.rejectSenders[i])) - return "rejectSenders: string[] expected"; - } - return null; - }; - - /** - * Creates a ResponseApplySnapshotChunk message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ResponseApplySnapshotChunk - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ResponseApplySnapshotChunk} ResponseApplySnapshotChunk - */ - ResponseApplySnapshotChunk.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ResponseApplySnapshotChunk) - return object; - let message = new $root.tendermint.abci.ResponseApplySnapshotChunk(); - switch (object.result) { - case "UNKNOWN": - case 0: - message.result = 0; - break; - case "ACCEPT": - case 1: - message.result = 1; - break; - case "ABORT": - case 2: - message.result = 2; - break; - case "RETRY": - case 3: - message.result = 3; - break; - case "RETRY_SNAPSHOT": - case 4: - message.result = 4; - break; - case "REJECT_SNAPSHOT": - case 5: - message.result = 5; - break; - } - if (object.refetchChunks) { - if (!Array.isArray(object.refetchChunks)) - throw TypeError(".tendermint.abci.ResponseApplySnapshotChunk.refetchChunks: array expected"); - message.refetchChunks = []; - for (let i = 0; i < object.refetchChunks.length; ++i) - message.refetchChunks[i] = object.refetchChunks[i] >>> 0; - } - if (object.rejectSenders) { - if (!Array.isArray(object.rejectSenders)) - throw TypeError(".tendermint.abci.ResponseApplySnapshotChunk.rejectSenders: array expected"); - message.rejectSenders = []; - for (let i = 0; i < object.rejectSenders.length; ++i) - message.rejectSenders[i] = String(object.rejectSenders[i]); - } - return message; - }; - - /** - * Creates a plain object from a ResponseApplySnapshotChunk message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ResponseApplySnapshotChunk - * @static - * @param {tendermint.abci.ResponseApplySnapshotChunk} message ResponseApplySnapshotChunk - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ResponseApplySnapshotChunk.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.refetchChunks = []; - object.rejectSenders = []; - } - if (options.defaults) - object.result = options.enums === String ? "UNKNOWN" : 0; - if (message.result != null && message.hasOwnProperty("result")) - object.result = options.enums === String ? $root.tendermint.abci.ResponseApplySnapshotChunk.Result[message.result] : message.result; - if (message.refetchChunks && message.refetchChunks.length) { - object.refetchChunks = []; - for (let j = 0; j < message.refetchChunks.length; ++j) - object.refetchChunks[j] = message.refetchChunks[j]; - } - if (message.rejectSenders && message.rejectSenders.length) { - object.rejectSenders = []; - for (let j = 0; j < message.rejectSenders.length; ++j) - object.rejectSenders[j] = message.rejectSenders[j]; - } - return object; - }; - - /** - * Converts this ResponseApplySnapshotChunk to JSON. - * @function toJSON - * @memberof tendermint.abci.ResponseApplySnapshotChunk - * @instance - * @returns {Object.} JSON object - */ - ResponseApplySnapshotChunk.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Result enum. - * @name tendermint.abci.ResponseApplySnapshotChunk.Result - * @enum {string} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} ACCEPT=1 ACCEPT value - * @property {number} ABORT=2 ABORT value - * @property {number} RETRY=3 RETRY value - * @property {number} RETRY_SNAPSHOT=4 RETRY_SNAPSHOT value - * @property {number} REJECT_SNAPSHOT=5 REJECT_SNAPSHOT value - */ - ResponseApplySnapshotChunk.Result = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "ACCEPT"] = 1; - values[valuesById[2] = "ABORT"] = 2; - values[valuesById[3] = "RETRY"] = 3; - values[valuesById[4] = "RETRY_SNAPSHOT"] = 4; - values[valuesById[5] = "REJECT_SNAPSHOT"] = 5; - return values; - })(); - - return ResponseApplySnapshotChunk; - })(abci.ResponseApplySnapshotChunk || {}); - - abci.ConsensusParams = (function(ConsensusParams) { - - /** - * Properties of a ConsensusParams. - * @memberof tendermint.abci - * @interface IConsensusParams - * @property {tendermint.abci.IBlockParams|null} [block] ConsensusParams block - * @property {tendermint.types.IEvidenceParams|null} [evidence] ConsensusParams evidence - * @property {tendermint.types.IValidatorParams|null} [validator] ConsensusParams validator - * @property {tendermint.types.IVersionParams|null} [version] ConsensusParams version - */ - - /** - * Constructs a new ConsensusParams. - * @memberof tendermint.abci - * @classdesc Represents a ConsensusParams. - * @implements IConsensusParams - * @constructor - * @param {tendermint.abci.IConsensusParams=} [properties] Properties to set - */ - function ConsensusParams(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ConsensusParams block. - * @member {tendermint.abci.IBlockParams|null|undefined} block - * @memberof tendermint.abci.ConsensusParams - * @instance - */ - ConsensusParams.prototype.block = null; - - /** - * ConsensusParams evidence. - * @member {tendermint.types.IEvidenceParams|null|undefined} evidence - * @memberof tendermint.abci.ConsensusParams - * @instance - */ - ConsensusParams.prototype.evidence = null; - - /** - * ConsensusParams validator. - * @member {tendermint.types.IValidatorParams|null|undefined} validator - * @memberof tendermint.abci.ConsensusParams - * @instance - */ - ConsensusParams.prototype.validator = null; - - /** - * ConsensusParams version. - * @member {tendermint.types.IVersionParams|null|undefined} version - * @memberof tendermint.abci.ConsensusParams - * @instance - */ - ConsensusParams.prototype.version = null; - - /** - * Creates a new ConsensusParams instance using the specified properties. - * @function create - * @memberof tendermint.abci.ConsensusParams - * @static - * @param {tendermint.abci.IConsensusParams=} [properties] Properties to set - * @returns {tendermint.abci.ConsensusParams} ConsensusParams instance - */ - ConsensusParams.create = function create(properties) { - return new ConsensusParams(properties); - }; - - /** - * Encodes the specified ConsensusParams message. Does not implicitly {@link tendermint.abci.ConsensusParams.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ConsensusParams - * @static - * @param {tendermint.abci.IConsensusParams} message ConsensusParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConsensusParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.block != null && Object.hasOwnProperty.call(message, "block")) - $root.tendermint.abci.BlockParams.encode(message.block, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.evidence != null && Object.hasOwnProperty.call(message, "evidence")) - $root.tendermint.types.EvidenceParams.encode(message.evidence, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.validator != null && Object.hasOwnProperty.call(message, "validator")) - $root.tendermint.types.ValidatorParams.encode(message.validator, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - $root.tendermint.types.VersionParams.encode(message.version, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ConsensusParams message, length delimited. Does not implicitly {@link tendermint.abci.ConsensusParams.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ConsensusParams - * @static - * @param {tendermint.abci.IConsensusParams} message ConsensusParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConsensusParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ConsensusParams message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ConsensusParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ConsensusParams} ConsensusParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConsensusParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ConsensusParams(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.block = $root.tendermint.abci.BlockParams.decode(reader, reader.uint32()); - break; - case 2: - message.evidence = $root.tendermint.types.EvidenceParams.decode(reader, reader.uint32()); - break; - case 3: - message.validator = $root.tendermint.types.ValidatorParams.decode(reader, reader.uint32()); - break; - case 4: - message.version = $root.tendermint.types.VersionParams.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ConsensusParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ConsensusParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ConsensusParams} ConsensusParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConsensusParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ConsensusParams message. - * @function verify - * @memberof tendermint.abci.ConsensusParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ConsensusParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.block != null && message.hasOwnProperty("block")) { - let error = $root.tendermint.abci.BlockParams.verify(message.block); - if (error) - return "block." + error; - } - if (message.evidence != null && message.hasOwnProperty("evidence")) { - let error = $root.tendermint.types.EvidenceParams.verify(message.evidence); - if (error) - return "evidence." + error; - } - if (message.validator != null && message.hasOwnProperty("validator")) { - let error = $root.tendermint.types.ValidatorParams.verify(message.validator); - if (error) - return "validator." + error; - } - if (message.version != null && message.hasOwnProperty("version")) { - let error = $root.tendermint.types.VersionParams.verify(message.version); - if (error) - return "version." + error; - } - return null; - }; - - /** - * Creates a ConsensusParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ConsensusParams - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ConsensusParams} ConsensusParams - */ - ConsensusParams.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ConsensusParams) - return object; - let message = new $root.tendermint.abci.ConsensusParams(); - if (object.block != null) { - if (typeof object.block !== "object") - throw TypeError(".tendermint.abci.ConsensusParams.block: object expected"); - message.block = $root.tendermint.abci.BlockParams.fromObject(object.block); - } - if (object.evidence != null) { - if (typeof object.evidence !== "object") - throw TypeError(".tendermint.abci.ConsensusParams.evidence: object expected"); - message.evidence = $root.tendermint.types.EvidenceParams.fromObject(object.evidence); - } - if (object.validator != null) { - if (typeof object.validator !== "object") - throw TypeError(".tendermint.abci.ConsensusParams.validator: object expected"); - message.validator = $root.tendermint.types.ValidatorParams.fromObject(object.validator); - } - if (object.version != null) { - if (typeof object.version !== "object") - throw TypeError(".tendermint.abci.ConsensusParams.version: object expected"); - message.version = $root.tendermint.types.VersionParams.fromObject(object.version); - } - return message; - }; - - /** - * Creates a plain object from a ConsensusParams message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ConsensusParams - * @static - * @param {tendermint.abci.ConsensusParams} message ConsensusParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ConsensusParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.block = null; - object.evidence = null; - object.validator = null; - object.version = null; - } - if (message.block != null && message.hasOwnProperty("block")) - object.block = $root.tendermint.abci.BlockParams.toObject(message.block, options); - if (message.evidence != null && message.hasOwnProperty("evidence")) - object.evidence = $root.tendermint.types.EvidenceParams.toObject(message.evidence, options); - if (message.validator != null && message.hasOwnProperty("validator")) - object.validator = $root.tendermint.types.ValidatorParams.toObject(message.validator, options); - if (message.version != null && message.hasOwnProperty("version")) - object.version = $root.tendermint.types.VersionParams.toObject(message.version, options); - return object; - }; - - /** - * Converts this ConsensusParams to JSON. - * @function toJSON - * @memberof tendermint.abci.ConsensusParams - * @instance - * @returns {Object.} JSON object - */ - ConsensusParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ConsensusParams; - })(abci.ConsensusParams || {}); - - abci.BlockParams = (function(BlockParams) { - - /** - * Properties of a BlockParams. - * @memberof tendermint.abci - * @interface IBlockParams - * @property {number|Long|null} [maxBytes] BlockParams maxBytes - * @property {number|Long|null} [maxGas] BlockParams maxGas - */ - - /** - * Constructs a new BlockParams. - * @memberof tendermint.abci - * @classdesc Represents a BlockParams. - * @implements IBlockParams - * @constructor - * @param {tendermint.abci.IBlockParams=} [properties] Properties to set - */ - function BlockParams(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BlockParams maxBytes. - * @member {number|Long} maxBytes - * @memberof tendermint.abci.BlockParams - * @instance - */ - BlockParams.prototype.maxBytes = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * BlockParams maxGas. - * @member {number|Long} maxGas - * @memberof tendermint.abci.BlockParams - * @instance - */ - BlockParams.prototype.maxGas = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new BlockParams instance using the specified properties. - * @function create - * @memberof tendermint.abci.BlockParams - * @static - * @param {tendermint.abci.IBlockParams=} [properties] Properties to set - * @returns {tendermint.abci.BlockParams} BlockParams instance - */ - BlockParams.create = function create(properties) { - return new BlockParams(properties); - }; - - /** - * Encodes the specified BlockParams message. Does not implicitly {@link tendermint.abci.BlockParams.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.BlockParams - * @static - * @param {tendermint.abci.IBlockParams} message BlockParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BlockParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.maxBytes); - if (message.maxGas != null && Object.hasOwnProperty.call(message, "maxGas")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.maxGas); - return writer; - }; - - /** - * Encodes the specified BlockParams message, length delimited. Does not implicitly {@link tendermint.abci.BlockParams.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.BlockParams - * @static - * @param {tendermint.abci.IBlockParams} message BlockParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BlockParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BlockParams message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.BlockParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.BlockParams} BlockParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BlockParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.BlockParams(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.maxBytes = reader.int64(); - break; - case 2: - message.maxGas = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BlockParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.BlockParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.BlockParams} BlockParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BlockParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BlockParams message. - * @function verify - * @memberof tendermint.abci.BlockParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BlockParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - if (!$util.isInteger(message.maxBytes) && !(message.maxBytes && $util.isInteger(message.maxBytes.low) && $util.isInteger(message.maxBytes.high))) - return "maxBytes: integer|Long expected"; - if (message.maxGas != null && message.hasOwnProperty("maxGas")) - if (!$util.isInteger(message.maxGas) && !(message.maxGas && $util.isInteger(message.maxGas.low) && $util.isInteger(message.maxGas.high))) - return "maxGas: integer|Long expected"; - return null; - }; - - /** - * Creates a BlockParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.BlockParams - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.BlockParams} BlockParams - */ - BlockParams.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.BlockParams) - return object; - let message = new $root.tendermint.abci.BlockParams(); - if (object.maxBytes != null) - if ($util.Long) - (message.maxBytes = $util.Long.fromValue(object.maxBytes)).unsigned = false; - else if (typeof object.maxBytes === "string") - message.maxBytes = parseInt(object.maxBytes, 10); - else if (typeof object.maxBytes === "number") - message.maxBytes = object.maxBytes; - else if (typeof object.maxBytes === "object") - message.maxBytes = new $util.LongBits(object.maxBytes.low >>> 0, object.maxBytes.high >>> 0).toNumber(); - if (object.maxGas != null) - if ($util.Long) - (message.maxGas = $util.Long.fromValue(object.maxGas)).unsigned = false; - else if (typeof object.maxGas === "string") - message.maxGas = parseInt(object.maxGas, 10); - else if (typeof object.maxGas === "number") - message.maxGas = object.maxGas; - else if (typeof object.maxGas === "object") - message.maxGas = new $util.LongBits(object.maxGas.low >>> 0, object.maxGas.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a BlockParams message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.BlockParams - * @static - * @param {tendermint.abci.BlockParams} message BlockParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BlockParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.maxBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.maxBytes = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.maxGas = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.maxGas = options.longs === String ? "0" : 0; - } - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - if (typeof message.maxBytes === "number") - object.maxBytes = options.longs === String ? String(message.maxBytes) : message.maxBytes; - else - object.maxBytes = options.longs === String ? $util.Long.prototype.toString.call(message.maxBytes) : options.longs === Number ? new $util.LongBits(message.maxBytes.low >>> 0, message.maxBytes.high >>> 0).toNumber() : message.maxBytes; - if (message.maxGas != null && message.hasOwnProperty("maxGas")) - if (typeof message.maxGas === "number") - object.maxGas = options.longs === String ? String(message.maxGas) : message.maxGas; - else - object.maxGas = options.longs === String ? $util.Long.prototype.toString.call(message.maxGas) : options.longs === Number ? new $util.LongBits(message.maxGas.low >>> 0, message.maxGas.high >>> 0).toNumber() : message.maxGas; - return object; - }; - - /** - * Converts this BlockParams to JSON. - * @function toJSON - * @memberof tendermint.abci.BlockParams - * @instance - * @returns {Object.} JSON object - */ - BlockParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BlockParams; - })(abci.BlockParams || {}); - - abci.LastCommitInfo = (function(LastCommitInfo) { - - /** - * Properties of a LastCommitInfo. - * @memberof tendermint.abci - * @interface ILastCommitInfo - * @property {number|null} [round] LastCommitInfo round - * @property {Array.|null} [votes] LastCommitInfo votes - */ - - /** - * Constructs a new LastCommitInfo. - * @memberof tendermint.abci - * @classdesc Represents a LastCommitInfo. - * @implements ILastCommitInfo - * @constructor - * @param {tendermint.abci.ILastCommitInfo=} [properties] Properties to set - */ - function LastCommitInfo(properties) { - this.votes = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * LastCommitInfo round. - * @member {number} round - * @memberof tendermint.abci.LastCommitInfo - * @instance - */ - LastCommitInfo.prototype.round = 0; - - /** - * LastCommitInfo votes. - * @member {Array.} votes - * @memberof tendermint.abci.LastCommitInfo - * @instance - */ - LastCommitInfo.prototype.votes = $util.emptyArray; - - /** - * Creates a new LastCommitInfo instance using the specified properties. - * @function create - * @memberof tendermint.abci.LastCommitInfo - * @static - * @param {tendermint.abci.ILastCommitInfo=} [properties] Properties to set - * @returns {tendermint.abci.LastCommitInfo} LastCommitInfo instance - */ - LastCommitInfo.create = function create(properties) { - return new LastCommitInfo(properties); - }; - - /** - * Encodes the specified LastCommitInfo message. Does not implicitly {@link tendermint.abci.LastCommitInfo.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.LastCommitInfo - * @static - * @param {tendermint.abci.ILastCommitInfo} message LastCommitInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LastCommitInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.round != null && Object.hasOwnProperty.call(message, "round")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.round); - if (message.votes != null && message.votes.length) - for (let i = 0; i < message.votes.length; ++i) - $root.tendermint.abci.VoteInfo.encode(message.votes[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified LastCommitInfo message, length delimited. Does not implicitly {@link tendermint.abci.LastCommitInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.LastCommitInfo - * @static - * @param {tendermint.abci.ILastCommitInfo} message LastCommitInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LastCommitInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a LastCommitInfo message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.LastCommitInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.LastCommitInfo} LastCommitInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LastCommitInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.LastCommitInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.round = reader.int32(); - break; - case 2: - if (!(message.votes && message.votes.length)) - message.votes = []; - message.votes.push($root.tendermint.abci.VoteInfo.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a LastCommitInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.LastCommitInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.LastCommitInfo} LastCommitInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LastCommitInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LastCommitInfo message. - * @function verify - * @memberof tendermint.abci.LastCommitInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LastCommitInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.round != null && message.hasOwnProperty("round")) - if (!$util.isInteger(message.round)) - return "round: integer expected"; - if (message.votes != null && message.hasOwnProperty("votes")) { - if (!Array.isArray(message.votes)) - return "votes: array expected"; - for (let i = 0; i < message.votes.length; ++i) { - let error = $root.tendermint.abci.VoteInfo.verify(message.votes[i]); - if (error) - return "votes." + error; - } - } - return null; - }; - - /** - * Creates a LastCommitInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.LastCommitInfo - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.LastCommitInfo} LastCommitInfo - */ - LastCommitInfo.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.LastCommitInfo) - return object; - let message = new $root.tendermint.abci.LastCommitInfo(); - if (object.round != null) - message.round = object.round | 0; - if (object.votes) { - if (!Array.isArray(object.votes)) - throw TypeError(".tendermint.abci.LastCommitInfo.votes: array expected"); - message.votes = []; - for (let i = 0; i < object.votes.length; ++i) { - if (typeof object.votes[i] !== "object") - throw TypeError(".tendermint.abci.LastCommitInfo.votes: object expected"); - message.votes[i] = $root.tendermint.abci.VoteInfo.fromObject(object.votes[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a LastCommitInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.LastCommitInfo - * @static - * @param {tendermint.abci.LastCommitInfo} message LastCommitInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LastCommitInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.votes = []; - if (options.defaults) - object.round = 0; - if (message.round != null && message.hasOwnProperty("round")) - object.round = message.round; - if (message.votes && message.votes.length) { - object.votes = []; - for (let j = 0; j < message.votes.length; ++j) - object.votes[j] = $root.tendermint.abci.VoteInfo.toObject(message.votes[j], options); - } - return object; - }; - - /** - * Converts this LastCommitInfo to JSON. - * @function toJSON - * @memberof tendermint.abci.LastCommitInfo - * @instance - * @returns {Object.} JSON object - */ - LastCommitInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return LastCommitInfo; - })(abci.LastCommitInfo || {}); - - abci.Event = (function(Event) { - - /** - * Properties of an Event. - * @memberof tendermint.abci - * @interface IEvent - * @property {string|null} [type] Event type - * @property {Array.|null} [attributes] Event attributes - */ - - /** - * Constructs a new Event. - * @memberof tendermint.abci - * @classdesc Represents an Event. - * @implements IEvent - * @constructor - * @param {tendermint.abci.IEvent=} [properties] Properties to set - */ - function Event(properties) { - this.attributes = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Event type. - * @member {string} type - * @memberof tendermint.abci.Event - * @instance - */ - Event.prototype.type = ""; - - /** - * Event attributes. - * @member {Array.} attributes - * @memberof tendermint.abci.Event - * @instance - */ - Event.prototype.attributes = $util.emptyArray; - - /** - * Creates a new Event instance using the specified properties. - * @function create - * @memberof tendermint.abci.Event - * @static - * @param {tendermint.abci.IEvent=} [properties] Properties to set - * @returns {tendermint.abci.Event} Event instance - */ - Event.create = function create(properties) { - return new Event(properties); - }; - - /** - * Encodes the specified Event message. Does not implicitly {@link tendermint.abci.Event.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.Event - * @static - * @param {tendermint.abci.IEvent} message Event message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Event.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); - if (message.attributes != null && message.attributes.length) - for (let i = 0; i < message.attributes.length; ++i) - $root.tendermint.abci.EventAttribute.encode(message.attributes[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Event message, length delimited. Does not implicitly {@link tendermint.abci.Event.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.Event - * @static - * @param {tendermint.abci.IEvent} message Event message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Event.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Event message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.Event - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.Event} Event - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Event.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.Event(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.string(); - break; - case 2: - if (!(message.attributes && message.attributes.length)) - message.attributes = []; - message.attributes.push($root.tendermint.abci.EventAttribute.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Event message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.Event - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.Event} Event - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Event.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Event message. - * @function verify - * @memberof tendermint.abci.Event - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Event.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - if (!$util.isString(message.type)) - return "type: string expected"; - if (message.attributes != null && message.hasOwnProperty("attributes")) { - if (!Array.isArray(message.attributes)) - return "attributes: array expected"; - for (let i = 0; i < message.attributes.length; ++i) { - let error = $root.tendermint.abci.EventAttribute.verify(message.attributes[i]); - if (error) - return "attributes." + error; - } - } - return null; - }; - - /** - * Creates an Event message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.Event - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.Event} Event - */ - Event.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.Event) - return object; - let message = new $root.tendermint.abci.Event(); - if (object.type != null) - message.type = String(object.type); - if (object.attributes) { - if (!Array.isArray(object.attributes)) - throw TypeError(".tendermint.abci.Event.attributes: array expected"); - message.attributes = []; - for (let i = 0; i < object.attributes.length; ++i) { - if (typeof object.attributes[i] !== "object") - throw TypeError(".tendermint.abci.Event.attributes: object expected"); - message.attributes[i] = $root.tendermint.abci.EventAttribute.fromObject(object.attributes[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an Event message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.Event - * @static - * @param {tendermint.abci.Event} message Event - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Event.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.attributes = []; - if (options.defaults) - object.type = ""; - if (message.type != null && message.hasOwnProperty("type")) - object.type = message.type; - if (message.attributes && message.attributes.length) { - object.attributes = []; - for (let j = 0; j < message.attributes.length; ++j) - object.attributes[j] = $root.tendermint.abci.EventAttribute.toObject(message.attributes[j], options); - } - return object; - }; - - /** - * Converts this Event to JSON. - * @function toJSON - * @memberof tendermint.abci.Event - * @instance - * @returns {Object.} JSON object - */ - Event.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Event; - })(abci.Event || {}); - - abci.EventAttribute = (function(EventAttribute) { - - /** - * Properties of an EventAttribute. - * @memberof tendermint.abci - * @interface IEventAttribute - * @property {Uint8Array|null} [key] EventAttribute key - * @property {Uint8Array|null} [value] EventAttribute value - * @property {boolean|null} [index] EventAttribute index - */ - - /** - * Constructs a new EventAttribute. - * @memberof tendermint.abci - * @classdesc Represents an EventAttribute. - * @implements IEventAttribute - * @constructor - * @param {tendermint.abci.IEventAttribute=} [properties] Properties to set - */ - function EventAttribute(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * EventAttribute key. - * @member {Uint8Array} key - * @memberof tendermint.abci.EventAttribute - * @instance - */ - EventAttribute.prototype.key = $util.newBuffer([]); - - /** - * EventAttribute value. - * @member {Uint8Array} value - * @memberof tendermint.abci.EventAttribute - * @instance - */ - EventAttribute.prototype.value = $util.newBuffer([]); - - /** - * EventAttribute index. - * @member {boolean} index - * @memberof tendermint.abci.EventAttribute - * @instance - */ - EventAttribute.prototype.index = false; - - /** - * Creates a new EventAttribute instance using the specified properties. - * @function create - * @memberof tendermint.abci.EventAttribute - * @static - * @param {tendermint.abci.IEventAttribute=} [properties] Properties to set - * @returns {tendermint.abci.EventAttribute} EventAttribute instance - */ - EventAttribute.create = function create(properties) { - return new EventAttribute(properties); - }; - - /** - * Encodes the specified EventAttribute message. Does not implicitly {@link tendermint.abci.EventAttribute.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.EventAttribute - * @static - * @param {tendermint.abci.IEventAttribute} message EventAttribute message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EventAttribute.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); - if (message.index != null && Object.hasOwnProperty.call(message, "index")) - writer.uint32(/* id 3, wireType 0 =*/24).bool(message.index); - return writer; - }; - - /** - * Encodes the specified EventAttribute message, length delimited. Does not implicitly {@link tendermint.abci.EventAttribute.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.EventAttribute - * @static - * @param {tendermint.abci.IEventAttribute} message EventAttribute message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EventAttribute.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EventAttribute message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.EventAttribute - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.EventAttribute} EventAttribute - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EventAttribute.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.EventAttribute(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - case 2: - message.value = reader.bytes(); - break; - case 3: - message.index = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EventAttribute message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.EventAttribute - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.EventAttribute} EventAttribute - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EventAttribute.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EventAttribute message. - * @function verify - * @memberof tendermint.abci.EventAttribute - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EventAttribute.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; - if (message.index != null && message.hasOwnProperty("index")) - if (typeof message.index !== "boolean") - return "index: boolean expected"; - return null; - }; - - /** - * Creates an EventAttribute message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.EventAttribute - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.EventAttribute} EventAttribute - */ - EventAttribute.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.EventAttribute) - return object; - let message = new $root.tendermint.abci.EventAttribute(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) - message.value = object.value; - if (object.index != null) - message.index = Boolean(object.index); - return message; - }; - - /** - * Creates a plain object from an EventAttribute message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.EventAttribute - * @static - * @param {tendermint.abci.EventAttribute} message EventAttribute - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EventAttribute.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - object.index = false; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; - if (message.index != null && message.hasOwnProperty("index")) - object.index = message.index; - return object; - }; - - /** - * Converts this EventAttribute to JSON. - * @function toJSON - * @memberof tendermint.abci.EventAttribute - * @instance - * @returns {Object.} JSON object - */ - EventAttribute.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return EventAttribute; - })(abci.EventAttribute || {}); - - abci.TxResult = (function(TxResult) { - - /** - * Properties of a TxResult. - * @memberof tendermint.abci - * @interface ITxResult - * @property {number|Long|null} [height] TxResult height - * @property {number|null} [index] TxResult index - * @property {Uint8Array|null} [tx] TxResult tx - * @property {tendermint.abci.IResponseDeliverTx|null} [result] TxResult result - */ - - /** - * Constructs a new TxResult. - * @memberof tendermint.abci - * @classdesc Represents a TxResult. - * @implements ITxResult - * @constructor - * @param {tendermint.abci.ITxResult=} [properties] Properties to set - */ - function TxResult(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * TxResult height. - * @member {number|Long} height - * @memberof tendermint.abci.TxResult - * @instance - */ - TxResult.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * TxResult index. - * @member {number} index - * @memberof tendermint.abci.TxResult - * @instance - */ - TxResult.prototype.index = 0; - - /** - * TxResult tx. - * @member {Uint8Array} tx - * @memberof tendermint.abci.TxResult - * @instance - */ - TxResult.prototype.tx = $util.newBuffer([]); - - /** - * TxResult result. - * @member {tendermint.abci.IResponseDeliverTx|null|undefined} result - * @memberof tendermint.abci.TxResult - * @instance - */ - TxResult.prototype.result = null; - - /** - * Creates a new TxResult instance using the specified properties. - * @function create - * @memberof tendermint.abci.TxResult - * @static - * @param {tendermint.abci.ITxResult=} [properties] Properties to set - * @returns {tendermint.abci.TxResult} TxResult instance - */ - TxResult.create = function create(properties) { - return new TxResult(properties); - }; - - /** - * Encodes the specified TxResult message. Does not implicitly {@link tendermint.abci.TxResult.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.TxResult - * @static - * @param {tendermint.abci.ITxResult} message TxResult message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TxResult.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); - if (message.index != null && Object.hasOwnProperty.call(message, "index")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.index); - if (message.tx != null && Object.hasOwnProperty.call(message, "tx")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.tx); - if (message.result != null && Object.hasOwnProperty.call(message, "result")) - $root.tendermint.abci.ResponseDeliverTx.encode(message.result, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified TxResult message, length delimited. Does not implicitly {@link tendermint.abci.TxResult.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.TxResult - * @static - * @param {tendermint.abci.ITxResult} message TxResult message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TxResult.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TxResult message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.TxResult - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.TxResult} TxResult - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TxResult.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.TxResult(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.int64(); - break; - case 2: - message.index = reader.uint32(); - break; - case 3: - message.tx = reader.bytes(); - break; - case 4: - message.result = $root.tendermint.abci.ResponseDeliverTx.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TxResult message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.TxResult - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.TxResult} TxResult - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TxResult.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TxResult message. - * @function verify - * @memberof tendermint.abci.TxResult - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TxResult.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.index != null && message.hasOwnProperty("index")) - if (!$util.isInteger(message.index)) - return "index: integer expected"; - if (message.tx != null && message.hasOwnProperty("tx")) - if (!(message.tx && typeof message.tx.length === "number" || $util.isString(message.tx))) - return "tx: buffer expected"; - if (message.result != null && message.hasOwnProperty("result")) { - let error = $root.tendermint.abci.ResponseDeliverTx.verify(message.result); - if (error) - return "result." + error; - } - return null; - }; - - /** - * Creates a TxResult message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.TxResult - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.TxResult} TxResult - */ - TxResult.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.TxResult) - return object; - let message = new $root.tendermint.abci.TxResult(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.index != null) - message.index = object.index >>> 0; - if (object.tx != null) - if (typeof object.tx === "string") - $util.base64.decode(object.tx, message.tx = $util.newBuffer($util.base64.length(object.tx)), 0); - else if (object.tx.length) - message.tx = object.tx; - if (object.result != null) { - if (typeof object.result !== "object") - throw TypeError(".tendermint.abci.TxResult.result: object expected"); - message.result = $root.tendermint.abci.ResponseDeliverTx.fromObject(object.result); - } - return message; - }; - - /** - * Creates a plain object from a TxResult message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.TxResult - * @static - * @param {tendermint.abci.TxResult} message TxResult - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TxResult.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.index = 0; - if (options.bytes === String) - object.tx = ""; - else { - object.tx = []; - if (options.bytes !== Array) - object.tx = $util.newBuffer(object.tx); - } - object.result = null; - } - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.index != null && message.hasOwnProperty("index")) - object.index = message.index; - if (message.tx != null && message.hasOwnProperty("tx")) - object.tx = options.bytes === String ? $util.base64.encode(message.tx, 0, message.tx.length) : options.bytes === Array ? Array.prototype.slice.call(message.tx) : message.tx; - if (message.result != null && message.hasOwnProperty("result")) - object.result = $root.tendermint.abci.ResponseDeliverTx.toObject(message.result, options); - return object; - }; - - /** - * Converts this TxResult to JSON. - * @function toJSON - * @memberof tendermint.abci.TxResult - * @instance - * @returns {Object.} JSON object - */ - TxResult.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return TxResult; - })(abci.TxResult || {}); - - abci.Validator = (function(Validator) { - - /** - * Properties of a Validator. - * @memberof tendermint.abci - * @interface IValidator - * @property {Uint8Array|null} [address] Validator address - * @property {number|Long|null} [power] Validator power - */ - - /** - * Constructs a new Validator. - * @memberof tendermint.abci - * @classdesc Represents a Validator. - * @implements IValidator - * @constructor - * @param {tendermint.abci.IValidator=} [properties] Properties to set - */ - function Validator(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Validator address. - * @member {Uint8Array} address - * @memberof tendermint.abci.Validator - * @instance - */ - Validator.prototype.address = $util.newBuffer([]); - - /** - * Validator power. - * @member {number|Long} power - * @memberof tendermint.abci.Validator - * @instance - */ - Validator.prototype.power = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new Validator instance using the specified properties. - * @function create - * @memberof tendermint.abci.Validator - * @static - * @param {tendermint.abci.IValidator=} [properties] Properties to set - * @returns {tendermint.abci.Validator} Validator instance - */ - Validator.create = function create(properties) { - return new Validator(properties); - }; - - /** - * Encodes the specified Validator message. Does not implicitly {@link tendermint.abci.Validator.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.Validator - * @static - * @param {tendermint.abci.IValidator} message Validator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Validator.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.address); - if (message.power != null && Object.hasOwnProperty.call(message, "power")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.power); - return writer; - }; - - /** - * Encodes the specified Validator message, length delimited. Does not implicitly {@link tendermint.abci.Validator.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.Validator - * @static - * @param {tendermint.abci.IValidator} message Validator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Validator.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Validator message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.Validator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.Validator} Validator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Validator.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.Validator(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.bytes(); - break; - case 3: - message.power = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Validator message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.Validator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.Validator} Validator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Validator.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Validator message. - * @function verify - * @memberof tendermint.abci.Validator - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Validator.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!(message.address && typeof message.address.length === "number" || $util.isString(message.address))) - return "address: buffer expected"; - if (message.power != null && message.hasOwnProperty("power")) - if (!$util.isInteger(message.power) && !(message.power && $util.isInteger(message.power.low) && $util.isInteger(message.power.high))) - return "power: integer|Long expected"; - return null; - }; - - /** - * Creates a Validator message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.Validator - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.Validator} Validator - */ - Validator.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.Validator) - return object; - let message = new $root.tendermint.abci.Validator(); - if (object.address != null) - if (typeof object.address === "string") - $util.base64.decode(object.address, message.address = $util.newBuffer($util.base64.length(object.address)), 0); - else if (object.address.length) - message.address = object.address; - if (object.power != null) - if ($util.Long) - (message.power = $util.Long.fromValue(object.power)).unsigned = false; - else if (typeof object.power === "string") - message.power = parseInt(object.power, 10); - else if (typeof object.power === "number") - message.power = object.power; - else if (typeof object.power === "object") - message.power = new $util.LongBits(object.power.low >>> 0, object.power.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a Validator message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.Validator - * @static - * @param {tendermint.abci.Validator} message Validator - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Validator.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.address = ""; - else { - object.address = []; - if (options.bytes !== Array) - object.address = $util.newBuffer(object.address); - } - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.power = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.power = options.longs === String ? "0" : 0; - } - if (message.address != null && message.hasOwnProperty("address")) - object.address = options.bytes === String ? $util.base64.encode(message.address, 0, message.address.length) : options.bytes === Array ? Array.prototype.slice.call(message.address) : message.address; - if (message.power != null && message.hasOwnProperty("power")) - if (typeof message.power === "number") - object.power = options.longs === String ? String(message.power) : message.power; - else - object.power = options.longs === String ? $util.Long.prototype.toString.call(message.power) : options.longs === Number ? new $util.LongBits(message.power.low >>> 0, message.power.high >>> 0).toNumber() : message.power; - return object; - }; - - /** - * Converts this Validator to JSON. - * @function toJSON - * @memberof tendermint.abci.Validator - * @instance - * @returns {Object.} JSON object - */ - Validator.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Validator; - })(abci.Validator || {}); - - abci.ValidatorUpdate = (function(ValidatorUpdate) { - - /** - * Properties of a ValidatorUpdate. - * @memberof tendermint.abci - * @interface IValidatorUpdate - * @property {tendermint.crypto.IPublicKey|null} [pubKey] ValidatorUpdate pubKey - * @property {number|Long|null} [power] ValidatorUpdate power - */ - - /** - * Constructs a new ValidatorUpdate. - * @memberof tendermint.abci - * @classdesc Represents a ValidatorUpdate. - * @implements IValidatorUpdate - * @constructor - * @param {tendermint.abci.IValidatorUpdate=} [properties] Properties to set - */ - function ValidatorUpdate(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorUpdate pubKey. - * @member {tendermint.crypto.IPublicKey|null|undefined} pubKey - * @memberof tendermint.abci.ValidatorUpdate - * @instance - */ - ValidatorUpdate.prototype.pubKey = null; - - /** - * ValidatorUpdate power. - * @member {number|Long} power - * @memberof tendermint.abci.ValidatorUpdate - * @instance - */ - ValidatorUpdate.prototype.power = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new ValidatorUpdate instance using the specified properties. - * @function create - * @memberof tendermint.abci.ValidatorUpdate - * @static - * @param {tendermint.abci.IValidatorUpdate=} [properties] Properties to set - * @returns {tendermint.abci.ValidatorUpdate} ValidatorUpdate instance - */ - ValidatorUpdate.create = function create(properties) { - return new ValidatorUpdate(properties); - }; - - /** - * Encodes the specified ValidatorUpdate message. Does not implicitly {@link tendermint.abci.ValidatorUpdate.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.ValidatorUpdate - * @static - * @param {tendermint.abci.IValidatorUpdate} message ValidatorUpdate message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorUpdate.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pubKey != null && Object.hasOwnProperty.call(message, "pubKey")) - $root.tendermint.crypto.PublicKey.encode(message.pubKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.power != null && Object.hasOwnProperty.call(message, "power")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.power); - return writer; - }; - - /** - * Encodes the specified ValidatorUpdate message, length delimited. Does not implicitly {@link tendermint.abci.ValidatorUpdate.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.ValidatorUpdate - * @static - * @param {tendermint.abci.IValidatorUpdate} message ValidatorUpdate message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorUpdate.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorUpdate message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.ValidatorUpdate - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.ValidatorUpdate} ValidatorUpdate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorUpdate.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.ValidatorUpdate(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pubKey = $root.tendermint.crypto.PublicKey.decode(reader, reader.uint32()); - break; - case 2: - message.power = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorUpdate message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.ValidatorUpdate - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.ValidatorUpdate} ValidatorUpdate - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorUpdate.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorUpdate message. - * @function verify - * @memberof tendermint.abci.ValidatorUpdate - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorUpdate.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pubKey != null && message.hasOwnProperty("pubKey")) { - let error = $root.tendermint.crypto.PublicKey.verify(message.pubKey); - if (error) - return "pubKey." + error; - } - if (message.power != null && message.hasOwnProperty("power")) - if (!$util.isInteger(message.power) && !(message.power && $util.isInteger(message.power.low) && $util.isInteger(message.power.high))) - return "power: integer|Long expected"; - return null; - }; - - /** - * Creates a ValidatorUpdate message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.ValidatorUpdate - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.ValidatorUpdate} ValidatorUpdate - */ - ValidatorUpdate.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.ValidatorUpdate) - return object; - let message = new $root.tendermint.abci.ValidatorUpdate(); - if (object.pubKey != null) { - if (typeof object.pubKey !== "object") - throw TypeError(".tendermint.abci.ValidatorUpdate.pubKey: object expected"); - message.pubKey = $root.tendermint.crypto.PublicKey.fromObject(object.pubKey); - } - if (object.power != null) - if ($util.Long) - (message.power = $util.Long.fromValue(object.power)).unsigned = false; - else if (typeof object.power === "string") - message.power = parseInt(object.power, 10); - else if (typeof object.power === "number") - message.power = object.power; - else if (typeof object.power === "object") - message.power = new $util.LongBits(object.power.low >>> 0, object.power.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a ValidatorUpdate message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.ValidatorUpdate - * @static - * @param {tendermint.abci.ValidatorUpdate} message ValidatorUpdate - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorUpdate.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.pubKey = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.power = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.power = options.longs === String ? "0" : 0; - } - if (message.pubKey != null && message.hasOwnProperty("pubKey")) - object.pubKey = $root.tendermint.crypto.PublicKey.toObject(message.pubKey, options); - if (message.power != null && message.hasOwnProperty("power")) - if (typeof message.power === "number") - object.power = options.longs === String ? String(message.power) : message.power; - else - object.power = options.longs === String ? $util.Long.prototype.toString.call(message.power) : options.longs === Number ? new $util.LongBits(message.power.low >>> 0, message.power.high >>> 0).toNumber() : message.power; - return object; - }; - - /** - * Converts this ValidatorUpdate to JSON. - * @function toJSON - * @memberof tendermint.abci.ValidatorUpdate - * @instance - * @returns {Object.} JSON object - */ - ValidatorUpdate.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorUpdate; - })(abci.ValidatorUpdate || {}); - - abci.VoteInfo = (function(VoteInfo) { - - /** - * Properties of a VoteInfo. - * @memberof tendermint.abci - * @interface IVoteInfo - * @property {tendermint.abci.IValidator|null} [validator] VoteInfo validator - * @property {boolean|null} [signedLastBlock] VoteInfo signedLastBlock - */ - - /** - * Constructs a new VoteInfo. - * @memberof tendermint.abci - * @classdesc Represents a VoteInfo. - * @implements IVoteInfo - * @constructor - * @param {tendermint.abci.IVoteInfo=} [properties] Properties to set - */ - function VoteInfo(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * VoteInfo validator. - * @member {tendermint.abci.IValidator|null|undefined} validator - * @memberof tendermint.abci.VoteInfo - * @instance - */ - VoteInfo.prototype.validator = null; - - /** - * VoteInfo signedLastBlock. - * @member {boolean} signedLastBlock - * @memberof tendermint.abci.VoteInfo - * @instance - */ - VoteInfo.prototype.signedLastBlock = false; - - /** - * Creates a new VoteInfo instance using the specified properties. - * @function create - * @memberof tendermint.abci.VoteInfo - * @static - * @param {tendermint.abci.IVoteInfo=} [properties] Properties to set - * @returns {tendermint.abci.VoteInfo} VoteInfo instance - */ - VoteInfo.create = function create(properties) { - return new VoteInfo(properties); - }; - - /** - * Encodes the specified VoteInfo message. Does not implicitly {@link tendermint.abci.VoteInfo.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.VoteInfo - * @static - * @param {tendermint.abci.IVoteInfo} message VoteInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VoteInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validator != null && Object.hasOwnProperty.call(message, "validator")) - $root.tendermint.abci.Validator.encode(message.validator, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.signedLastBlock != null && Object.hasOwnProperty.call(message, "signedLastBlock")) - writer.uint32(/* id 2, wireType 0 =*/16).bool(message.signedLastBlock); - return writer; - }; - - /** - * Encodes the specified VoteInfo message, length delimited. Does not implicitly {@link tendermint.abci.VoteInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.VoteInfo - * @static - * @param {tendermint.abci.IVoteInfo} message VoteInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VoteInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a VoteInfo message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.VoteInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.VoteInfo} VoteInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VoteInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.VoteInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.validator = $root.tendermint.abci.Validator.decode(reader, reader.uint32()); - break; - case 2: - message.signedLastBlock = reader.bool(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a VoteInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.VoteInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.VoteInfo} VoteInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VoteInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a VoteInfo message. - * @function verify - * @memberof tendermint.abci.VoteInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - VoteInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validator != null && message.hasOwnProperty("validator")) { - let error = $root.tendermint.abci.Validator.verify(message.validator); - if (error) - return "validator." + error; - } - if (message.signedLastBlock != null && message.hasOwnProperty("signedLastBlock")) - if (typeof message.signedLastBlock !== "boolean") - return "signedLastBlock: boolean expected"; - return null; - }; - - /** - * Creates a VoteInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.VoteInfo - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.VoteInfo} VoteInfo - */ - VoteInfo.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.VoteInfo) - return object; - let message = new $root.tendermint.abci.VoteInfo(); - if (object.validator != null) { - if (typeof object.validator !== "object") - throw TypeError(".tendermint.abci.VoteInfo.validator: object expected"); - message.validator = $root.tendermint.abci.Validator.fromObject(object.validator); - } - if (object.signedLastBlock != null) - message.signedLastBlock = Boolean(object.signedLastBlock); - return message; - }; - - /** - * Creates a plain object from a VoteInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.VoteInfo - * @static - * @param {tendermint.abci.VoteInfo} message VoteInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - VoteInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.validator = null; - object.signedLastBlock = false; - } - if (message.validator != null && message.hasOwnProperty("validator")) - object.validator = $root.tendermint.abci.Validator.toObject(message.validator, options); - if (message.signedLastBlock != null && message.hasOwnProperty("signedLastBlock")) - object.signedLastBlock = message.signedLastBlock; - return object; - }; - - /** - * Converts this VoteInfo to JSON. - * @function toJSON - * @memberof tendermint.abci.VoteInfo - * @instance - * @returns {Object.} JSON object - */ - VoteInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return VoteInfo; - })(abci.VoteInfo || {}); - - /** - * EvidenceType enum. - * @name tendermint.abci.EvidenceType - * @enum {string} - * @property {number} UNKNOWN=0 UNKNOWN value - * @property {number} DUPLICATE_VOTE=1 DUPLICATE_VOTE value - * @property {number} LIGHT_CLIENT_ATTACK=2 LIGHT_CLIENT_ATTACK value - */ - abci.EvidenceType = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "UNKNOWN"] = 0; - values[valuesById[1] = "DUPLICATE_VOTE"] = 1; - values[valuesById[2] = "LIGHT_CLIENT_ATTACK"] = 2; - return values; - })(); - - abci.Evidence = (function(Evidence) { - - /** - * Properties of an Evidence. - * @memberof tendermint.abci - * @interface IEvidence - * @property {tendermint.abci.EvidenceType|null} [type] Evidence type - * @property {tendermint.abci.IValidator|null} [validator] Evidence validator - * @property {number|Long|null} [height] Evidence height - * @property {google.protobuf.ITimestamp|null} [time] Evidence time - * @property {number|Long|null} [totalVotingPower] Evidence totalVotingPower - */ - - /** - * Constructs a new Evidence. - * @memberof tendermint.abci - * @classdesc Represents an Evidence. - * @implements IEvidence - * @constructor - * @param {tendermint.abci.IEvidence=} [properties] Properties to set - */ - function Evidence(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Evidence type. - * @member {tendermint.abci.EvidenceType} type - * @memberof tendermint.abci.Evidence - * @instance - */ - Evidence.prototype.type = 0; - - /** - * Evidence validator. - * @member {tendermint.abci.IValidator|null|undefined} validator - * @memberof tendermint.abci.Evidence - * @instance - */ - Evidence.prototype.validator = null; - - /** - * Evidence height. - * @member {number|Long} height - * @memberof tendermint.abci.Evidence - * @instance - */ - Evidence.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Evidence time. - * @member {google.protobuf.ITimestamp|null|undefined} time - * @memberof tendermint.abci.Evidence - * @instance - */ - Evidence.prototype.time = null; - - /** - * Evidence totalVotingPower. - * @member {number|Long} totalVotingPower - * @memberof tendermint.abci.Evidence - * @instance - */ - Evidence.prototype.totalVotingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new Evidence instance using the specified properties. - * @function create - * @memberof tendermint.abci.Evidence - * @static - * @param {tendermint.abci.IEvidence=} [properties] Properties to set - * @returns {tendermint.abci.Evidence} Evidence instance - */ - Evidence.create = function create(properties) { - return new Evidence(properties); - }; - - /** - * Encodes the specified Evidence message. Does not implicitly {@link tendermint.abci.Evidence.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.Evidence - * @static - * @param {tendermint.abci.IEvidence} message Evidence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Evidence.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.validator != null && Object.hasOwnProperty.call(message, "validator")) - $root.tendermint.abci.Validator.encode(message.validator, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.height); - if (message.time != null && Object.hasOwnProperty.call(message, "time")) - $root.google.protobuf.Timestamp.encode(message.time, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.totalVotingPower != null && Object.hasOwnProperty.call(message, "totalVotingPower")) - writer.uint32(/* id 5, wireType 0 =*/40).int64(message.totalVotingPower); - return writer; - }; - - /** - * Encodes the specified Evidence message, length delimited. Does not implicitly {@link tendermint.abci.Evidence.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.Evidence - * @static - * @param {tendermint.abci.IEvidence} message Evidence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Evidence.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Evidence message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.Evidence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.Evidence} Evidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Evidence.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.Evidence(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.validator = $root.tendermint.abci.Validator.decode(reader, reader.uint32()); - break; - case 3: - message.height = reader.int64(); - break; - case 4: - message.time = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 5: - message.totalVotingPower = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Evidence message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.Evidence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.Evidence} Evidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Evidence.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Evidence message. - * @function verify - * @memberof tendermint.abci.Evidence - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Evidence.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - switch (message.type) { - default: - return "type: enum value expected"; - case 0: - case 1: - case 2: - break; - } - if (message.validator != null && message.hasOwnProperty("validator")) { - let error = $root.tendermint.abci.Validator.verify(message.validator); - if (error) - return "validator." + error; - } - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.time != null && message.hasOwnProperty("time")) { - let error = $root.google.protobuf.Timestamp.verify(message.time); - if (error) - return "time." + error; - } - if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) - if (!$util.isInteger(message.totalVotingPower) && !(message.totalVotingPower && $util.isInteger(message.totalVotingPower.low) && $util.isInteger(message.totalVotingPower.high))) - return "totalVotingPower: integer|Long expected"; - return null; - }; - - /** - * Creates an Evidence message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.Evidence - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.Evidence} Evidence - */ - Evidence.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.Evidence) - return object; - let message = new $root.tendermint.abci.Evidence(); - switch (object.type) { - case "UNKNOWN": - case 0: - message.type = 0; - break; - case "DUPLICATE_VOTE": - case 1: - message.type = 1; - break; - case "LIGHT_CLIENT_ATTACK": - case 2: - message.type = 2; - break; - } - if (object.validator != null) { - if (typeof object.validator !== "object") - throw TypeError(".tendermint.abci.Evidence.validator: object expected"); - message.validator = $root.tendermint.abci.Validator.fromObject(object.validator); - } - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.time != null) { - if (typeof object.time !== "object") - throw TypeError(".tendermint.abci.Evidence.time: object expected"); - message.time = $root.google.protobuf.Timestamp.fromObject(object.time); - } - if (object.totalVotingPower != null) - if ($util.Long) - (message.totalVotingPower = $util.Long.fromValue(object.totalVotingPower)).unsigned = false; - else if (typeof object.totalVotingPower === "string") - message.totalVotingPower = parseInt(object.totalVotingPower, 10); - else if (typeof object.totalVotingPower === "number") - message.totalVotingPower = object.totalVotingPower; - else if (typeof object.totalVotingPower === "object") - message.totalVotingPower = new $util.LongBits(object.totalVotingPower.low >>> 0, object.totalVotingPower.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from an Evidence message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.Evidence - * @static - * @param {tendermint.abci.Evidence} message Evidence - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Evidence.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.type = options.enums === String ? "UNKNOWN" : 0; - object.validator = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.time = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.totalVotingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.totalVotingPower = options.longs === String ? "0" : 0; - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.tendermint.abci.EvidenceType[message.type] : message.type; - if (message.validator != null && message.hasOwnProperty("validator")) - object.validator = $root.tendermint.abci.Validator.toObject(message.validator, options); - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.time != null && message.hasOwnProperty("time")) - object.time = $root.google.protobuf.Timestamp.toObject(message.time, options); - if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) - if (typeof message.totalVotingPower === "number") - object.totalVotingPower = options.longs === String ? String(message.totalVotingPower) : message.totalVotingPower; - else - object.totalVotingPower = options.longs === String ? $util.Long.prototype.toString.call(message.totalVotingPower) : options.longs === Number ? new $util.LongBits(message.totalVotingPower.low >>> 0, message.totalVotingPower.high >>> 0).toNumber() : message.totalVotingPower; - return object; - }; - - /** - * Converts this Evidence to JSON. - * @function toJSON - * @memberof tendermint.abci.Evidence - * @instance - * @returns {Object.} JSON object - */ - Evidence.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Evidence; - })(abci.Evidence || {}); - - abci.Snapshot = (function(Snapshot) { - - /** - * Properties of a Snapshot. - * @memberof tendermint.abci - * @interface ISnapshot - * @property {number|Long|null} [height] Snapshot height - * @property {number|null} [format] Snapshot format - * @property {number|null} [chunks] Snapshot chunks - * @property {Uint8Array|null} [hash] Snapshot hash - * @property {Uint8Array|null} [metadata] Snapshot metadata - */ - - /** - * Constructs a new Snapshot. - * @memberof tendermint.abci - * @classdesc Represents a Snapshot. - * @implements ISnapshot - * @constructor - * @param {tendermint.abci.ISnapshot=} [properties] Properties to set - */ - function Snapshot(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Snapshot height. - * @member {number|Long} height - * @memberof tendermint.abci.Snapshot - * @instance - */ - Snapshot.prototype.height = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Snapshot format. - * @member {number} format - * @memberof tendermint.abci.Snapshot - * @instance - */ - Snapshot.prototype.format = 0; - - /** - * Snapshot chunks. - * @member {number} chunks - * @memberof tendermint.abci.Snapshot - * @instance - */ - Snapshot.prototype.chunks = 0; - - /** - * Snapshot hash. - * @member {Uint8Array} hash - * @memberof tendermint.abci.Snapshot - * @instance - */ - Snapshot.prototype.hash = $util.newBuffer([]); - - /** - * Snapshot metadata. - * @member {Uint8Array} metadata - * @memberof tendermint.abci.Snapshot - * @instance - */ - Snapshot.prototype.metadata = $util.newBuffer([]); - - /** - * Creates a new Snapshot instance using the specified properties. - * @function create - * @memberof tendermint.abci.Snapshot - * @static - * @param {tendermint.abci.ISnapshot=} [properties] Properties to set - * @returns {tendermint.abci.Snapshot} Snapshot instance - */ - Snapshot.create = function create(properties) { - return new Snapshot(properties); - }; - - /** - * Encodes the specified Snapshot message. Does not implicitly {@link tendermint.abci.Snapshot.verify|verify} messages. - * @function encode - * @memberof tendermint.abci.Snapshot - * @static - * @param {tendermint.abci.ISnapshot} message Snapshot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Snapshot.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.height); - if (message.format != null && Object.hasOwnProperty.call(message, "format")) - writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.format); - if (message.chunks != null && Object.hasOwnProperty.call(message, "chunks")) - writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.chunks); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.hash); - if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.metadata); - return writer; - }; - - /** - * Encodes the specified Snapshot message, length delimited. Does not implicitly {@link tendermint.abci.Snapshot.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.abci.Snapshot - * @static - * @param {tendermint.abci.ISnapshot} message Snapshot message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Snapshot.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Snapshot message from the specified reader or buffer. - * @function decode - * @memberof tendermint.abci.Snapshot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.abci.Snapshot} Snapshot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Snapshot.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.abci.Snapshot(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.uint64(); - break; - case 2: - message.format = reader.uint32(); - break; - case 3: - message.chunks = reader.uint32(); - break; - case 4: - message.hash = reader.bytes(); - break; - case 5: - message.metadata = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Snapshot message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.abci.Snapshot - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.abci.Snapshot} Snapshot - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Snapshot.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Snapshot message. - * @function verify - * @memberof tendermint.abci.Snapshot - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Snapshot.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.format != null && message.hasOwnProperty("format")) - if (!$util.isInteger(message.format)) - return "format: integer expected"; - if (message.chunks != null && message.hasOwnProperty("chunks")) - if (!$util.isInteger(message.chunks)) - return "chunks: integer expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) - return "hash: buffer expected"; - if (message.metadata != null && message.hasOwnProperty("metadata")) - if (!(message.metadata && typeof message.metadata.length === "number" || $util.isString(message.metadata))) - return "metadata: buffer expected"; - return null; - }; - - /** - * Creates a Snapshot message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.abci.Snapshot - * @static - * @param {Object.} object Plain object - * @returns {tendermint.abci.Snapshot} Snapshot - */ - Snapshot.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.abci.Snapshot) - return object; - let message = new $root.tendermint.abci.Snapshot(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = true; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(true); - if (object.format != null) - message.format = object.format >>> 0; - if (object.chunks != null) - message.chunks = object.chunks >>> 0; - if (object.hash != null) - if (typeof object.hash === "string") - $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); - else if (object.hash.length) - message.hash = object.hash; - if (object.metadata != null) - if (typeof object.metadata === "string") - $util.base64.decode(object.metadata, message.metadata = $util.newBuffer($util.base64.length(object.metadata)), 0); - else if (object.metadata.length) - message.metadata = object.metadata; - return message; - }; - - /** - * Creates a plain object from a Snapshot message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.abci.Snapshot - * @static - * @param {tendermint.abci.Snapshot} message Snapshot - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Snapshot.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.format = 0; - object.chunks = 0; - if (options.bytes === String) - object.hash = ""; - else { - object.hash = []; - if (options.bytes !== Array) - object.hash = $util.newBuffer(object.hash); - } - if (options.bytes === String) - object.metadata = ""; - else { - object.metadata = []; - if (options.bytes !== Array) - object.metadata = $util.newBuffer(object.metadata); - } - } - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber(true) : message.height; - if (message.format != null && message.hasOwnProperty("format")) - object.format = message.format; - if (message.chunks != null && message.hasOwnProperty("chunks")) - object.chunks = message.chunks; - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; - if (message.metadata != null && message.hasOwnProperty("metadata")) - object.metadata = options.bytes === String ? $util.base64.encode(message.metadata, 0, message.metadata.length) : options.bytes === Array ? Array.prototype.slice.call(message.metadata) : message.metadata; - return object; - }; - - /** - * Converts this Snapshot to JSON. - * @function toJSON - * @memberof tendermint.abci.Snapshot - * @instance - * @returns {Object.} JSON object - */ - Snapshot.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Snapshot; - })(abci.Snapshot || {}); - - abci.ABCIApplication = (function(ABCIApplication) { - - /** - * Constructs a new ABCIApplication service. - * @memberof tendermint.abci - * @classdesc Represents a ABCIApplication - * @extends $protobuf.rpc.Service - * @constructor - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - */ - function ABCIApplication(rpcImpl, requestDelimited, responseDelimited) { - $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); - } - - (ABCIApplication.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ABCIApplication; - - /** - * Creates new ABCIApplication service using the specified rpc implementation. - * @function create - * @memberof tendermint.abci.ABCIApplication - * @static - * @param {$protobuf.RPCImpl} rpcImpl RPC implementation - * @param {boolean} [requestDelimited=false] Whether requests are length-delimited - * @param {boolean} [responseDelimited=false] Whether responses are length-delimited - * @returns {ABCIApplication} RPC service. Useful where requests and/or responses are streamed. - */ - ABCIApplication.create = function create(rpcImpl, requestDelimited, responseDelimited) { - return new this(rpcImpl, requestDelimited, responseDelimited); - }; - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#echo}. - * @memberof tendermint.abci.ABCIApplication - * @typedef EchoCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseEcho} [response] ResponseEcho - */ - - /** - * Calls Echo. - * @function echo - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestEcho} request RequestEcho message or plain object - * @param {tendermint.abci.ABCIApplication.EchoCallback} callback Node-style callback called with the error, if any, and ResponseEcho - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.echo = function echo(request, callback) { - return this.rpcCall(echo, $root.tendermint.abci.RequestEcho, $root.tendermint.abci.ResponseEcho, request, callback); - }, "name", { value: "Echo" }); - - /** - * Calls Echo. - * @function echo - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestEcho} request RequestEcho message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#flush}. - * @memberof tendermint.abci.ABCIApplication - * @typedef FlushCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseFlush} [response] ResponseFlush - */ - - /** - * Calls Flush. - * @function flush - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestFlush} request RequestFlush message or plain object - * @param {tendermint.abci.ABCIApplication.FlushCallback} callback Node-style callback called with the error, if any, and ResponseFlush - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.flush = function flush(request, callback) { - return this.rpcCall(flush, $root.tendermint.abci.RequestFlush, $root.tendermint.abci.ResponseFlush, request, callback); - }, "name", { value: "Flush" }); - - /** - * Calls Flush. - * @function flush - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestFlush} request RequestFlush message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#info}. - * @memberof tendermint.abci.ABCIApplication - * @typedef InfoCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseInfo} [response] ResponseInfo - */ - - /** - * Calls Info. - * @function info - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestInfo} request RequestInfo message or plain object - * @param {tendermint.abci.ABCIApplication.InfoCallback} callback Node-style callback called with the error, if any, and ResponseInfo - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.info = function info(request, callback) { - return this.rpcCall(info, $root.tendermint.abci.RequestInfo, $root.tendermint.abci.ResponseInfo, request, callback); - }, "name", { value: "Info" }); - - /** - * Calls Info. - * @function info - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestInfo} request RequestInfo message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#setOption}. - * @memberof tendermint.abci.ABCIApplication - * @typedef SetOptionCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseSetOption} [response] ResponseSetOption - */ - - /** - * Calls SetOption. - * @function setOption - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestSetOption} request RequestSetOption message or plain object - * @param {tendermint.abci.ABCIApplication.SetOptionCallback} callback Node-style callback called with the error, if any, and ResponseSetOption - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.setOption = function setOption(request, callback) { - return this.rpcCall(setOption, $root.tendermint.abci.RequestSetOption, $root.tendermint.abci.ResponseSetOption, request, callback); - }, "name", { value: "SetOption" }); - - /** - * Calls SetOption. - * @function setOption - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestSetOption} request RequestSetOption message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#deliverTx}. - * @memberof tendermint.abci.ABCIApplication - * @typedef DeliverTxCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseDeliverTx} [response] ResponseDeliverTx - */ - - /** - * Calls DeliverTx. - * @function deliverTx - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestDeliverTx} request RequestDeliverTx message or plain object - * @param {tendermint.abci.ABCIApplication.DeliverTxCallback} callback Node-style callback called with the error, if any, and ResponseDeliverTx - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.deliverTx = function deliverTx(request, callback) { - return this.rpcCall(deliverTx, $root.tendermint.abci.RequestDeliverTx, $root.tendermint.abci.ResponseDeliverTx, request, callback); - }, "name", { value: "DeliverTx" }); - - /** - * Calls DeliverTx. - * @function deliverTx - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestDeliverTx} request RequestDeliverTx message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#checkTx}. - * @memberof tendermint.abci.ABCIApplication - * @typedef CheckTxCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseCheckTx} [response] ResponseCheckTx - */ - - /** - * Calls CheckTx. - * @function checkTx - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestCheckTx} request RequestCheckTx message or plain object - * @param {tendermint.abci.ABCIApplication.CheckTxCallback} callback Node-style callback called with the error, if any, and ResponseCheckTx - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.checkTx = function checkTx(request, callback) { - return this.rpcCall(checkTx, $root.tendermint.abci.RequestCheckTx, $root.tendermint.abci.ResponseCheckTx, request, callback); - }, "name", { value: "CheckTx" }); - - /** - * Calls CheckTx. - * @function checkTx - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestCheckTx} request RequestCheckTx message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#query}. - * @memberof tendermint.abci.ABCIApplication - * @typedef QueryCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseQuery} [response] ResponseQuery - */ - - /** - * Calls Query. - * @function query - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestQuery} request RequestQuery message or plain object - * @param {tendermint.abci.ABCIApplication.QueryCallback} callback Node-style callback called with the error, if any, and ResponseQuery - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.query = function query(request, callback) { - return this.rpcCall(query, $root.tendermint.abci.RequestQuery, $root.tendermint.abci.ResponseQuery, request, callback); - }, "name", { value: "Query" }); - - /** - * Calls Query. - * @function query - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestQuery} request RequestQuery message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#commit}. - * @memberof tendermint.abci.ABCIApplication - * @typedef CommitCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseCommit} [response] ResponseCommit - */ - - /** - * Calls Commit. - * @function commit - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestCommit} request RequestCommit message or plain object - * @param {tendermint.abci.ABCIApplication.CommitCallback} callback Node-style callback called with the error, if any, and ResponseCommit - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.commit = function commit(request, callback) { - return this.rpcCall(commit, $root.tendermint.abci.RequestCommit, $root.tendermint.abci.ResponseCommit, request, callback); - }, "name", { value: "Commit" }); - - /** - * Calls Commit. - * @function commit - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestCommit} request RequestCommit message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#initChain}. - * @memberof tendermint.abci.ABCIApplication - * @typedef InitChainCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseInitChain} [response] ResponseInitChain - */ - - /** - * Calls InitChain. - * @function initChain - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestInitChain} request RequestInitChain message or plain object - * @param {tendermint.abci.ABCIApplication.InitChainCallback} callback Node-style callback called with the error, if any, and ResponseInitChain - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.initChain = function initChain(request, callback) { - return this.rpcCall(initChain, $root.tendermint.abci.RequestInitChain, $root.tendermint.abci.ResponseInitChain, request, callback); - }, "name", { value: "InitChain" }); - - /** - * Calls InitChain. - * @function initChain - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestInitChain} request RequestInitChain message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#beginBlock}. - * @memberof tendermint.abci.ABCIApplication - * @typedef BeginBlockCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseBeginBlock} [response] ResponseBeginBlock - */ - - /** - * Calls BeginBlock. - * @function beginBlock - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestBeginBlock} request RequestBeginBlock message or plain object - * @param {tendermint.abci.ABCIApplication.BeginBlockCallback} callback Node-style callback called with the error, if any, and ResponseBeginBlock - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.beginBlock = function beginBlock(request, callback) { - return this.rpcCall(beginBlock, $root.tendermint.abci.RequestBeginBlock, $root.tendermint.abci.ResponseBeginBlock, request, callback); - }, "name", { value: "BeginBlock" }); - - /** - * Calls BeginBlock. - * @function beginBlock - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestBeginBlock} request RequestBeginBlock message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#endBlock}. - * @memberof tendermint.abci.ABCIApplication - * @typedef EndBlockCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseEndBlock} [response] ResponseEndBlock - */ - - /** - * Calls EndBlock. - * @function endBlock - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestEndBlock} request RequestEndBlock message or plain object - * @param {tendermint.abci.ABCIApplication.EndBlockCallback} callback Node-style callback called with the error, if any, and ResponseEndBlock - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.endBlock = function endBlock(request, callback) { - return this.rpcCall(endBlock, $root.tendermint.abci.RequestEndBlock, $root.tendermint.abci.ResponseEndBlock, request, callback); - }, "name", { value: "EndBlock" }); - - /** - * Calls EndBlock. - * @function endBlock - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestEndBlock} request RequestEndBlock message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#listSnapshots}. - * @memberof tendermint.abci.ABCIApplication - * @typedef ListSnapshotsCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseListSnapshots} [response] ResponseListSnapshots - */ - - /** - * Calls ListSnapshots. - * @function listSnapshots - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestListSnapshots} request RequestListSnapshots message or plain object - * @param {tendermint.abci.ABCIApplication.ListSnapshotsCallback} callback Node-style callback called with the error, if any, and ResponseListSnapshots - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.listSnapshots = function listSnapshots(request, callback) { - return this.rpcCall(listSnapshots, $root.tendermint.abci.RequestListSnapshots, $root.tendermint.abci.ResponseListSnapshots, request, callback); - }, "name", { value: "ListSnapshots" }); - - /** - * Calls ListSnapshots. - * @function listSnapshots - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestListSnapshots} request RequestListSnapshots message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#offerSnapshot}. - * @memberof tendermint.abci.ABCIApplication - * @typedef OfferSnapshotCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseOfferSnapshot} [response] ResponseOfferSnapshot - */ - - /** - * Calls OfferSnapshot. - * @function offerSnapshot - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestOfferSnapshot} request RequestOfferSnapshot message or plain object - * @param {tendermint.abci.ABCIApplication.OfferSnapshotCallback} callback Node-style callback called with the error, if any, and ResponseOfferSnapshot - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.offerSnapshot = function offerSnapshot(request, callback) { - return this.rpcCall(offerSnapshot, $root.tendermint.abci.RequestOfferSnapshot, $root.tendermint.abci.ResponseOfferSnapshot, request, callback); - }, "name", { value: "OfferSnapshot" }); - - /** - * Calls OfferSnapshot. - * @function offerSnapshot - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestOfferSnapshot} request RequestOfferSnapshot message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#loadSnapshotChunk}. - * @memberof tendermint.abci.ABCIApplication - * @typedef LoadSnapshotChunkCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseLoadSnapshotChunk} [response] ResponseLoadSnapshotChunk - */ - - /** - * Calls LoadSnapshotChunk. - * @function loadSnapshotChunk - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestLoadSnapshotChunk} request RequestLoadSnapshotChunk message or plain object - * @param {tendermint.abci.ABCIApplication.LoadSnapshotChunkCallback} callback Node-style callback called with the error, if any, and ResponseLoadSnapshotChunk - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.loadSnapshotChunk = function loadSnapshotChunk(request, callback) { - return this.rpcCall(loadSnapshotChunk, $root.tendermint.abci.RequestLoadSnapshotChunk, $root.tendermint.abci.ResponseLoadSnapshotChunk, request, callback); - }, "name", { value: "LoadSnapshotChunk" }); - - /** - * Calls LoadSnapshotChunk. - * @function loadSnapshotChunk - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestLoadSnapshotChunk} request RequestLoadSnapshotChunk message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - /** - * Callback as used by {@link tendermint.abci.ABCIApplication#applySnapshotChunk}. - * @memberof tendermint.abci.ABCIApplication - * @typedef ApplySnapshotChunkCallback - * @type {function} - * @param {Error|null} error Error, if any - * @param {tendermint.abci.IResponseApplySnapshotChunk} [response] ResponseApplySnapshotChunk - */ - - /** - * Calls ApplySnapshotChunk. - * @function applySnapshotChunk - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestApplySnapshotChunk} request RequestApplySnapshotChunk message or plain object - * @param {tendermint.abci.ABCIApplication.ApplySnapshotChunkCallback} callback Node-style callback called with the error, if any, and ResponseApplySnapshotChunk - * @returns {undefined} - * @variation 1 - */ - Object.defineProperty(ABCIApplication.prototype.applySnapshotChunk = function applySnapshotChunk(request, callback) { - return this.rpcCall(applySnapshotChunk, $root.tendermint.abci.RequestApplySnapshotChunk, $root.tendermint.abci.ResponseApplySnapshotChunk, request, callback); - }, "name", { value: "ApplySnapshotChunk" }); - - /** - * Calls ApplySnapshotChunk. - * @function applySnapshotChunk - * @memberof tendermint.abci.ABCIApplication - * @instance - * @param {tendermint.abci.IRequestApplySnapshotChunk} request RequestApplySnapshotChunk message or plain object - * @returns {Promise} Promise - * @variation 2 - */ - - return ABCIApplication; - })(abci.ABCIApplication || {}); - - return abci; - })(tendermint.abci || {}); - - /** - * Namespace crypto. - * @memberof tendermint - * @namespace - */ - - tendermint.crypto = (function(crypto) { - - crypto.PublicKey = (function(PublicKey) { - - /** - * Properties of a PublicKey. - * @memberof tendermint.crypto - * @interface IPublicKey - * @property {Uint8Array|null} [ed25519] PublicKey ed25519 - * @property {Uint8Array|null} [secp256k1] PublicKey secp256k1 - */ - - /** - * Constructs a new PublicKey. - * @memberof tendermint.crypto - * @classdesc Represents a PublicKey. - * @implements IPublicKey - * @constructor - * @param {tendermint.crypto.IPublicKey=} [properties] Properties to set - */ - function PublicKey(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PublicKey ed25519. - * @member {Uint8Array} ed25519 - * @memberof tendermint.crypto.PublicKey - * @instance - */ - PublicKey.prototype.ed25519 = $util.newBuffer([]); - - /** - * PublicKey secp256k1. - * @member {Uint8Array} secp256k1 - * @memberof tendermint.crypto.PublicKey - * @instance - */ - PublicKey.prototype.secp256k1 = $util.newBuffer([]); - - // OneOf field names bound to virtual getters and setters - let $oneOfFields; - - /** - * PublicKey sum. - * @member {"ed25519"|"secp256k1"|undefined} sum - * @memberof tendermint.crypto.PublicKey - * @instance - */ - Object.defineProperty(PublicKey.prototype, "sum", { - get: $util.oneOfGetter($oneOfFields = ["ed25519", "secp256k1"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new PublicKey instance using the specified properties. - * @function create - * @memberof tendermint.crypto.PublicKey - * @static - * @param {tendermint.crypto.IPublicKey=} [properties] Properties to set - * @returns {tendermint.crypto.PublicKey} PublicKey instance - */ - PublicKey.create = function create(properties) { - return new PublicKey(properties); - }; - - /** - * Encodes the specified PublicKey message. Does not implicitly {@link tendermint.crypto.PublicKey.verify|verify} messages. - * @function encode - * @memberof tendermint.crypto.PublicKey - * @static - * @param {tendermint.crypto.IPublicKey} message PublicKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PublicKey.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.ed25519 != null && Object.hasOwnProperty.call(message, "ed25519")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ed25519); - if (message.secp256k1 != null && Object.hasOwnProperty.call(message, "secp256k1")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.secp256k1); - return writer; - }; - - /** - * Encodes the specified PublicKey message, length delimited. Does not implicitly {@link tendermint.crypto.PublicKey.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.crypto.PublicKey - * @static - * @param {tendermint.crypto.IPublicKey} message PublicKey message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PublicKey.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PublicKey message from the specified reader or buffer. - * @function decode - * @memberof tendermint.crypto.PublicKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.crypto.PublicKey} PublicKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PublicKey.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.PublicKey(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.ed25519 = reader.bytes(); - break; - case 2: - message.secp256k1 = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PublicKey message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.crypto.PublicKey - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.crypto.PublicKey} PublicKey - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PublicKey.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PublicKey message. - * @function verify - * @memberof tendermint.crypto.PublicKey - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PublicKey.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - let properties = {}; - if (message.ed25519 != null && message.hasOwnProperty("ed25519")) { - properties.sum = 1; - if (!(message.ed25519 && typeof message.ed25519.length === "number" || $util.isString(message.ed25519))) - return "ed25519: buffer expected"; - } - if (message.secp256k1 != null && message.hasOwnProperty("secp256k1")) { - if (properties.sum === 1) - return "sum: multiple values"; - properties.sum = 1; - if (!(message.secp256k1 && typeof message.secp256k1.length === "number" || $util.isString(message.secp256k1))) - return "secp256k1: buffer expected"; - } - return null; - }; - - /** - * Creates a PublicKey message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.crypto.PublicKey - * @static - * @param {Object.} object Plain object - * @returns {tendermint.crypto.PublicKey} PublicKey - */ - PublicKey.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.crypto.PublicKey) - return object; - let message = new $root.tendermint.crypto.PublicKey(); - if (object.ed25519 != null) - if (typeof object.ed25519 === "string") - $util.base64.decode(object.ed25519, message.ed25519 = $util.newBuffer($util.base64.length(object.ed25519)), 0); - else if (object.ed25519.length) - message.ed25519 = object.ed25519; - if (object.secp256k1 != null) - if (typeof object.secp256k1 === "string") - $util.base64.decode(object.secp256k1, message.secp256k1 = $util.newBuffer($util.base64.length(object.secp256k1)), 0); - else if (object.secp256k1.length) - message.secp256k1 = object.secp256k1; - return message; - }; - - /** - * Creates a plain object from a PublicKey message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.crypto.PublicKey - * @static - * @param {tendermint.crypto.PublicKey} message PublicKey - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PublicKey.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (message.ed25519 != null && message.hasOwnProperty("ed25519")) { - object.ed25519 = options.bytes === String ? $util.base64.encode(message.ed25519, 0, message.ed25519.length) : options.bytes === Array ? Array.prototype.slice.call(message.ed25519) : message.ed25519; - if (options.oneofs) - object.sum = "ed25519"; - } - if (message.secp256k1 != null && message.hasOwnProperty("secp256k1")) { - object.secp256k1 = options.bytes === String ? $util.base64.encode(message.secp256k1, 0, message.secp256k1.length) : options.bytes === Array ? Array.prototype.slice.call(message.secp256k1) : message.secp256k1; - if (options.oneofs) - object.sum = "secp256k1"; - } - return object; - }; - - /** - * Converts this PublicKey to JSON. - * @function toJSON - * @memberof tendermint.crypto.PublicKey - * @instance - * @returns {Object.} JSON object - */ - PublicKey.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PublicKey; - })(crypto.PublicKey || {}); - - crypto.Proof = (function(Proof) { - - /** - * Properties of a Proof. - * @memberof tendermint.crypto - * @interface IProof - * @property {number|Long|null} [total] Proof total - * @property {number|Long|null} [index] Proof index - * @property {Uint8Array|null} [leafHash] Proof leafHash - * @property {Array.|null} [aunts] Proof aunts - */ - - /** - * Constructs a new Proof. - * @memberof tendermint.crypto - * @classdesc Represents a Proof. - * @implements IProof - * @constructor - * @param {tendermint.crypto.IProof=} [properties] Properties to set - */ - function Proof(properties) { - this.aunts = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Proof total. - * @member {number|Long} total - * @memberof tendermint.crypto.Proof - * @instance - */ - Proof.prototype.total = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Proof index. - * @member {number|Long} index - * @memberof tendermint.crypto.Proof - * @instance - */ - Proof.prototype.index = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Proof leafHash. - * @member {Uint8Array} leafHash - * @memberof tendermint.crypto.Proof - * @instance - */ - Proof.prototype.leafHash = $util.newBuffer([]); - - /** - * Proof aunts. - * @member {Array.} aunts - * @memberof tendermint.crypto.Proof - * @instance - */ - Proof.prototype.aunts = $util.emptyArray; - - /** - * Creates a new Proof instance using the specified properties. - * @function create - * @memberof tendermint.crypto.Proof - * @static - * @param {tendermint.crypto.IProof=} [properties] Properties to set - * @returns {tendermint.crypto.Proof} Proof instance - */ - Proof.create = function create(properties) { - return new Proof(properties); - }; - - /** - * Encodes the specified Proof message. Does not implicitly {@link tendermint.crypto.Proof.verify|verify} messages. - * @function encode - * @memberof tendermint.crypto.Proof - * @static - * @param {tendermint.crypto.IProof} message Proof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Proof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.total != null && Object.hasOwnProperty.call(message, "total")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.total); - if (message.index != null && Object.hasOwnProperty.call(message, "index")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.index); - if (message.leafHash != null && Object.hasOwnProperty.call(message, "leafHash")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.leafHash); - if (message.aunts != null && message.aunts.length) - for (let i = 0; i < message.aunts.length; ++i) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.aunts[i]); - return writer; - }; - - /** - * Encodes the specified Proof message, length delimited. Does not implicitly {@link tendermint.crypto.Proof.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.crypto.Proof - * @static - * @param {tendermint.crypto.IProof} message Proof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Proof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Proof message from the specified reader or buffer. - * @function decode - * @memberof tendermint.crypto.Proof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.crypto.Proof} Proof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Proof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.Proof(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.total = reader.int64(); - break; - case 2: - message.index = reader.int64(); - break; - case 3: - message.leafHash = reader.bytes(); - break; - case 4: - if (!(message.aunts && message.aunts.length)) - message.aunts = []; - message.aunts.push(reader.bytes()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Proof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.crypto.Proof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.crypto.Proof} Proof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Proof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Proof message. - * @function verify - * @memberof tendermint.crypto.Proof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Proof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.total != null && message.hasOwnProperty("total")) - if (!$util.isInteger(message.total) && !(message.total && $util.isInteger(message.total.low) && $util.isInteger(message.total.high))) - return "total: integer|Long expected"; - if (message.index != null && message.hasOwnProperty("index")) - if (!$util.isInteger(message.index) && !(message.index && $util.isInteger(message.index.low) && $util.isInteger(message.index.high))) - return "index: integer|Long expected"; - if (message.leafHash != null && message.hasOwnProperty("leafHash")) - if (!(message.leafHash && typeof message.leafHash.length === "number" || $util.isString(message.leafHash))) - return "leafHash: buffer expected"; - if (message.aunts != null && message.hasOwnProperty("aunts")) { - if (!Array.isArray(message.aunts)) - return "aunts: array expected"; - for (let i = 0; i < message.aunts.length; ++i) - if (!(message.aunts[i] && typeof message.aunts[i].length === "number" || $util.isString(message.aunts[i]))) - return "aunts: buffer[] expected"; - } - return null; - }; - - /** - * Creates a Proof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.crypto.Proof - * @static - * @param {Object.} object Plain object - * @returns {tendermint.crypto.Proof} Proof - */ - Proof.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.crypto.Proof) - return object; - let message = new $root.tendermint.crypto.Proof(); - if (object.total != null) - if ($util.Long) - (message.total = $util.Long.fromValue(object.total)).unsigned = false; - else if (typeof object.total === "string") - message.total = parseInt(object.total, 10); - else if (typeof object.total === "number") - message.total = object.total; - else if (typeof object.total === "object") - message.total = new $util.LongBits(object.total.low >>> 0, object.total.high >>> 0).toNumber(); - if (object.index != null) - if ($util.Long) - (message.index = $util.Long.fromValue(object.index)).unsigned = false; - else if (typeof object.index === "string") - message.index = parseInt(object.index, 10); - else if (typeof object.index === "number") - message.index = object.index; - else if (typeof object.index === "object") - message.index = new $util.LongBits(object.index.low >>> 0, object.index.high >>> 0).toNumber(); - if (object.leafHash != null) - if (typeof object.leafHash === "string") - $util.base64.decode(object.leafHash, message.leafHash = $util.newBuffer($util.base64.length(object.leafHash)), 0); - else if (object.leafHash.length) - message.leafHash = object.leafHash; - if (object.aunts) { - if (!Array.isArray(object.aunts)) - throw TypeError(".tendermint.crypto.Proof.aunts: array expected"); - message.aunts = []; - for (let i = 0; i < object.aunts.length; ++i) - if (typeof object.aunts[i] === "string") - $util.base64.decode(object.aunts[i], message.aunts[i] = $util.newBuffer($util.base64.length(object.aunts[i])), 0); - else if (object.aunts[i].length) - message.aunts[i] = object.aunts[i]; - } - return message; - }; - - /** - * Creates a plain object from a Proof message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.crypto.Proof - * @static - * @param {tendermint.crypto.Proof} message Proof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Proof.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.aunts = []; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.total = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.total = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.index = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.index = options.longs === String ? "0" : 0; - if (options.bytes === String) - object.leafHash = ""; - else { - object.leafHash = []; - if (options.bytes !== Array) - object.leafHash = $util.newBuffer(object.leafHash); - } - } - if (message.total != null && message.hasOwnProperty("total")) - if (typeof message.total === "number") - object.total = options.longs === String ? String(message.total) : message.total; - else - object.total = options.longs === String ? $util.Long.prototype.toString.call(message.total) : options.longs === Number ? new $util.LongBits(message.total.low >>> 0, message.total.high >>> 0).toNumber() : message.total; - if (message.index != null && message.hasOwnProperty("index")) - if (typeof message.index === "number") - object.index = options.longs === String ? String(message.index) : message.index; - else - object.index = options.longs === String ? $util.Long.prototype.toString.call(message.index) : options.longs === Number ? new $util.LongBits(message.index.low >>> 0, message.index.high >>> 0).toNumber() : message.index; - if (message.leafHash != null && message.hasOwnProperty("leafHash")) - object.leafHash = options.bytes === String ? $util.base64.encode(message.leafHash, 0, message.leafHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.leafHash) : message.leafHash; - if (message.aunts && message.aunts.length) { - object.aunts = []; - for (let j = 0; j < message.aunts.length; ++j) - object.aunts[j] = options.bytes === String ? $util.base64.encode(message.aunts[j], 0, message.aunts[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.aunts[j]) : message.aunts[j]; - } - return object; - }; - - /** - * Converts this Proof to JSON. - * @function toJSON - * @memberof tendermint.crypto.Proof - * @instance - * @returns {Object.} JSON object - */ - Proof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Proof; - })(crypto.Proof || {}); - - crypto.ValueOp = (function(ValueOp) { - - /** - * Properties of a ValueOp. - * @memberof tendermint.crypto - * @interface IValueOp - * @property {Uint8Array|null} [key] ValueOp key - * @property {tendermint.crypto.IProof|null} [proof] ValueOp proof - */ - - /** - * Constructs a new ValueOp. - * @memberof tendermint.crypto - * @classdesc Represents a ValueOp. - * @implements IValueOp - * @constructor - * @param {tendermint.crypto.IValueOp=} [properties] Properties to set - */ - function ValueOp(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValueOp key. - * @member {Uint8Array} key - * @memberof tendermint.crypto.ValueOp - * @instance - */ - ValueOp.prototype.key = $util.newBuffer([]); - - /** - * ValueOp proof. - * @member {tendermint.crypto.IProof|null|undefined} proof - * @memberof tendermint.crypto.ValueOp - * @instance - */ - ValueOp.prototype.proof = null; - - /** - * Creates a new ValueOp instance using the specified properties. - * @function create - * @memberof tendermint.crypto.ValueOp - * @static - * @param {tendermint.crypto.IValueOp=} [properties] Properties to set - * @returns {tendermint.crypto.ValueOp} ValueOp instance - */ - ValueOp.create = function create(properties) { - return new ValueOp(properties); - }; - - /** - * Encodes the specified ValueOp message. Does not implicitly {@link tendermint.crypto.ValueOp.verify|verify} messages. - * @function encode - * @memberof tendermint.crypto.ValueOp - * @static - * @param {tendermint.crypto.IValueOp} message ValueOp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValueOp.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.tendermint.crypto.Proof.encode(message.proof, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ValueOp message, length delimited. Does not implicitly {@link tendermint.crypto.ValueOp.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.crypto.ValueOp - * @static - * @param {tendermint.crypto.IValueOp} message ValueOp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValueOp.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValueOp message from the specified reader or buffer. - * @function decode - * @memberof tendermint.crypto.ValueOp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.crypto.ValueOp} ValueOp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValueOp.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.ValueOp(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - case 2: - message.proof = $root.tendermint.crypto.Proof.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValueOp message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.crypto.ValueOp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.crypto.ValueOp} ValueOp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValueOp.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValueOp message. - * @function verify - * @memberof tendermint.crypto.ValueOp - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValueOp.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.proof != null && message.hasOwnProperty("proof")) { - let error = $root.tendermint.crypto.Proof.verify(message.proof); - if (error) - return "proof." + error; - } - return null; - }; - - /** - * Creates a ValueOp message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.crypto.ValueOp - * @static - * @param {Object.} object Plain object - * @returns {tendermint.crypto.ValueOp} ValueOp - */ - ValueOp.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.crypto.ValueOp) - return object; - let message = new $root.tendermint.crypto.ValueOp(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".tendermint.crypto.ValueOp.proof: object expected"); - message.proof = $root.tendermint.crypto.Proof.fromObject(object.proof); - } - return message; - }; - - /** - * Creates a plain object from a ValueOp message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.crypto.ValueOp - * @static - * @param {tendermint.crypto.ValueOp} message ValueOp - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValueOp.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - object.proof = null; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = $root.tendermint.crypto.Proof.toObject(message.proof, options); - return object; - }; - - /** - * Converts this ValueOp to JSON. - * @function toJSON - * @memberof tendermint.crypto.ValueOp - * @instance - * @returns {Object.} JSON object - */ - ValueOp.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValueOp; - })(crypto.ValueOp || {}); - - crypto.DominoOp = (function(DominoOp) { - - /** - * Properties of a DominoOp. - * @memberof tendermint.crypto - * @interface IDominoOp - * @property {string|null} [key] DominoOp key - * @property {string|null} [input] DominoOp input - * @property {string|null} [output] DominoOp output - */ - - /** - * Constructs a new DominoOp. - * @memberof tendermint.crypto - * @classdesc Represents a DominoOp. - * @implements IDominoOp - * @constructor - * @param {tendermint.crypto.IDominoOp=} [properties] Properties to set - */ - function DominoOp(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DominoOp key. - * @member {string} key - * @memberof tendermint.crypto.DominoOp - * @instance - */ - DominoOp.prototype.key = ""; - - /** - * DominoOp input. - * @member {string} input - * @memberof tendermint.crypto.DominoOp - * @instance - */ - DominoOp.prototype.input = ""; - - /** - * DominoOp output. - * @member {string} output - * @memberof tendermint.crypto.DominoOp - * @instance - */ - DominoOp.prototype.output = ""; - - /** - * Creates a new DominoOp instance using the specified properties. - * @function create - * @memberof tendermint.crypto.DominoOp - * @static - * @param {tendermint.crypto.IDominoOp=} [properties] Properties to set - * @returns {tendermint.crypto.DominoOp} DominoOp instance - */ - DominoOp.create = function create(properties) { - return new DominoOp(properties); - }; - - /** - * Encodes the specified DominoOp message. Does not implicitly {@link tendermint.crypto.DominoOp.verify|verify} messages. - * @function encode - * @memberof tendermint.crypto.DominoOp - * @static - * @param {tendermint.crypto.IDominoOp} message DominoOp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DominoOp.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); - if (message.input != null && Object.hasOwnProperty.call(message, "input")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.input); - if (message.output != null && Object.hasOwnProperty.call(message, "output")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.output); - return writer; - }; - - /** - * Encodes the specified DominoOp message, length delimited. Does not implicitly {@link tendermint.crypto.DominoOp.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.crypto.DominoOp - * @static - * @param {tendermint.crypto.IDominoOp} message DominoOp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DominoOp.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DominoOp message from the specified reader or buffer. - * @function decode - * @memberof tendermint.crypto.DominoOp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.crypto.DominoOp} DominoOp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DominoOp.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.DominoOp(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.string(); - break; - case 2: - message.input = reader.string(); - break; - case 3: - message.output = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DominoOp message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.crypto.DominoOp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.crypto.DominoOp} DominoOp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DominoOp.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DominoOp message. - * @function verify - * @memberof tendermint.crypto.DominoOp - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DominoOp.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!$util.isString(message.key)) - return "key: string expected"; - if (message.input != null && message.hasOwnProperty("input")) - if (!$util.isString(message.input)) - return "input: string expected"; - if (message.output != null && message.hasOwnProperty("output")) - if (!$util.isString(message.output)) - return "output: string expected"; - return null; - }; - - /** - * Creates a DominoOp message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.crypto.DominoOp - * @static - * @param {Object.} object Plain object - * @returns {tendermint.crypto.DominoOp} DominoOp - */ - DominoOp.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.crypto.DominoOp) - return object; - let message = new $root.tendermint.crypto.DominoOp(); - if (object.key != null) - message.key = String(object.key); - if (object.input != null) - message.input = String(object.input); - if (object.output != null) - message.output = String(object.output); - return message; - }; - - /** - * Creates a plain object from a DominoOp message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.crypto.DominoOp - * @static - * @param {tendermint.crypto.DominoOp} message DominoOp - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DominoOp.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.key = ""; - object.input = ""; - object.output = ""; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = message.key; - if (message.input != null && message.hasOwnProperty("input")) - object.input = message.input; - if (message.output != null && message.hasOwnProperty("output")) - object.output = message.output; - return object; - }; - - /** - * Converts this DominoOp to JSON. - * @function toJSON - * @memberof tendermint.crypto.DominoOp - * @instance - * @returns {Object.} JSON object - */ - DominoOp.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DominoOp; - })(crypto.DominoOp || {}); - - crypto.ProofOp = (function(ProofOp) { - - /** - * Properties of a ProofOp. - * @memberof tendermint.crypto - * @interface IProofOp - * @property {string|null} [type] ProofOp type - * @property {Uint8Array|null} [key] ProofOp key - * @property {Uint8Array|null} [data] ProofOp data - */ - - /** - * Constructs a new ProofOp. - * @memberof tendermint.crypto - * @classdesc Represents a ProofOp. - * @implements IProofOp - * @constructor - * @param {tendermint.crypto.IProofOp=} [properties] Properties to set - */ - function ProofOp(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ProofOp type. - * @member {string} type - * @memberof tendermint.crypto.ProofOp - * @instance - */ - ProofOp.prototype.type = ""; - - /** - * ProofOp key. - * @member {Uint8Array} key - * @memberof tendermint.crypto.ProofOp - * @instance - */ - ProofOp.prototype.key = $util.newBuffer([]); - - /** - * ProofOp data. - * @member {Uint8Array} data - * @memberof tendermint.crypto.ProofOp - * @instance - */ - ProofOp.prototype.data = $util.newBuffer([]); - - /** - * Creates a new ProofOp instance using the specified properties. - * @function create - * @memberof tendermint.crypto.ProofOp - * @static - * @param {tendermint.crypto.IProofOp=} [properties] Properties to set - * @returns {tendermint.crypto.ProofOp} ProofOp instance - */ - ProofOp.create = function create(properties) { - return new ProofOp(properties); - }; - - /** - * Encodes the specified ProofOp message. Does not implicitly {@link tendermint.crypto.ProofOp.verify|verify} messages. - * @function encode - * @memberof tendermint.crypto.ProofOp - * @static - * @param {tendermint.crypto.IProofOp} message ProofOp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProofOp.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.key); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.data); - return writer; - }; - - /** - * Encodes the specified ProofOp message, length delimited. Does not implicitly {@link tendermint.crypto.ProofOp.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.crypto.ProofOp - * @static - * @param {tendermint.crypto.IProofOp} message ProofOp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProofOp.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ProofOp message from the specified reader or buffer. - * @function decode - * @memberof tendermint.crypto.ProofOp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.crypto.ProofOp} ProofOp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProofOp.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.ProofOp(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.string(); - break; - case 2: - message.key = reader.bytes(); - break; - case 3: - message.data = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ProofOp message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.crypto.ProofOp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.crypto.ProofOp} ProofOp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProofOp.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ProofOp message. - * @function verify - * @memberof tendermint.crypto.ProofOp - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ProofOp.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - if (!$util.isString(message.type)) - return "type: string expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - return null; - }; - - /** - * Creates a ProofOp message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.crypto.ProofOp - * @static - * @param {Object.} object Plain object - * @returns {tendermint.crypto.ProofOp} ProofOp - */ - ProofOp.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.crypto.ProofOp) - return object; - let message = new $root.tendermint.crypto.ProofOp(); - if (object.type != null) - message.type = String(object.type); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - return message; - }; - - /** - * Creates a plain object from a ProofOp message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.crypto.ProofOp - * @static - * @param {tendermint.crypto.ProofOp} message ProofOp - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ProofOp.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.type = ""; - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = message.type; - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - return object; - }; - - /** - * Converts this ProofOp to JSON. - * @function toJSON - * @memberof tendermint.crypto.ProofOp - * @instance - * @returns {Object.} JSON object - */ - ProofOp.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ProofOp; - })(crypto.ProofOp || {}); - - crypto.ProofOps = (function(ProofOps) { - - /** - * Properties of a ProofOps. - * @memberof tendermint.crypto - * @interface IProofOps - * @property {Array.|null} [ops] ProofOps ops - */ - - /** - * Constructs a new ProofOps. - * @memberof tendermint.crypto - * @classdesc Represents a ProofOps. - * @implements IProofOps - * @constructor - * @param {tendermint.crypto.IProofOps=} [properties] Properties to set - */ - function ProofOps(properties) { - this.ops = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ProofOps ops. - * @member {Array.} ops - * @memberof tendermint.crypto.ProofOps - * @instance - */ - ProofOps.prototype.ops = $util.emptyArray; - - /** - * Creates a new ProofOps instance using the specified properties. - * @function create - * @memberof tendermint.crypto.ProofOps - * @static - * @param {tendermint.crypto.IProofOps=} [properties] Properties to set - * @returns {tendermint.crypto.ProofOps} ProofOps instance - */ - ProofOps.create = function create(properties) { - return new ProofOps(properties); - }; - - /** - * Encodes the specified ProofOps message. Does not implicitly {@link tendermint.crypto.ProofOps.verify|verify} messages. - * @function encode - * @memberof tendermint.crypto.ProofOps - * @static - * @param {tendermint.crypto.IProofOps} message ProofOps message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProofOps.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.ops != null && message.ops.length) - for (let i = 0; i < message.ops.length; ++i) - $root.tendermint.crypto.ProofOp.encode(message.ops[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ProofOps message, length delimited. Does not implicitly {@link tendermint.crypto.ProofOps.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.crypto.ProofOps - * @static - * @param {tendermint.crypto.IProofOps} message ProofOps message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProofOps.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ProofOps message from the specified reader or buffer. - * @function decode - * @memberof tendermint.crypto.ProofOps - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.crypto.ProofOps} ProofOps - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProofOps.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.crypto.ProofOps(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.ops && message.ops.length)) - message.ops = []; - message.ops.push($root.tendermint.crypto.ProofOp.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ProofOps message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.crypto.ProofOps - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.crypto.ProofOps} ProofOps - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProofOps.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ProofOps message. - * @function verify - * @memberof tendermint.crypto.ProofOps - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ProofOps.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.ops != null && message.hasOwnProperty("ops")) { - if (!Array.isArray(message.ops)) - return "ops: array expected"; - for (let i = 0; i < message.ops.length; ++i) { - let error = $root.tendermint.crypto.ProofOp.verify(message.ops[i]); - if (error) - return "ops." + error; - } - } - return null; - }; - - /** - * Creates a ProofOps message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.crypto.ProofOps - * @static - * @param {Object.} object Plain object - * @returns {tendermint.crypto.ProofOps} ProofOps - */ - ProofOps.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.crypto.ProofOps) - return object; - let message = new $root.tendermint.crypto.ProofOps(); - if (object.ops) { - if (!Array.isArray(object.ops)) - throw TypeError(".tendermint.crypto.ProofOps.ops: array expected"); - message.ops = []; - for (let i = 0; i < object.ops.length; ++i) { - if (typeof object.ops[i] !== "object") - throw TypeError(".tendermint.crypto.ProofOps.ops: object expected"); - message.ops[i] = $root.tendermint.crypto.ProofOp.fromObject(object.ops[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a ProofOps message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.crypto.ProofOps - * @static - * @param {tendermint.crypto.ProofOps} message ProofOps - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ProofOps.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.ops = []; - if (message.ops && message.ops.length) { - object.ops = []; - for (let j = 0; j < message.ops.length; ++j) - object.ops[j] = $root.tendermint.crypto.ProofOp.toObject(message.ops[j], options); - } - return object; - }; - - /** - * Converts this ProofOps to JSON. - * @function toJSON - * @memberof tendermint.crypto.ProofOps - * @instance - * @returns {Object.} JSON object - */ - ProofOps.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ProofOps; - })(crypto.ProofOps || {}); - - return crypto; - })(tendermint.crypto || {}); - - /** - * Namespace libs. - * @memberof tendermint - * @namespace - */ - - tendermint.libs = (function(libs) { - - /** - * Namespace bits. - * @memberof tendermint.libs - * @namespace - */ - - libs.bits = (function(bits) { - - bits.BitArray = (function(BitArray) { - - /** - * Properties of a BitArray. - * @memberof tendermint.libs.bits - * @interface IBitArray - * @property {number|Long|null} [bits] BitArray bits - * @property {Array.|null} [elems] BitArray elems - */ - - /** - * Constructs a new BitArray. - * @memberof tendermint.libs.bits - * @classdesc Represents a BitArray. - * @implements IBitArray - * @constructor - * @param {tendermint.libs.bits.IBitArray=} [properties] Properties to set - */ - function BitArray(properties) { - this.elems = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BitArray bits. - * @member {number|Long} bits - * @memberof tendermint.libs.bits.BitArray - * @instance - */ - BitArray.prototype.bits = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * BitArray elems. - * @member {Array.} elems - * @memberof tendermint.libs.bits.BitArray - * @instance - */ - BitArray.prototype.elems = $util.emptyArray; - - /** - * Creates a new BitArray instance using the specified properties. - * @function create - * @memberof tendermint.libs.bits.BitArray - * @static - * @param {tendermint.libs.bits.IBitArray=} [properties] Properties to set - * @returns {tendermint.libs.bits.BitArray} BitArray instance - */ - BitArray.create = function create(properties) { - return new BitArray(properties); - }; - - /** - * Encodes the specified BitArray message. Does not implicitly {@link tendermint.libs.bits.BitArray.verify|verify} messages. - * @function encode - * @memberof tendermint.libs.bits.BitArray - * @static - * @param {tendermint.libs.bits.IBitArray} message BitArray message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BitArray.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.bits != null && Object.hasOwnProperty.call(message, "bits")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.bits); - if (message.elems != null && message.elems.length) { - writer.uint32(/* id 2, wireType 2 =*/18).fork(); - for (let i = 0; i < message.elems.length; ++i) - writer.uint64(message.elems[i]); - writer.ldelim(); - } - return writer; - }; - - /** - * Encodes the specified BitArray message, length delimited. Does not implicitly {@link tendermint.libs.bits.BitArray.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.libs.bits.BitArray - * @static - * @param {tendermint.libs.bits.IBitArray} message BitArray message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BitArray.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BitArray message from the specified reader or buffer. - * @function decode - * @memberof tendermint.libs.bits.BitArray - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.libs.bits.BitArray} BitArray - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BitArray.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.libs.bits.BitArray(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.bits = reader.int64(); - break; - case 2: - if (!(message.elems && message.elems.length)) - message.elems = []; - if ((tag & 7) === 2) { - let end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.elems.push(reader.uint64()); - } else - message.elems.push(reader.uint64()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BitArray message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.libs.bits.BitArray - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.libs.bits.BitArray} BitArray - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BitArray.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BitArray message. - * @function verify - * @memberof tendermint.libs.bits.BitArray - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BitArray.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.bits != null && message.hasOwnProperty("bits")) - if (!$util.isInteger(message.bits) && !(message.bits && $util.isInteger(message.bits.low) && $util.isInteger(message.bits.high))) - return "bits: integer|Long expected"; - if (message.elems != null && message.hasOwnProperty("elems")) { - if (!Array.isArray(message.elems)) - return "elems: array expected"; - for (let i = 0; i < message.elems.length; ++i) - if (!$util.isInteger(message.elems[i]) && !(message.elems[i] && $util.isInteger(message.elems[i].low) && $util.isInteger(message.elems[i].high))) - return "elems: integer|Long[] expected"; - } - return null; - }; - - /** - * Creates a BitArray message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.libs.bits.BitArray - * @static - * @param {Object.} object Plain object - * @returns {tendermint.libs.bits.BitArray} BitArray - */ - BitArray.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.libs.bits.BitArray) - return object; - let message = new $root.tendermint.libs.bits.BitArray(); - if (object.bits != null) - if ($util.Long) - (message.bits = $util.Long.fromValue(object.bits)).unsigned = false; - else if (typeof object.bits === "string") - message.bits = parseInt(object.bits, 10); - else if (typeof object.bits === "number") - message.bits = object.bits; - else if (typeof object.bits === "object") - message.bits = new $util.LongBits(object.bits.low >>> 0, object.bits.high >>> 0).toNumber(); - if (object.elems) { - if (!Array.isArray(object.elems)) - throw TypeError(".tendermint.libs.bits.BitArray.elems: array expected"); - message.elems = []; - for (let i = 0; i < object.elems.length; ++i) - if ($util.Long) - (message.elems[i] = $util.Long.fromValue(object.elems[i])).unsigned = true; - else if (typeof object.elems[i] === "string") - message.elems[i] = parseInt(object.elems[i], 10); - else if (typeof object.elems[i] === "number") - message.elems[i] = object.elems[i]; - else if (typeof object.elems[i] === "object") - message.elems[i] = new $util.LongBits(object.elems[i].low >>> 0, object.elems[i].high >>> 0).toNumber(true); - } - return message; - }; - - /** - * Creates a plain object from a BitArray message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.libs.bits.BitArray - * @static - * @param {tendermint.libs.bits.BitArray} message BitArray - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BitArray.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.elems = []; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.bits = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.bits = options.longs === String ? "0" : 0; - if (message.bits != null && message.hasOwnProperty("bits")) - if (typeof message.bits === "number") - object.bits = options.longs === String ? String(message.bits) : message.bits; - else - object.bits = options.longs === String ? $util.Long.prototype.toString.call(message.bits) : options.longs === Number ? new $util.LongBits(message.bits.low >>> 0, message.bits.high >>> 0).toNumber() : message.bits; - if (message.elems && message.elems.length) { - object.elems = []; - for (let j = 0; j < message.elems.length; ++j) - if (typeof message.elems[j] === "number") - object.elems[j] = options.longs === String ? String(message.elems[j]) : message.elems[j]; - else - object.elems[j] = options.longs === String ? $util.Long.prototype.toString.call(message.elems[j]) : options.longs === Number ? new $util.LongBits(message.elems[j].low >>> 0, message.elems[j].high >>> 0).toNumber(true) : message.elems[j]; - } - return object; - }; - - /** - * Converts this BitArray to JSON. - * @function toJSON - * @memberof tendermint.libs.bits.BitArray - * @instance - * @returns {Object.} JSON object - */ - BitArray.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BitArray; - })(bits.BitArray || {}); - - return bits; - })(libs.bits || {}); - - return libs; - })(tendermint.libs || {}); - - /** - * Namespace p2p. - * @memberof tendermint - * @namespace - */ - - tendermint.p2p = (function(p2p) { - - p2p.NetAddress = (function(NetAddress) { - - /** - * Properties of a NetAddress. - * @memberof tendermint.p2p - * @interface INetAddress - * @property {string|null} [id] NetAddress id - * @property {string|null} [ip] NetAddress ip - * @property {number|null} [port] NetAddress port - */ - - /** - * Constructs a new NetAddress. - * @memberof tendermint.p2p - * @classdesc Represents a NetAddress. - * @implements INetAddress - * @constructor - * @param {tendermint.p2p.INetAddress=} [properties] Properties to set - */ - function NetAddress(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * NetAddress id. - * @member {string} id - * @memberof tendermint.p2p.NetAddress - * @instance - */ - NetAddress.prototype.id = ""; - - /** - * NetAddress ip. - * @member {string} ip - * @memberof tendermint.p2p.NetAddress - * @instance - */ - NetAddress.prototype.ip = ""; - - /** - * NetAddress port. - * @member {number} port - * @memberof tendermint.p2p.NetAddress - * @instance - */ - NetAddress.prototype.port = 0; - - /** - * Creates a new NetAddress instance using the specified properties. - * @function create - * @memberof tendermint.p2p.NetAddress - * @static - * @param {tendermint.p2p.INetAddress=} [properties] Properties to set - * @returns {tendermint.p2p.NetAddress} NetAddress instance - */ - NetAddress.create = function create(properties) { - return new NetAddress(properties); - }; - - /** - * Encodes the specified NetAddress message. Does not implicitly {@link tendermint.p2p.NetAddress.verify|verify} messages. - * @function encode - * @memberof tendermint.p2p.NetAddress - * @static - * @param {tendermint.p2p.INetAddress} message NetAddress message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - NetAddress.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.id != null && Object.hasOwnProperty.call(message, "id")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.id); - if (message.ip != null && Object.hasOwnProperty.call(message, "ip")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.ip); - if (message.port != null && Object.hasOwnProperty.call(message, "port")) - writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.port); - return writer; - }; - - /** - * Encodes the specified NetAddress message, length delimited. Does not implicitly {@link tendermint.p2p.NetAddress.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.p2p.NetAddress - * @static - * @param {tendermint.p2p.INetAddress} message NetAddress message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - NetAddress.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a NetAddress message from the specified reader or buffer. - * @function decode - * @memberof tendermint.p2p.NetAddress - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.p2p.NetAddress} NetAddress - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - NetAddress.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.NetAddress(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.id = reader.string(); - break; - case 2: - message.ip = reader.string(); - break; - case 3: - message.port = reader.uint32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a NetAddress message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.p2p.NetAddress - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.p2p.NetAddress} NetAddress - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - NetAddress.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a NetAddress message. - * @function verify - * @memberof tendermint.p2p.NetAddress - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - NetAddress.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.id != null && message.hasOwnProperty("id")) - if (!$util.isString(message.id)) - return "id: string expected"; - if (message.ip != null && message.hasOwnProperty("ip")) - if (!$util.isString(message.ip)) - return "ip: string expected"; - if (message.port != null && message.hasOwnProperty("port")) - if (!$util.isInteger(message.port)) - return "port: integer expected"; - return null; - }; - - /** - * Creates a NetAddress message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.p2p.NetAddress - * @static - * @param {Object.} object Plain object - * @returns {tendermint.p2p.NetAddress} NetAddress - */ - NetAddress.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.p2p.NetAddress) - return object; - let message = new $root.tendermint.p2p.NetAddress(); - if (object.id != null) - message.id = String(object.id); - if (object.ip != null) - message.ip = String(object.ip); - if (object.port != null) - message.port = object.port >>> 0; - return message; - }; - - /** - * Creates a plain object from a NetAddress message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.p2p.NetAddress - * @static - * @param {tendermint.p2p.NetAddress} message NetAddress - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - NetAddress.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.id = ""; - object.ip = ""; - object.port = 0; - } - if (message.id != null && message.hasOwnProperty("id")) - object.id = message.id; - if (message.ip != null && message.hasOwnProperty("ip")) - object.ip = message.ip; - if (message.port != null && message.hasOwnProperty("port")) - object.port = message.port; - return object; - }; - - /** - * Converts this NetAddress to JSON. - * @function toJSON - * @memberof tendermint.p2p.NetAddress - * @instance - * @returns {Object.} JSON object - */ - NetAddress.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return NetAddress; - })(p2p.NetAddress || {}); - - p2p.ProtocolVersion = (function(ProtocolVersion) { - - /** - * Properties of a ProtocolVersion. - * @memberof tendermint.p2p - * @interface IProtocolVersion - * @property {number|Long|null} [p2p] ProtocolVersion p2p - * @property {number|Long|null} [block] ProtocolVersion block - * @property {number|Long|null} [app] ProtocolVersion app - */ - - /** - * Constructs a new ProtocolVersion. - * @memberof tendermint.p2p - * @classdesc Represents a ProtocolVersion. - * @implements IProtocolVersion - * @constructor - * @param {tendermint.p2p.IProtocolVersion=} [properties] Properties to set - */ - function ProtocolVersion(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ProtocolVersion p2p. - * @member {number|Long} p2p - * @memberof tendermint.p2p.ProtocolVersion - * @instance - */ - ProtocolVersion.prototype.p2p = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * ProtocolVersion block. - * @member {number|Long} block - * @memberof tendermint.p2p.ProtocolVersion - * @instance - */ - ProtocolVersion.prototype.block = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * ProtocolVersion app. - * @member {number|Long} app - * @memberof tendermint.p2p.ProtocolVersion - * @instance - */ - ProtocolVersion.prototype.app = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new ProtocolVersion instance using the specified properties. - * @function create - * @memberof tendermint.p2p.ProtocolVersion - * @static - * @param {tendermint.p2p.IProtocolVersion=} [properties] Properties to set - * @returns {tendermint.p2p.ProtocolVersion} ProtocolVersion instance - */ - ProtocolVersion.create = function create(properties) { - return new ProtocolVersion(properties); - }; - - /** - * Encodes the specified ProtocolVersion message. Does not implicitly {@link tendermint.p2p.ProtocolVersion.verify|verify} messages. - * @function encode - * @memberof tendermint.p2p.ProtocolVersion - * @static - * @param {tendermint.p2p.IProtocolVersion} message ProtocolVersion message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProtocolVersion.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.p2p != null && Object.hasOwnProperty.call(message, "p2p")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.p2p); - if (message.block != null && Object.hasOwnProperty.call(message, "block")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.block); - if (message.app != null && Object.hasOwnProperty.call(message, "app")) - writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.app); - return writer; - }; - - /** - * Encodes the specified ProtocolVersion message, length delimited. Does not implicitly {@link tendermint.p2p.ProtocolVersion.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.p2p.ProtocolVersion - * @static - * @param {tendermint.p2p.IProtocolVersion} message ProtocolVersion message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProtocolVersion.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ProtocolVersion message from the specified reader or buffer. - * @function decode - * @memberof tendermint.p2p.ProtocolVersion - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.p2p.ProtocolVersion} ProtocolVersion - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProtocolVersion.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.ProtocolVersion(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.p2p = reader.uint64(); - break; - case 2: - message.block = reader.uint64(); - break; - case 3: - message.app = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ProtocolVersion message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.p2p.ProtocolVersion - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.p2p.ProtocolVersion} ProtocolVersion - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProtocolVersion.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ProtocolVersion message. - * @function verify - * @memberof tendermint.p2p.ProtocolVersion - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ProtocolVersion.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.p2p != null && message.hasOwnProperty("p2p")) - if (!$util.isInteger(message.p2p) && !(message.p2p && $util.isInteger(message.p2p.low) && $util.isInteger(message.p2p.high))) - return "p2p: integer|Long expected"; - if (message.block != null && message.hasOwnProperty("block")) - if (!$util.isInteger(message.block) && !(message.block && $util.isInteger(message.block.low) && $util.isInteger(message.block.high))) - return "block: integer|Long expected"; - if (message.app != null && message.hasOwnProperty("app")) - if (!$util.isInteger(message.app) && !(message.app && $util.isInteger(message.app.low) && $util.isInteger(message.app.high))) - return "app: integer|Long expected"; - return null; - }; - - /** - * Creates a ProtocolVersion message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.p2p.ProtocolVersion - * @static - * @param {Object.} object Plain object - * @returns {tendermint.p2p.ProtocolVersion} ProtocolVersion - */ - ProtocolVersion.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.p2p.ProtocolVersion) - return object; - let message = new $root.tendermint.p2p.ProtocolVersion(); - if (object.p2p != null) - if ($util.Long) - (message.p2p = $util.Long.fromValue(object.p2p)).unsigned = true; - else if (typeof object.p2p === "string") - message.p2p = parseInt(object.p2p, 10); - else if (typeof object.p2p === "number") - message.p2p = object.p2p; - else if (typeof object.p2p === "object") - message.p2p = new $util.LongBits(object.p2p.low >>> 0, object.p2p.high >>> 0).toNumber(true); - if (object.block != null) - if ($util.Long) - (message.block = $util.Long.fromValue(object.block)).unsigned = true; - else if (typeof object.block === "string") - message.block = parseInt(object.block, 10); - else if (typeof object.block === "number") - message.block = object.block; - else if (typeof object.block === "object") - message.block = new $util.LongBits(object.block.low >>> 0, object.block.high >>> 0).toNumber(true); - if (object.app != null) - if ($util.Long) - (message.app = $util.Long.fromValue(object.app)).unsigned = true; - else if (typeof object.app === "string") - message.app = parseInt(object.app, 10); - else if (typeof object.app === "number") - message.app = object.app; - else if (typeof object.app === "object") - message.app = new $util.LongBits(object.app.low >>> 0, object.app.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a ProtocolVersion message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.p2p.ProtocolVersion - * @static - * @param {tendermint.p2p.ProtocolVersion} message ProtocolVersion - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ProtocolVersion.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.p2p = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.p2p = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.block = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.block = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.app = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.app = options.longs === String ? "0" : 0; - } - if (message.p2p != null && message.hasOwnProperty("p2p")) - if (typeof message.p2p === "number") - object.p2p = options.longs === String ? String(message.p2p) : message.p2p; - else - object.p2p = options.longs === String ? $util.Long.prototype.toString.call(message.p2p) : options.longs === Number ? new $util.LongBits(message.p2p.low >>> 0, message.p2p.high >>> 0).toNumber(true) : message.p2p; - if (message.block != null && message.hasOwnProperty("block")) - if (typeof message.block === "number") - object.block = options.longs === String ? String(message.block) : message.block; - else - object.block = options.longs === String ? $util.Long.prototype.toString.call(message.block) : options.longs === Number ? new $util.LongBits(message.block.low >>> 0, message.block.high >>> 0).toNumber(true) : message.block; - if (message.app != null && message.hasOwnProperty("app")) - if (typeof message.app === "number") - object.app = options.longs === String ? String(message.app) : message.app; - else - object.app = options.longs === String ? $util.Long.prototype.toString.call(message.app) : options.longs === Number ? new $util.LongBits(message.app.low >>> 0, message.app.high >>> 0).toNumber(true) : message.app; - return object; - }; - - /** - * Converts this ProtocolVersion to JSON. - * @function toJSON - * @memberof tendermint.p2p.ProtocolVersion - * @instance - * @returns {Object.} JSON object - */ - ProtocolVersion.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ProtocolVersion; - })(p2p.ProtocolVersion || {}); - - p2p.DefaultNodeInfo = (function(DefaultNodeInfo) { - - /** - * Properties of a DefaultNodeInfo. - * @memberof tendermint.p2p - * @interface IDefaultNodeInfo - * @property {tendermint.p2p.IProtocolVersion|null} [protocolVersion] DefaultNodeInfo protocolVersion - * @property {string|null} [defaultNodeId] DefaultNodeInfo defaultNodeId - * @property {string|null} [listenAddr] DefaultNodeInfo listenAddr - * @property {string|null} [network] DefaultNodeInfo network - * @property {string|null} [version] DefaultNodeInfo version - * @property {Uint8Array|null} [channels] DefaultNodeInfo channels - * @property {string|null} [moniker] DefaultNodeInfo moniker - * @property {tendermint.p2p.IDefaultNodeInfoOther|null} [other] DefaultNodeInfo other - */ - - /** - * Constructs a new DefaultNodeInfo. - * @memberof tendermint.p2p - * @classdesc Represents a DefaultNodeInfo. - * @implements IDefaultNodeInfo - * @constructor - * @param {tendermint.p2p.IDefaultNodeInfo=} [properties] Properties to set - */ - function DefaultNodeInfo(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DefaultNodeInfo protocolVersion. - * @member {tendermint.p2p.IProtocolVersion|null|undefined} protocolVersion - * @memberof tendermint.p2p.DefaultNodeInfo - * @instance - */ - DefaultNodeInfo.prototype.protocolVersion = null; - - /** - * DefaultNodeInfo defaultNodeId. - * @member {string} defaultNodeId - * @memberof tendermint.p2p.DefaultNodeInfo - * @instance - */ - DefaultNodeInfo.prototype.defaultNodeId = ""; - - /** - * DefaultNodeInfo listenAddr. - * @member {string} listenAddr - * @memberof tendermint.p2p.DefaultNodeInfo - * @instance - */ - DefaultNodeInfo.prototype.listenAddr = ""; - - /** - * DefaultNodeInfo network. - * @member {string} network - * @memberof tendermint.p2p.DefaultNodeInfo - * @instance - */ - DefaultNodeInfo.prototype.network = ""; - - /** - * DefaultNodeInfo version. - * @member {string} version - * @memberof tendermint.p2p.DefaultNodeInfo - * @instance - */ - DefaultNodeInfo.prototype.version = ""; - - /** - * DefaultNodeInfo channels. - * @member {Uint8Array} channels - * @memberof tendermint.p2p.DefaultNodeInfo - * @instance - */ - DefaultNodeInfo.prototype.channels = $util.newBuffer([]); - - /** - * DefaultNodeInfo moniker. - * @member {string} moniker - * @memberof tendermint.p2p.DefaultNodeInfo - * @instance - */ - DefaultNodeInfo.prototype.moniker = ""; - - /** - * DefaultNodeInfo other. - * @member {tendermint.p2p.IDefaultNodeInfoOther|null|undefined} other - * @memberof tendermint.p2p.DefaultNodeInfo - * @instance - */ - DefaultNodeInfo.prototype.other = null; - - /** - * Creates a new DefaultNodeInfo instance using the specified properties. - * @function create - * @memberof tendermint.p2p.DefaultNodeInfo - * @static - * @param {tendermint.p2p.IDefaultNodeInfo=} [properties] Properties to set - * @returns {tendermint.p2p.DefaultNodeInfo} DefaultNodeInfo instance - */ - DefaultNodeInfo.create = function create(properties) { - return new DefaultNodeInfo(properties); - }; - - /** - * Encodes the specified DefaultNodeInfo message. Does not implicitly {@link tendermint.p2p.DefaultNodeInfo.verify|verify} messages. - * @function encode - * @memberof tendermint.p2p.DefaultNodeInfo - * @static - * @param {tendermint.p2p.IDefaultNodeInfo} message DefaultNodeInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DefaultNodeInfo.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.protocolVersion != null && Object.hasOwnProperty.call(message, "protocolVersion")) - $root.tendermint.p2p.ProtocolVersion.encode(message.protocolVersion, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.defaultNodeId != null && Object.hasOwnProperty.call(message, "defaultNodeId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.defaultNodeId); - if (message.listenAddr != null && Object.hasOwnProperty.call(message, "listenAddr")) - writer.uint32(/* id 3, wireType 2 =*/26).string(message.listenAddr); - if (message.network != null && Object.hasOwnProperty.call(message, "network")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.network); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - writer.uint32(/* id 5, wireType 2 =*/42).string(message.version); - if (message.channels != null && Object.hasOwnProperty.call(message, "channels")) - writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.channels); - if (message.moniker != null && Object.hasOwnProperty.call(message, "moniker")) - writer.uint32(/* id 7, wireType 2 =*/58).string(message.moniker); - if (message.other != null && Object.hasOwnProperty.call(message, "other")) - $root.tendermint.p2p.DefaultNodeInfoOther.encode(message.other, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified DefaultNodeInfo message, length delimited. Does not implicitly {@link tendermint.p2p.DefaultNodeInfo.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.p2p.DefaultNodeInfo - * @static - * @param {tendermint.p2p.IDefaultNodeInfo} message DefaultNodeInfo message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DefaultNodeInfo.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DefaultNodeInfo message from the specified reader or buffer. - * @function decode - * @memberof tendermint.p2p.DefaultNodeInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.p2p.DefaultNodeInfo} DefaultNodeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DefaultNodeInfo.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.DefaultNodeInfo(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.protocolVersion = $root.tendermint.p2p.ProtocolVersion.decode(reader, reader.uint32()); - break; - case 2: - message.defaultNodeId = reader.string(); - break; - case 3: - message.listenAddr = reader.string(); - break; - case 4: - message.network = reader.string(); - break; - case 5: - message.version = reader.string(); - break; - case 6: - message.channels = reader.bytes(); - break; - case 7: - message.moniker = reader.string(); - break; - case 8: - message.other = $root.tendermint.p2p.DefaultNodeInfoOther.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DefaultNodeInfo message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.p2p.DefaultNodeInfo - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.p2p.DefaultNodeInfo} DefaultNodeInfo - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DefaultNodeInfo.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DefaultNodeInfo message. - * @function verify - * @memberof tendermint.p2p.DefaultNodeInfo - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DefaultNodeInfo.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion")) { - let error = $root.tendermint.p2p.ProtocolVersion.verify(message.protocolVersion); - if (error) - return "protocolVersion." + error; - } - if (message.defaultNodeId != null && message.hasOwnProperty("defaultNodeId")) - if (!$util.isString(message.defaultNodeId)) - return "defaultNodeId: string expected"; - if (message.listenAddr != null && message.hasOwnProperty("listenAddr")) - if (!$util.isString(message.listenAddr)) - return "listenAddr: string expected"; - if (message.network != null && message.hasOwnProperty("network")) - if (!$util.isString(message.network)) - return "network: string expected"; - if (message.version != null && message.hasOwnProperty("version")) - if (!$util.isString(message.version)) - return "version: string expected"; - if (message.channels != null && message.hasOwnProperty("channels")) - if (!(message.channels && typeof message.channels.length === "number" || $util.isString(message.channels))) - return "channels: buffer expected"; - if (message.moniker != null && message.hasOwnProperty("moniker")) - if (!$util.isString(message.moniker)) - return "moniker: string expected"; - if (message.other != null && message.hasOwnProperty("other")) { - let error = $root.tendermint.p2p.DefaultNodeInfoOther.verify(message.other); - if (error) - return "other." + error; - } - return null; - }; - - /** - * Creates a DefaultNodeInfo message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.p2p.DefaultNodeInfo - * @static - * @param {Object.} object Plain object - * @returns {tendermint.p2p.DefaultNodeInfo} DefaultNodeInfo - */ - DefaultNodeInfo.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.p2p.DefaultNodeInfo) - return object; - let message = new $root.tendermint.p2p.DefaultNodeInfo(); - if (object.protocolVersion != null) { - if (typeof object.protocolVersion !== "object") - throw TypeError(".tendermint.p2p.DefaultNodeInfo.protocolVersion: object expected"); - message.protocolVersion = $root.tendermint.p2p.ProtocolVersion.fromObject(object.protocolVersion); - } - if (object.defaultNodeId != null) - message.defaultNodeId = String(object.defaultNodeId); - if (object.listenAddr != null) - message.listenAddr = String(object.listenAddr); - if (object.network != null) - message.network = String(object.network); - if (object.version != null) - message.version = String(object.version); - if (object.channels != null) - if (typeof object.channels === "string") - $util.base64.decode(object.channels, message.channels = $util.newBuffer($util.base64.length(object.channels)), 0); - else if (object.channels.length) - message.channels = object.channels; - if (object.moniker != null) - message.moniker = String(object.moniker); - if (object.other != null) { - if (typeof object.other !== "object") - throw TypeError(".tendermint.p2p.DefaultNodeInfo.other: object expected"); - message.other = $root.tendermint.p2p.DefaultNodeInfoOther.fromObject(object.other); - } - return message; - }; - - /** - * Creates a plain object from a DefaultNodeInfo message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.p2p.DefaultNodeInfo - * @static - * @param {tendermint.p2p.DefaultNodeInfo} message DefaultNodeInfo - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DefaultNodeInfo.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.protocolVersion = null; - object.defaultNodeId = ""; - object.listenAddr = ""; - object.network = ""; - object.version = ""; - if (options.bytes === String) - object.channels = ""; - else { - object.channels = []; - if (options.bytes !== Array) - object.channels = $util.newBuffer(object.channels); - } - object.moniker = ""; - object.other = null; - } - if (message.protocolVersion != null && message.hasOwnProperty("protocolVersion")) - object.protocolVersion = $root.tendermint.p2p.ProtocolVersion.toObject(message.protocolVersion, options); - if (message.defaultNodeId != null && message.hasOwnProperty("defaultNodeId")) - object.defaultNodeId = message.defaultNodeId; - if (message.listenAddr != null && message.hasOwnProperty("listenAddr")) - object.listenAddr = message.listenAddr; - if (message.network != null && message.hasOwnProperty("network")) - object.network = message.network; - if (message.version != null && message.hasOwnProperty("version")) - object.version = message.version; - if (message.channels != null && message.hasOwnProperty("channels")) - object.channels = options.bytes === String ? $util.base64.encode(message.channels, 0, message.channels.length) : options.bytes === Array ? Array.prototype.slice.call(message.channels) : message.channels; - if (message.moniker != null && message.hasOwnProperty("moniker")) - object.moniker = message.moniker; - if (message.other != null && message.hasOwnProperty("other")) - object.other = $root.tendermint.p2p.DefaultNodeInfoOther.toObject(message.other, options); - return object; - }; - - /** - * Converts this DefaultNodeInfo to JSON. - * @function toJSON - * @memberof tendermint.p2p.DefaultNodeInfo - * @instance - * @returns {Object.} JSON object - */ - DefaultNodeInfo.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DefaultNodeInfo; - })(p2p.DefaultNodeInfo || {}); - - p2p.DefaultNodeInfoOther = (function(DefaultNodeInfoOther) { - - /** - * Properties of a DefaultNodeInfoOther. - * @memberof tendermint.p2p - * @interface IDefaultNodeInfoOther - * @property {string|null} [txIndex] DefaultNodeInfoOther txIndex - * @property {string|null} [rpcAddress] DefaultNodeInfoOther rpcAddress - */ - - /** - * Constructs a new DefaultNodeInfoOther. - * @memberof tendermint.p2p - * @classdesc Represents a DefaultNodeInfoOther. - * @implements IDefaultNodeInfoOther - * @constructor - * @param {tendermint.p2p.IDefaultNodeInfoOther=} [properties] Properties to set - */ - function DefaultNodeInfoOther(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DefaultNodeInfoOther txIndex. - * @member {string} txIndex - * @memberof tendermint.p2p.DefaultNodeInfoOther - * @instance - */ - DefaultNodeInfoOther.prototype.txIndex = ""; - - /** - * DefaultNodeInfoOther rpcAddress. - * @member {string} rpcAddress - * @memberof tendermint.p2p.DefaultNodeInfoOther - * @instance - */ - DefaultNodeInfoOther.prototype.rpcAddress = ""; - - /** - * Creates a new DefaultNodeInfoOther instance using the specified properties. - * @function create - * @memberof tendermint.p2p.DefaultNodeInfoOther - * @static - * @param {tendermint.p2p.IDefaultNodeInfoOther=} [properties] Properties to set - * @returns {tendermint.p2p.DefaultNodeInfoOther} DefaultNodeInfoOther instance - */ - DefaultNodeInfoOther.create = function create(properties) { - return new DefaultNodeInfoOther(properties); - }; - - /** - * Encodes the specified DefaultNodeInfoOther message. Does not implicitly {@link tendermint.p2p.DefaultNodeInfoOther.verify|verify} messages. - * @function encode - * @memberof tendermint.p2p.DefaultNodeInfoOther - * @static - * @param {tendermint.p2p.IDefaultNodeInfoOther} message DefaultNodeInfoOther message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DefaultNodeInfoOther.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.txIndex != null && Object.hasOwnProperty.call(message, "txIndex")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.txIndex); - if (message.rpcAddress != null && Object.hasOwnProperty.call(message, "rpcAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.rpcAddress); - return writer; - }; - - /** - * Encodes the specified DefaultNodeInfoOther message, length delimited. Does not implicitly {@link tendermint.p2p.DefaultNodeInfoOther.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.p2p.DefaultNodeInfoOther - * @static - * @param {tendermint.p2p.IDefaultNodeInfoOther} message DefaultNodeInfoOther message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DefaultNodeInfoOther.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DefaultNodeInfoOther message from the specified reader or buffer. - * @function decode - * @memberof tendermint.p2p.DefaultNodeInfoOther - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.p2p.DefaultNodeInfoOther} DefaultNodeInfoOther - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DefaultNodeInfoOther.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.p2p.DefaultNodeInfoOther(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.txIndex = reader.string(); - break; - case 2: - message.rpcAddress = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DefaultNodeInfoOther message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.p2p.DefaultNodeInfoOther - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.p2p.DefaultNodeInfoOther} DefaultNodeInfoOther - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DefaultNodeInfoOther.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DefaultNodeInfoOther message. - * @function verify - * @memberof tendermint.p2p.DefaultNodeInfoOther - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DefaultNodeInfoOther.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.txIndex != null && message.hasOwnProperty("txIndex")) - if (!$util.isString(message.txIndex)) - return "txIndex: string expected"; - if (message.rpcAddress != null && message.hasOwnProperty("rpcAddress")) - if (!$util.isString(message.rpcAddress)) - return "rpcAddress: string expected"; - return null; - }; - - /** - * Creates a DefaultNodeInfoOther message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.p2p.DefaultNodeInfoOther - * @static - * @param {Object.} object Plain object - * @returns {tendermint.p2p.DefaultNodeInfoOther} DefaultNodeInfoOther - */ - DefaultNodeInfoOther.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.p2p.DefaultNodeInfoOther) - return object; - let message = new $root.tendermint.p2p.DefaultNodeInfoOther(); - if (object.txIndex != null) - message.txIndex = String(object.txIndex); - if (object.rpcAddress != null) - message.rpcAddress = String(object.rpcAddress); - return message; - }; - - /** - * Creates a plain object from a DefaultNodeInfoOther message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.p2p.DefaultNodeInfoOther - * @static - * @param {tendermint.p2p.DefaultNodeInfoOther} message DefaultNodeInfoOther - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DefaultNodeInfoOther.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.txIndex = ""; - object.rpcAddress = ""; - } - if (message.txIndex != null && message.hasOwnProperty("txIndex")) - object.txIndex = message.txIndex; - if (message.rpcAddress != null && message.hasOwnProperty("rpcAddress")) - object.rpcAddress = message.rpcAddress; - return object; - }; - - /** - * Converts this DefaultNodeInfoOther to JSON. - * @function toJSON - * @memberof tendermint.p2p.DefaultNodeInfoOther - * @instance - * @returns {Object.} JSON object - */ - DefaultNodeInfoOther.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DefaultNodeInfoOther; - })(p2p.DefaultNodeInfoOther || {}); - - return p2p; - })(tendermint.p2p || {}); - - /** - * Namespace types. - * @memberof tendermint - * @namespace - */ - - tendermint.types = (function(types) { - - types.Block = (function(Block) { - - /** - * Properties of a Block. - * @memberof tendermint.types - * @interface IBlock - * @property {tendermint.types.IHeader|null} [header] Block header - * @property {tendermint.types.IData|null} [data] Block data - * @property {tendermint.types.IEvidenceList|null} [evidence] Block evidence - * @property {tendermint.types.ICommit|null} [lastCommit] Block lastCommit - */ - - /** - * Constructs a new Block. - * @memberof tendermint.types - * @classdesc Represents a Block. - * @implements IBlock - * @constructor - * @param {tendermint.types.IBlock=} [properties] Properties to set - */ - function Block(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Block header. - * @member {tendermint.types.IHeader|null|undefined} header - * @memberof tendermint.types.Block - * @instance - */ - Block.prototype.header = null; - - /** - * Block data. - * @member {tendermint.types.IData|null|undefined} data - * @memberof tendermint.types.Block - * @instance - */ - Block.prototype.data = null; - - /** - * Block evidence. - * @member {tendermint.types.IEvidenceList|null|undefined} evidence - * @memberof tendermint.types.Block - * @instance - */ - Block.prototype.evidence = null; - - /** - * Block lastCommit. - * @member {tendermint.types.ICommit|null|undefined} lastCommit - * @memberof tendermint.types.Block - * @instance - */ - Block.prototype.lastCommit = null; - - /** - * Creates a new Block instance using the specified properties. - * @function create - * @memberof tendermint.types.Block - * @static - * @param {tendermint.types.IBlock=} [properties] Properties to set - * @returns {tendermint.types.Block} Block instance - */ - Block.create = function create(properties) { - return new Block(properties); - }; - - /** - * Encodes the specified Block message. Does not implicitly {@link tendermint.types.Block.verify|verify} messages. - * @function encode - * @memberof tendermint.types.Block - * @static - * @param {tendermint.types.IBlock} message Block message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Block.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.header != null && Object.hasOwnProperty.call(message, "header")) - $root.tendermint.types.Header.encode(message.header, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - $root.tendermint.types.Data.encode(message.data, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.evidence != null && Object.hasOwnProperty.call(message, "evidence")) - $root.tendermint.types.EvidenceList.encode(message.evidence, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.lastCommit != null && Object.hasOwnProperty.call(message, "lastCommit")) - $root.tendermint.types.Commit.encode(message.lastCommit, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Block message, length delimited. Does not implicitly {@link tendermint.types.Block.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.Block - * @static - * @param {tendermint.types.IBlock} message Block message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Block.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Block message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.Block - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.Block} Block - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Block.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Block(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.header = $root.tendermint.types.Header.decode(reader, reader.uint32()); - break; - case 2: - message.data = $root.tendermint.types.Data.decode(reader, reader.uint32()); - break; - case 3: - message.evidence = $root.tendermint.types.EvidenceList.decode(reader, reader.uint32()); - break; - case 4: - message.lastCommit = $root.tendermint.types.Commit.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Block message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.Block - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.Block} Block - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Block.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Block message. - * @function verify - * @memberof tendermint.types.Block - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Block.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.header != null && message.hasOwnProperty("header")) { - let error = $root.tendermint.types.Header.verify(message.header); - if (error) - return "header." + error; - } - if (message.data != null && message.hasOwnProperty("data")) { - let error = $root.tendermint.types.Data.verify(message.data); - if (error) - return "data." + error; - } - if (message.evidence != null && message.hasOwnProperty("evidence")) { - let error = $root.tendermint.types.EvidenceList.verify(message.evidence); - if (error) - return "evidence." + error; - } - if (message.lastCommit != null && message.hasOwnProperty("lastCommit")) { - let error = $root.tendermint.types.Commit.verify(message.lastCommit); - if (error) - return "lastCommit." + error; - } - return null; - }; - - /** - * Creates a Block message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.Block - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.Block} Block - */ - Block.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.Block) - return object; - let message = new $root.tendermint.types.Block(); - if (object.header != null) { - if (typeof object.header !== "object") - throw TypeError(".tendermint.types.Block.header: object expected"); - message.header = $root.tendermint.types.Header.fromObject(object.header); - } - if (object.data != null) { - if (typeof object.data !== "object") - throw TypeError(".tendermint.types.Block.data: object expected"); - message.data = $root.tendermint.types.Data.fromObject(object.data); - } - if (object.evidence != null) { - if (typeof object.evidence !== "object") - throw TypeError(".tendermint.types.Block.evidence: object expected"); - message.evidence = $root.tendermint.types.EvidenceList.fromObject(object.evidence); - } - if (object.lastCommit != null) { - if (typeof object.lastCommit !== "object") - throw TypeError(".tendermint.types.Block.lastCommit: object expected"); - message.lastCommit = $root.tendermint.types.Commit.fromObject(object.lastCommit); - } - return message; - }; - - /** - * Creates a plain object from a Block message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.Block - * @static - * @param {tendermint.types.Block} message Block - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Block.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.header = null; - object.data = null; - object.evidence = null; - object.lastCommit = null; - } - if (message.header != null && message.hasOwnProperty("header")) - object.header = $root.tendermint.types.Header.toObject(message.header, options); - if (message.data != null && message.hasOwnProperty("data")) - object.data = $root.tendermint.types.Data.toObject(message.data, options); - if (message.evidence != null && message.hasOwnProperty("evidence")) - object.evidence = $root.tendermint.types.EvidenceList.toObject(message.evidence, options); - if (message.lastCommit != null && message.hasOwnProperty("lastCommit")) - object.lastCommit = $root.tendermint.types.Commit.toObject(message.lastCommit, options); - return object; - }; - - /** - * Converts this Block to JSON. - * @function toJSON - * @memberof tendermint.types.Block - * @instance - * @returns {Object.} JSON object - */ - Block.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Block; - })(types.Block || {}); - - types.Evidence = (function(Evidence) { - - /** - * Properties of an Evidence. - * @memberof tendermint.types - * @interface IEvidence - * @property {tendermint.types.IDuplicateVoteEvidence|null} [duplicateVoteEvidence] Evidence duplicateVoteEvidence - * @property {tendermint.types.ILightClientAttackEvidence|null} [lightClientAttackEvidence] Evidence lightClientAttackEvidence - */ - - /** - * Constructs a new Evidence. - * @memberof tendermint.types - * @classdesc Represents an Evidence. - * @implements IEvidence - * @constructor - * @param {tendermint.types.IEvidence=} [properties] Properties to set - */ - function Evidence(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Evidence duplicateVoteEvidence. - * @member {tendermint.types.IDuplicateVoteEvidence|null|undefined} duplicateVoteEvidence - * @memberof tendermint.types.Evidence - * @instance - */ - Evidence.prototype.duplicateVoteEvidence = null; - - /** - * Evidence lightClientAttackEvidence. - * @member {tendermint.types.ILightClientAttackEvidence|null|undefined} lightClientAttackEvidence - * @memberof tendermint.types.Evidence - * @instance - */ - Evidence.prototype.lightClientAttackEvidence = null; - - // OneOf field names bound to virtual getters and setters - let $oneOfFields; - - /** - * Evidence sum. - * @member {"duplicateVoteEvidence"|"lightClientAttackEvidence"|undefined} sum - * @memberof tendermint.types.Evidence - * @instance - */ - Object.defineProperty(Evidence.prototype, "sum", { - get: $util.oneOfGetter($oneOfFields = ["duplicateVoteEvidence", "lightClientAttackEvidence"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new Evidence instance using the specified properties. - * @function create - * @memberof tendermint.types.Evidence - * @static - * @param {tendermint.types.IEvidence=} [properties] Properties to set - * @returns {tendermint.types.Evidence} Evidence instance - */ - Evidence.create = function create(properties) { - return new Evidence(properties); - }; - - /** - * Encodes the specified Evidence message. Does not implicitly {@link tendermint.types.Evidence.verify|verify} messages. - * @function encode - * @memberof tendermint.types.Evidence - * @static - * @param {tendermint.types.IEvidence} message Evidence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Evidence.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.duplicateVoteEvidence != null && Object.hasOwnProperty.call(message, "duplicateVoteEvidence")) - $root.tendermint.types.DuplicateVoteEvidence.encode(message.duplicateVoteEvidence, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.lightClientAttackEvidence != null && Object.hasOwnProperty.call(message, "lightClientAttackEvidence")) - $root.tendermint.types.LightClientAttackEvidence.encode(message.lightClientAttackEvidence, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Evidence message, length delimited. Does not implicitly {@link tendermint.types.Evidence.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.Evidence - * @static - * @param {tendermint.types.IEvidence} message Evidence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Evidence.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an Evidence message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.Evidence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.Evidence} Evidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Evidence.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Evidence(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.duplicateVoteEvidence = $root.tendermint.types.DuplicateVoteEvidence.decode(reader, reader.uint32()); - break; - case 2: - message.lightClientAttackEvidence = $root.tendermint.types.LightClientAttackEvidence.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an Evidence message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.Evidence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.Evidence} Evidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Evidence.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an Evidence message. - * @function verify - * @memberof tendermint.types.Evidence - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Evidence.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - let properties = {}; - if (message.duplicateVoteEvidence != null && message.hasOwnProperty("duplicateVoteEvidence")) { - properties.sum = 1; - { - let error = $root.tendermint.types.DuplicateVoteEvidence.verify(message.duplicateVoteEvidence); - if (error) - return "duplicateVoteEvidence." + error; - } - } - if (message.lightClientAttackEvidence != null && message.hasOwnProperty("lightClientAttackEvidence")) { - if (properties.sum === 1) - return "sum: multiple values"; - properties.sum = 1; - { - let error = $root.tendermint.types.LightClientAttackEvidence.verify(message.lightClientAttackEvidence); - if (error) - return "lightClientAttackEvidence." + error; - } - } - return null; - }; - - /** - * Creates an Evidence message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.Evidence - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.Evidence} Evidence - */ - Evidence.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.Evidence) - return object; - let message = new $root.tendermint.types.Evidence(); - if (object.duplicateVoteEvidence != null) { - if (typeof object.duplicateVoteEvidence !== "object") - throw TypeError(".tendermint.types.Evidence.duplicateVoteEvidence: object expected"); - message.duplicateVoteEvidence = $root.tendermint.types.DuplicateVoteEvidence.fromObject(object.duplicateVoteEvidence); - } - if (object.lightClientAttackEvidence != null) { - if (typeof object.lightClientAttackEvidence !== "object") - throw TypeError(".tendermint.types.Evidence.lightClientAttackEvidence: object expected"); - message.lightClientAttackEvidence = $root.tendermint.types.LightClientAttackEvidence.fromObject(object.lightClientAttackEvidence); - } - return message; - }; - - /** - * Creates a plain object from an Evidence message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.Evidence - * @static - * @param {tendermint.types.Evidence} message Evidence - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Evidence.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (message.duplicateVoteEvidence != null && message.hasOwnProperty("duplicateVoteEvidence")) { - object.duplicateVoteEvidence = $root.tendermint.types.DuplicateVoteEvidence.toObject(message.duplicateVoteEvidence, options); - if (options.oneofs) - object.sum = "duplicateVoteEvidence"; - } - if (message.lightClientAttackEvidence != null && message.hasOwnProperty("lightClientAttackEvidence")) { - object.lightClientAttackEvidence = $root.tendermint.types.LightClientAttackEvidence.toObject(message.lightClientAttackEvidence, options); - if (options.oneofs) - object.sum = "lightClientAttackEvidence"; - } - return object; - }; - - /** - * Converts this Evidence to JSON. - * @function toJSON - * @memberof tendermint.types.Evidence - * @instance - * @returns {Object.} JSON object - */ - Evidence.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Evidence; - })(types.Evidence || {}); - - types.DuplicateVoteEvidence = (function(DuplicateVoteEvidence) { - - /** - * Properties of a DuplicateVoteEvidence. - * @memberof tendermint.types - * @interface IDuplicateVoteEvidence - * @property {tendermint.types.IVote|null} [voteA] DuplicateVoteEvidence voteA - * @property {tendermint.types.IVote|null} [voteB] DuplicateVoteEvidence voteB - * @property {number|Long|null} [totalVotingPower] DuplicateVoteEvidence totalVotingPower - * @property {number|Long|null} [validatorPower] DuplicateVoteEvidence validatorPower - * @property {google.protobuf.ITimestamp|null} [timestamp] DuplicateVoteEvidence timestamp - */ - - /** - * Constructs a new DuplicateVoteEvidence. - * @memberof tendermint.types - * @classdesc Represents a DuplicateVoteEvidence. - * @implements IDuplicateVoteEvidence - * @constructor - * @param {tendermint.types.IDuplicateVoteEvidence=} [properties] Properties to set - */ - function DuplicateVoteEvidence(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * DuplicateVoteEvidence voteA. - * @member {tendermint.types.IVote|null|undefined} voteA - * @memberof tendermint.types.DuplicateVoteEvidence - * @instance - */ - DuplicateVoteEvidence.prototype.voteA = null; - - /** - * DuplicateVoteEvidence voteB. - * @member {tendermint.types.IVote|null|undefined} voteB - * @memberof tendermint.types.DuplicateVoteEvidence - * @instance - */ - DuplicateVoteEvidence.prototype.voteB = null; - - /** - * DuplicateVoteEvidence totalVotingPower. - * @member {number|Long} totalVotingPower - * @memberof tendermint.types.DuplicateVoteEvidence - * @instance - */ - DuplicateVoteEvidence.prototype.totalVotingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * DuplicateVoteEvidence validatorPower. - * @member {number|Long} validatorPower - * @memberof tendermint.types.DuplicateVoteEvidence - * @instance - */ - DuplicateVoteEvidence.prototype.validatorPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * DuplicateVoteEvidence timestamp. - * @member {google.protobuf.ITimestamp|null|undefined} timestamp - * @memberof tendermint.types.DuplicateVoteEvidence - * @instance - */ - DuplicateVoteEvidence.prototype.timestamp = null; - - /** - * Creates a new DuplicateVoteEvidence instance using the specified properties. - * @function create - * @memberof tendermint.types.DuplicateVoteEvidence - * @static - * @param {tendermint.types.IDuplicateVoteEvidence=} [properties] Properties to set - * @returns {tendermint.types.DuplicateVoteEvidence} DuplicateVoteEvidence instance - */ - DuplicateVoteEvidence.create = function create(properties) { - return new DuplicateVoteEvidence(properties); - }; - - /** - * Encodes the specified DuplicateVoteEvidence message. Does not implicitly {@link tendermint.types.DuplicateVoteEvidence.verify|verify} messages. - * @function encode - * @memberof tendermint.types.DuplicateVoteEvidence - * @static - * @param {tendermint.types.IDuplicateVoteEvidence} message DuplicateVoteEvidence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DuplicateVoteEvidence.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.voteA != null && Object.hasOwnProperty.call(message, "voteA")) - $root.tendermint.types.Vote.encode(message.voteA, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.voteB != null && Object.hasOwnProperty.call(message, "voteB")) - $root.tendermint.types.Vote.encode(message.voteB, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.totalVotingPower != null && Object.hasOwnProperty.call(message, "totalVotingPower")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.totalVotingPower); - if (message.validatorPower != null && Object.hasOwnProperty.call(message, "validatorPower")) - writer.uint32(/* id 4, wireType 0 =*/32).int64(message.validatorPower); - if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) - $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified DuplicateVoteEvidence message, length delimited. Does not implicitly {@link tendermint.types.DuplicateVoteEvidence.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.DuplicateVoteEvidence - * @static - * @param {tendermint.types.IDuplicateVoteEvidence} message DuplicateVoteEvidence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - DuplicateVoteEvidence.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a DuplicateVoteEvidence message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.DuplicateVoteEvidence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.DuplicateVoteEvidence} DuplicateVoteEvidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DuplicateVoteEvidence.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.DuplicateVoteEvidence(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.voteA = $root.tendermint.types.Vote.decode(reader, reader.uint32()); - break; - case 2: - message.voteB = $root.tendermint.types.Vote.decode(reader, reader.uint32()); - break; - case 3: - message.totalVotingPower = reader.int64(); - break; - case 4: - message.validatorPower = reader.int64(); - break; - case 5: - message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a DuplicateVoteEvidence message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.DuplicateVoteEvidence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.DuplicateVoteEvidence} DuplicateVoteEvidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - DuplicateVoteEvidence.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a DuplicateVoteEvidence message. - * @function verify - * @memberof tendermint.types.DuplicateVoteEvidence - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - DuplicateVoteEvidence.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.voteA != null && message.hasOwnProperty("voteA")) { - let error = $root.tendermint.types.Vote.verify(message.voteA); - if (error) - return "voteA." + error; - } - if (message.voteB != null && message.hasOwnProperty("voteB")) { - let error = $root.tendermint.types.Vote.verify(message.voteB); - if (error) - return "voteB." + error; - } - if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) - if (!$util.isInteger(message.totalVotingPower) && !(message.totalVotingPower && $util.isInteger(message.totalVotingPower.low) && $util.isInteger(message.totalVotingPower.high))) - return "totalVotingPower: integer|Long expected"; - if (message.validatorPower != null && message.hasOwnProperty("validatorPower")) - if (!$util.isInteger(message.validatorPower) && !(message.validatorPower && $util.isInteger(message.validatorPower.low) && $util.isInteger(message.validatorPower.high))) - return "validatorPower: integer|Long expected"; - if (message.timestamp != null && message.hasOwnProperty("timestamp")) { - let error = $root.google.protobuf.Timestamp.verify(message.timestamp); - if (error) - return "timestamp." + error; - } - return null; - }; - - /** - * Creates a DuplicateVoteEvidence message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.DuplicateVoteEvidence - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.DuplicateVoteEvidence} DuplicateVoteEvidence - */ - DuplicateVoteEvidence.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.DuplicateVoteEvidence) - return object; - let message = new $root.tendermint.types.DuplicateVoteEvidence(); - if (object.voteA != null) { - if (typeof object.voteA !== "object") - throw TypeError(".tendermint.types.DuplicateVoteEvidence.voteA: object expected"); - message.voteA = $root.tendermint.types.Vote.fromObject(object.voteA); - } - if (object.voteB != null) { - if (typeof object.voteB !== "object") - throw TypeError(".tendermint.types.DuplicateVoteEvidence.voteB: object expected"); - message.voteB = $root.tendermint.types.Vote.fromObject(object.voteB); - } - if (object.totalVotingPower != null) - if ($util.Long) - (message.totalVotingPower = $util.Long.fromValue(object.totalVotingPower)).unsigned = false; - else if (typeof object.totalVotingPower === "string") - message.totalVotingPower = parseInt(object.totalVotingPower, 10); - else if (typeof object.totalVotingPower === "number") - message.totalVotingPower = object.totalVotingPower; - else if (typeof object.totalVotingPower === "object") - message.totalVotingPower = new $util.LongBits(object.totalVotingPower.low >>> 0, object.totalVotingPower.high >>> 0).toNumber(); - if (object.validatorPower != null) - if ($util.Long) - (message.validatorPower = $util.Long.fromValue(object.validatorPower)).unsigned = false; - else if (typeof object.validatorPower === "string") - message.validatorPower = parseInt(object.validatorPower, 10); - else if (typeof object.validatorPower === "number") - message.validatorPower = object.validatorPower; - else if (typeof object.validatorPower === "object") - message.validatorPower = new $util.LongBits(object.validatorPower.low >>> 0, object.validatorPower.high >>> 0).toNumber(); - if (object.timestamp != null) { - if (typeof object.timestamp !== "object") - throw TypeError(".tendermint.types.DuplicateVoteEvidence.timestamp: object expected"); - message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); - } - return message; - }; - - /** - * Creates a plain object from a DuplicateVoteEvidence message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.DuplicateVoteEvidence - * @static - * @param {tendermint.types.DuplicateVoteEvidence} message DuplicateVoteEvidence - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - DuplicateVoteEvidence.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.voteA = null; - object.voteB = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.totalVotingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.totalVotingPower = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.validatorPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.validatorPower = options.longs === String ? "0" : 0; - object.timestamp = null; - } - if (message.voteA != null && message.hasOwnProperty("voteA")) - object.voteA = $root.tendermint.types.Vote.toObject(message.voteA, options); - if (message.voteB != null && message.hasOwnProperty("voteB")) - object.voteB = $root.tendermint.types.Vote.toObject(message.voteB, options); - if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) - if (typeof message.totalVotingPower === "number") - object.totalVotingPower = options.longs === String ? String(message.totalVotingPower) : message.totalVotingPower; - else - object.totalVotingPower = options.longs === String ? $util.Long.prototype.toString.call(message.totalVotingPower) : options.longs === Number ? new $util.LongBits(message.totalVotingPower.low >>> 0, message.totalVotingPower.high >>> 0).toNumber() : message.totalVotingPower; - if (message.validatorPower != null && message.hasOwnProperty("validatorPower")) - if (typeof message.validatorPower === "number") - object.validatorPower = options.longs === String ? String(message.validatorPower) : message.validatorPower; - else - object.validatorPower = options.longs === String ? $util.Long.prototype.toString.call(message.validatorPower) : options.longs === Number ? new $util.LongBits(message.validatorPower.low >>> 0, message.validatorPower.high >>> 0).toNumber() : message.validatorPower; - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); - return object; - }; - - /** - * Converts this DuplicateVoteEvidence to JSON. - * @function toJSON - * @memberof tendermint.types.DuplicateVoteEvidence - * @instance - * @returns {Object.} JSON object - */ - DuplicateVoteEvidence.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return DuplicateVoteEvidence; - })(types.DuplicateVoteEvidence || {}); - - types.LightClientAttackEvidence = (function(LightClientAttackEvidence) { - - /** - * Properties of a LightClientAttackEvidence. - * @memberof tendermint.types - * @interface ILightClientAttackEvidence - * @property {tendermint.types.ILightBlock|null} [conflictingBlock] LightClientAttackEvidence conflictingBlock - * @property {number|Long|null} [commonHeight] LightClientAttackEvidence commonHeight - * @property {Array.|null} [byzantineValidators] LightClientAttackEvidence byzantineValidators - * @property {number|Long|null} [totalVotingPower] LightClientAttackEvidence totalVotingPower - * @property {google.protobuf.ITimestamp|null} [timestamp] LightClientAttackEvidence timestamp - */ - - /** - * Constructs a new LightClientAttackEvidence. - * @memberof tendermint.types - * @classdesc Represents a LightClientAttackEvidence. - * @implements ILightClientAttackEvidence - * @constructor - * @param {tendermint.types.ILightClientAttackEvidence=} [properties] Properties to set - */ - function LightClientAttackEvidence(properties) { - this.byzantineValidators = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * LightClientAttackEvidence conflictingBlock. - * @member {tendermint.types.ILightBlock|null|undefined} conflictingBlock - * @memberof tendermint.types.LightClientAttackEvidence - * @instance - */ - LightClientAttackEvidence.prototype.conflictingBlock = null; - - /** - * LightClientAttackEvidence commonHeight. - * @member {number|Long} commonHeight - * @memberof tendermint.types.LightClientAttackEvidence - * @instance - */ - LightClientAttackEvidence.prototype.commonHeight = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * LightClientAttackEvidence byzantineValidators. - * @member {Array.} byzantineValidators - * @memberof tendermint.types.LightClientAttackEvidence - * @instance - */ - LightClientAttackEvidence.prototype.byzantineValidators = $util.emptyArray; - - /** - * LightClientAttackEvidence totalVotingPower. - * @member {number|Long} totalVotingPower - * @memberof tendermint.types.LightClientAttackEvidence - * @instance - */ - LightClientAttackEvidence.prototype.totalVotingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * LightClientAttackEvidence timestamp. - * @member {google.protobuf.ITimestamp|null|undefined} timestamp - * @memberof tendermint.types.LightClientAttackEvidence - * @instance - */ - LightClientAttackEvidence.prototype.timestamp = null; - - /** - * Creates a new LightClientAttackEvidence instance using the specified properties. - * @function create - * @memberof tendermint.types.LightClientAttackEvidence - * @static - * @param {tendermint.types.ILightClientAttackEvidence=} [properties] Properties to set - * @returns {tendermint.types.LightClientAttackEvidence} LightClientAttackEvidence instance - */ - LightClientAttackEvidence.create = function create(properties) { - return new LightClientAttackEvidence(properties); - }; - - /** - * Encodes the specified LightClientAttackEvidence message. Does not implicitly {@link tendermint.types.LightClientAttackEvidence.verify|verify} messages. - * @function encode - * @memberof tendermint.types.LightClientAttackEvidence - * @static - * @param {tendermint.types.ILightClientAttackEvidence} message LightClientAttackEvidence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LightClientAttackEvidence.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.conflictingBlock != null && Object.hasOwnProperty.call(message, "conflictingBlock")) - $root.tendermint.types.LightBlock.encode(message.conflictingBlock, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.commonHeight != null && Object.hasOwnProperty.call(message, "commonHeight")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.commonHeight); - if (message.byzantineValidators != null && message.byzantineValidators.length) - for (let i = 0; i < message.byzantineValidators.length; ++i) - $root.tendermint.types.Validator.encode(message.byzantineValidators[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.totalVotingPower != null && Object.hasOwnProperty.call(message, "totalVotingPower")) - writer.uint32(/* id 4, wireType 0 =*/32).int64(message.totalVotingPower); - if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) - $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified LightClientAttackEvidence message, length delimited. Does not implicitly {@link tendermint.types.LightClientAttackEvidence.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.LightClientAttackEvidence - * @static - * @param {tendermint.types.ILightClientAttackEvidence} message LightClientAttackEvidence message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LightClientAttackEvidence.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a LightClientAttackEvidence message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.LightClientAttackEvidence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.LightClientAttackEvidence} LightClientAttackEvidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LightClientAttackEvidence.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.LightClientAttackEvidence(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.conflictingBlock = $root.tendermint.types.LightBlock.decode(reader, reader.uint32()); - break; - case 2: - message.commonHeight = reader.int64(); - break; - case 3: - if (!(message.byzantineValidators && message.byzantineValidators.length)) - message.byzantineValidators = []; - message.byzantineValidators.push($root.tendermint.types.Validator.decode(reader, reader.uint32())); - break; - case 4: - message.totalVotingPower = reader.int64(); - break; - case 5: - message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a LightClientAttackEvidence message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.LightClientAttackEvidence - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.LightClientAttackEvidence} LightClientAttackEvidence - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LightClientAttackEvidence.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LightClientAttackEvidence message. - * @function verify - * @memberof tendermint.types.LightClientAttackEvidence - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LightClientAttackEvidence.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.conflictingBlock != null && message.hasOwnProperty("conflictingBlock")) { - let error = $root.tendermint.types.LightBlock.verify(message.conflictingBlock); - if (error) - return "conflictingBlock." + error; - } - if (message.commonHeight != null && message.hasOwnProperty("commonHeight")) - if (!$util.isInteger(message.commonHeight) && !(message.commonHeight && $util.isInteger(message.commonHeight.low) && $util.isInteger(message.commonHeight.high))) - return "commonHeight: integer|Long expected"; - if (message.byzantineValidators != null && message.hasOwnProperty("byzantineValidators")) { - if (!Array.isArray(message.byzantineValidators)) - return "byzantineValidators: array expected"; - for (let i = 0; i < message.byzantineValidators.length; ++i) { - let error = $root.tendermint.types.Validator.verify(message.byzantineValidators[i]); - if (error) - return "byzantineValidators." + error; - } - } - if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) - if (!$util.isInteger(message.totalVotingPower) && !(message.totalVotingPower && $util.isInteger(message.totalVotingPower.low) && $util.isInteger(message.totalVotingPower.high))) - return "totalVotingPower: integer|Long expected"; - if (message.timestamp != null && message.hasOwnProperty("timestamp")) { - let error = $root.google.protobuf.Timestamp.verify(message.timestamp); - if (error) - return "timestamp." + error; - } - return null; - }; - - /** - * Creates a LightClientAttackEvidence message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.LightClientAttackEvidence - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.LightClientAttackEvidence} LightClientAttackEvidence - */ - LightClientAttackEvidence.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.LightClientAttackEvidence) - return object; - let message = new $root.tendermint.types.LightClientAttackEvidence(); - if (object.conflictingBlock != null) { - if (typeof object.conflictingBlock !== "object") - throw TypeError(".tendermint.types.LightClientAttackEvidence.conflictingBlock: object expected"); - message.conflictingBlock = $root.tendermint.types.LightBlock.fromObject(object.conflictingBlock); - } - if (object.commonHeight != null) - if ($util.Long) - (message.commonHeight = $util.Long.fromValue(object.commonHeight)).unsigned = false; - else if (typeof object.commonHeight === "string") - message.commonHeight = parseInt(object.commonHeight, 10); - else if (typeof object.commonHeight === "number") - message.commonHeight = object.commonHeight; - else if (typeof object.commonHeight === "object") - message.commonHeight = new $util.LongBits(object.commonHeight.low >>> 0, object.commonHeight.high >>> 0).toNumber(); - if (object.byzantineValidators) { - if (!Array.isArray(object.byzantineValidators)) - throw TypeError(".tendermint.types.LightClientAttackEvidence.byzantineValidators: array expected"); - message.byzantineValidators = []; - for (let i = 0; i < object.byzantineValidators.length; ++i) { - if (typeof object.byzantineValidators[i] !== "object") - throw TypeError(".tendermint.types.LightClientAttackEvidence.byzantineValidators: object expected"); - message.byzantineValidators[i] = $root.tendermint.types.Validator.fromObject(object.byzantineValidators[i]); - } - } - if (object.totalVotingPower != null) - if ($util.Long) - (message.totalVotingPower = $util.Long.fromValue(object.totalVotingPower)).unsigned = false; - else if (typeof object.totalVotingPower === "string") - message.totalVotingPower = parseInt(object.totalVotingPower, 10); - else if (typeof object.totalVotingPower === "number") - message.totalVotingPower = object.totalVotingPower; - else if (typeof object.totalVotingPower === "object") - message.totalVotingPower = new $util.LongBits(object.totalVotingPower.low >>> 0, object.totalVotingPower.high >>> 0).toNumber(); - if (object.timestamp != null) { - if (typeof object.timestamp !== "object") - throw TypeError(".tendermint.types.LightClientAttackEvidence.timestamp: object expected"); - message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); - } - return message; - }; - - /** - * Creates a plain object from a LightClientAttackEvidence message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.LightClientAttackEvidence - * @static - * @param {tendermint.types.LightClientAttackEvidence} message LightClientAttackEvidence - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LightClientAttackEvidence.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.byzantineValidators = []; - if (options.defaults) { - object.conflictingBlock = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.commonHeight = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.commonHeight = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.totalVotingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.totalVotingPower = options.longs === String ? "0" : 0; - object.timestamp = null; - } - if (message.conflictingBlock != null && message.hasOwnProperty("conflictingBlock")) - object.conflictingBlock = $root.tendermint.types.LightBlock.toObject(message.conflictingBlock, options); - if (message.commonHeight != null && message.hasOwnProperty("commonHeight")) - if (typeof message.commonHeight === "number") - object.commonHeight = options.longs === String ? String(message.commonHeight) : message.commonHeight; - else - object.commonHeight = options.longs === String ? $util.Long.prototype.toString.call(message.commonHeight) : options.longs === Number ? new $util.LongBits(message.commonHeight.low >>> 0, message.commonHeight.high >>> 0).toNumber() : message.commonHeight; - if (message.byzantineValidators && message.byzantineValidators.length) { - object.byzantineValidators = []; - for (let j = 0; j < message.byzantineValidators.length; ++j) - object.byzantineValidators[j] = $root.tendermint.types.Validator.toObject(message.byzantineValidators[j], options); - } - if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) - if (typeof message.totalVotingPower === "number") - object.totalVotingPower = options.longs === String ? String(message.totalVotingPower) : message.totalVotingPower; - else - object.totalVotingPower = options.longs === String ? $util.Long.prototype.toString.call(message.totalVotingPower) : options.longs === Number ? new $util.LongBits(message.totalVotingPower.low >>> 0, message.totalVotingPower.high >>> 0).toNumber() : message.totalVotingPower; - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); - return object; - }; - - /** - * Converts this LightClientAttackEvidence to JSON. - * @function toJSON - * @memberof tendermint.types.LightClientAttackEvidence - * @instance - * @returns {Object.} JSON object - */ - LightClientAttackEvidence.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return LightClientAttackEvidence; - })(types.LightClientAttackEvidence || {}); - - types.EvidenceList = (function(EvidenceList) { - - /** - * Properties of an EvidenceList. - * @memberof tendermint.types - * @interface IEvidenceList - * @property {Array.|null} [evidence] EvidenceList evidence - */ - - /** - * Constructs a new EvidenceList. - * @memberof tendermint.types - * @classdesc Represents an EvidenceList. - * @implements IEvidenceList - * @constructor - * @param {tendermint.types.IEvidenceList=} [properties] Properties to set - */ - function EvidenceList(properties) { - this.evidence = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * EvidenceList evidence. - * @member {Array.} evidence - * @memberof tendermint.types.EvidenceList - * @instance - */ - EvidenceList.prototype.evidence = $util.emptyArray; - - /** - * Creates a new EvidenceList instance using the specified properties. - * @function create - * @memberof tendermint.types.EvidenceList - * @static - * @param {tendermint.types.IEvidenceList=} [properties] Properties to set - * @returns {tendermint.types.EvidenceList} EvidenceList instance - */ - EvidenceList.create = function create(properties) { - return new EvidenceList(properties); - }; - - /** - * Encodes the specified EvidenceList message. Does not implicitly {@link tendermint.types.EvidenceList.verify|verify} messages. - * @function encode - * @memberof tendermint.types.EvidenceList - * @static - * @param {tendermint.types.IEvidenceList} message EvidenceList message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EvidenceList.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.evidence != null && message.evidence.length) - for (let i = 0; i < message.evidence.length; ++i) - $root.tendermint.types.Evidence.encode(message.evidence[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified EvidenceList message, length delimited. Does not implicitly {@link tendermint.types.EvidenceList.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.EvidenceList - * @static - * @param {tendermint.types.IEvidenceList} message EvidenceList message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EvidenceList.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EvidenceList message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.EvidenceList - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.EvidenceList} EvidenceList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EvidenceList.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.EvidenceList(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.evidence && message.evidence.length)) - message.evidence = []; - message.evidence.push($root.tendermint.types.Evidence.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EvidenceList message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.EvidenceList - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.EvidenceList} EvidenceList - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EvidenceList.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EvidenceList message. - * @function verify - * @memberof tendermint.types.EvidenceList - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EvidenceList.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.evidence != null && message.hasOwnProperty("evidence")) { - if (!Array.isArray(message.evidence)) - return "evidence: array expected"; - for (let i = 0; i < message.evidence.length; ++i) { - let error = $root.tendermint.types.Evidence.verify(message.evidence[i]); - if (error) - return "evidence." + error; - } - } - return null; - }; - - /** - * Creates an EvidenceList message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.EvidenceList - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.EvidenceList} EvidenceList - */ - EvidenceList.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.EvidenceList) - return object; - let message = new $root.tendermint.types.EvidenceList(); - if (object.evidence) { - if (!Array.isArray(object.evidence)) - throw TypeError(".tendermint.types.EvidenceList.evidence: array expected"); - message.evidence = []; - for (let i = 0; i < object.evidence.length; ++i) { - if (typeof object.evidence[i] !== "object") - throw TypeError(".tendermint.types.EvidenceList.evidence: object expected"); - message.evidence[i] = $root.tendermint.types.Evidence.fromObject(object.evidence[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an EvidenceList message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.EvidenceList - * @static - * @param {tendermint.types.EvidenceList} message EvidenceList - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EvidenceList.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.evidence = []; - if (message.evidence && message.evidence.length) { - object.evidence = []; - for (let j = 0; j < message.evidence.length; ++j) - object.evidence[j] = $root.tendermint.types.Evidence.toObject(message.evidence[j], options); - } - return object; - }; - - /** - * Converts this EvidenceList to JSON. - * @function toJSON - * @memberof tendermint.types.EvidenceList - * @instance - * @returns {Object.} JSON object - */ - EvidenceList.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return EvidenceList; - })(types.EvidenceList || {}); - - types.ConsensusParams = (function(ConsensusParams) { - - /** - * Properties of a ConsensusParams. - * @memberof tendermint.types - * @interface IConsensusParams - * @property {tendermint.types.IBlockParams|null} [block] ConsensusParams block - * @property {tendermint.types.IEvidenceParams|null} [evidence] ConsensusParams evidence - * @property {tendermint.types.IValidatorParams|null} [validator] ConsensusParams validator - * @property {tendermint.types.IVersionParams|null} [version] ConsensusParams version - */ - - /** - * Constructs a new ConsensusParams. - * @memberof tendermint.types - * @classdesc Represents a ConsensusParams. - * @implements IConsensusParams - * @constructor - * @param {tendermint.types.IConsensusParams=} [properties] Properties to set - */ - function ConsensusParams(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ConsensusParams block. - * @member {tendermint.types.IBlockParams|null|undefined} block - * @memberof tendermint.types.ConsensusParams - * @instance - */ - ConsensusParams.prototype.block = null; - - /** - * ConsensusParams evidence. - * @member {tendermint.types.IEvidenceParams|null|undefined} evidence - * @memberof tendermint.types.ConsensusParams - * @instance - */ - ConsensusParams.prototype.evidence = null; - - /** - * ConsensusParams validator. - * @member {tendermint.types.IValidatorParams|null|undefined} validator - * @memberof tendermint.types.ConsensusParams - * @instance - */ - ConsensusParams.prototype.validator = null; - - /** - * ConsensusParams version. - * @member {tendermint.types.IVersionParams|null|undefined} version - * @memberof tendermint.types.ConsensusParams - * @instance - */ - ConsensusParams.prototype.version = null; - - /** - * Creates a new ConsensusParams instance using the specified properties. - * @function create - * @memberof tendermint.types.ConsensusParams - * @static - * @param {tendermint.types.IConsensusParams=} [properties] Properties to set - * @returns {tendermint.types.ConsensusParams} ConsensusParams instance - */ - ConsensusParams.create = function create(properties) { - return new ConsensusParams(properties); - }; - - /** - * Encodes the specified ConsensusParams message. Does not implicitly {@link tendermint.types.ConsensusParams.verify|verify} messages. - * @function encode - * @memberof tendermint.types.ConsensusParams - * @static - * @param {tendermint.types.IConsensusParams} message ConsensusParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConsensusParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.block != null && Object.hasOwnProperty.call(message, "block")) - $root.tendermint.types.BlockParams.encode(message.block, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.evidence != null && Object.hasOwnProperty.call(message, "evidence")) - $root.tendermint.types.EvidenceParams.encode(message.evidence, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.validator != null && Object.hasOwnProperty.call(message, "validator")) - $root.tendermint.types.ValidatorParams.encode(message.validator, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - $root.tendermint.types.VersionParams.encode(message.version, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ConsensusParams message, length delimited. Does not implicitly {@link tendermint.types.ConsensusParams.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.ConsensusParams - * @static - * @param {tendermint.types.IConsensusParams} message ConsensusParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ConsensusParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ConsensusParams message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.ConsensusParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.ConsensusParams} ConsensusParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConsensusParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.ConsensusParams(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.block = $root.tendermint.types.BlockParams.decode(reader, reader.uint32()); - break; - case 2: - message.evidence = $root.tendermint.types.EvidenceParams.decode(reader, reader.uint32()); - break; - case 3: - message.validator = $root.tendermint.types.ValidatorParams.decode(reader, reader.uint32()); - break; - case 4: - message.version = $root.tendermint.types.VersionParams.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ConsensusParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.ConsensusParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.ConsensusParams} ConsensusParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ConsensusParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ConsensusParams message. - * @function verify - * @memberof tendermint.types.ConsensusParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ConsensusParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.block != null && message.hasOwnProperty("block")) { - let error = $root.tendermint.types.BlockParams.verify(message.block); - if (error) - return "block." + error; - } - if (message.evidence != null && message.hasOwnProperty("evidence")) { - let error = $root.tendermint.types.EvidenceParams.verify(message.evidence); - if (error) - return "evidence." + error; - } - if (message.validator != null && message.hasOwnProperty("validator")) { - let error = $root.tendermint.types.ValidatorParams.verify(message.validator); - if (error) - return "validator." + error; - } - if (message.version != null && message.hasOwnProperty("version")) { - let error = $root.tendermint.types.VersionParams.verify(message.version); - if (error) - return "version." + error; - } - return null; - }; - - /** - * Creates a ConsensusParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.ConsensusParams - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.ConsensusParams} ConsensusParams - */ - ConsensusParams.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.ConsensusParams) - return object; - let message = new $root.tendermint.types.ConsensusParams(); - if (object.block != null) { - if (typeof object.block !== "object") - throw TypeError(".tendermint.types.ConsensusParams.block: object expected"); - message.block = $root.tendermint.types.BlockParams.fromObject(object.block); - } - if (object.evidence != null) { - if (typeof object.evidence !== "object") - throw TypeError(".tendermint.types.ConsensusParams.evidence: object expected"); - message.evidence = $root.tendermint.types.EvidenceParams.fromObject(object.evidence); - } - if (object.validator != null) { - if (typeof object.validator !== "object") - throw TypeError(".tendermint.types.ConsensusParams.validator: object expected"); - message.validator = $root.tendermint.types.ValidatorParams.fromObject(object.validator); - } - if (object.version != null) { - if (typeof object.version !== "object") - throw TypeError(".tendermint.types.ConsensusParams.version: object expected"); - message.version = $root.tendermint.types.VersionParams.fromObject(object.version); - } - return message; - }; - - /** - * Creates a plain object from a ConsensusParams message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.ConsensusParams - * @static - * @param {tendermint.types.ConsensusParams} message ConsensusParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ConsensusParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.block = null; - object.evidence = null; - object.validator = null; - object.version = null; - } - if (message.block != null && message.hasOwnProperty("block")) - object.block = $root.tendermint.types.BlockParams.toObject(message.block, options); - if (message.evidence != null && message.hasOwnProperty("evidence")) - object.evidence = $root.tendermint.types.EvidenceParams.toObject(message.evidence, options); - if (message.validator != null && message.hasOwnProperty("validator")) - object.validator = $root.tendermint.types.ValidatorParams.toObject(message.validator, options); - if (message.version != null && message.hasOwnProperty("version")) - object.version = $root.tendermint.types.VersionParams.toObject(message.version, options); - return object; - }; - - /** - * Converts this ConsensusParams to JSON. - * @function toJSON - * @memberof tendermint.types.ConsensusParams - * @instance - * @returns {Object.} JSON object - */ - ConsensusParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ConsensusParams; - })(types.ConsensusParams || {}); - - types.BlockParams = (function(BlockParams) { - - /** - * Properties of a BlockParams. - * @memberof tendermint.types - * @interface IBlockParams - * @property {number|Long|null} [maxBytes] BlockParams maxBytes - * @property {number|Long|null} [maxGas] BlockParams maxGas - * @property {number|Long|null} [timeIotaMs] BlockParams timeIotaMs - */ - - /** - * Constructs a new BlockParams. - * @memberof tendermint.types - * @classdesc Represents a BlockParams. - * @implements IBlockParams - * @constructor - * @param {tendermint.types.IBlockParams=} [properties] Properties to set - */ - function BlockParams(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BlockParams maxBytes. - * @member {number|Long} maxBytes - * @memberof tendermint.types.BlockParams - * @instance - */ - BlockParams.prototype.maxBytes = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * BlockParams maxGas. - * @member {number|Long} maxGas - * @memberof tendermint.types.BlockParams - * @instance - */ - BlockParams.prototype.maxGas = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * BlockParams timeIotaMs. - * @member {number|Long} timeIotaMs - * @memberof tendermint.types.BlockParams - * @instance - */ - BlockParams.prototype.timeIotaMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new BlockParams instance using the specified properties. - * @function create - * @memberof tendermint.types.BlockParams - * @static - * @param {tendermint.types.IBlockParams=} [properties] Properties to set - * @returns {tendermint.types.BlockParams} BlockParams instance - */ - BlockParams.create = function create(properties) { - return new BlockParams(properties); - }; - - /** - * Encodes the specified BlockParams message. Does not implicitly {@link tendermint.types.BlockParams.verify|verify} messages. - * @function encode - * @memberof tendermint.types.BlockParams - * @static - * @param {tendermint.types.IBlockParams} message BlockParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BlockParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.maxBytes); - if (message.maxGas != null && Object.hasOwnProperty.call(message, "maxGas")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.maxGas); - if (message.timeIotaMs != null && Object.hasOwnProperty.call(message, "timeIotaMs")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.timeIotaMs); - return writer; - }; - - /** - * Encodes the specified BlockParams message, length delimited. Does not implicitly {@link tendermint.types.BlockParams.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.BlockParams - * @static - * @param {tendermint.types.IBlockParams} message BlockParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BlockParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BlockParams message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.BlockParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.BlockParams} BlockParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BlockParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.BlockParams(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.maxBytes = reader.int64(); - break; - case 2: - message.maxGas = reader.int64(); - break; - case 3: - message.timeIotaMs = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BlockParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.BlockParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.BlockParams} BlockParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BlockParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BlockParams message. - * @function verify - * @memberof tendermint.types.BlockParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BlockParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - if (!$util.isInteger(message.maxBytes) && !(message.maxBytes && $util.isInteger(message.maxBytes.low) && $util.isInteger(message.maxBytes.high))) - return "maxBytes: integer|Long expected"; - if (message.maxGas != null && message.hasOwnProperty("maxGas")) - if (!$util.isInteger(message.maxGas) && !(message.maxGas && $util.isInteger(message.maxGas.low) && $util.isInteger(message.maxGas.high))) - return "maxGas: integer|Long expected"; - if (message.timeIotaMs != null && message.hasOwnProperty("timeIotaMs")) - if (!$util.isInteger(message.timeIotaMs) && !(message.timeIotaMs && $util.isInteger(message.timeIotaMs.low) && $util.isInteger(message.timeIotaMs.high))) - return "timeIotaMs: integer|Long expected"; - return null; - }; - - /** - * Creates a BlockParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.BlockParams - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.BlockParams} BlockParams - */ - BlockParams.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.BlockParams) - return object; - let message = new $root.tendermint.types.BlockParams(); - if (object.maxBytes != null) - if ($util.Long) - (message.maxBytes = $util.Long.fromValue(object.maxBytes)).unsigned = false; - else if (typeof object.maxBytes === "string") - message.maxBytes = parseInt(object.maxBytes, 10); - else if (typeof object.maxBytes === "number") - message.maxBytes = object.maxBytes; - else if (typeof object.maxBytes === "object") - message.maxBytes = new $util.LongBits(object.maxBytes.low >>> 0, object.maxBytes.high >>> 0).toNumber(); - if (object.maxGas != null) - if ($util.Long) - (message.maxGas = $util.Long.fromValue(object.maxGas)).unsigned = false; - else if (typeof object.maxGas === "string") - message.maxGas = parseInt(object.maxGas, 10); - else if (typeof object.maxGas === "number") - message.maxGas = object.maxGas; - else if (typeof object.maxGas === "object") - message.maxGas = new $util.LongBits(object.maxGas.low >>> 0, object.maxGas.high >>> 0).toNumber(); - if (object.timeIotaMs != null) - if ($util.Long) - (message.timeIotaMs = $util.Long.fromValue(object.timeIotaMs)).unsigned = false; - else if (typeof object.timeIotaMs === "string") - message.timeIotaMs = parseInt(object.timeIotaMs, 10); - else if (typeof object.timeIotaMs === "number") - message.timeIotaMs = object.timeIotaMs; - else if (typeof object.timeIotaMs === "object") - message.timeIotaMs = new $util.LongBits(object.timeIotaMs.low >>> 0, object.timeIotaMs.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a BlockParams message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.BlockParams - * @static - * @param {tendermint.types.BlockParams} message BlockParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BlockParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.maxBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.maxBytes = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.maxGas = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.maxGas = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.timeIotaMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.timeIotaMs = options.longs === String ? "0" : 0; - } - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - if (typeof message.maxBytes === "number") - object.maxBytes = options.longs === String ? String(message.maxBytes) : message.maxBytes; - else - object.maxBytes = options.longs === String ? $util.Long.prototype.toString.call(message.maxBytes) : options.longs === Number ? new $util.LongBits(message.maxBytes.low >>> 0, message.maxBytes.high >>> 0).toNumber() : message.maxBytes; - if (message.maxGas != null && message.hasOwnProperty("maxGas")) - if (typeof message.maxGas === "number") - object.maxGas = options.longs === String ? String(message.maxGas) : message.maxGas; - else - object.maxGas = options.longs === String ? $util.Long.prototype.toString.call(message.maxGas) : options.longs === Number ? new $util.LongBits(message.maxGas.low >>> 0, message.maxGas.high >>> 0).toNumber() : message.maxGas; - if (message.timeIotaMs != null && message.hasOwnProperty("timeIotaMs")) - if (typeof message.timeIotaMs === "number") - object.timeIotaMs = options.longs === String ? String(message.timeIotaMs) : message.timeIotaMs; - else - object.timeIotaMs = options.longs === String ? $util.Long.prototype.toString.call(message.timeIotaMs) : options.longs === Number ? new $util.LongBits(message.timeIotaMs.low >>> 0, message.timeIotaMs.high >>> 0).toNumber() : message.timeIotaMs; - return object; - }; - - /** - * Converts this BlockParams to JSON. - * @function toJSON - * @memberof tendermint.types.BlockParams - * @instance - * @returns {Object.} JSON object - */ - BlockParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BlockParams; - })(types.BlockParams || {}); - - types.EvidenceParams = (function(EvidenceParams) { - - /** - * Properties of an EvidenceParams. - * @memberof tendermint.types - * @interface IEvidenceParams - * @property {number|Long|null} [maxAgeNumBlocks] EvidenceParams maxAgeNumBlocks - * @property {google.protobuf.IDuration|null} [maxAgeDuration] EvidenceParams maxAgeDuration - * @property {number|Long|null} [maxBytes] EvidenceParams maxBytes - */ - - /** - * Constructs a new EvidenceParams. - * @memberof tendermint.types - * @classdesc Represents an EvidenceParams. - * @implements IEvidenceParams - * @constructor - * @param {tendermint.types.IEvidenceParams=} [properties] Properties to set - */ - function EvidenceParams(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * EvidenceParams maxAgeNumBlocks. - * @member {number|Long} maxAgeNumBlocks - * @memberof tendermint.types.EvidenceParams - * @instance - */ - EvidenceParams.prototype.maxAgeNumBlocks = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * EvidenceParams maxAgeDuration. - * @member {google.protobuf.IDuration|null|undefined} maxAgeDuration - * @memberof tendermint.types.EvidenceParams - * @instance - */ - EvidenceParams.prototype.maxAgeDuration = null; - - /** - * EvidenceParams maxBytes. - * @member {number|Long} maxBytes - * @memberof tendermint.types.EvidenceParams - * @instance - */ - EvidenceParams.prototype.maxBytes = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new EvidenceParams instance using the specified properties. - * @function create - * @memberof tendermint.types.EvidenceParams - * @static - * @param {tendermint.types.IEvidenceParams=} [properties] Properties to set - * @returns {tendermint.types.EvidenceParams} EvidenceParams instance - */ - EvidenceParams.create = function create(properties) { - return new EvidenceParams(properties); - }; - - /** - * Encodes the specified EvidenceParams message. Does not implicitly {@link tendermint.types.EvidenceParams.verify|verify} messages. - * @function encode - * @memberof tendermint.types.EvidenceParams - * @static - * @param {tendermint.types.IEvidenceParams} message EvidenceParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EvidenceParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.maxAgeNumBlocks != null && Object.hasOwnProperty.call(message, "maxAgeNumBlocks")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.maxAgeNumBlocks); - if (message.maxAgeDuration != null && Object.hasOwnProperty.call(message, "maxAgeDuration")) - $root.google.protobuf.Duration.encode(message.maxAgeDuration, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.maxBytes != null && Object.hasOwnProperty.call(message, "maxBytes")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.maxBytes); - return writer; - }; - - /** - * Encodes the specified EvidenceParams message, length delimited. Does not implicitly {@link tendermint.types.EvidenceParams.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.EvidenceParams - * @static - * @param {tendermint.types.IEvidenceParams} message EvidenceParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - EvidenceParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an EvidenceParams message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.EvidenceParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.EvidenceParams} EvidenceParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EvidenceParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.EvidenceParams(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.maxAgeNumBlocks = reader.int64(); - break; - case 2: - message.maxAgeDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); - break; - case 3: - message.maxBytes = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an EvidenceParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.EvidenceParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.EvidenceParams} EvidenceParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - EvidenceParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an EvidenceParams message. - * @function verify - * @memberof tendermint.types.EvidenceParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - EvidenceParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.maxAgeNumBlocks != null && message.hasOwnProperty("maxAgeNumBlocks")) - if (!$util.isInteger(message.maxAgeNumBlocks) && !(message.maxAgeNumBlocks && $util.isInteger(message.maxAgeNumBlocks.low) && $util.isInteger(message.maxAgeNumBlocks.high))) - return "maxAgeNumBlocks: integer|Long expected"; - if (message.maxAgeDuration != null && message.hasOwnProperty("maxAgeDuration")) { - let error = $root.google.protobuf.Duration.verify(message.maxAgeDuration); - if (error) - return "maxAgeDuration." + error; - } - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - if (!$util.isInteger(message.maxBytes) && !(message.maxBytes && $util.isInteger(message.maxBytes.low) && $util.isInteger(message.maxBytes.high))) - return "maxBytes: integer|Long expected"; - return null; - }; - - /** - * Creates an EvidenceParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.EvidenceParams - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.EvidenceParams} EvidenceParams - */ - EvidenceParams.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.EvidenceParams) - return object; - let message = new $root.tendermint.types.EvidenceParams(); - if (object.maxAgeNumBlocks != null) - if ($util.Long) - (message.maxAgeNumBlocks = $util.Long.fromValue(object.maxAgeNumBlocks)).unsigned = false; - else if (typeof object.maxAgeNumBlocks === "string") - message.maxAgeNumBlocks = parseInt(object.maxAgeNumBlocks, 10); - else if (typeof object.maxAgeNumBlocks === "number") - message.maxAgeNumBlocks = object.maxAgeNumBlocks; - else if (typeof object.maxAgeNumBlocks === "object") - message.maxAgeNumBlocks = new $util.LongBits(object.maxAgeNumBlocks.low >>> 0, object.maxAgeNumBlocks.high >>> 0).toNumber(); - if (object.maxAgeDuration != null) { - if (typeof object.maxAgeDuration !== "object") - throw TypeError(".tendermint.types.EvidenceParams.maxAgeDuration: object expected"); - message.maxAgeDuration = $root.google.protobuf.Duration.fromObject(object.maxAgeDuration); - } - if (object.maxBytes != null) - if ($util.Long) - (message.maxBytes = $util.Long.fromValue(object.maxBytes)).unsigned = false; - else if (typeof object.maxBytes === "string") - message.maxBytes = parseInt(object.maxBytes, 10); - else if (typeof object.maxBytes === "number") - message.maxBytes = object.maxBytes; - else if (typeof object.maxBytes === "object") - message.maxBytes = new $util.LongBits(object.maxBytes.low >>> 0, object.maxBytes.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from an EvidenceParams message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.EvidenceParams - * @static - * @param {tendermint.types.EvidenceParams} message EvidenceParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - EvidenceParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.maxAgeNumBlocks = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.maxAgeNumBlocks = options.longs === String ? "0" : 0; - object.maxAgeDuration = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.maxBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.maxBytes = options.longs === String ? "0" : 0; - } - if (message.maxAgeNumBlocks != null && message.hasOwnProperty("maxAgeNumBlocks")) - if (typeof message.maxAgeNumBlocks === "number") - object.maxAgeNumBlocks = options.longs === String ? String(message.maxAgeNumBlocks) : message.maxAgeNumBlocks; - else - object.maxAgeNumBlocks = options.longs === String ? $util.Long.prototype.toString.call(message.maxAgeNumBlocks) : options.longs === Number ? new $util.LongBits(message.maxAgeNumBlocks.low >>> 0, message.maxAgeNumBlocks.high >>> 0).toNumber() : message.maxAgeNumBlocks; - if (message.maxAgeDuration != null && message.hasOwnProperty("maxAgeDuration")) - object.maxAgeDuration = $root.google.protobuf.Duration.toObject(message.maxAgeDuration, options); - if (message.maxBytes != null && message.hasOwnProperty("maxBytes")) - if (typeof message.maxBytes === "number") - object.maxBytes = options.longs === String ? String(message.maxBytes) : message.maxBytes; - else - object.maxBytes = options.longs === String ? $util.Long.prototype.toString.call(message.maxBytes) : options.longs === Number ? new $util.LongBits(message.maxBytes.low >>> 0, message.maxBytes.high >>> 0).toNumber() : message.maxBytes; - return object; - }; - - /** - * Converts this EvidenceParams to JSON. - * @function toJSON - * @memberof tendermint.types.EvidenceParams - * @instance - * @returns {Object.} JSON object - */ - EvidenceParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return EvidenceParams; - })(types.EvidenceParams || {}); - - types.ValidatorParams = (function(ValidatorParams) { - - /** - * Properties of a ValidatorParams. - * @memberof tendermint.types - * @interface IValidatorParams - * @property {Array.|null} [pubKeyTypes] ValidatorParams pubKeyTypes - */ - - /** - * Constructs a new ValidatorParams. - * @memberof tendermint.types - * @classdesc Represents a ValidatorParams. - * @implements IValidatorParams - * @constructor - * @param {tendermint.types.IValidatorParams=} [properties] Properties to set - */ - function ValidatorParams(properties) { - this.pubKeyTypes = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorParams pubKeyTypes. - * @member {Array.} pubKeyTypes - * @memberof tendermint.types.ValidatorParams - * @instance - */ - ValidatorParams.prototype.pubKeyTypes = $util.emptyArray; - - /** - * Creates a new ValidatorParams instance using the specified properties. - * @function create - * @memberof tendermint.types.ValidatorParams - * @static - * @param {tendermint.types.IValidatorParams=} [properties] Properties to set - * @returns {tendermint.types.ValidatorParams} ValidatorParams instance - */ - ValidatorParams.create = function create(properties) { - return new ValidatorParams(properties); - }; - - /** - * Encodes the specified ValidatorParams message. Does not implicitly {@link tendermint.types.ValidatorParams.verify|verify} messages. - * @function encode - * @memberof tendermint.types.ValidatorParams - * @static - * @param {tendermint.types.IValidatorParams} message ValidatorParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pubKeyTypes != null && message.pubKeyTypes.length) - for (let i = 0; i < message.pubKeyTypes.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.pubKeyTypes[i]); - return writer; - }; - - /** - * Encodes the specified ValidatorParams message, length delimited. Does not implicitly {@link tendermint.types.ValidatorParams.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.ValidatorParams - * @static - * @param {tendermint.types.IValidatorParams} message ValidatorParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorParams message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.ValidatorParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.ValidatorParams} ValidatorParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.ValidatorParams(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.pubKeyTypes && message.pubKeyTypes.length)) - message.pubKeyTypes = []; - message.pubKeyTypes.push(reader.string()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.ValidatorParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.ValidatorParams} ValidatorParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorParams message. - * @function verify - * @memberof tendermint.types.ValidatorParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pubKeyTypes != null && message.hasOwnProperty("pubKeyTypes")) { - if (!Array.isArray(message.pubKeyTypes)) - return "pubKeyTypes: array expected"; - for (let i = 0; i < message.pubKeyTypes.length; ++i) - if (!$util.isString(message.pubKeyTypes[i])) - return "pubKeyTypes: string[] expected"; - } - return null; - }; - - /** - * Creates a ValidatorParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.ValidatorParams - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.ValidatorParams} ValidatorParams - */ - ValidatorParams.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.ValidatorParams) - return object; - let message = new $root.tendermint.types.ValidatorParams(); - if (object.pubKeyTypes) { - if (!Array.isArray(object.pubKeyTypes)) - throw TypeError(".tendermint.types.ValidatorParams.pubKeyTypes: array expected"); - message.pubKeyTypes = []; - for (let i = 0; i < object.pubKeyTypes.length; ++i) - message.pubKeyTypes[i] = String(object.pubKeyTypes[i]); - } - return message; - }; - - /** - * Creates a plain object from a ValidatorParams message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.ValidatorParams - * @static - * @param {tendermint.types.ValidatorParams} message ValidatorParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.pubKeyTypes = []; - if (message.pubKeyTypes && message.pubKeyTypes.length) { - object.pubKeyTypes = []; - for (let j = 0; j < message.pubKeyTypes.length; ++j) - object.pubKeyTypes[j] = message.pubKeyTypes[j]; - } - return object; - }; - - /** - * Converts this ValidatorParams to JSON. - * @function toJSON - * @memberof tendermint.types.ValidatorParams - * @instance - * @returns {Object.} JSON object - */ - ValidatorParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorParams; - })(types.ValidatorParams || {}); - - types.VersionParams = (function(VersionParams) { - - /** - * Properties of a VersionParams. - * @memberof tendermint.types - * @interface IVersionParams - * @property {number|Long|null} [appVersion] VersionParams appVersion - */ - - /** - * Constructs a new VersionParams. - * @memberof tendermint.types - * @classdesc Represents a VersionParams. - * @implements IVersionParams - * @constructor - * @param {tendermint.types.IVersionParams=} [properties] Properties to set - */ - function VersionParams(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * VersionParams appVersion. - * @member {number|Long} appVersion - * @memberof tendermint.types.VersionParams - * @instance - */ - VersionParams.prototype.appVersion = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new VersionParams instance using the specified properties. - * @function create - * @memberof tendermint.types.VersionParams - * @static - * @param {tendermint.types.IVersionParams=} [properties] Properties to set - * @returns {tendermint.types.VersionParams} VersionParams instance - */ - VersionParams.create = function create(properties) { - return new VersionParams(properties); - }; - - /** - * Encodes the specified VersionParams message. Does not implicitly {@link tendermint.types.VersionParams.verify|verify} messages. - * @function encode - * @memberof tendermint.types.VersionParams - * @static - * @param {tendermint.types.IVersionParams} message VersionParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VersionParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.appVersion != null && Object.hasOwnProperty.call(message, "appVersion")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.appVersion); - return writer; - }; - - /** - * Encodes the specified VersionParams message, length delimited. Does not implicitly {@link tendermint.types.VersionParams.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.VersionParams - * @static - * @param {tendermint.types.IVersionParams} message VersionParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - VersionParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a VersionParams message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.VersionParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.VersionParams} VersionParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VersionParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.VersionParams(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.appVersion = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a VersionParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.VersionParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.VersionParams} VersionParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - VersionParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a VersionParams message. - * @function verify - * @memberof tendermint.types.VersionParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - VersionParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.appVersion != null && message.hasOwnProperty("appVersion")) - if (!$util.isInteger(message.appVersion) && !(message.appVersion && $util.isInteger(message.appVersion.low) && $util.isInteger(message.appVersion.high))) - return "appVersion: integer|Long expected"; - return null; - }; - - /** - * Creates a VersionParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.VersionParams - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.VersionParams} VersionParams - */ - VersionParams.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.VersionParams) - return object; - let message = new $root.tendermint.types.VersionParams(); - if (object.appVersion != null) - if ($util.Long) - (message.appVersion = $util.Long.fromValue(object.appVersion)).unsigned = true; - else if (typeof object.appVersion === "string") - message.appVersion = parseInt(object.appVersion, 10); - else if (typeof object.appVersion === "number") - message.appVersion = object.appVersion; - else if (typeof object.appVersion === "object") - message.appVersion = new $util.LongBits(object.appVersion.low >>> 0, object.appVersion.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a VersionParams message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.VersionParams - * @static - * @param {tendermint.types.VersionParams} message VersionParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - VersionParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.appVersion = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.appVersion = options.longs === String ? "0" : 0; - if (message.appVersion != null && message.hasOwnProperty("appVersion")) - if (typeof message.appVersion === "number") - object.appVersion = options.longs === String ? String(message.appVersion) : message.appVersion; - else - object.appVersion = options.longs === String ? $util.Long.prototype.toString.call(message.appVersion) : options.longs === Number ? new $util.LongBits(message.appVersion.low >>> 0, message.appVersion.high >>> 0).toNumber(true) : message.appVersion; - return object; - }; - - /** - * Converts this VersionParams to JSON. - * @function toJSON - * @memberof tendermint.types.VersionParams - * @instance - * @returns {Object.} JSON object - */ - VersionParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return VersionParams; - })(types.VersionParams || {}); - - types.HashedParams = (function(HashedParams) { - - /** - * Properties of a HashedParams. - * @memberof tendermint.types - * @interface IHashedParams - * @property {number|Long|null} [blockMaxBytes] HashedParams blockMaxBytes - * @property {number|Long|null} [blockMaxGas] HashedParams blockMaxGas - */ - - /** - * Constructs a new HashedParams. - * @memberof tendermint.types - * @classdesc Represents a HashedParams. - * @implements IHashedParams - * @constructor - * @param {tendermint.types.IHashedParams=} [properties] Properties to set - */ - function HashedParams(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * HashedParams blockMaxBytes. - * @member {number|Long} blockMaxBytes - * @memberof tendermint.types.HashedParams - * @instance - */ - HashedParams.prototype.blockMaxBytes = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * HashedParams blockMaxGas. - * @member {number|Long} blockMaxGas - * @memberof tendermint.types.HashedParams - * @instance - */ - HashedParams.prototype.blockMaxGas = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new HashedParams instance using the specified properties. - * @function create - * @memberof tendermint.types.HashedParams - * @static - * @param {tendermint.types.IHashedParams=} [properties] Properties to set - * @returns {tendermint.types.HashedParams} HashedParams instance - */ - HashedParams.create = function create(properties) { - return new HashedParams(properties); - }; - - /** - * Encodes the specified HashedParams message. Does not implicitly {@link tendermint.types.HashedParams.verify|verify} messages. - * @function encode - * @memberof tendermint.types.HashedParams - * @static - * @param {tendermint.types.IHashedParams} message HashedParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - HashedParams.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.blockMaxBytes != null && Object.hasOwnProperty.call(message, "blockMaxBytes")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.blockMaxBytes); - if (message.blockMaxGas != null && Object.hasOwnProperty.call(message, "blockMaxGas")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.blockMaxGas); - return writer; - }; - - /** - * Encodes the specified HashedParams message, length delimited. Does not implicitly {@link tendermint.types.HashedParams.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.HashedParams - * @static - * @param {tendermint.types.IHashedParams} message HashedParams message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - HashedParams.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a HashedParams message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.HashedParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.HashedParams} HashedParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - HashedParams.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.HashedParams(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.blockMaxBytes = reader.int64(); - break; - case 2: - message.blockMaxGas = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a HashedParams message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.HashedParams - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.HashedParams} HashedParams - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - HashedParams.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a HashedParams message. - * @function verify - * @memberof tendermint.types.HashedParams - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - HashedParams.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.blockMaxBytes != null && message.hasOwnProperty("blockMaxBytes")) - if (!$util.isInteger(message.blockMaxBytes) && !(message.blockMaxBytes && $util.isInteger(message.blockMaxBytes.low) && $util.isInteger(message.blockMaxBytes.high))) - return "blockMaxBytes: integer|Long expected"; - if (message.blockMaxGas != null && message.hasOwnProperty("blockMaxGas")) - if (!$util.isInteger(message.blockMaxGas) && !(message.blockMaxGas && $util.isInteger(message.blockMaxGas.low) && $util.isInteger(message.blockMaxGas.high))) - return "blockMaxGas: integer|Long expected"; - return null; - }; - - /** - * Creates a HashedParams message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.HashedParams - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.HashedParams} HashedParams - */ - HashedParams.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.HashedParams) - return object; - let message = new $root.tendermint.types.HashedParams(); - if (object.blockMaxBytes != null) - if ($util.Long) - (message.blockMaxBytes = $util.Long.fromValue(object.blockMaxBytes)).unsigned = false; - else if (typeof object.blockMaxBytes === "string") - message.blockMaxBytes = parseInt(object.blockMaxBytes, 10); - else if (typeof object.blockMaxBytes === "number") - message.blockMaxBytes = object.blockMaxBytes; - else if (typeof object.blockMaxBytes === "object") - message.blockMaxBytes = new $util.LongBits(object.blockMaxBytes.low >>> 0, object.blockMaxBytes.high >>> 0).toNumber(); - if (object.blockMaxGas != null) - if ($util.Long) - (message.blockMaxGas = $util.Long.fromValue(object.blockMaxGas)).unsigned = false; - else if (typeof object.blockMaxGas === "string") - message.blockMaxGas = parseInt(object.blockMaxGas, 10); - else if (typeof object.blockMaxGas === "number") - message.blockMaxGas = object.blockMaxGas; - else if (typeof object.blockMaxGas === "object") - message.blockMaxGas = new $util.LongBits(object.blockMaxGas.low >>> 0, object.blockMaxGas.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a HashedParams message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.HashedParams - * @static - * @param {tendermint.types.HashedParams} message HashedParams - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - HashedParams.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.blockMaxBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.blockMaxBytes = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.blockMaxGas = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.blockMaxGas = options.longs === String ? "0" : 0; - } - if (message.blockMaxBytes != null && message.hasOwnProperty("blockMaxBytes")) - if (typeof message.blockMaxBytes === "number") - object.blockMaxBytes = options.longs === String ? String(message.blockMaxBytes) : message.blockMaxBytes; - else - object.blockMaxBytes = options.longs === String ? $util.Long.prototype.toString.call(message.blockMaxBytes) : options.longs === Number ? new $util.LongBits(message.blockMaxBytes.low >>> 0, message.blockMaxBytes.high >>> 0).toNumber() : message.blockMaxBytes; - if (message.blockMaxGas != null && message.hasOwnProperty("blockMaxGas")) - if (typeof message.blockMaxGas === "number") - object.blockMaxGas = options.longs === String ? String(message.blockMaxGas) : message.blockMaxGas; - else - object.blockMaxGas = options.longs === String ? $util.Long.prototype.toString.call(message.blockMaxGas) : options.longs === Number ? new $util.LongBits(message.blockMaxGas.low >>> 0, message.blockMaxGas.high >>> 0).toNumber() : message.blockMaxGas; - return object; - }; - - /** - * Converts this HashedParams to JSON. - * @function toJSON - * @memberof tendermint.types.HashedParams - * @instance - * @returns {Object.} JSON object - */ - HashedParams.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return HashedParams; - })(types.HashedParams || {}); - - /** - * BlockIDFlag enum. - * @name tendermint.types.BlockIDFlag - * @enum {string} - * @property {number} BLOCK_ID_FLAG_UNKNOWN=0 BLOCK_ID_FLAG_UNKNOWN value - * @property {number} BLOCK_ID_FLAG_ABSENT=1 BLOCK_ID_FLAG_ABSENT value - * @property {number} BLOCK_ID_FLAG_COMMIT=2 BLOCK_ID_FLAG_COMMIT value - * @property {number} BLOCK_ID_FLAG_NIL=3 BLOCK_ID_FLAG_NIL value - */ - types.BlockIDFlag = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "BLOCK_ID_FLAG_UNKNOWN"] = 0; - values[valuesById[1] = "BLOCK_ID_FLAG_ABSENT"] = 1; - values[valuesById[2] = "BLOCK_ID_FLAG_COMMIT"] = 2; - values[valuesById[3] = "BLOCK_ID_FLAG_NIL"] = 3; - return values; - })(); - - /** - * SignedMsgType enum. - * @name tendermint.types.SignedMsgType - * @enum {string} - * @property {number} SIGNED_MSG_TYPE_UNKNOWN=0 SIGNED_MSG_TYPE_UNKNOWN value - * @property {number} SIGNED_MSG_TYPE_PREVOTE=1 SIGNED_MSG_TYPE_PREVOTE value - * @property {number} SIGNED_MSG_TYPE_PRECOMMIT=2 SIGNED_MSG_TYPE_PRECOMMIT value - * @property {number} SIGNED_MSG_TYPE_PROPOSAL=32 SIGNED_MSG_TYPE_PROPOSAL value - */ - types.SignedMsgType = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "SIGNED_MSG_TYPE_UNKNOWN"] = 0; - values[valuesById[1] = "SIGNED_MSG_TYPE_PREVOTE"] = 1; - values[valuesById[2] = "SIGNED_MSG_TYPE_PRECOMMIT"] = 2; - values[valuesById[32] = "SIGNED_MSG_TYPE_PROPOSAL"] = 32; - return values; - })(); - - types.PartSetHeader = (function(PartSetHeader) { - - /** - * Properties of a PartSetHeader. - * @memberof tendermint.types - * @interface IPartSetHeader - * @property {number|null} [total] PartSetHeader total - * @property {Uint8Array|null} [hash] PartSetHeader hash - */ - - /** - * Constructs a new PartSetHeader. - * @memberof tendermint.types - * @classdesc Represents a PartSetHeader. - * @implements IPartSetHeader - * @constructor - * @param {tendermint.types.IPartSetHeader=} [properties] Properties to set - */ - function PartSetHeader(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * PartSetHeader total. - * @member {number} total - * @memberof tendermint.types.PartSetHeader - * @instance - */ - PartSetHeader.prototype.total = 0; - - /** - * PartSetHeader hash. - * @member {Uint8Array} hash - * @memberof tendermint.types.PartSetHeader - * @instance - */ - PartSetHeader.prototype.hash = $util.newBuffer([]); - - /** - * Creates a new PartSetHeader instance using the specified properties. - * @function create - * @memberof tendermint.types.PartSetHeader - * @static - * @param {tendermint.types.IPartSetHeader=} [properties] Properties to set - * @returns {tendermint.types.PartSetHeader} PartSetHeader instance - */ - PartSetHeader.create = function create(properties) { - return new PartSetHeader(properties); - }; - - /** - * Encodes the specified PartSetHeader message. Does not implicitly {@link tendermint.types.PartSetHeader.verify|verify} messages. - * @function encode - * @memberof tendermint.types.PartSetHeader - * @static - * @param {tendermint.types.IPartSetHeader} message PartSetHeader message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PartSetHeader.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.total != null && Object.hasOwnProperty.call(message, "total")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.total); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.hash); - return writer; - }; - - /** - * Encodes the specified PartSetHeader message, length delimited. Does not implicitly {@link tendermint.types.PartSetHeader.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.PartSetHeader - * @static - * @param {tendermint.types.IPartSetHeader} message PartSetHeader message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - PartSetHeader.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a PartSetHeader message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.PartSetHeader - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.PartSetHeader} PartSetHeader - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PartSetHeader.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.PartSetHeader(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.total = reader.uint32(); - break; - case 2: - message.hash = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a PartSetHeader message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.PartSetHeader - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.PartSetHeader} PartSetHeader - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - PartSetHeader.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a PartSetHeader message. - * @function verify - * @memberof tendermint.types.PartSetHeader - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - PartSetHeader.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.total != null && message.hasOwnProperty("total")) - if (!$util.isInteger(message.total)) - return "total: integer expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) - return "hash: buffer expected"; - return null; - }; - - /** - * Creates a PartSetHeader message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.PartSetHeader - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.PartSetHeader} PartSetHeader - */ - PartSetHeader.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.PartSetHeader) - return object; - let message = new $root.tendermint.types.PartSetHeader(); - if (object.total != null) - message.total = object.total >>> 0; - if (object.hash != null) - if (typeof object.hash === "string") - $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); - else if (object.hash.length) - message.hash = object.hash; - return message; - }; - - /** - * Creates a plain object from a PartSetHeader message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.PartSetHeader - * @static - * @param {tendermint.types.PartSetHeader} message PartSetHeader - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - PartSetHeader.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.total = 0; - if (options.bytes === String) - object.hash = ""; - else { - object.hash = []; - if (options.bytes !== Array) - object.hash = $util.newBuffer(object.hash); - } - } - if (message.total != null && message.hasOwnProperty("total")) - object.total = message.total; - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; - return object; - }; - - /** - * Converts this PartSetHeader to JSON. - * @function toJSON - * @memberof tendermint.types.PartSetHeader - * @instance - * @returns {Object.} JSON object - */ - PartSetHeader.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return PartSetHeader; - })(types.PartSetHeader || {}); - - types.Part = (function(Part) { - - /** - * Properties of a Part. - * @memberof tendermint.types - * @interface IPart - * @property {number|null} [index] Part index - * @property {Uint8Array|null} [bytes] Part bytes - * @property {tendermint.crypto.IProof|null} [proof] Part proof - */ - - /** - * Constructs a new Part. - * @memberof tendermint.types - * @classdesc Represents a Part. - * @implements IPart - * @constructor - * @param {tendermint.types.IPart=} [properties] Properties to set - */ - function Part(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Part index. - * @member {number} index - * @memberof tendermint.types.Part - * @instance - */ - Part.prototype.index = 0; - - /** - * Part bytes. - * @member {Uint8Array} bytes - * @memberof tendermint.types.Part - * @instance - */ - Part.prototype.bytes = $util.newBuffer([]); - - /** - * Part proof. - * @member {tendermint.crypto.IProof|null|undefined} proof - * @memberof tendermint.types.Part - * @instance - */ - Part.prototype.proof = null; - - /** - * Creates a new Part instance using the specified properties. - * @function create - * @memberof tendermint.types.Part - * @static - * @param {tendermint.types.IPart=} [properties] Properties to set - * @returns {tendermint.types.Part} Part instance - */ - Part.create = function create(properties) { - return new Part(properties); - }; - - /** - * Encodes the specified Part message. Does not implicitly {@link tendermint.types.Part.verify|verify} messages. - * @function encode - * @memberof tendermint.types.Part - * @static - * @param {tendermint.types.IPart} message Part message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Part.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.index != null && Object.hasOwnProperty.call(message, "index")) - writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.index); - if (message.bytes != null && Object.hasOwnProperty.call(message, "bytes")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.bytes); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.tendermint.crypto.Proof.encode(message.proof, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Part message, length delimited. Does not implicitly {@link tendermint.types.Part.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.Part - * @static - * @param {tendermint.types.IPart} message Part message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Part.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Part message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.Part - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.Part} Part - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Part.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Part(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.index = reader.uint32(); - break; - case 2: - message.bytes = reader.bytes(); - break; - case 3: - message.proof = $root.tendermint.crypto.Proof.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Part message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.Part - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.Part} Part - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Part.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Part message. - * @function verify - * @memberof tendermint.types.Part - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Part.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.index != null && message.hasOwnProperty("index")) - if (!$util.isInteger(message.index)) - return "index: integer expected"; - if (message.bytes != null && message.hasOwnProperty("bytes")) - if (!(message.bytes && typeof message.bytes.length === "number" || $util.isString(message.bytes))) - return "bytes: buffer expected"; - if (message.proof != null && message.hasOwnProperty("proof")) { - let error = $root.tendermint.crypto.Proof.verify(message.proof); - if (error) - return "proof." + error; - } - return null; - }; - - /** - * Creates a Part message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.Part - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.Part} Part - */ - Part.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.Part) - return object; - let message = new $root.tendermint.types.Part(); - if (object.index != null) - message.index = object.index >>> 0; - if (object.bytes != null) - if (typeof object.bytes === "string") - $util.base64.decode(object.bytes, message.bytes = $util.newBuffer($util.base64.length(object.bytes)), 0); - else if (object.bytes.length) - message.bytes = object.bytes; - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".tendermint.types.Part.proof: object expected"); - message.proof = $root.tendermint.crypto.Proof.fromObject(object.proof); - } - return message; - }; - - /** - * Creates a plain object from a Part message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.Part - * @static - * @param {tendermint.types.Part} message Part - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Part.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.index = 0; - if (options.bytes === String) - object.bytes = ""; - else { - object.bytes = []; - if (options.bytes !== Array) - object.bytes = $util.newBuffer(object.bytes); - } - object.proof = null; - } - if (message.index != null && message.hasOwnProperty("index")) - object.index = message.index; - if (message.bytes != null && message.hasOwnProperty("bytes")) - object.bytes = options.bytes === String ? $util.base64.encode(message.bytes, 0, message.bytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.bytes) : message.bytes; - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = $root.tendermint.crypto.Proof.toObject(message.proof, options); - return object; - }; - - /** - * Converts this Part to JSON. - * @function toJSON - * @memberof tendermint.types.Part - * @instance - * @returns {Object.} JSON object - */ - Part.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Part; - })(types.Part || {}); - - types.BlockID = (function(BlockID) { - - /** - * Properties of a BlockID. - * @memberof tendermint.types - * @interface IBlockID - * @property {Uint8Array|null} [hash] BlockID hash - * @property {tendermint.types.IPartSetHeader|null} [partSetHeader] BlockID partSetHeader - */ - - /** - * Constructs a new BlockID. - * @memberof tendermint.types - * @classdesc Represents a BlockID. - * @implements IBlockID - * @constructor - * @param {tendermint.types.IBlockID=} [properties] Properties to set - */ - function BlockID(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BlockID hash. - * @member {Uint8Array} hash - * @memberof tendermint.types.BlockID - * @instance - */ - BlockID.prototype.hash = $util.newBuffer([]); - - /** - * BlockID partSetHeader. - * @member {tendermint.types.IPartSetHeader|null|undefined} partSetHeader - * @memberof tendermint.types.BlockID - * @instance - */ - BlockID.prototype.partSetHeader = null; - - /** - * Creates a new BlockID instance using the specified properties. - * @function create - * @memberof tendermint.types.BlockID - * @static - * @param {tendermint.types.IBlockID=} [properties] Properties to set - * @returns {tendermint.types.BlockID} BlockID instance - */ - BlockID.create = function create(properties) { - return new BlockID(properties); - }; - - /** - * Encodes the specified BlockID message. Does not implicitly {@link tendermint.types.BlockID.verify|verify} messages. - * @function encode - * @memberof tendermint.types.BlockID - * @static - * @param {tendermint.types.IBlockID} message BlockID message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BlockID.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.hash); - if (message.partSetHeader != null && Object.hasOwnProperty.call(message, "partSetHeader")) - $root.tendermint.types.PartSetHeader.encode(message.partSetHeader, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BlockID message, length delimited. Does not implicitly {@link tendermint.types.BlockID.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.BlockID - * @static - * @param {tendermint.types.IBlockID} message BlockID message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BlockID.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BlockID message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.BlockID - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.BlockID} BlockID - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BlockID.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.BlockID(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.hash = reader.bytes(); - break; - case 2: - message.partSetHeader = $root.tendermint.types.PartSetHeader.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BlockID message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.BlockID - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.BlockID} BlockID - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BlockID.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BlockID message. - * @function verify - * @memberof tendermint.types.BlockID - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BlockID.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - if (!(message.hash && typeof message.hash.length === "number" || $util.isString(message.hash))) - return "hash: buffer expected"; - if (message.partSetHeader != null && message.hasOwnProperty("partSetHeader")) { - let error = $root.tendermint.types.PartSetHeader.verify(message.partSetHeader); - if (error) - return "partSetHeader." + error; - } - return null; - }; - - /** - * Creates a BlockID message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.BlockID - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.BlockID} BlockID - */ - BlockID.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.BlockID) - return object; - let message = new $root.tendermint.types.BlockID(); - if (object.hash != null) - if (typeof object.hash === "string") - $util.base64.decode(object.hash, message.hash = $util.newBuffer($util.base64.length(object.hash)), 0); - else if (object.hash.length) - message.hash = object.hash; - if (object.partSetHeader != null) { - if (typeof object.partSetHeader !== "object") - throw TypeError(".tendermint.types.BlockID.partSetHeader: object expected"); - message.partSetHeader = $root.tendermint.types.PartSetHeader.fromObject(object.partSetHeader); - } - return message; - }; - - /** - * Creates a plain object from a BlockID message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.BlockID - * @static - * @param {tendermint.types.BlockID} message BlockID - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BlockID.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.hash = ""; - else { - object.hash = []; - if (options.bytes !== Array) - object.hash = $util.newBuffer(object.hash); - } - object.partSetHeader = null; - } - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.bytes === String ? $util.base64.encode(message.hash, 0, message.hash.length) : options.bytes === Array ? Array.prototype.slice.call(message.hash) : message.hash; - if (message.partSetHeader != null && message.hasOwnProperty("partSetHeader")) - object.partSetHeader = $root.tendermint.types.PartSetHeader.toObject(message.partSetHeader, options); - return object; - }; - - /** - * Converts this BlockID to JSON. - * @function toJSON - * @memberof tendermint.types.BlockID - * @instance - * @returns {Object.} JSON object - */ - BlockID.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BlockID; - })(types.BlockID || {}); - - types.Header = (function(Header) { - - /** - * Properties of a Header. - * @memberof tendermint.types - * @interface IHeader - * @property {tendermint.version.IConsensus|null} [version] Header version - * @property {string|null} [chainId] Header chainId - * @property {number|Long|null} [height] Header height - * @property {google.protobuf.ITimestamp|null} [time] Header time - * @property {tendermint.types.IBlockID|null} [lastBlockId] Header lastBlockId - * @property {Uint8Array|null} [lastCommitHash] Header lastCommitHash - * @property {Uint8Array|null} [dataHash] Header dataHash - * @property {Uint8Array|null} [validatorsHash] Header validatorsHash - * @property {Uint8Array|null} [nextValidatorsHash] Header nextValidatorsHash - * @property {Uint8Array|null} [consensusHash] Header consensusHash - * @property {Uint8Array|null} [appHash] Header appHash - * @property {Uint8Array|null} [lastResultsHash] Header lastResultsHash - * @property {Uint8Array|null} [evidenceHash] Header evidenceHash - * @property {Uint8Array|null} [proposerAddress] Header proposerAddress - */ - - /** - * Constructs a new Header. - * @memberof tendermint.types - * @classdesc Represents a Header. - * @implements IHeader - * @constructor - * @param {tendermint.types.IHeader=} [properties] Properties to set - */ - function Header(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Header version. - * @member {tendermint.version.IConsensus|null|undefined} version - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.version = null; - - /** - * Header chainId. - * @member {string} chainId - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.chainId = ""; - - /** - * Header height. - * @member {number|Long} height - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Header time. - * @member {google.protobuf.ITimestamp|null|undefined} time - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.time = null; - - /** - * Header lastBlockId. - * @member {tendermint.types.IBlockID|null|undefined} lastBlockId - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.lastBlockId = null; - - /** - * Header lastCommitHash. - * @member {Uint8Array} lastCommitHash - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.lastCommitHash = $util.newBuffer([]); - - /** - * Header dataHash. - * @member {Uint8Array} dataHash - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.dataHash = $util.newBuffer([]); - - /** - * Header validatorsHash. - * @member {Uint8Array} validatorsHash - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.validatorsHash = $util.newBuffer([]); - - /** - * Header nextValidatorsHash. - * @member {Uint8Array} nextValidatorsHash - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.nextValidatorsHash = $util.newBuffer([]); - - /** - * Header consensusHash. - * @member {Uint8Array} consensusHash - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.consensusHash = $util.newBuffer([]); - - /** - * Header appHash. - * @member {Uint8Array} appHash - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.appHash = $util.newBuffer([]); - - /** - * Header lastResultsHash. - * @member {Uint8Array} lastResultsHash - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.lastResultsHash = $util.newBuffer([]); - - /** - * Header evidenceHash. - * @member {Uint8Array} evidenceHash - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.evidenceHash = $util.newBuffer([]); - - /** - * Header proposerAddress. - * @member {Uint8Array} proposerAddress - * @memberof tendermint.types.Header - * @instance - */ - Header.prototype.proposerAddress = $util.newBuffer([]); - - /** - * Creates a new Header instance using the specified properties. - * @function create - * @memberof tendermint.types.Header - * @static - * @param {tendermint.types.IHeader=} [properties] Properties to set - * @returns {tendermint.types.Header} Header instance - */ - Header.create = function create(properties) { - return new Header(properties); - }; - - /** - * Encodes the specified Header message. Does not implicitly {@link tendermint.types.Header.verify|verify} messages. - * @function encode - * @memberof tendermint.types.Header - * @static - * @param {tendermint.types.IHeader} message Header message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Header.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.version != null && Object.hasOwnProperty.call(message, "version")) - $root.tendermint.version.Consensus.encode(message.version, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.chainId != null && Object.hasOwnProperty.call(message, "chainId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.chainId); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.height); - if (message.time != null && Object.hasOwnProperty.call(message, "time")) - $root.google.protobuf.Timestamp.encode(message.time, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.lastBlockId != null && Object.hasOwnProperty.call(message, "lastBlockId")) - $root.tendermint.types.BlockID.encode(message.lastBlockId, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.lastCommitHash != null && Object.hasOwnProperty.call(message, "lastCommitHash")) - writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.lastCommitHash); - if (message.dataHash != null && Object.hasOwnProperty.call(message, "dataHash")) - writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.dataHash); - if (message.validatorsHash != null && Object.hasOwnProperty.call(message, "validatorsHash")) - writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.validatorsHash); - if (message.nextValidatorsHash != null && Object.hasOwnProperty.call(message, "nextValidatorsHash")) - writer.uint32(/* id 9, wireType 2 =*/74).bytes(message.nextValidatorsHash); - if (message.consensusHash != null && Object.hasOwnProperty.call(message, "consensusHash")) - writer.uint32(/* id 10, wireType 2 =*/82).bytes(message.consensusHash); - if (message.appHash != null && Object.hasOwnProperty.call(message, "appHash")) - writer.uint32(/* id 11, wireType 2 =*/90).bytes(message.appHash); - if (message.lastResultsHash != null && Object.hasOwnProperty.call(message, "lastResultsHash")) - writer.uint32(/* id 12, wireType 2 =*/98).bytes(message.lastResultsHash); - if (message.evidenceHash != null && Object.hasOwnProperty.call(message, "evidenceHash")) - writer.uint32(/* id 13, wireType 2 =*/106).bytes(message.evidenceHash); - if (message.proposerAddress != null && Object.hasOwnProperty.call(message, "proposerAddress")) - writer.uint32(/* id 14, wireType 2 =*/114).bytes(message.proposerAddress); - return writer; - }; - - /** - * Encodes the specified Header message, length delimited. Does not implicitly {@link tendermint.types.Header.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.Header - * @static - * @param {tendermint.types.IHeader} message Header message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Header.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Header message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.Header - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.Header} Header - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Header.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Header(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.version = $root.tendermint.version.Consensus.decode(reader, reader.uint32()); - break; - case 2: - message.chainId = reader.string(); - break; - case 3: - message.height = reader.int64(); - break; - case 4: - message.time = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 5: - message.lastBlockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); - break; - case 6: - message.lastCommitHash = reader.bytes(); - break; - case 7: - message.dataHash = reader.bytes(); - break; - case 8: - message.validatorsHash = reader.bytes(); - break; - case 9: - message.nextValidatorsHash = reader.bytes(); - break; - case 10: - message.consensusHash = reader.bytes(); - break; - case 11: - message.appHash = reader.bytes(); - break; - case 12: - message.lastResultsHash = reader.bytes(); - break; - case 13: - message.evidenceHash = reader.bytes(); - break; - case 14: - message.proposerAddress = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Header message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.Header - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.Header} Header - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Header.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Header message. - * @function verify - * @memberof tendermint.types.Header - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Header.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.version != null && message.hasOwnProperty("version")) { - let error = $root.tendermint.version.Consensus.verify(message.version); - if (error) - return "version." + error; - } - if (message.chainId != null && message.hasOwnProperty("chainId")) - if (!$util.isString(message.chainId)) - return "chainId: string expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.time != null && message.hasOwnProperty("time")) { - let error = $root.google.protobuf.Timestamp.verify(message.time); - if (error) - return "time." + error; - } - if (message.lastBlockId != null && message.hasOwnProperty("lastBlockId")) { - let error = $root.tendermint.types.BlockID.verify(message.lastBlockId); - if (error) - return "lastBlockId." + error; - } - if (message.lastCommitHash != null && message.hasOwnProperty("lastCommitHash")) - if (!(message.lastCommitHash && typeof message.lastCommitHash.length === "number" || $util.isString(message.lastCommitHash))) - return "lastCommitHash: buffer expected"; - if (message.dataHash != null && message.hasOwnProperty("dataHash")) - if (!(message.dataHash && typeof message.dataHash.length === "number" || $util.isString(message.dataHash))) - return "dataHash: buffer expected"; - if (message.validatorsHash != null && message.hasOwnProperty("validatorsHash")) - if (!(message.validatorsHash && typeof message.validatorsHash.length === "number" || $util.isString(message.validatorsHash))) - return "validatorsHash: buffer expected"; - if (message.nextValidatorsHash != null && message.hasOwnProperty("nextValidatorsHash")) - if (!(message.nextValidatorsHash && typeof message.nextValidatorsHash.length === "number" || $util.isString(message.nextValidatorsHash))) - return "nextValidatorsHash: buffer expected"; - if (message.consensusHash != null && message.hasOwnProperty("consensusHash")) - if (!(message.consensusHash && typeof message.consensusHash.length === "number" || $util.isString(message.consensusHash))) - return "consensusHash: buffer expected"; - if (message.appHash != null && message.hasOwnProperty("appHash")) - if (!(message.appHash && typeof message.appHash.length === "number" || $util.isString(message.appHash))) - return "appHash: buffer expected"; - if (message.lastResultsHash != null && message.hasOwnProperty("lastResultsHash")) - if (!(message.lastResultsHash && typeof message.lastResultsHash.length === "number" || $util.isString(message.lastResultsHash))) - return "lastResultsHash: buffer expected"; - if (message.evidenceHash != null && message.hasOwnProperty("evidenceHash")) - if (!(message.evidenceHash && typeof message.evidenceHash.length === "number" || $util.isString(message.evidenceHash))) - return "evidenceHash: buffer expected"; - if (message.proposerAddress != null && message.hasOwnProperty("proposerAddress")) - if (!(message.proposerAddress && typeof message.proposerAddress.length === "number" || $util.isString(message.proposerAddress))) - return "proposerAddress: buffer expected"; - return null; - }; - - /** - * Creates a Header message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.Header - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.Header} Header - */ - Header.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.Header) - return object; - let message = new $root.tendermint.types.Header(); - if (object.version != null) { - if (typeof object.version !== "object") - throw TypeError(".tendermint.types.Header.version: object expected"); - message.version = $root.tendermint.version.Consensus.fromObject(object.version); - } - if (object.chainId != null) - message.chainId = String(object.chainId); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.time != null) { - if (typeof object.time !== "object") - throw TypeError(".tendermint.types.Header.time: object expected"); - message.time = $root.google.protobuf.Timestamp.fromObject(object.time); - } - if (object.lastBlockId != null) { - if (typeof object.lastBlockId !== "object") - throw TypeError(".tendermint.types.Header.lastBlockId: object expected"); - message.lastBlockId = $root.tendermint.types.BlockID.fromObject(object.lastBlockId); - } - if (object.lastCommitHash != null) - if (typeof object.lastCommitHash === "string") - $util.base64.decode(object.lastCommitHash, message.lastCommitHash = $util.newBuffer($util.base64.length(object.lastCommitHash)), 0); - else if (object.lastCommitHash.length) - message.lastCommitHash = object.lastCommitHash; - if (object.dataHash != null) - if (typeof object.dataHash === "string") - $util.base64.decode(object.dataHash, message.dataHash = $util.newBuffer($util.base64.length(object.dataHash)), 0); - else if (object.dataHash.length) - message.dataHash = object.dataHash; - if (object.validatorsHash != null) - if (typeof object.validatorsHash === "string") - $util.base64.decode(object.validatorsHash, message.validatorsHash = $util.newBuffer($util.base64.length(object.validatorsHash)), 0); - else if (object.validatorsHash.length) - message.validatorsHash = object.validatorsHash; - if (object.nextValidatorsHash != null) - if (typeof object.nextValidatorsHash === "string") - $util.base64.decode(object.nextValidatorsHash, message.nextValidatorsHash = $util.newBuffer($util.base64.length(object.nextValidatorsHash)), 0); - else if (object.nextValidatorsHash.length) - message.nextValidatorsHash = object.nextValidatorsHash; - if (object.consensusHash != null) - if (typeof object.consensusHash === "string") - $util.base64.decode(object.consensusHash, message.consensusHash = $util.newBuffer($util.base64.length(object.consensusHash)), 0); - else if (object.consensusHash.length) - message.consensusHash = object.consensusHash; - if (object.appHash != null) - if (typeof object.appHash === "string") - $util.base64.decode(object.appHash, message.appHash = $util.newBuffer($util.base64.length(object.appHash)), 0); - else if (object.appHash.length) - message.appHash = object.appHash; - if (object.lastResultsHash != null) - if (typeof object.lastResultsHash === "string") - $util.base64.decode(object.lastResultsHash, message.lastResultsHash = $util.newBuffer($util.base64.length(object.lastResultsHash)), 0); - else if (object.lastResultsHash.length) - message.lastResultsHash = object.lastResultsHash; - if (object.evidenceHash != null) - if (typeof object.evidenceHash === "string") - $util.base64.decode(object.evidenceHash, message.evidenceHash = $util.newBuffer($util.base64.length(object.evidenceHash)), 0); - else if (object.evidenceHash.length) - message.evidenceHash = object.evidenceHash; - if (object.proposerAddress != null) - if (typeof object.proposerAddress === "string") - $util.base64.decode(object.proposerAddress, message.proposerAddress = $util.newBuffer($util.base64.length(object.proposerAddress)), 0); - else if (object.proposerAddress.length) - message.proposerAddress = object.proposerAddress; - return message; - }; - - /** - * Creates a plain object from a Header message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.Header - * @static - * @param {tendermint.types.Header} message Header - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Header.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.version = null; - object.chainId = ""; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.time = null; - object.lastBlockId = null; - if (options.bytes === String) - object.lastCommitHash = ""; - else { - object.lastCommitHash = []; - if (options.bytes !== Array) - object.lastCommitHash = $util.newBuffer(object.lastCommitHash); - } - if (options.bytes === String) - object.dataHash = ""; - else { - object.dataHash = []; - if (options.bytes !== Array) - object.dataHash = $util.newBuffer(object.dataHash); - } - if (options.bytes === String) - object.validatorsHash = ""; - else { - object.validatorsHash = []; - if (options.bytes !== Array) - object.validatorsHash = $util.newBuffer(object.validatorsHash); - } - if (options.bytes === String) - object.nextValidatorsHash = ""; - else { - object.nextValidatorsHash = []; - if (options.bytes !== Array) - object.nextValidatorsHash = $util.newBuffer(object.nextValidatorsHash); - } - if (options.bytes === String) - object.consensusHash = ""; - else { - object.consensusHash = []; - if (options.bytes !== Array) - object.consensusHash = $util.newBuffer(object.consensusHash); - } - if (options.bytes === String) - object.appHash = ""; - else { - object.appHash = []; - if (options.bytes !== Array) - object.appHash = $util.newBuffer(object.appHash); - } - if (options.bytes === String) - object.lastResultsHash = ""; - else { - object.lastResultsHash = []; - if (options.bytes !== Array) - object.lastResultsHash = $util.newBuffer(object.lastResultsHash); - } - if (options.bytes === String) - object.evidenceHash = ""; - else { - object.evidenceHash = []; - if (options.bytes !== Array) - object.evidenceHash = $util.newBuffer(object.evidenceHash); - } - if (options.bytes === String) - object.proposerAddress = ""; - else { - object.proposerAddress = []; - if (options.bytes !== Array) - object.proposerAddress = $util.newBuffer(object.proposerAddress); - } - } - if (message.version != null && message.hasOwnProperty("version")) - object.version = $root.tendermint.version.Consensus.toObject(message.version, options); - if (message.chainId != null && message.hasOwnProperty("chainId")) - object.chainId = message.chainId; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.time != null && message.hasOwnProperty("time")) - object.time = $root.google.protobuf.Timestamp.toObject(message.time, options); - if (message.lastBlockId != null && message.hasOwnProperty("lastBlockId")) - object.lastBlockId = $root.tendermint.types.BlockID.toObject(message.lastBlockId, options); - if (message.lastCommitHash != null && message.hasOwnProperty("lastCommitHash")) - object.lastCommitHash = options.bytes === String ? $util.base64.encode(message.lastCommitHash, 0, message.lastCommitHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastCommitHash) : message.lastCommitHash; - if (message.dataHash != null && message.hasOwnProperty("dataHash")) - object.dataHash = options.bytes === String ? $util.base64.encode(message.dataHash, 0, message.dataHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.dataHash) : message.dataHash; - if (message.validatorsHash != null && message.hasOwnProperty("validatorsHash")) - object.validatorsHash = options.bytes === String ? $util.base64.encode(message.validatorsHash, 0, message.validatorsHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.validatorsHash) : message.validatorsHash; - if (message.nextValidatorsHash != null && message.hasOwnProperty("nextValidatorsHash")) - object.nextValidatorsHash = options.bytes === String ? $util.base64.encode(message.nextValidatorsHash, 0, message.nextValidatorsHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.nextValidatorsHash) : message.nextValidatorsHash; - if (message.consensusHash != null && message.hasOwnProperty("consensusHash")) - object.consensusHash = options.bytes === String ? $util.base64.encode(message.consensusHash, 0, message.consensusHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.consensusHash) : message.consensusHash; - if (message.appHash != null && message.hasOwnProperty("appHash")) - object.appHash = options.bytes === String ? $util.base64.encode(message.appHash, 0, message.appHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.appHash) : message.appHash; - if (message.lastResultsHash != null && message.hasOwnProperty("lastResultsHash")) - object.lastResultsHash = options.bytes === String ? $util.base64.encode(message.lastResultsHash, 0, message.lastResultsHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.lastResultsHash) : message.lastResultsHash; - if (message.evidenceHash != null && message.hasOwnProperty("evidenceHash")) - object.evidenceHash = options.bytes === String ? $util.base64.encode(message.evidenceHash, 0, message.evidenceHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.evidenceHash) : message.evidenceHash; - if (message.proposerAddress != null && message.hasOwnProperty("proposerAddress")) - object.proposerAddress = options.bytes === String ? $util.base64.encode(message.proposerAddress, 0, message.proposerAddress.length) : options.bytes === Array ? Array.prototype.slice.call(message.proposerAddress) : message.proposerAddress; - return object; - }; - - /** - * Converts this Header to JSON. - * @function toJSON - * @memberof tendermint.types.Header - * @instance - * @returns {Object.} JSON object - */ - Header.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Header; - })(types.Header || {}); - - types.Data = (function(Data) { - - /** - * Properties of a Data. - * @memberof tendermint.types - * @interface IData - * @property {Array.|null} [txs] Data txs - */ - - /** - * Constructs a new Data. - * @memberof tendermint.types - * @classdesc Represents a Data. - * @implements IData - * @constructor - * @param {tendermint.types.IData=} [properties] Properties to set - */ - function Data(properties) { - this.txs = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Data txs. - * @member {Array.} txs - * @memberof tendermint.types.Data - * @instance - */ - Data.prototype.txs = $util.emptyArray; - - /** - * Creates a new Data instance using the specified properties. - * @function create - * @memberof tendermint.types.Data - * @static - * @param {tendermint.types.IData=} [properties] Properties to set - * @returns {tendermint.types.Data} Data instance - */ - Data.create = function create(properties) { - return new Data(properties); - }; - - /** - * Encodes the specified Data message. Does not implicitly {@link tendermint.types.Data.verify|verify} messages. - * @function encode - * @memberof tendermint.types.Data - * @static - * @param {tendermint.types.IData} message Data message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Data.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.txs != null && message.txs.length) - for (let i = 0; i < message.txs.length; ++i) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.txs[i]); - return writer; - }; - - /** - * Encodes the specified Data message, length delimited. Does not implicitly {@link tendermint.types.Data.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.Data - * @static - * @param {tendermint.types.IData} message Data message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Data.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Data message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.Data - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.Data} Data - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Data.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Data(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.txs && message.txs.length)) - message.txs = []; - message.txs.push(reader.bytes()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Data message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.Data - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.Data} Data - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Data.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Data message. - * @function verify - * @memberof tendermint.types.Data - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Data.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.txs != null && message.hasOwnProperty("txs")) { - if (!Array.isArray(message.txs)) - return "txs: array expected"; - for (let i = 0; i < message.txs.length; ++i) - if (!(message.txs[i] && typeof message.txs[i].length === "number" || $util.isString(message.txs[i]))) - return "txs: buffer[] expected"; - } - return null; - }; - - /** - * Creates a Data message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.Data - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.Data} Data - */ - Data.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.Data) - return object; - let message = new $root.tendermint.types.Data(); - if (object.txs) { - if (!Array.isArray(object.txs)) - throw TypeError(".tendermint.types.Data.txs: array expected"); - message.txs = []; - for (let i = 0; i < object.txs.length; ++i) - if (typeof object.txs[i] === "string") - $util.base64.decode(object.txs[i], message.txs[i] = $util.newBuffer($util.base64.length(object.txs[i])), 0); - else if (object.txs[i].length) - message.txs[i] = object.txs[i]; - } - return message; - }; - - /** - * Creates a plain object from a Data message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.Data - * @static - * @param {tendermint.types.Data} message Data - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Data.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.txs = []; - if (message.txs && message.txs.length) { - object.txs = []; - for (let j = 0; j < message.txs.length; ++j) - object.txs[j] = options.bytes === String ? $util.base64.encode(message.txs[j], 0, message.txs[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.txs[j]) : message.txs[j]; - } - return object; - }; - - /** - * Converts this Data to JSON. - * @function toJSON - * @memberof tendermint.types.Data - * @instance - * @returns {Object.} JSON object - */ - Data.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Data; - })(types.Data || {}); - - types.Vote = (function(Vote) { - - /** - * Properties of a Vote. - * @memberof tendermint.types - * @interface IVote - * @property {tendermint.types.SignedMsgType|null} [type] Vote type - * @property {number|Long|null} [height] Vote height - * @property {number|null} [round] Vote round - * @property {tendermint.types.IBlockID|null} [blockId] Vote blockId - * @property {google.protobuf.ITimestamp|null} [timestamp] Vote timestamp - * @property {Uint8Array|null} [validatorAddress] Vote validatorAddress - * @property {number|null} [validatorIndex] Vote validatorIndex - * @property {Uint8Array|null} [signature] Vote signature - */ - - /** - * Constructs a new Vote. - * @memberof tendermint.types - * @classdesc Represents a Vote. - * @implements IVote - * @constructor - * @param {tendermint.types.IVote=} [properties] Properties to set - */ - function Vote(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Vote type. - * @member {tendermint.types.SignedMsgType} type - * @memberof tendermint.types.Vote - * @instance - */ - Vote.prototype.type = 0; - - /** - * Vote height. - * @member {number|Long} height - * @memberof tendermint.types.Vote - * @instance - */ - Vote.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Vote round. - * @member {number} round - * @memberof tendermint.types.Vote - * @instance - */ - Vote.prototype.round = 0; - - /** - * Vote blockId. - * @member {tendermint.types.IBlockID|null|undefined} blockId - * @memberof tendermint.types.Vote - * @instance - */ - Vote.prototype.blockId = null; - - /** - * Vote timestamp. - * @member {google.protobuf.ITimestamp|null|undefined} timestamp - * @memberof tendermint.types.Vote - * @instance - */ - Vote.prototype.timestamp = null; - - /** - * Vote validatorAddress. - * @member {Uint8Array} validatorAddress - * @memberof tendermint.types.Vote - * @instance - */ - Vote.prototype.validatorAddress = $util.newBuffer([]); - - /** - * Vote validatorIndex. - * @member {number} validatorIndex - * @memberof tendermint.types.Vote - * @instance - */ - Vote.prototype.validatorIndex = 0; - - /** - * Vote signature. - * @member {Uint8Array} signature - * @memberof tendermint.types.Vote - * @instance - */ - Vote.prototype.signature = $util.newBuffer([]); - - /** - * Creates a new Vote instance using the specified properties. - * @function create - * @memberof tendermint.types.Vote - * @static - * @param {tendermint.types.IVote=} [properties] Properties to set - * @returns {tendermint.types.Vote} Vote instance - */ - Vote.create = function create(properties) { - return new Vote(properties); - }; - - /** - * Encodes the specified Vote message. Does not implicitly {@link tendermint.types.Vote.verify|verify} messages. - * @function encode - * @memberof tendermint.types.Vote - * @static - * @param {tendermint.types.IVote} message Vote message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Vote.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.height); - if (message.round != null && Object.hasOwnProperty.call(message, "round")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.round); - if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) - $root.tendermint.types.BlockID.encode(message.blockId, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) - $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.validatorAddress); - if (message.validatorIndex != null && Object.hasOwnProperty.call(message, "validatorIndex")) - writer.uint32(/* id 7, wireType 0 =*/56).int32(message.validatorIndex); - if (message.signature != null && Object.hasOwnProperty.call(message, "signature")) - writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.signature); - return writer; - }; - - /** - * Encodes the specified Vote message, length delimited. Does not implicitly {@link tendermint.types.Vote.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.Vote - * @static - * @param {tendermint.types.IVote} message Vote message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Vote.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Vote message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.Vote - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.Vote} Vote - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Vote.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Vote(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.height = reader.int64(); - break; - case 3: - message.round = reader.int32(); - break; - case 4: - message.blockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); - break; - case 5: - message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 6: - message.validatorAddress = reader.bytes(); - break; - case 7: - message.validatorIndex = reader.int32(); - break; - case 8: - message.signature = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Vote message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.Vote - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.Vote} Vote - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Vote.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Vote message. - * @function verify - * @memberof tendermint.types.Vote - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Vote.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - switch (message.type) { - default: - return "type: enum value expected"; - case 0: - case 1: - case 2: - case 32: - break; - } - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.round != null && message.hasOwnProperty("round")) - if (!$util.isInteger(message.round)) - return "round: integer expected"; - if (message.blockId != null && message.hasOwnProperty("blockId")) { - let error = $root.tendermint.types.BlockID.verify(message.blockId); - if (error) - return "blockId." + error; - } - if (message.timestamp != null && message.hasOwnProperty("timestamp")) { - let error = $root.google.protobuf.Timestamp.verify(message.timestamp); - if (error) - return "timestamp." + error; - } - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!(message.validatorAddress && typeof message.validatorAddress.length === "number" || $util.isString(message.validatorAddress))) - return "validatorAddress: buffer expected"; - if (message.validatorIndex != null && message.hasOwnProperty("validatorIndex")) - if (!$util.isInteger(message.validatorIndex)) - return "validatorIndex: integer expected"; - if (message.signature != null && message.hasOwnProperty("signature")) - if (!(message.signature && typeof message.signature.length === "number" || $util.isString(message.signature))) - return "signature: buffer expected"; - return null; - }; - - /** - * Creates a Vote message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.Vote - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.Vote} Vote - */ - Vote.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.Vote) - return object; - let message = new $root.tendermint.types.Vote(); - switch (object.type) { - case "SIGNED_MSG_TYPE_UNKNOWN": - case 0: - message.type = 0; - break; - case "SIGNED_MSG_TYPE_PREVOTE": - case 1: - message.type = 1; - break; - case "SIGNED_MSG_TYPE_PRECOMMIT": - case 2: - message.type = 2; - break; - case "SIGNED_MSG_TYPE_PROPOSAL": - case 32: - message.type = 32; - break; - } - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.round != null) - message.round = object.round | 0; - if (object.blockId != null) { - if (typeof object.blockId !== "object") - throw TypeError(".tendermint.types.Vote.blockId: object expected"); - message.blockId = $root.tendermint.types.BlockID.fromObject(object.blockId); - } - if (object.timestamp != null) { - if (typeof object.timestamp !== "object") - throw TypeError(".tendermint.types.Vote.timestamp: object expected"); - message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); - } - if (object.validatorAddress != null) - if (typeof object.validatorAddress === "string") - $util.base64.decode(object.validatorAddress, message.validatorAddress = $util.newBuffer($util.base64.length(object.validatorAddress)), 0); - else if (object.validatorAddress.length) - message.validatorAddress = object.validatorAddress; - if (object.validatorIndex != null) - message.validatorIndex = object.validatorIndex | 0; - if (object.signature != null) - if (typeof object.signature === "string") - $util.base64.decode(object.signature, message.signature = $util.newBuffer($util.base64.length(object.signature)), 0); - else if (object.signature.length) - message.signature = object.signature; - return message; - }; - - /** - * Creates a plain object from a Vote message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.Vote - * @static - * @param {tendermint.types.Vote} message Vote - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Vote.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.type = options.enums === String ? "SIGNED_MSG_TYPE_UNKNOWN" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.round = 0; - object.blockId = null; - object.timestamp = null; - if (options.bytes === String) - object.validatorAddress = ""; - else { - object.validatorAddress = []; - if (options.bytes !== Array) - object.validatorAddress = $util.newBuffer(object.validatorAddress); - } - object.validatorIndex = 0; - if (options.bytes === String) - object.signature = ""; - else { - object.signature = []; - if (options.bytes !== Array) - object.signature = $util.newBuffer(object.signature); - } - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.tendermint.types.SignedMsgType[message.type] : message.type; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.round != null && message.hasOwnProperty("round")) - object.round = message.round; - if (message.blockId != null && message.hasOwnProperty("blockId")) - object.blockId = $root.tendermint.types.BlockID.toObject(message.blockId, options); - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = options.bytes === String ? $util.base64.encode(message.validatorAddress, 0, message.validatorAddress.length) : options.bytes === Array ? Array.prototype.slice.call(message.validatorAddress) : message.validatorAddress; - if (message.validatorIndex != null && message.hasOwnProperty("validatorIndex")) - object.validatorIndex = message.validatorIndex; - if (message.signature != null && message.hasOwnProperty("signature")) - object.signature = options.bytes === String ? $util.base64.encode(message.signature, 0, message.signature.length) : options.bytes === Array ? Array.prototype.slice.call(message.signature) : message.signature; - return object; - }; - - /** - * Converts this Vote to JSON. - * @function toJSON - * @memberof tendermint.types.Vote - * @instance - * @returns {Object.} JSON object - */ - Vote.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Vote; - })(types.Vote || {}); - - types.Commit = (function(Commit) { - - /** - * Properties of a Commit. - * @memberof tendermint.types - * @interface ICommit - * @property {number|Long|null} [height] Commit height - * @property {number|null} [round] Commit round - * @property {tendermint.types.IBlockID|null} [blockId] Commit blockId - * @property {Array.|null} [signatures] Commit signatures - */ - - /** - * Constructs a new Commit. - * @memberof tendermint.types - * @classdesc Represents a Commit. - * @implements ICommit - * @constructor - * @param {tendermint.types.ICommit=} [properties] Properties to set - */ - function Commit(properties) { - this.signatures = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Commit height. - * @member {number|Long} height - * @memberof tendermint.types.Commit - * @instance - */ - Commit.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Commit round. - * @member {number} round - * @memberof tendermint.types.Commit - * @instance - */ - Commit.prototype.round = 0; - - /** - * Commit blockId. - * @member {tendermint.types.IBlockID|null|undefined} blockId - * @memberof tendermint.types.Commit - * @instance - */ - Commit.prototype.blockId = null; - - /** - * Commit signatures. - * @member {Array.} signatures - * @memberof tendermint.types.Commit - * @instance - */ - Commit.prototype.signatures = $util.emptyArray; - - /** - * Creates a new Commit instance using the specified properties. - * @function create - * @memberof tendermint.types.Commit - * @static - * @param {tendermint.types.ICommit=} [properties] Properties to set - * @returns {tendermint.types.Commit} Commit instance - */ - Commit.create = function create(properties) { - return new Commit(properties); - }; - - /** - * Encodes the specified Commit message. Does not implicitly {@link tendermint.types.Commit.verify|verify} messages. - * @function encode - * @memberof tendermint.types.Commit - * @static - * @param {tendermint.types.ICommit} message Commit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Commit.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.height); - if (message.round != null && Object.hasOwnProperty.call(message, "round")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.round); - if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) - $root.tendermint.types.BlockID.encode(message.blockId, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.signatures != null && message.signatures.length) - for (let i = 0; i < message.signatures.length; ++i) - $root.tendermint.types.CommitSig.encode(message.signatures[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified Commit message, length delimited. Does not implicitly {@link tendermint.types.Commit.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.Commit - * @static - * @param {tendermint.types.ICommit} message Commit message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Commit.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Commit message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.Commit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.Commit} Commit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Commit.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Commit(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.height = reader.int64(); - break; - case 2: - message.round = reader.int32(); - break; - case 3: - message.blockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.signatures && message.signatures.length)) - message.signatures = []; - message.signatures.push($root.tendermint.types.CommitSig.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Commit message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.Commit - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.Commit} Commit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Commit.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Commit message. - * @function verify - * @memberof tendermint.types.Commit - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Commit.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.round != null && message.hasOwnProperty("round")) - if (!$util.isInteger(message.round)) - return "round: integer expected"; - if (message.blockId != null && message.hasOwnProperty("blockId")) { - let error = $root.tendermint.types.BlockID.verify(message.blockId); - if (error) - return "blockId." + error; - } - if (message.signatures != null && message.hasOwnProperty("signatures")) { - if (!Array.isArray(message.signatures)) - return "signatures: array expected"; - for (let i = 0; i < message.signatures.length; ++i) { - let error = $root.tendermint.types.CommitSig.verify(message.signatures[i]); - if (error) - return "signatures." + error; - } - } - return null; - }; - - /** - * Creates a Commit message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.Commit - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.Commit} Commit - */ - Commit.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.Commit) - return object; - let message = new $root.tendermint.types.Commit(); - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.round != null) - message.round = object.round | 0; - if (object.blockId != null) { - if (typeof object.blockId !== "object") - throw TypeError(".tendermint.types.Commit.blockId: object expected"); - message.blockId = $root.tendermint.types.BlockID.fromObject(object.blockId); - } - if (object.signatures) { - if (!Array.isArray(object.signatures)) - throw TypeError(".tendermint.types.Commit.signatures: array expected"); - message.signatures = []; - for (let i = 0; i < object.signatures.length; ++i) { - if (typeof object.signatures[i] !== "object") - throw TypeError(".tendermint.types.Commit.signatures: object expected"); - message.signatures[i] = $root.tendermint.types.CommitSig.fromObject(object.signatures[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a Commit message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.Commit - * @static - * @param {tendermint.types.Commit} message Commit - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Commit.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.signatures = []; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.round = 0; - object.blockId = null; - } - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.round != null && message.hasOwnProperty("round")) - object.round = message.round; - if (message.blockId != null && message.hasOwnProperty("blockId")) - object.blockId = $root.tendermint.types.BlockID.toObject(message.blockId, options); - if (message.signatures && message.signatures.length) { - object.signatures = []; - for (let j = 0; j < message.signatures.length; ++j) - object.signatures[j] = $root.tendermint.types.CommitSig.toObject(message.signatures[j], options); - } - return object; - }; - - /** - * Converts this Commit to JSON. - * @function toJSON - * @memberof tendermint.types.Commit - * @instance - * @returns {Object.} JSON object - */ - Commit.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Commit; - })(types.Commit || {}); - - types.CommitSig = (function(CommitSig) { - - /** - * Properties of a CommitSig. - * @memberof tendermint.types - * @interface ICommitSig - * @property {tendermint.types.BlockIDFlag|null} [blockIdFlag] CommitSig blockIdFlag - * @property {Uint8Array|null} [validatorAddress] CommitSig validatorAddress - * @property {google.protobuf.ITimestamp|null} [timestamp] CommitSig timestamp - * @property {Uint8Array|null} [signature] CommitSig signature - */ - - /** - * Constructs a new CommitSig. - * @memberof tendermint.types - * @classdesc Represents a CommitSig. - * @implements ICommitSig - * @constructor - * @param {tendermint.types.ICommitSig=} [properties] Properties to set - */ - function CommitSig(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CommitSig blockIdFlag. - * @member {tendermint.types.BlockIDFlag} blockIdFlag - * @memberof tendermint.types.CommitSig - * @instance - */ - CommitSig.prototype.blockIdFlag = 0; - - /** - * CommitSig validatorAddress. - * @member {Uint8Array} validatorAddress - * @memberof tendermint.types.CommitSig - * @instance - */ - CommitSig.prototype.validatorAddress = $util.newBuffer([]); - - /** - * CommitSig timestamp. - * @member {google.protobuf.ITimestamp|null|undefined} timestamp - * @memberof tendermint.types.CommitSig - * @instance - */ - CommitSig.prototype.timestamp = null; - - /** - * CommitSig signature. - * @member {Uint8Array} signature - * @memberof tendermint.types.CommitSig - * @instance - */ - CommitSig.prototype.signature = $util.newBuffer([]); - - /** - * Creates a new CommitSig instance using the specified properties. - * @function create - * @memberof tendermint.types.CommitSig - * @static - * @param {tendermint.types.ICommitSig=} [properties] Properties to set - * @returns {tendermint.types.CommitSig} CommitSig instance - */ - CommitSig.create = function create(properties) { - return new CommitSig(properties); - }; - - /** - * Encodes the specified CommitSig message. Does not implicitly {@link tendermint.types.CommitSig.verify|verify} messages. - * @function encode - * @memberof tendermint.types.CommitSig - * @static - * @param {tendermint.types.ICommitSig} message CommitSig message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommitSig.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.blockIdFlag != null && Object.hasOwnProperty.call(message, "blockIdFlag")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.blockIdFlag); - if (message.validatorAddress != null && Object.hasOwnProperty.call(message, "validatorAddress")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.validatorAddress); - if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) - $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.signature != null && Object.hasOwnProperty.call(message, "signature")) - writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.signature); - return writer; - }; - - /** - * Encodes the specified CommitSig message, length delimited. Does not implicitly {@link tendermint.types.CommitSig.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.CommitSig - * @static - * @param {tendermint.types.ICommitSig} message CommitSig message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommitSig.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CommitSig message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.CommitSig - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.CommitSig} CommitSig - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommitSig.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.CommitSig(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.blockIdFlag = reader.int32(); - break; - case 2: - message.validatorAddress = reader.bytes(); - break; - case 3: - message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 4: - message.signature = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CommitSig message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.CommitSig - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.CommitSig} CommitSig - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommitSig.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CommitSig message. - * @function verify - * @memberof tendermint.types.CommitSig - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CommitSig.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.blockIdFlag != null && message.hasOwnProperty("blockIdFlag")) - switch (message.blockIdFlag) { - default: - return "blockIdFlag: enum value expected"; - case 0: - case 1: - case 2: - case 3: - break; - } - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - if (!(message.validatorAddress && typeof message.validatorAddress.length === "number" || $util.isString(message.validatorAddress))) - return "validatorAddress: buffer expected"; - if (message.timestamp != null && message.hasOwnProperty("timestamp")) { - let error = $root.google.protobuf.Timestamp.verify(message.timestamp); - if (error) - return "timestamp." + error; - } - if (message.signature != null && message.hasOwnProperty("signature")) - if (!(message.signature && typeof message.signature.length === "number" || $util.isString(message.signature))) - return "signature: buffer expected"; - return null; - }; - - /** - * Creates a CommitSig message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.CommitSig - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.CommitSig} CommitSig - */ - CommitSig.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.CommitSig) - return object; - let message = new $root.tendermint.types.CommitSig(); - switch (object.blockIdFlag) { - case "BLOCK_ID_FLAG_UNKNOWN": - case 0: - message.blockIdFlag = 0; - break; - case "BLOCK_ID_FLAG_ABSENT": - case 1: - message.blockIdFlag = 1; - break; - case "BLOCK_ID_FLAG_COMMIT": - case 2: - message.blockIdFlag = 2; - break; - case "BLOCK_ID_FLAG_NIL": - case 3: - message.blockIdFlag = 3; - break; - } - if (object.validatorAddress != null) - if (typeof object.validatorAddress === "string") - $util.base64.decode(object.validatorAddress, message.validatorAddress = $util.newBuffer($util.base64.length(object.validatorAddress)), 0); - else if (object.validatorAddress.length) - message.validatorAddress = object.validatorAddress; - if (object.timestamp != null) { - if (typeof object.timestamp !== "object") - throw TypeError(".tendermint.types.CommitSig.timestamp: object expected"); - message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); - } - if (object.signature != null) - if (typeof object.signature === "string") - $util.base64.decode(object.signature, message.signature = $util.newBuffer($util.base64.length(object.signature)), 0); - else if (object.signature.length) - message.signature = object.signature; - return message; - }; - - /** - * Creates a plain object from a CommitSig message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.CommitSig - * @static - * @param {tendermint.types.CommitSig} message CommitSig - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CommitSig.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.blockIdFlag = options.enums === String ? "BLOCK_ID_FLAG_UNKNOWN" : 0; - if (options.bytes === String) - object.validatorAddress = ""; - else { - object.validatorAddress = []; - if (options.bytes !== Array) - object.validatorAddress = $util.newBuffer(object.validatorAddress); - } - object.timestamp = null; - if (options.bytes === String) - object.signature = ""; - else { - object.signature = []; - if (options.bytes !== Array) - object.signature = $util.newBuffer(object.signature); - } - } - if (message.blockIdFlag != null && message.hasOwnProperty("blockIdFlag")) - object.blockIdFlag = options.enums === String ? $root.tendermint.types.BlockIDFlag[message.blockIdFlag] : message.blockIdFlag; - if (message.validatorAddress != null && message.hasOwnProperty("validatorAddress")) - object.validatorAddress = options.bytes === String ? $util.base64.encode(message.validatorAddress, 0, message.validatorAddress.length) : options.bytes === Array ? Array.prototype.slice.call(message.validatorAddress) : message.validatorAddress; - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); - if (message.signature != null && message.hasOwnProperty("signature")) - object.signature = options.bytes === String ? $util.base64.encode(message.signature, 0, message.signature.length) : options.bytes === Array ? Array.prototype.slice.call(message.signature) : message.signature; - return object; - }; - - /** - * Converts this CommitSig to JSON. - * @function toJSON - * @memberof tendermint.types.CommitSig - * @instance - * @returns {Object.} JSON object - */ - CommitSig.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CommitSig; - })(types.CommitSig || {}); - - types.Proposal = (function(Proposal) { - - /** - * Properties of a Proposal. - * @memberof tendermint.types - * @interface IProposal - * @property {tendermint.types.SignedMsgType|null} [type] Proposal type - * @property {number|Long|null} [height] Proposal height - * @property {number|null} [round] Proposal round - * @property {number|null} [polRound] Proposal polRound - * @property {tendermint.types.IBlockID|null} [blockId] Proposal blockId - * @property {google.protobuf.ITimestamp|null} [timestamp] Proposal timestamp - * @property {Uint8Array|null} [signature] Proposal signature - */ - - /** - * Constructs a new Proposal. - * @memberof tendermint.types - * @classdesc Represents a Proposal. - * @implements IProposal - * @constructor - * @param {tendermint.types.IProposal=} [properties] Properties to set - */ - function Proposal(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Proposal type. - * @member {tendermint.types.SignedMsgType} type - * @memberof tendermint.types.Proposal - * @instance - */ - Proposal.prototype.type = 0; - - /** - * Proposal height. - * @member {number|Long} height - * @memberof tendermint.types.Proposal - * @instance - */ - Proposal.prototype.height = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Proposal round. - * @member {number} round - * @memberof tendermint.types.Proposal - * @instance - */ - Proposal.prototype.round = 0; - - /** - * Proposal polRound. - * @member {number} polRound - * @memberof tendermint.types.Proposal - * @instance - */ - Proposal.prototype.polRound = 0; - - /** - * Proposal blockId. - * @member {tendermint.types.IBlockID|null|undefined} blockId - * @memberof tendermint.types.Proposal - * @instance - */ - Proposal.prototype.blockId = null; - - /** - * Proposal timestamp. - * @member {google.protobuf.ITimestamp|null|undefined} timestamp - * @memberof tendermint.types.Proposal - * @instance - */ - Proposal.prototype.timestamp = null; - - /** - * Proposal signature. - * @member {Uint8Array} signature - * @memberof tendermint.types.Proposal - * @instance - */ - Proposal.prototype.signature = $util.newBuffer([]); - - /** - * Creates a new Proposal instance using the specified properties. - * @function create - * @memberof tendermint.types.Proposal - * @static - * @param {tendermint.types.IProposal=} [properties] Properties to set - * @returns {tendermint.types.Proposal} Proposal instance - */ - Proposal.create = function create(properties) { - return new Proposal(properties); - }; - - /** - * Encodes the specified Proposal message. Does not implicitly {@link tendermint.types.Proposal.verify|verify} messages. - * @function encode - * @memberof tendermint.types.Proposal - * @static - * @param {tendermint.types.IProposal} message Proposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Proposal.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.type != null && Object.hasOwnProperty.call(message, "type")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); - if (message.height != null && Object.hasOwnProperty.call(message, "height")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.height); - if (message.round != null && Object.hasOwnProperty.call(message, "round")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.round); - if (message.polRound != null && Object.hasOwnProperty.call(message, "polRound")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.polRound); - if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) - $root.tendermint.types.BlockID.encode(message.blockId, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); - if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) - $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); - if (message.signature != null && Object.hasOwnProperty.call(message, "signature")) - writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.signature); - return writer; - }; - - /** - * Encodes the specified Proposal message, length delimited. Does not implicitly {@link tendermint.types.Proposal.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.Proposal - * @static - * @param {tendermint.types.IProposal} message Proposal message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Proposal.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Proposal message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.Proposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.Proposal} Proposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Proposal.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Proposal(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.type = reader.int32(); - break; - case 2: - message.height = reader.int64(); - break; - case 3: - message.round = reader.int32(); - break; - case 4: - message.polRound = reader.int32(); - break; - case 5: - message.blockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); - break; - case 6: - message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); - break; - case 7: - message.signature = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Proposal message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.Proposal - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.Proposal} Proposal - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Proposal.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Proposal message. - * @function verify - * @memberof tendermint.types.Proposal - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Proposal.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.type != null && message.hasOwnProperty("type")) - switch (message.type) { - default: - return "type: enum value expected"; - case 0: - case 1: - case 2: - case 32: - break; - } - if (message.height != null && message.hasOwnProperty("height")) - if (!$util.isInteger(message.height) && !(message.height && $util.isInteger(message.height.low) && $util.isInteger(message.height.high))) - return "height: integer|Long expected"; - if (message.round != null && message.hasOwnProperty("round")) - if (!$util.isInteger(message.round)) - return "round: integer expected"; - if (message.polRound != null && message.hasOwnProperty("polRound")) - if (!$util.isInteger(message.polRound)) - return "polRound: integer expected"; - if (message.blockId != null && message.hasOwnProperty("blockId")) { - let error = $root.tendermint.types.BlockID.verify(message.blockId); - if (error) - return "blockId." + error; - } - if (message.timestamp != null && message.hasOwnProperty("timestamp")) { - let error = $root.google.protobuf.Timestamp.verify(message.timestamp); - if (error) - return "timestamp." + error; - } - if (message.signature != null && message.hasOwnProperty("signature")) - if (!(message.signature && typeof message.signature.length === "number" || $util.isString(message.signature))) - return "signature: buffer expected"; - return null; - }; - - /** - * Creates a Proposal message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.Proposal - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.Proposal} Proposal - */ - Proposal.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.Proposal) - return object; - let message = new $root.tendermint.types.Proposal(); - switch (object.type) { - case "SIGNED_MSG_TYPE_UNKNOWN": - case 0: - message.type = 0; - break; - case "SIGNED_MSG_TYPE_PREVOTE": - case 1: - message.type = 1; - break; - case "SIGNED_MSG_TYPE_PRECOMMIT": - case 2: - message.type = 2; - break; - case "SIGNED_MSG_TYPE_PROPOSAL": - case 32: - message.type = 32; - break; - } - if (object.height != null) - if ($util.Long) - (message.height = $util.Long.fromValue(object.height)).unsigned = false; - else if (typeof object.height === "string") - message.height = parseInt(object.height, 10); - else if (typeof object.height === "number") - message.height = object.height; - else if (typeof object.height === "object") - message.height = new $util.LongBits(object.height.low >>> 0, object.height.high >>> 0).toNumber(); - if (object.round != null) - message.round = object.round | 0; - if (object.polRound != null) - message.polRound = object.polRound | 0; - if (object.blockId != null) { - if (typeof object.blockId !== "object") - throw TypeError(".tendermint.types.Proposal.blockId: object expected"); - message.blockId = $root.tendermint.types.BlockID.fromObject(object.blockId); - } - if (object.timestamp != null) { - if (typeof object.timestamp !== "object") - throw TypeError(".tendermint.types.Proposal.timestamp: object expected"); - message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); - } - if (object.signature != null) - if (typeof object.signature === "string") - $util.base64.decode(object.signature, message.signature = $util.newBuffer($util.base64.length(object.signature)), 0); - else if (object.signature.length) - message.signature = object.signature; - return message; - }; - - /** - * Creates a plain object from a Proposal message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.Proposal - * @static - * @param {tendermint.types.Proposal} message Proposal - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Proposal.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.type = options.enums === String ? "SIGNED_MSG_TYPE_UNKNOWN" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.height = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.height = options.longs === String ? "0" : 0; - object.round = 0; - object.polRound = 0; - object.blockId = null; - object.timestamp = null; - if (options.bytes === String) - object.signature = ""; - else { - object.signature = []; - if (options.bytes !== Array) - object.signature = $util.newBuffer(object.signature); - } - } - if (message.type != null && message.hasOwnProperty("type")) - object.type = options.enums === String ? $root.tendermint.types.SignedMsgType[message.type] : message.type; - if (message.height != null && message.hasOwnProperty("height")) - if (typeof message.height === "number") - object.height = options.longs === String ? String(message.height) : message.height; - else - object.height = options.longs === String ? $util.Long.prototype.toString.call(message.height) : options.longs === Number ? new $util.LongBits(message.height.low >>> 0, message.height.high >>> 0).toNumber() : message.height; - if (message.round != null && message.hasOwnProperty("round")) - object.round = message.round; - if (message.polRound != null && message.hasOwnProperty("polRound")) - object.polRound = message.polRound; - if (message.blockId != null && message.hasOwnProperty("blockId")) - object.blockId = $root.tendermint.types.BlockID.toObject(message.blockId, options); - if (message.timestamp != null && message.hasOwnProperty("timestamp")) - object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options); - if (message.signature != null && message.hasOwnProperty("signature")) - object.signature = options.bytes === String ? $util.base64.encode(message.signature, 0, message.signature.length) : options.bytes === Array ? Array.prototype.slice.call(message.signature) : message.signature; - return object; - }; - - /** - * Converts this Proposal to JSON. - * @function toJSON - * @memberof tendermint.types.Proposal - * @instance - * @returns {Object.} JSON object - */ - Proposal.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Proposal; - })(types.Proposal || {}); - - types.SignedHeader = (function(SignedHeader) { - - /** - * Properties of a SignedHeader. - * @memberof tendermint.types - * @interface ISignedHeader - * @property {tendermint.types.IHeader|null} [header] SignedHeader header - * @property {tendermint.types.ICommit|null} [commit] SignedHeader commit - */ - - /** - * Constructs a new SignedHeader. - * @memberof tendermint.types - * @classdesc Represents a SignedHeader. - * @implements ISignedHeader - * @constructor - * @param {tendermint.types.ISignedHeader=} [properties] Properties to set - */ - function SignedHeader(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SignedHeader header. - * @member {tendermint.types.IHeader|null|undefined} header - * @memberof tendermint.types.SignedHeader - * @instance - */ - SignedHeader.prototype.header = null; - - /** - * SignedHeader commit. - * @member {tendermint.types.ICommit|null|undefined} commit - * @memberof tendermint.types.SignedHeader - * @instance - */ - SignedHeader.prototype.commit = null; - - /** - * Creates a new SignedHeader instance using the specified properties. - * @function create - * @memberof tendermint.types.SignedHeader - * @static - * @param {tendermint.types.ISignedHeader=} [properties] Properties to set - * @returns {tendermint.types.SignedHeader} SignedHeader instance - */ - SignedHeader.create = function create(properties) { - return new SignedHeader(properties); - }; - - /** - * Encodes the specified SignedHeader message. Does not implicitly {@link tendermint.types.SignedHeader.verify|verify} messages. - * @function encode - * @memberof tendermint.types.SignedHeader - * @static - * @param {tendermint.types.ISignedHeader} message SignedHeader message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignedHeader.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.header != null && Object.hasOwnProperty.call(message, "header")) - $root.tendermint.types.Header.encode(message.header, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.commit != null && Object.hasOwnProperty.call(message, "commit")) - $root.tendermint.types.Commit.encode(message.commit, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified SignedHeader message, length delimited. Does not implicitly {@link tendermint.types.SignedHeader.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.SignedHeader - * @static - * @param {tendermint.types.ISignedHeader} message SignedHeader message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SignedHeader.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SignedHeader message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.SignedHeader - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.SignedHeader} SignedHeader - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignedHeader.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.SignedHeader(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.header = $root.tendermint.types.Header.decode(reader, reader.uint32()); - break; - case 2: - message.commit = $root.tendermint.types.Commit.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SignedHeader message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.SignedHeader - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.SignedHeader} SignedHeader - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SignedHeader.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SignedHeader message. - * @function verify - * @memberof tendermint.types.SignedHeader - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SignedHeader.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.header != null && message.hasOwnProperty("header")) { - let error = $root.tendermint.types.Header.verify(message.header); - if (error) - return "header." + error; - } - if (message.commit != null && message.hasOwnProperty("commit")) { - let error = $root.tendermint.types.Commit.verify(message.commit); - if (error) - return "commit." + error; - } - return null; - }; - - /** - * Creates a SignedHeader message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.SignedHeader - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.SignedHeader} SignedHeader - */ - SignedHeader.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.SignedHeader) - return object; - let message = new $root.tendermint.types.SignedHeader(); - if (object.header != null) { - if (typeof object.header !== "object") - throw TypeError(".tendermint.types.SignedHeader.header: object expected"); - message.header = $root.tendermint.types.Header.fromObject(object.header); - } - if (object.commit != null) { - if (typeof object.commit !== "object") - throw TypeError(".tendermint.types.SignedHeader.commit: object expected"); - message.commit = $root.tendermint.types.Commit.fromObject(object.commit); - } - return message; - }; - - /** - * Creates a plain object from a SignedHeader message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.SignedHeader - * @static - * @param {tendermint.types.SignedHeader} message SignedHeader - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SignedHeader.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.header = null; - object.commit = null; - } - if (message.header != null && message.hasOwnProperty("header")) - object.header = $root.tendermint.types.Header.toObject(message.header, options); - if (message.commit != null && message.hasOwnProperty("commit")) - object.commit = $root.tendermint.types.Commit.toObject(message.commit, options); - return object; - }; - - /** - * Converts this SignedHeader to JSON. - * @function toJSON - * @memberof tendermint.types.SignedHeader - * @instance - * @returns {Object.} JSON object - */ - SignedHeader.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SignedHeader; - })(types.SignedHeader || {}); - - types.LightBlock = (function(LightBlock) { - - /** - * Properties of a LightBlock. - * @memberof tendermint.types - * @interface ILightBlock - * @property {tendermint.types.ISignedHeader|null} [signedHeader] LightBlock signedHeader - * @property {tendermint.types.IValidatorSet|null} [validatorSet] LightBlock validatorSet - */ - - /** - * Constructs a new LightBlock. - * @memberof tendermint.types - * @classdesc Represents a LightBlock. - * @implements ILightBlock - * @constructor - * @param {tendermint.types.ILightBlock=} [properties] Properties to set - */ - function LightBlock(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * LightBlock signedHeader. - * @member {tendermint.types.ISignedHeader|null|undefined} signedHeader - * @memberof tendermint.types.LightBlock - * @instance - */ - LightBlock.prototype.signedHeader = null; - - /** - * LightBlock validatorSet. - * @member {tendermint.types.IValidatorSet|null|undefined} validatorSet - * @memberof tendermint.types.LightBlock - * @instance - */ - LightBlock.prototype.validatorSet = null; - - /** - * Creates a new LightBlock instance using the specified properties. - * @function create - * @memberof tendermint.types.LightBlock - * @static - * @param {tendermint.types.ILightBlock=} [properties] Properties to set - * @returns {tendermint.types.LightBlock} LightBlock instance - */ - LightBlock.create = function create(properties) { - return new LightBlock(properties); - }; - - /** - * Encodes the specified LightBlock message. Does not implicitly {@link tendermint.types.LightBlock.verify|verify} messages. - * @function encode - * @memberof tendermint.types.LightBlock - * @static - * @param {tendermint.types.ILightBlock} message LightBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LightBlock.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.signedHeader != null && Object.hasOwnProperty.call(message, "signedHeader")) - $root.tendermint.types.SignedHeader.encode(message.signedHeader, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.validatorSet != null && Object.hasOwnProperty.call(message, "validatorSet")) - $root.tendermint.types.ValidatorSet.encode(message.validatorSet, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified LightBlock message, length delimited. Does not implicitly {@link tendermint.types.LightBlock.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.LightBlock - * @static - * @param {tendermint.types.ILightBlock} message LightBlock message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LightBlock.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a LightBlock message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.LightBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.LightBlock} LightBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LightBlock.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.LightBlock(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.signedHeader = $root.tendermint.types.SignedHeader.decode(reader, reader.uint32()); - break; - case 2: - message.validatorSet = $root.tendermint.types.ValidatorSet.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a LightBlock message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.LightBlock - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.LightBlock} LightBlock - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LightBlock.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LightBlock message. - * @function verify - * @memberof tendermint.types.LightBlock - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LightBlock.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.signedHeader != null && message.hasOwnProperty("signedHeader")) { - let error = $root.tendermint.types.SignedHeader.verify(message.signedHeader); - if (error) - return "signedHeader." + error; - } - if (message.validatorSet != null && message.hasOwnProperty("validatorSet")) { - let error = $root.tendermint.types.ValidatorSet.verify(message.validatorSet); - if (error) - return "validatorSet." + error; - } - return null; - }; - - /** - * Creates a LightBlock message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.LightBlock - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.LightBlock} LightBlock - */ - LightBlock.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.LightBlock) - return object; - let message = new $root.tendermint.types.LightBlock(); - if (object.signedHeader != null) { - if (typeof object.signedHeader !== "object") - throw TypeError(".tendermint.types.LightBlock.signedHeader: object expected"); - message.signedHeader = $root.tendermint.types.SignedHeader.fromObject(object.signedHeader); - } - if (object.validatorSet != null) { - if (typeof object.validatorSet !== "object") - throw TypeError(".tendermint.types.LightBlock.validatorSet: object expected"); - message.validatorSet = $root.tendermint.types.ValidatorSet.fromObject(object.validatorSet); - } - return message; - }; - - /** - * Creates a plain object from a LightBlock message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.LightBlock - * @static - * @param {tendermint.types.LightBlock} message LightBlock - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LightBlock.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.signedHeader = null; - object.validatorSet = null; - } - if (message.signedHeader != null && message.hasOwnProperty("signedHeader")) - object.signedHeader = $root.tendermint.types.SignedHeader.toObject(message.signedHeader, options); - if (message.validatorSet != null && message.hasOwnProperty("validatorSet")) - object.validatorSet = $root.tendermint.types.ValidatorSet.toObject(message.validatorSet, options); - return object; - }; - - /** - * Converts this LightBlock to JSON. - * @function toJSON - * @memberof tendermint.types.LightBlock - * @instance - * @returns {Object.} JSON object - */ - LightBlock.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return LightBlock; - })(types.LightBlock || {}); - - types.BlockMeta = (function(BlockMeta) { - - /** - * Properties of a BlockMeta. - * @memberof tendermint.types - * @interface IBlockMeta - * @property {tendermint.types.IBlockID|null} [blockId] BlockMeta blockId - * @property {number|Long|null} [blockSize] BlockMeta blockSize - * @property {tendermint.types.IHeader|null} [header] BlockMeta header - * @property {number|Long|null} [numTxs] BlockMeta numTxs - */ - - /** - * Constructs a new BlockMeta. - * @memberof tendermint.types - * @classdesc Represents a BlockMeta. - * @implements IBlockMeta - * @constructor - * @param {tendermint.types.IBlockMeta=} [properties] Properties to set - */ - function BlockMeta(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BlockMeta blockId. - * @member {tendermint.types.IBlockID|null|undefined} blockId - * @memberof tendermint.types.BlockMeta - * @instance - */ - BlockMeta.prototype.blockId = null; - - /** - * BlockMeta blockSize. - * @member {number|Long} blockSize - * @memberof tendermint.types.BlockMeta - * @instance - */ - BlockMeta.prototype.blockSize = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * BlockMeta header. - * @member {tendermint.types.IHeader|null|undefined} header - * @memberof tendermint.types.BlockMeta - * @instance - */ - BlockMeta.prototype.header = null; - - /** - * BlockMeta numTxs. - * @member {number|Long} numTxs - * @memberof tendermint.types.BlockMeta - * @instance - */ - BlockMeta.prototype.numTxs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new BlockMeta instance using the specified properties. - * @function create - * @memberof tendermint.types.BlockMeta - * @static - * @param {tendermint.types.IBlockMeta=} [properties] Properties to set - * @returns {tendermint.types.BlockMeta} BlockMeta instance - */ - BlockMeta.create = function create(properties) { - return new BlockMeta(properties); - }; - - /** - * Encodes the specified BlockMeta message. Does not implicitly {@link tendermint.types.BlockMeta.verify|verify} messages. - * @function encode - * @memberof tendermint.types.BlockMeta - * @static - * @param {tendermint.types.IBlockMeta} message BlockMeta message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BlockMeta.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.blockId != null && Object.hasOwnProperty.call(message, "blockId")) - $root.tendermint.types.BlockID.encode(message.blockId, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.blockSize != null && Object.hasOwnProperty.call(message, "blockSize")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.blockSize); - if (message.header != null && Object.hasOwnProperty.call(message, "header")) - $root.tendermint.types.Header.encode(message.header, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.numTxs != null && Object.hasOwnProperty.call(message, "numTxs")) - writer.uint32(/* id 4, wireType 0 =*/32).int64(message.numTxs); - return writer; - }; - - /** - * Encodes the specified BlockMeta message, length delimited. Does not implicitly {@link tendermint.types.BlockMeta.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.BlockMeta - * @static - * @param {tendermint.types.IBlockMeta} message BlockMeta message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BlockMeta.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BlockMeta message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.BlockMeta - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.BlockMeta} BlockMeta - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BlockMeta.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.BlockMeta(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.blockId = $root.tendermint.types.BlockID.decode(reader, reader.uint32()); - break; - case 2: - message.blockSize = reader.int64(); - break; - case 3: - message.header = $root.tendermint.types.Header.decode(reader, reader.uint32()); - break; - case 4: - message.numTxs = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BlockMeta message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.BlockMeta - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.BlockMeta} BlockMeta - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BlockMeta.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BlockMeta message. - * @function verify - * @memberof tendermint.types.BlockMeta - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BlockMeta.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.blockId != null && message.hasOwnProperty("blockId")) { - let error = $root.tendermint.types.BlockID.verify(message.blockId); - if (error) - return "blockId." + error; - } - if (message.blockSize != null && message.hasOwnProperty("blockSize")) - if (!$util.isInteger(message.blockSize) && !(message.blockSize && $util.isInteger(message.blockSize.low) && $util.isInteger(message.blockSize.high))) - return "blockSize: integer|Long expected"; - if (message.header != null && message.hasOwnProperty("header")) { - let error = $root.tendermint.types.Header.verify(message.header); - if (error) - return "header." + error; - } - if (message.numTxs != null && message.hasOwnProperty("numTxs")) - if (!$util.isInteger(message.numTxs) && !(message.numTxs && $util.isInteger(message.numTxs.low) && $util.isInteger(message.numTxs.high))) - return "numTxs: integer|Long expected"; - return null; - }; - - /** - * Creates a BlockMeta message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.BlockMeta - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.BlockMeta} BlockMeta - */ - BlockMeta.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.BlockMeta) - return object; - let message = new $root.tendermint.types.BlockMeta(); - if (object.blockId != null) { - if (typeof object.blockId !== "object") - throw TypeError(".tendermint.types.BlockMeta.blockId: object expected"); - message.blockId = $root.tendermint.types.BlockID.fromObject(object.blockId); - } - if (object.blockSize != null) - if ($util.Long) - (message.blockSize = $util.Long.fromValue(object.blockSize)).unsigned = false; - else if (typeof object.blockSize === "string") - message.blockSize = parseInt(object.blockSize, 10); - else if (typeof object.blockSize === "number") - message.blockSize = object.blockSize; - else if (typeof object.blockSize === "object") - message.blockSize = new $util.LongBits(object.blockSize.low >>> 0, object.blockSize.high >>> 0).toNumber(); - if (object.header != null) { - if (typeof object.header !== "object") - throw TypeError(".tendermint.types.BlockMeta.header: object expected"); - message.header = $root.tendermint.types.Header.fromObject(object.header); - } - if (object.numTxs != null) - if ($util.Long) - (message.numTxs = $util.Long.fromValue(object.numTxs)).unsigned = false; - else if (typeof object.numTxs === "string") - message.numTxs = parseInt(object.numTxs, 10); - else if (typeof object.numTxs === "number") - message.numTxs = object.numTxs; - else if (typeof object.numTxs === "object") - message.numTxs = new $util.LongBits(object.numTxs.low >>> 0, object.numTxs.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a BlockMeta message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.BlockMeta - * @static - * @param {tendermint.types.BlockMeta} message BlockMeta - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BlockMeta.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.blockId = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.blockSize = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.blockSize = options.longs === String ? "0" : 0; - object.header = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.numTxs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.numTxs = options.longs === String ? "0" : 0; - } - if (message.blockId != null && message.hasOwnProperty("blockId")) - object.blockId = $root.tendermint.types.BlockID.toObject(message.blockId, options); - if (message.blockSize != null && message.hasOwnProperty("blockSize")) - if (typeof message.blockSize === "number") - object.blockSize = options.longs === String ? String(message.blockSize) : message.blockSize; - else - object.blockSize = options.longs === String ? $util.Long.prototype.toString.call(message.blockSize) : options.longs === Number ? new $util.LongBits(message.blockSize.low >>> 0, message.blockSize.high >>> 0).toNumber() : message.blockSize; - if (message.header != null && message.hasOwnProperty("header")) - object.header = $root.tendermint.types.Header.toObject(message.header, options); - if (message.numTxs != null && message.hasOwnProperty("numTxs")) - if (typeof message.numTxs === "number") - object.numTxs = options.longs === String ? String(message.numTxs) : message.numTxs; - else - object.numTxs = options.longs === String ? $util.Long.prototype.toString.call(message.numTxs) : options.longs === Number ? new $util.LongBits(message.numTxs.low >>> 0, message.numTxs.high >>> 0).toNumber() : message.numTxs; - return object; - }; - - /** - * Converts this BlockMeta to JSON. - * @function toJSON - * @memberof tendermint.types.BlockMeta - * @instance - * @returns {Object.} JSON object - */ - BlockMeta.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BlockMeta; - })(types.BlockMeta || {}); - - types.TxProof = (function(TxProof) { - - /** - * Properties of a TxProof. - * @memberof tendermint.types - * @interface ITxProof - * @property {Uint8Array|null} [rootHash] TxProof rootHash - * @property {Uint8Array|null} [data] TxProof data - * @property {tendermint.crypto.IProof|null} [proof] TxProof proof - */ - - /** - * Constructs a new TxProof. - * @memberof tendermint.types - * @classdesc Represents a TxProof. - * @implements ITxProof - * @constructor - * @param {tendermint.types.ITxProof=} [properties] Properties to set - */ - function TxProof(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * TxProof rootHash. - * @member {Uint8Array} rootHash - * @memberof tendermint.types.TxProof - * @instance - */ - TxProof.prototype.rootHash = $util.newBuffer([]); - - /** - * TxProof data. - * @member {Uint8Array} data - * @memberof tendermint.types.TxProof - * @instance - */ - TxProof.prototype.data = $util.newBuffer([]); - - /** - * TxProof proof. - * @member {tendermint.crypto.IProof|null|undefined} proof - * @memberof tendermint.types.TxProof - * @instance - */ - TxProof.prototype.proof = null; - - /** - * Creates a new TxProof instance using the specified properties. - * @function create - * @memberof tendermint.types.TxProof - * @static - * @param {tendermint.types.ITxProof=} [properties] Properties to set - * @returns {tendermint.types.TxProof} TxProof instance - */ - TxProof.create = function create(properties) { - return new TxProof(properties); - }; - - /** - * Encodes the specified TxProof message. Does not implicitly {@link tendermint.types.TxProof.verify|verify} messages. - * @function encode - * @memberof tendermint.types.TxProof - * @static - * @param {tendermint.types.ITxProof} message TxProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TxProof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.rootHash != null && Object.hasOwnProperty.call(message, "rootHash")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.rootHash); - if (message.data != null && Object.hasOwnProperty.call(message, "data")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data); - if (message.proof != null && Object.hasOwnProperty.call(message, "proof")) - $root.tendermint.crypto.Proof.encode(message.proof, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified TxProof message, length delimited. Does not implicitly {@link tendermint.types.TxProof.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.TxProof - * @static - * @param {tendermint.types.ITxProof} message TxProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - TxProof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a TxProof message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.TxProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.TxProof} TxProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TxProof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.TxProof(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.rootHash = reader.bytes(); - break; - case 2: - message.data = reader.bytes(); - break; - case 3: - message.proof = $root.tendermint.crypto.Proof.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a TxProof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.TxProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.TxProof} TxProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - TxProof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a TxProof message. - * @function verify - * @memberof tendermint.types.TxProof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - TxProof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.rootHash != null && message.hasOwnProperty("rootHash")) - if (!(message.rootHash && typeof message.rootHash.length === "number" || $util.isString(message.rootHash))) - return "rootHash: buffer expected"; - if (message.data != null && message.hasOwnProperty("data")) - if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data))) - return "data: buffer expected"; - if (message.proof != null && message.hasOwnProperty("proof")) { - let error = $root.tendermint.crypto.Proof.verify(message.proof); - if (error) - return "proof." + error; - } - return null; - }; - - /** - * Creates a TxProof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.TxProof - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.TxProof} TxProof - */ - TxProof.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.TxProof) - return object; - let message = new $root.tendermint.types.TxProof(); - if (object.rootHash != null) - if (typeof object.rootHash === "string") - $util.base64.decode(object.rootHash, message.rootHash = $util.newBuffer($util.base64.length(object.rootHash)), 0); - else if (object.rootHash.length) - message.rootHash = object.rootHash; - if (object.data != null) - if (typeof object.data === "string") - $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0); - else if (object.data.length) - message.data = object.data; - if (object.proof != null) { - if (typeof object.proof !== "object") - throw TypeError(".tendermint.types.TxProof.proof: object expected"); - message.proof = $root.tendermint.crypto.Proof.fromObject(object.proof); - } - return message; - }; - - /** - * Creates a plain object from a TxProof message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.TxProof - * @static - * @param {tendermint.types.TxProof} message TxProof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - TxProof.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.rootHash = ""; - else { - object.rootHash = []; - if (options.bytes !== Array) - object.rootHash = $util.newBuffer(object.rootHash); - } - if (options.bytes === String) - object.data = ""; - else { - object.data = []; - if (options.bytes !== Array) - object.data = $util.newBuffer(object.data); - } - object.proof = null; - } - if (message.rootHash != null && message.hasOwnProperty("rootHash")) - object.rootHash = options.bytes === String ? $util.base64.encode(message.rootHash, 0, message.rootHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.rootHash) : message.rootHash; - if (message.data != null && message.hasOwnProperty("data")) - object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data; - if (message.proof != null && message.hasOwnProperty("proof")) - object.proof = $root.tendermint.crypto.Proof.toObject(message.proof, options); - return object; - }; - - /** - * Converts this TxProof to JSON. - * @function toJSON - * @memberof tendermint.types.TxProof - * @instance - * @returns {Object.} JSON object - */ - TxProof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return TxProof; - })(types.TxProof || {}); - - types.ValidatorSet = (function(ValidatorSet) { - - /** - * Properties of a ValidatorSet. - * @memberof tendermint.types - * @interface IValidatorSet - * @property {Array.|null} [validators] ValidatorSet validators - * @property {tendermint.types.IValidator|null} [proposer] ValidatorSet proposer - * @property {number|Long|null} [totalVotingPower] ValidatorSet totalVotingPower - */ - - /** - * Constructs a new ValidatorSet. - * @memberof tendermint.types - * @classdesc Represents a ValidatorSet. - * @implements IValidatorSet - * @constructor - * @param {tendermint.types.IValidatorSet=} [properties] Properties to set - */ - function ValidatorSet(properties) { - this.validators = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ValidatorSet validators. - * @member {Array.} validators - * @memberof tendermint.types.ValidatorSet - * @instance - */ - ValidatorSet.prototype.validators = $util.emptyArray; - - /** - * ValidatorSet proposer. - * @member {tendermint.types.IValidator|null|undefined} proposer - * @memberof tendermint.types.ValidatorSet - * @instance - */ - ValidatorSet.prototype.proposer = null; - - /** - * ValidatorSet totalVotingPower. - * @member {number|Long} totalVotingPower - * @memberof tendermint.types.ValidatorSet - * @instance - */ - ValidatorSet.prototype.totalVotingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new ValidatorSet instance using the specified properties. - * @function create - * @memberof tendermint.types.ValidatorSet - * @static - * @param {tendermint.types.IValidatorSet=} [properties] Properties to set - * @returns {tendermint.types.ValidatorSet} ValidatorSet instance - */ - ValidatorSet.create = function create(properties) { - return new ValidatorSet(properties); - }; - - /** - * Encodes the specified ValidatorSet message. Does not implicitly {@link tendermint.types.ValidatorSet.verify|verify} messages. - * @function encode - * @memberof tendermint.types.ValidatorSet - * @static - * @param {tendermint.types.IValidatorSet} message ValidatorSet message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorSet.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.validators != null && message.validators.length) - for (let i = 0; i < message.validators.length; ++i) - $root.tendermint.types.Validator.encode(message.validators[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.proposer != null && Object.hasOwnProperty.call(message, "proposer")) - $root.tendermint.types.Validator.encode(message.proposer, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.totalVotingPower != null && Object.hasOwnProperty.call(message, "totalVotingPower")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.totalVotingPower); - return writer; - }; - - /** - * Encodes the specified ValidatorSet message, length delimited. Does not implicitly {@link tendermint.types.ValidatorSet.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.ValidatorSet - * @static - * @param {tendermint.types.IValidatorSet} message ValidatorSet message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ValidatorSet.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ValidatorSet message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.ValidatorSet - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.ValidatorSet} ValidatorSet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorSet.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.ValidatorSet(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.validators && message.validators.length)) - message.validators = []; - message.validators.push($root.tendermint.types.Validator.decode(reader, reader.uint32())); - break; - case 2: - message.proposer = $root.tendermint.types.Validator.decode(reader, reader.uint32()); - break; - case 3: - message.totalVotingPower = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ValidatorSet message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.ValidatorSet - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.ValidatorSet} ValidatorSet - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ValidatorSet.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ValidatorSet message. - * @function verify - * @memberof tendermint.types.ValidatorSet - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ValidatorSet.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.validators != null && message.hasOwnProperty("validators")) { - if (!Array.isArray(message.validators)) - return "validators: array expected"; - for (let i = 0; i < message.validators.length; ++i) { - let error = $root.tendermint.types.Validator.verify(message.validators[i]); - if (error) - return "validators." + error; - } - } - if (message.proposer != null && message.hasOwnProperty("proposer")) { - let error = $root.tendermint.types.Validator.verify(message.proposer); - if (error) - return "proposer." + error; - } - if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) - if (!$util.isInteger(message.totalVotingPower) && !(message.totalVotingPower && $util.isInteger(message.totalVotingPower.low) && $util.isInteger(message.totalVotingPower.high))) - return "totalVotingPower: integer|Long expected"; - return null; - }; - - /** - * Creates a ValidatorSet message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.ValidatorSet - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.ValidatorSet} ValidatorSet - */ - ValidatorSet.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.ValidatorSet) - return object; - let message = new $root.tendermint.types.ValidatorSet(); - if (object.validators) { - if (!Array.isArray(object.validators)) - throw TypeError(".tendermint.types.ValidatorSet.validators: array expected"); - message.validators = []; - for (let i = 0; i < object.validators.length; ++i) { - if (typeof object.validators[i] !== "object") - throw TypeError(".tendermint.types.ValidatorSet.validators: object expected"); - message.validators[i] = $root.tendermint.types.Validator.fromObject(object.validators[i]); - } - } - if (object.proposer != null) { - if (typeof object.proposer !== "object") - throw TypeError(".tendermint.types.ValidatorSet.proposer: object expected"); - message.proposer = $root.tendermint.types.Validator.fromObject(object.proposer); - } - if (object.totalVotingPower != null) - if ($util.Long) - (message.totalVotingPower = $util.Long.fromValue(object.totalVotingPower)).unsigned = false; - else if (typeof object.totalVotingPower === "string") - message.totalVotingPower = parseInt(object.totalVotingPower, 10); - else if (typeof object.totalVotingPower === "number") - message.totalVotingPower = object.totalVotingPower; - else if (typeof object.totalVotingPower === "object") - message.totalVotingPower = new $util.LongBits(object.totalVotingPower.low >>> 0, object.totalVotingPower.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a ValidatorSet message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.ValidatorSet - * @static - * @param {tendermint.types.ValidatorSet} message ValidatorSet - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ValidatorSet.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.validators = []; - if (options.defaults) { - object.proposer = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.totalVotingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.totalVotingPower = options.longs === String ? "0" : 0; - } - if (message.validators && message.validators.length) { - object.validators = []; - for (let j = 0; j < message.validators.length; ++j) - object.validators[j] = $root.tendermint.types.Validator.toObject(message.validators[j], options); - } - if (message.proposer != null && message.hasOwnProperty("proposer")) - object.proposer = $root.tendermint.types.Validator.toObject(message.proposer, options); - if (message.totalVotingPower != null && message.hasOwnProperty("totalVotingPower")) - if (typeof message.totalVotingPower === "number") - object.totalVotingPower = options.longs === String ? String(message.totalVotingPower) : message.totalVotingPower; - else - object.totalVotingPower = options.longs === String ? $util.Long.prototype.toString.call(message.totalVotingPower) : options.longs === Number ? new $util.LongBits(message.totalVotingPower.low >>> 0, message.totalVotingPower.high >>> 0).toNumber() : message.totalVotingPower; - return object; - }; - - /** - * Converts this ValidatorSet to JSON. - * @function toJSON - * @memberof tendermint.types.ValidatorSet - * @instance - * @returns {Object.} JSON object - */ - ValidatorSet.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ValidatorSet; - })(types.ValidatorSet || {}); - - types.Validator = (function(Validator) { - - /** - * Properties of a Validator. - * @memberof tendermint.types - * @interface IValidator - * @property {Uint8Array|null} [address] Validator address - * @property {tendermint.crypto.IPublicKey|null} [pubKey] Validator pubKey - * @property {number|Long|null} [votingPower] Validator votingPower - * @property {number|Long|null} [proposerPriority] Validator proposerPriority - */ - - /** - * Constructs a new Validator. - * @memberof tendermint.types - * @classdesc Represents a Validator. - * @implements IValidator - * @constructor - * @param {tendermint.types.IValidator=} [properties] Properties to set - */ - function Validator(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Validator address. - * @member {Uint8Array} address - * @memberof tendermint.types.Validator - * @instance - */ - Validator.prototype.address = $util.newBuffer([]); - - /** - * Validator pubKey. - * @member {tendermint.crypto.IPublicKey|null|undefined} pubKey - * @memberof tendermint.types.Validator - * @instance - */ - Validator.prototype.pubKey = null; - - /** - * Validator votingPower. - * @member {number|Long} votingPower - * @memberof tendermint.types.Validator - * @instance - */ - Validator.prototype.votingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Validator proposerPriority. - * @member {number|Long} proposerPriority - * @memberof tendermint.types.Validator - * @instance - */ - Validator.prototype.proposerPriority = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new Validator instance using the specified properties. - * @function create - * @memberof tendermint.types.Validator - * @static - * @param {tendermint.types.IValidator=} [properties] Properties to set - * @returns {tendermint.types.Validator} Validator instance - */ - Validator.create = function create(properties) { - return new Validator(properties); - }; - - /** - * Encodes the specified Validator message. Does not implicitly {@link tendermint.types.Validator.verify|verify} messages. - * @function encode - * @memberof tendermint.types.Validator - * @static - * @param {tendermint.types.IValidator} message Validator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Validator.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.address != null && Object.hasOwnProperty.call(message, "address")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.address); - if (message.pubKey != null && Object.hasOwnProperty.call(message, "pubKey")) - $root.tendermint.crypto.PublicKey.encode(message.pubKey, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.votingPower != null && Object.hasOwnProperty.call(message, "votingPower")) - writer.uint32(/* id 3, wireType 0 =*/24).int64(message.votingPower); - if (message.proposerPriority != null && Object.hasOwnProperty.call(message, "proposerPriority")) - writer.uint32(/* id 4, wireType 0 =*/32).int64(message.proposerPriority); - return writer; - }; - - /** - * Encodes the specified Validator message, length delimited. Does not implicitly {@link tendermint.types.Validator.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.Validator - * @static - * @param {tendermint.types.IValidator} message Validator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Validator.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Validator message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.Validator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.Validator} Validator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Validator.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.Validator(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.address = reader.bytes(); - break; - case 2: - message.pubKey = $root.tendermint.crypto.PublicKey.decode(reader, reader.uint32()); - break; - case 3: - message.votingPower = reader.int64(); - break; - case 4: - message.proposerPriority = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Validator message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.Validator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.Validator} Validator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Validator.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Validator message. - * @function verify - * @memberof tendermint.types.Validator - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Validator.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.address != null && message.hasOwnProperty("address")) - if (!(message.address && typeof message.address.length === "number" || $util.isString(message.address))) - return "address: buffer expected"; - if (message.pubKey != null && message.hasOwnProperty("pubKey")) { - let error = $root.tendermint.crypto.PublicKey.verify(message.pubKey); - if (error) - return "pubKey." + error; - } - if (message.votingPower != null && message.hasOwnProperty("votingPower")) - if (!$util.isInteger(message.votingPower) && !(message.votingPower && $util.isInteger(message.votingPower.low) && $util.isInteger(message.votingPower.high))) - return "votingPower: integer|Long expected"; - if (message.proposerPriority != null && message.hasOwnProperty("proposerPriority")) - if (!$util.isInteger(message.proposerPriority) && !(message.proposerPriority && $util.isInteger(message.proposerPriority.low) && $util.isInteger(message.proposerPriority.high))) - return "proposerPriority: integer|Long expected"; - return null; - }; - - /** - * Creates a Validator message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.Validator - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.Validator} Validator - */ - Validator.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.Validator) - return object; - let message = new $root.tendermint.types.Validator(); - if (object.address != null) - if (typeof object.address === "string") - $util.base64.decode(object.address, message.address = $util.newBuffer($util.base64.length(object.address)), 0); - else if (object.address.length) - message.address = object.address; - if (object.pubKey != null) { - if (typeof object.pubKey !== "object") - throw TypeError(".tendermint.types.Validator.pubKey: object expected"); - message.pubKey = $root.tendermint.crypto.PublicKey.fromObject(object.pubKey); - } - if (object.votingPower != null) - if ($util.Long) - (message.votingPower = $util.Long.fromValue(object.votingPower)).unsigned = false; - else if (typeof object.votingPower === "string") - message.votingPower = parseInt(object.votingPower, 10); - else if (typeof object.votingPower === "number") - message.votingPower = object.votingPower; - else if (typeof object.votingPower === "object") - message.votingPower = new $util.LongBits(object.votingPower.low >>> 0, object.votingPower.high >>> 0).toNumber(); - if (object.proposerPriority != null) - if ($util.Long) - (message.proposerPriority = $util.Long.fromValue(object.proposerPriority)).unsigned = false; - else if (typeof object.proposerPriority === "string") - message.proposerPriority = parseInt(object.proposerPriority, 10); - else if (typeof object.proposerPriority === "number") - message.proposerPriority = object.proposerPriority; - else if (typeof object.proposerPriority === "object") - message.proposerPriority = new $util.LongBits(object.proposerPriority.low >>> 0, object.proposerPriority.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a Validator message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.Validator - * @static - * @param {tendermint.types.Validator} message Validator - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Validator.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.address = ""; - else { - object.address = []; - if (options.bytes !== Array) - object.address = $util.newBuffer(object.address); - } - object.pubKey = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.votingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.votingPower = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.proposerPriority = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.proposerPriority = options.longs === String ? "0" : 0; - } - if (message.address != null && message.hasOwnProperty("address")) - object.address = options.bytes === String ? $util.base64.encode(message.address, 0, message.address.length) : options.bytes === Array ? Array.prototype.slice.call(message.address) : message.address; - if (message.pubKey != null && message.hasOwnProperty("pubKey")) - object.pubKey = $root.tendermint.crypto.PublicKey.toObject(message.pubKey, options); - if (message.votingPower != null && message.hasOwnProperty("votingPower")) - if (typeof message.votingPower === "number") - object.votingPower = options.longs === String ? String(message.votingPower) : message.votingPower; - else - object.votingPower = options.longs === String ? $util.Long.prototype.toString.call(message.votingPower) : options.longs === Number ? new $util.LongBits(message.votingPower.low >>> 0, message.votingPower.high >>> 0).toNumber() : message.votingPower; - if (message.proposerPriority != null && message.hasOwnProperty("proposerPriority")) - if (typeof message.proposerPriority === "number") - object.proposerPriority = options.longs === String ? String(message.proposerPriority) : message.proposerPriority; - else - object.proposerPriority = options.longs === String ? $util.Long.prototype.toString.call(message.proposerPriority) : options.longs === Number ? new $util.LongBits(message.proposerPriority.low >>> 0, message.proposerPriority.high >>> 0).toNumber() : message.proposerPriority; - return object; - }; - - /** - * Converts this Validator to JSON. - * @function toJSON - * @memberof tendermint.types.Validator - * @instance - * @returns {Object.} JSON object - */ - Validator.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Validator; - })(types.Validator || {}); - - types.SimpleValidator = (function(SimpleValidator) { - - /** - * Properties of a SimpleValidator. - * @memberof tendermint.types - * @interface ISimpleValidator - * @property {tendermint.crypto.IPublicKey|null} [pubKey] SimpleValidator pubKey - * @property {number|Long|null} [votingPower] SimpleValidator votingPower - */ - - /** - * Constructs a new SimpleValidator. - * @memberof tendermint.types - * @classdesc Represents a SimpleValidator. - * @implements ISimpleValidator - * @constructor - * @param {tendermint.types.ISimpleValidator=} [properties] Properties to set - */ - function SimpleValidator(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * SimpleValidator pubKey. - * @member {tendermint.crypto.IPublicKey|null|undefined} pubKey - * @memberof tendermint.types.SimpleValidator - * @instance - */ - SimpleValidator.prototype.pubKey = null; - - /** - * SimpleValidator votingPower. - * @member {number|Long} votingPower - * @memberof tendermint.types.SimpleValidator - * @instance - */ - SimpleValidator.prototype.votingPower = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Creates a new SimpleValidator instance using the specified properties. - * @function create - * @memberof tendermint.types.SimpleValidator - * @static - * @param {tendermint.types.ISimpleValidator=} [properties] Properties to set - * @returns {tendermint.types.SimpleValidator} SimpleValidator instance - */ - SimpleValidator.create = function create(properties) { - return new SimpleValidator(properties); - }; - - /** - * Encodes the specified SimpleValidator message. Does not implicitly {@link tendermint.types.SimpleValidator.verify|verify} messages. - * @function encode - * @memberof tendermint.types.SimpleValidator - * @static - * @param {tendermint.types.ISimpleValidator} message SimpleValidator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SimpleValidator.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.pubKey != null && Object.hasOwnProperty.call(message, "pubKey")) - $root.tendermint.crypto.PublicKey.encode(message.pubKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.votingPower != null && Object.hasOwnProperty.call(message, "votingPower")) - writer.uint32(/* id 2, wireType 0 =*/16).int64(message.votingPower); - return writer; - }; - - /** - * Encodes the specified SimpleValidator message, length delimited. Does not implicitly {@link tendermint.types.SimpleValidator.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.types.SimpleValidator - * @static - * @param {tendermint.types.ISimpleValidator} message SimpleValidator message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - SimpleValidator.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a SimpleValidator message from the specified reader or buffer. - * @function decode - * @memberof tendermint.types.SimpleValidator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.types.SimpleValidator} SimpleValidator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SimpleValidator.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.types.SimpleValidator(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pubKey = $root.tendermint.crypto.PublicKey.decode(reader, reader.uint32()); - break; - case 2: - message.votingPower = reader.int64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a SimpleValidator message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.types.SimpleValidator - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.types.SimpleValidator} SimpleValidator - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - SimpleValidator.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a SimpleValidator message. - * @function verify - * @memberof tendermint.types.SimpleValidator - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - SimpleValidator.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.pubKey != null && message.hasOwnProperty("pubKey")) { - let error = $root.tendermint.crypto.PublicKey.verify(message.pubKey); - if (error) - return "pubKey." + error; - } - if (message.votingPower != null && message.hasOwnProperty("votingPower")) - if (!$util.isInteger(message.votingPower) && !(message.votingPower && $util.isInteger(message.votingPower.low) && $util.isInteger(message.votingPower.high))) - return "votingPower: integer|Long expected"; - return null; - }; - - /** - * Creates a SimpleValidator message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.types.SimpleValidator - * @static - * @param {Object.} object Plain object - * @returns {tendermint.types.SimpleValidator} SimpleValidator - */ - SimpleValidator.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.types.SimpleValidator) - return object; - let message = new $root.tendermint.types.SimpleValidator(); - if (object.pubKey != null) { - if (typeof object.pubKey !== "object") - throw TypeError(".tendermint.types.SimpleValidator.pubKey: object expected"); - message.pubKey = $root.tendermint.crypto.PublicKey.fromObject(object.pubKey); - } - if (object.votingPower != null) - if ($util.Long) - (message.votingPower = $util.Long.fromValue(object.votingPower)).unsigned = false; - else if (typeof object.votingPower === "string") - message.votingPower = parseInt(object.votingPower, 10); - else if (typeof object.votingPower === "number") - message.votingPower = object.votingPower; - else if (typeof object.votingPower === "object") - message.votingPower = new $util.LongBits(object.votingPower.low >>> 0, object.votingPower.high >>> 0).toNumber(); - return message; - }; - - /** - * Creates a plain object from a SimpleValidator message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.types.SimpleValidator - * @static - * @param {tendermint.types.SimpleValidator} message SimpleValidator - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - SimpleValidator.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.pubKey = null; - if ($util.Long) { - let long = new $util.Long(0, 0, false); - object.votingPower = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.votingPower = options.longs === String ? "0" : 0; - } - if (message.pubKey != null && message.hasOwnProperty("pubKey")) - object.pubKey = $root.tendermint.crypto.PublicKey.toObject(message.pubKey, options); - if (message.votingPower != null && message.hasOwnProperty("votingPower")) - if (typeof message.votingPower === "number") - object.votingPower = options.longs === String ? String(message.votingPower) : message.votingPower; - else - object.votingPower = options.longs === String ? $util.Long.prototype.toString.call(message.votingPower) : options.longs === Number ? new $util.LongBits(message.votingPower.low >>> 0, message.votingPower.high >>> 0).toNumber() : message.votingPower; - return object; - }; - - /** - * Converts this SimpleValidator to JSON. - * @function toJSON - * @memberof tendermint.types.SimpleValidator - * @instance - * @returns {Object.} JSON object - */ - SimpleValidator.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return SimpleValidator; - })(types.SimpleValidator || {}); - - return types; - })(tendermint.types || {}); - - /** - * Namespace version. - * @memberof tendermint - * @namespace - */ - - tendermint.version = (function(version) { - - version.App = (function(App) { - - /** - * Properties of an App. - * @memberof tendermint.version - * @interface IApp - * @property {number|Long|null} [protocol] App protocol - * @property {string|null} [software] App software - */ - - /** - * Constructs a new App. - * @memberof tendermint.version - * @classdesc Represents an App. - * @implements IApp - * @constructor - * @param {tendermint.version.IApp=} [properties] Properties to set - */ - function App(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * App protocol. - * @member {number|Long} protocol - * @memberof tendermint.version.App - * @instance - */ - App.prototype.protocol = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * App software. - * @member {string} software - * @memberof tendermint.version.App - * @instance - */ - App.prototype.software = ""; - - /** - * Creates a new App instance using the specified properties. - * @function create - * @memberof tendermint.version.App - * @static - * @param {tendermint.version.IApp=} [properties] Properties to set - * @returns {tendermint.version.App} App instance - */ - App.create = function create(properties) { - return new App(properties); - }; - - /** - * Encodes the specified App message. Does not implicitly {@link tendermint.version.App.verify|verify} messages. - * @function encode - * @memberof tendermint.version.App - * @static - * @param {tendermint.version.IApp} message App message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - App.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.protocol != null && Object.hasOwnProperty.call(message, "protocol")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.protocol); - if (message.software != null && Object.hasOwnProperty.call(message, "software")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.software); - return writer; - }; - - /** - * Encodes the specified App message, length delimited. Does not implicitly {@link tendermint.version.App.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.version.App - * @static - * @param {tendermint.version.IApp} message App message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - App.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an App message from the specified reader or buffer. - * @function decode - * @memberof tendermint.version.App - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.version.App} App - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - App.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.version.App(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.protocol = reader.uint64(); - break; - case 2: - message.software = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an App message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.version.App - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.version.App} App - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - App.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an App message. - * @function verify - * @memberof tendermint.version.App - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - App.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.protocol != null && message.hasOwnProperty("protocol")) - if (!$util.isInteger(message.protocol) && !(message.protocol && $util.isInteger(message.protocol.low) && $util.isInteger(message.protocol.high))) - return "protocol: integer|Long expected"; - if (message.software != null && message.hasOwnProperty("software")) - if (!$util.isString(message.software)) - return "software: string expected"; - return null; - }; - - /** - * Creates an App message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.version.App - * @static - * @param {Object.} object Plain object - * @returns {tendermint.version.App} App - */ - App.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.version.App) - return object; - let message = new $root.tendermint.version.App(); - if (object.protocol != null) - if ($util.Long) - (message.protocol = $util.Long.fromValue(object.protocol)).unsigned = true; - else if (typeof object.protocol === "string") - message.protocol = parseInt(object.protocol, 10); - else if (typeof object.protocol === "number") - message.protocol = object.protocol; - else if (typeof object.protocol === "object") - message.protocol = new $util.LongBits(object.protocol.low >>> 0, object.protocol.high >>> 0).toNumber(true); - if (object.software != null) - message.software = String(object.software); - return message; - }; - - /** - * Creates a plain object from an App message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.version.App - * @static - * @param {tendermint.version.App} message App - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - App.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.protocol = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.protocol = options.longs === String ? "0" : 0; - object.software = ""; - } - if (message.protocol != null && message.hasOwnProperty("protocol")) - if (typeof message.protocol === "number") - object.protocol = options.longs === String ? String(message.protocol) : message.protocol; - else - object.protocol = options.longs === String ? $util.Long.prototype.toString.call(message.protocol) : options.longs === Number ? new $util.LongBits(message.protocol.low >>> 0, message.protocol.high >>> 0).toNumber(true) : message.protocol; - if (message.software != null && message.hasOwnProperty("software")) - object.software = message.software; - return object; - }; - - /** - * Converts this App to JSON. - * @function toJSON - * @memberof tendermint.version.App - * @instance - * @returns {Object.} JSON object - */ - App.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return App; - })(version.App || {}); - - version.Consensus = (function(Consensus) { - - /** - * Properties of a Consensus. - * @memberof tendermint.version - * @interface IConsensus - * @property {number|Long|null} [block] Consensus block - * @property {number|Long|null} [app] Consensus app - */ - - /** - * Constructs a new Consensus. - * @memberof tendermint.version - * @classdesc Represents a Consensus. - * @implements IConsensus - * @constructor - * @param {tendermint.version.IConsensus=} [properties] Properties to set - */ - function Consensus(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Consensus block. - * @member {number|Long} block - * @memberof tendermint.version.Consensus - * @instance - */ - Consensus.prototype.block = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Consensus app. - * @member {number|Long} app - * @memberof tendermint.version.Consensus - * @instance - */ - Consensus.prototype.app = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Creates a new Consensus instance using the specified properties. - * @function create - * @memberof tendermint.version.Consensus - * @static - * @param {tendermint.version.IConsensus=} [properties] Properties to set - * @returns {tendermint.version.Consensus} Consensus instance - */ - Consensus.create = function create(properties) { - return new Consensus(properties); - }; - - /** - * Encodes the specified Consensus message. Does not implicitly {@link tendermint.version.Consensus.verify|verify} messages. - * @function encode - * @memberof tendermint.version.Consensus - * @static - * @param {tendermint.version.IConsensus} message Consensus message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Consensus.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.block != null && Object.hasOwnProperty.call(message, "block")) - writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.block); - if (message.app != null && Object.hasOwnProperty.call(message, "app")) - writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.app); - return writer; - }; - - /** - * Encodes the specified Consensus message, length delimited. Does not implicitly {@link tendermint.version.Consensus.verify|verify} messages. - * @function encodeDelimited - * @memberof tendermint.version.Consensus - * @static - * @param {tendermint.version.IConsensus} message Consensus message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Consensus.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Consensus message from the specified reader or buffer. - * @function decode - * @memberof tendermint.version.Consensus - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {tendermint.version.Consensus} Consensus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Consensus.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.tendermint.version.Consensus(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.block = reader.uint64(); - break; - case 2: - message.app = reader.uint64(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Consensus message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof tendermint.version.Consensus - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {tendermint.version.Consensus} Consensus - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Consensus.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Consensus message. - * @function verify - * @memberof tendermint.version.Consensus - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Consensus.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.block != null && message.hasOwnProperty("block")) - if (!$util.isInteger(message.block) && !(message.block && $util.isInteger(message.block.low) && $util.isInteger(message.block.high))) - return "block: integer|Long expected"; - if (message.app != null && message.hasOwnProperty("app")) - if (!$util.isInteger(message.app) && !(message.app && $util.isInteger(message.app.low) && $util.isInteger(message.app.high))) - return "app: integer|Long expected"; - return null; - }; - - /** - * Creates a Consensus message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof tendermint.version.Consensus - * @static - * @param {Object.} object Plain object - * @returns {tendermint.version.Consensus} Consensus - */ - Consensus.fromObject = function fromObject(object) { - if (object instanceof $root.tendermint.version.Consensus) - return object; - let message = new $root.tendermint.version.Consensus(); - if (object.block != null) - if ($util.Long) - (message.block = $util.Long.fromValue(object.block)).unsigned = true; - else if (typeof object.block === "string") - message.block = parseInt(object.block, 10); - else if (typeof object.block === "number") - message.block = object.block; - else if (typeof object.block === "object") - message.block = new $util.LongBits(object.block.low >>> 0, object.block.high >>> 0).toNumber(true); - if (object.app != null) - if ($util.Long) - (message.app = $util.Long.fromValue(object.app)).unsigned = true; - else if (typeof object.app === "string") - message.app = parseInt(object.app, 10); - else if (typeof object.app === "number") - message.app = object.app; - else if (typeof object.app === "object") - message.app = new $util.LongBits(object.app.low >>> 0, object.app.high >>> 0).toNumber(true); - return message; - }; - - /** - * Creates a plain object from a Consensus message. Also converts values to other types if specified. - * @function toObject - * @memberof tendermint.version.Consensus - * @static - * @param {tendermint.version.Consensus} message Consensus - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Consensus.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.block = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.block = options.longs === String ? "0" : 0; - if ($util.Long) { - let long = new $util.Long(0, 0, true); - object.app = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.app = options.longs === String ? "0" : 0; - } - if (message.block != null && message.hasOwnProperty("block")) - if (typeof message.block === "number") - object.block = options.longs === String ? String(message.block) : message.block; - else - object.block = options.longs === String ? $util.Long.prototype.toString.call(message.block) : options.longs === Number ? new $util.LongBits(message.block.low >>> 0, message.block.high >>> 0).toNumber(true) : message.block; - if (message.app != null && message.hasOwnProperty("app")) - if (typeof message.app === "number") - object.app = options.longs === String ? String(message.app) : message.app; - else - object.app = options.longs === String ? $util.Long.prototype.toString.call(message.app) : options.longs === Number ? new $util.LongBits(message.app.low >>> 0, message.app.high >>> 0).toNumber(true) : message.app; - return object; - }; - - /** - * Converts this Consensus to JSON. - * @function toJSON - * @memberof tendermint.version.Consensus - * @instance - * @returns {Object.} JSON object - */ - Consensus.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return Consensus; - })(version.Consensus || {}); - - return version; - })(tendermint.version || {}); - - return tendermint; -})($root.tendermint || {}); - -/** - * Namespace ics23. - * @exports ics23 - * @namespace - */ - -export const ics23 = $root.ics23 = ((ics23) => { - - /** - * HashOp enum. - * @name ics23.HashOp - * @enum {string} - * @property {number} NO_HASH=0 NO_HASH value - * @property {number} SHA256=1 SHA256 value - * @property {number} SHA512=2 SHA512 value - * @property {number} KECCAK=3 KECCAK value - * @property {number} RIPEMD160=4 RIPEMD160 value - * @property {number} BITCOIN=5 BITCOIN value - */ - ics23.HashOp = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "NO_HASH"] = 0; - values[valuesById[1] = "SHA256"] = 1; - values[valuesById[2] = "SHA512"] = 2; - values[valuesById[3] = "KECCAK"] = 3; - values[valuesById[4] = "RIPEMD160"] = 4; - values[valuesById[5] = "BITCOIN"] = 5; - return values; - })(); - - /** - * LengthOp defines how to process the key and value of the LeafOp - * to include length information. After encoding the length with the given - * algorithm, the length will be prepended to the key and value bytes. - * (Each one with it's own encoded length) - * @name ics23.LengthOp - * @enum {string} - * @property {number} NO_PREFIX=0 NO_PREFIX value - * @property {number} VAR_PROTO=1 VAR_PROTO value - * @property {number} VAR_RLP=2 VAR_RLP value - * @property {number} FIXED32_BIG=3 FIXED32_BIG value - * @property {number} FIXED32_LITTLE=4 FIXED32_LITTLE value - * @property {number} FIXED64_BIG=5 FIXED64_BIG value - * @property {number} FIXED64_LITTLE=6 FIXED64_LITTLE value - * @property {number} REQUIRE_32_BYTES=7 REQUIRE_32_BYTES value - * @property {number} REQUIRE_64_BYTES=8 REQUIRE_64_BYTES value - */ - ics23.LengthOp = (function() { - const valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "NO_PREFIX"] = 0; - values[valuesById[1] = "VAR_PROTO"] = 1; - values[valuesById[2] = "VAR_RLP"] = 2; - values[valuesById[3] = "FIXED32_BIG"] = 3; - values[valuesById[4] = "FIXED32_LITTLE"] = 4; - values[valuesById[5] = "FIXED64_BIG"] = 5; - values[valuesById[6] = "FIXED64_LITTLE"] = 6; - values[valuesById[7] = "REQUIRE_32_BYTES"] = 7; - values[valuesById[8] = "REQUIRE_64_BYTES"] = 8; - return values; - })(); - - ics23.ExistenceProof = (function(ExistenceProof) { - - /** - * Properties of an ExistenceProof. - * @memberof ics23 - * @interface IExistenceProof - * @property {Uint8Array|null} [key] ExistenceProof key - * @property {Uint8Array|null} [value] ExistenceProof value - * @property {ics23.ILeafOp|null} [leaf] ExistenceProof leaf - * @property {Array.|null} [path] ExistenceProof path - */ - - /** - * Constructs a new ExistenceProof. - * @memberof ics23 - * @classdesc ExistenceProof takes a key and a value and a set of steps to perform on it. - * The result of peforming all these steps will provide a "root hash", which can - * be compared to the value in a header. - * - * Since it is computationally infeasible to produce a hash collission for any of the used - * cryptographic hash functions, if someone can provide a series of operations to transform - * a given key and value into a root hash that matches some trusted root, these key and values - * must be in the referenced merkle tree. - * - * The only possible issue is maliablity in LeafOp, such as providing extra prefix data, - * which should be controlled by a spec. Eg. with lengthOp as NONE, - * prefix = FOO, key = BAR, value = CHOICE - * and - * prefix = F, key = OOBAR, value = CHOICE - * would produce the same value. - * - * With LengthOp this is tricker but not impossible. Which is why the "leafPrefixEqual" field - * in the ProofSpec is valuable to prevent this mutability. And why all trees should - * length-prefix the data before hashing it. - * @implements IExistenceProof - * @constructor - * @param {ics23.IExistenceProof=} [properties] Properties to set - */ - function ExistenceProof(properties) { - this.path = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ExistenceProof key. - * @member {Uint8Array} key - * @memberof ics23.ExistenceProof - * @instance - */ - ExistenceProof.prototype.key = $util.newBuffer([]); - - /** - * ExistenceProof value. - * @member {Uint8Array} value - * @memberof ics23.ExistenceProof - * @instance - */ - ExistenceProof.prototype.value = $util.newBuffer([]); - - /** - * ExistenceProof leaf. - * @member {ics23.ILeafOp|null|undefined} leaf - * @memberof ics23.ExistenceProof - * @instance - */ - ExistenceProof.prototype.leaf = null; - - /** - * ExistenceProof path. - * @member {Array.} path - * @memberof ics23.ExistenceProof - * @instance - */ - ExistenceProof.prototype.path = $util.emptyArray; - - /** - * Creates a new ExistenceProof instance using the specified properties. - * @function create - * @memberof ics23.ExistenceProof - * @static - * @param {ics23.IExistenceProof=} [properties] Properties to set - * @returns {ics23.ExistenceProof} ExistenceProof instance - */ - ExistenceProof.create = function create(properties) { - return new ExistenceProof(properties); - }; - - /** - * Encodes the specified ExistenceProof message. Does not implicitly {@link ics23.ExistenceProof.verify|verify} messages. - * @function encode - * @memberof ics23.ExistenceProof - * @static - * @param {ics23.IExistenceProof} message ExistenceProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ExistenceProof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); - if (message.leaf != null && Object.hasOwnProperty.call(message, "leaf")) - $root.ics23.LeafOp.encode(message.leaf, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.path != null && message.path.length) - for (let i = 0; i < message.path.length; ++i) - $root.ics23.InnerOp.encode(message.path[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified ExistenceProof message, length delimited. Does not implicitly {@link ics23.ExistenceProof.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.ExistenceProof - * @static - * @param {ics23.IExistenceProof} message ExistenceProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ExistenceProof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an ExistenceProof message from the specified reader or buffer. - * @function decode - * @memberof ics23.ExistenceProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.ExistenceProof} ExistenceProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ExistenceProof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.ExistenceProof(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - case 2: - message.value = reader.bytes(); - break; - case 3: - message.leaf = $root.ics23.LeafOp.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.path && message.path.length)) - message.path = []; - message.path.push($root.ics23.InnerOp.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an ExistenceProof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.ExistenceProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.ExistenceProof} ExistenceProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ExistenceProof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an ExistenceProof message. - * @function verify - * @memberof ics23.ExistenceProof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ExistenceProof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; - if (message.leaf != null && message.hasOwnProperty("leaf")) { - let error = $root.ics23.LeafOp.verify(message.leaf); - if (error) - return "leaf." + error; - } - if (message.path != null && message.hasOwnProperty("path")) { - if (!Array.isArray(message.path)) - return "path: array expected"; - for (let i = 0; i < message.path.length; ++i) { - let error = $root.ics23.InnerOp.verify(message.path[i]); - if (error) - return "path." + error; - } - } - return null; - }; - - /** - * Creates an ExistenceProof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.ExistenceProof - * @static - * @param {Object.} object Plain object - * @returns {ics23.ExistenceProof} ExistenceProof - */ - ExistenceProof.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.ExistenceProof) - return object; - let message = new $root.ics23.ExistenceProof(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) - message.value = object.value; - if (object.leaf != null) { - if (typeof object.leaf !== "object") - throw TypeError(".ics23.ExistenceProof.leaf: object expected"); - message.leaf = $root.ics23.LeafOp.fromObject(object.leaf); - } - if (object.path) { - if (!Array.isArray(object.path)) - throw TypeError(".ics23.ExistenceProof.path: array expected"); - message.path = []; - for (let i = 0; i < object.path.length; ++i) { - if (typeof object.path[i] !== "object") - throw TypeError(".ics23.ExistenceProof.path: object expected"); - message.path[i] = $root.ics23.InnerOp.fromObject(object.path[i]); - } - } - return message; - }; - - /** - * Creates a plain object from an ExistenceProof message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.ExistenceProof - * @static - * @param {ics23.ExistenceProof} message ExistenceProof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ExistenceProof.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.path = []; - if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - object.leaf = null; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; - if (message.leaf != null && message.hasOwnProperty("leaf")) - object.leaf = $root.ics23.LeafOp.toObject(message.leaf, options); - if (message.path && message.path.length) { - object.path = []; - for (let j = 0; j < message.path.length; ++j) - object.path[j] = $root.ics23.InnerOp.toObject(message.path[j], options); - } - return object; - }; - - /** - * Converts this ExistenceProof to JSON. - * @function toJSON - * @memberof ics23.ExistenceProof - * @instance - * @returns {Object.} JSON object - */ - ExistenceProof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ExistenceProof; - })(ics23.ExistenceProof || {}); - - ics23.NonExistenceProof = (function(NonExistenceProof) { - - /** - * Properties of a NonExistenceProof. - * @memberof ics23 - * @interface INonExistenceProof - * @property {Uint8Array|null} [key] NonExistenceProof key - * @property {ics23.IExistenceProof|null} [left] NonExistenceProof left - * @property {ics23.IExistenceProof|null} [right] NonExistenceProof right - */ - - /** - * Constructs a new NonExistenceProof. - * @memberof ics23 - * @classdesc Represents a NonExistenceProof. - * @implements INonExistenceProof - * @constructor - * @param {ics23.INonExistenceProof=} [properties] Properties to set - */ - function NonExistenceProof(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * NonExistenceProof key. - * @member {Uint8Array} key - * @memberof ics23.NonExistenceProof - * @instance - */ - NonExistenceProof.prototype.key = $util.newBuffer([]); - - /** - * NonExistenceProof left. - * @member {ics23.IExistenceProof|null|undefined} left - * @memberof ics23.NonExistenceProof - * @instance - */ - NonExistenceProof.prototype.left = null; - - /** - * NonExistenceProof right. - * @member {ics23.IExistenceProof|null|undefined} right - * @memberof ics23.NonExistenceProof - * @instance - */ - NonExistenceProof.prototype.right = null; - - /** - * Creates a new NonExistenceProof instance using the specified properties. - * @function create - * @memberof ics23.NonExistenceProof - * @static - * @param {ics23.INonExistenceProof=} [properties] Properties to set - * @returns {ics23.NonExistenceProof} NonExistenceProof instance - */ - NonExistenceProof.create = function create(properties) { - return new NonExistenceProof(properties); - }; - - /** - * Encodes the specified NonExistenceProof message. Does not implicitly {@link ics23.NonExistenceProof.verify|verify} messages. - * @function encode - * @memberof ics23.NonExistenceProof - * @static - * @param {ics23.INonExistenceProof} message NonExistenceProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - NonExistenceProof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.left != null && Object.hasOwnProperty.call(message, "left")) - $root.ics23.ExistenceProof.encode(message.left, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.right != null && Object.hasOwnProperty.call(message, "right")) - $root.ics23.ExistenceProof.encode(message.right, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified NonExistenceProof message, length delimited. Does not implicitly {@link ics23.NonExistenceProof.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.NonExistenceProof - * @static - * @param {ics23.INonExistenceProof} message NonExistenceProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - NonExistenceProof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a NonExistenceProof message from the specified reader or buffer. - * @function decode - * @memberof ics23.NonExistenceProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.NonExistenceProof} NonExistenceProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - NonExistenceProof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.NonExistenceProof(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - case 2: - message.left = $root.ics23.ExistenceProof.decode(reader, reader.uint32()); - break; - case 3: - message.right = $root.ics23.ExistenceProof.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a NonExistenceProof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.NonExistenceProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.NonExistenceProof} NonExistenceProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - NonExistenceProof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a NonExistenceProof message. - * @function verify - * @memberof ics23.NonExistenceProof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - NonExistenceProof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.left != null && message.hasOwnProperty("left")) { - let error = $root.ics23.ExistenceProof.verify(message.left); - if (error) - return "left." + error; - } - if (message.right != null && message.hasOwnProperty("right")) { - let error = $root.ics23.ExistenceProof.verify(message.right); - if (error) - return "right." + error; - } - return null; - }; - - /** - * Creates a NonExistenceProof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.NonExistenceProof - * @static - * @param {Object.} object Plain object - * @returns {ics23.NonExistenceProof} NonExistenceProof - */ - NonExistenceProof.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.NonExistenceProof) - return object; - let message = new $root.ics23.NonExistenceProof(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.left != null) { - if (typeof object.left !== "object") - throw TypeError(".ics23.NonExistenceProof.left: object expected"); - message.left = $root.ics23.ExistenceProof.fromObject(object.left); - } - if (object.right != null) { - if (typeof object.right !== "object") - throw TypeError(".ics23.NonExistenceProof.right: object expected"); - message.right = $root.ics23.ExistenceProof.fromObject(object.right); - } - return message; - }; - - /** - * Creates a plain object from a NonExistenceProof message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.NonExistenceProof - * @static - * @param {ics23.NonExistenceProof} message NonExistenceProof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - NonExistenceProof.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - object.left = null; - object.right = null; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.left != null && message.hasOwnProperty("left")) - object.left = $root.ics23.ExistenceProof.toObject(message.left, options); - if (message.right != null && message.hasOwnProperty("right")) - object.right = $root.ics23.ExistenceProof.toObject(message.right, options); - return object; - }; - - /** - * Converts this NonExistenceProof to JSON. - * @function toJSON - * @memberof ics23.NonExistenceProof - * @instance - * @returns {Object.} JSON object - */ - NonExistenceProof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return NonExistenceProof; - })(ics23.NonExistenceProof || {}); - - ics23.CommitmentProof = (function(CommitmentProof) { - - /** - * Properties of a CommitmentProof. - * @memberof ics23 - * @interface ICommitmentProof - * @property {ics23.IExistenceProof|null} [exist] CommitmentProof exist - * @property {ics23.INonExistenceProof|null} [nonexist] CommitmentProof nonexist - * @property {ics23.IBatchProof|null} [batch] CommitmentProof batch - * @property {ics23.ICompressedBatchProof|null} [compressed] CommitmentProof compressed - */ - - /** - * Constructs a new CommitmentProof. - * @memberof ics23 - * @classdesc Represents a CommitmentProof. - * @implements ICommitmentProof - * @constructor - * @param {ics23.ICommitmentProof=} [properties] Properties to set - */ - function CommitmentProof(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CommitmentProof exist. - * @member {ics23.IExistenceProof|null|undefined} exist - * @memberof ics23.CommitmentProof - * @instance - */ - CommitmentProof.prototype.exist = null; - - /** - * CommitmentProof nonexist. - * @member {ics23.INonExistenceProof|null|undefined} nonexist - * @memberof ics23.CommitmentProof - * @instance - */ - CommitmentProof.prototype.nonexist = null; - - /** - * CommitmentProof batch. - * @member {ics23.IBatchProof|null|undefined} batch - * @memberof ics23.CommitmentProof - * @instance - */ - CommitmentProof.prototype.batch = null; - - /** - * CommitmentProof compressed. - * @member {ics23.ICompressedBatchProof|null|undefined} compressed - * @memberof ics23.CommitmentProof - * @instance - */ - CommitmentProof.prototype.compressed = null; - - // OneOf field names bound to virtual getters and setters - let $oneOfFields; - - /** - * CommitmentProof proof. - * @member {"exist"|"nonexist"|"batch"|"compressed"|undefined} proof - * @memberof ics23.CommitmentProof - * @instance - */ - Object.defineProperty(CommitmentProof.prototype, "proof", { - get: $util.oneOfGetter($oneOfFields = ["exist", "nonexist", "batch", "compressed"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new CommitmentProof instance using the specified properties. - * @function create - * @memberof ics23.CommitmentProof - * @static - * @param {ics23.ICommitmentProof=} [properties] Properties to set - * @returns {ics23.CommitmentProof} CommitmentProof instance - */ - CommitmentProof.create = function create(properties) { - return new CommitmentProof(properties); - }; - - /** - * Encodes the specified CommitmentProof message. Does not implicitly {@link ics23.CommitmentProof.verify|verify} messages. - * @function encode - * @memberof ics23.CommitmentProof - * @static - * @param {ics23.ICommitmentProof} message CommitmentProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommitmentProof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.exist != null && Object.hasOwnProperty.call(message, "exist")) - $root.ics23.ExistenceProof.encode(message.exist, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nonexist != null && Object.hasOwnProperty.call(message, "nonexist")) - $root.ics23.NonExistenceProof.encode(message.nonexist, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.batch != null && Object.hasOwnProperty.call(message, "batch")) - $root.ics23.BatchProof.encode(message.batch, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.compressed != null && Object.hasOwnProperty.call(message, "compressed")) - $root.ics23.CompressedBatchProof.encode(message.compressed, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CommitmentProof message, length delimited. Does not implicitly {@link ics23.CommitmentProof.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.CommitmentProof - * @static - * @param {ics23.ICommitmentProof} message CommitmentProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CommitmentProof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CommitmentProof message from the specified reader or buffer. - * @function decode - * @memberof ics23.CommitmentProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.CommitmentProof} CommitmentProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommitmentProof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.CommitmentProof(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.exist = $root.ics23.ExistenceProof.decode(reader, reader.uint32()); - break; - case 2: - message.nonexist = $root.ics23.NonExistenceProof.decode(reader, reader.uint32()); - break; - case 3: - message.batch = $root.ics23.BatchProof.decode(reader, reader.uint32()); - break; - case 4: - message.compressed = $root.ics23.CompressedBatchProof.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CommitmentProof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.CommitmentProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.CommitmentProof} CommitmentProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CommitmentProof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CommitmentProof message. - * @function verify - * @memberof ics23.CommitmentProof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CommitmentProof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - let properties = {}; - if (message.exist != null && message.hasOwnProperty("exist")) { - properties.proof = 1; - { - let error = $root.ics23.ExistenceProof.verify(message.exist); - if (error) - return "exist." + error; - } - } - if (message.nonexist != null && message.hasOwnProperty("nonexist")) { - if (properties.proof === 1) - return "proof: multiple values"; - properties.proof = 1; - { - let error = $root.ics23.NonExistenceProof.verify(message.nonexist); - if (error) - return "nonexist." + error; - } - } - if (message.batch != null && message.hasOwnProperty("batch")) { - if (properties.proof === 1) - return "proof: multiple values"; - properties.proof = 1; - { - let error = $root.ics23.BatchProof.verify(message.batch); - if (error) - return "batch." + error; - } - } - if (message.compressed != null && message.hasOwnProperty("compressed")) { - if (properties.proof === 1) - return "proof: multiple values"; - properties.proof = 1; - { - let error = $root.ics23.CompressedBatchProof.verify(message.compressed); - if (error) - return "compressed." + error; - } - } - return null; - }; - - /** - * Creates a CommitmentProof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.CommitmentProof - * @static - * @param {Object.} object Plain object - * @returns {ics23.CommitmentProof} CommitmentProof - */ - CommitmentProof.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.CommitmentProof) - return object; - let message = new $root.ics23.CommitmentProof(); - if (object.exist != null) { - if (typeof object.exist !== "object") - throw TypeError(".ics23.CommitmentProof.exist: object expected"); - message.exist = $root.ics23.ExistenceProof.fromObject(object.exist); - } - if (object.nonexist != null) { - if (typeof object.nonexist !== "object") - throw TypeError(".ics23.CommitmentProof.nonexist: object expected"); - message.nonexist = $root.ics23.NonExistenceProof.fromObject(object.nonexist); - } - if (object.batch != null) { - if (typeof object.batch !== "object") - throw TypeError(".ics23.CommitmentProof.batch: object expected"); - message.batch = $root.ics23.BatchProof.fromObject(object.batch); - } - if (object.compressed != null) { - if (typeof object.compressed !== "object") - throw TypeError(".ics23.CommitmentProof.compressed: object expected"); - message.compressed = $root.ics23.CompressedBatchProof.fromObject(object.compressed); - } - return message; - }; - - /** - * Creates a plain object from a CommitmentProof message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.CommitmentProof - * @static - * @param {ics23.CommitmentProof} message CommitmentProof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CommitmentProof.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (message.exist != null && message.hasOwnProperty("exist")) { - object.exist = $root.ics23.ExistenceProof.toObject(message.exist, options); - if (options.oneofs) - object.proof = "exist"; - } - if (message.nonexist != null && message.hasOwnProperty("nonexist")) { - object.nonexist = $root.ics23.NonExistenceProof.toObject(message.nonexist, options); - if (options.oneofs) - object.proof = "nonexist"; - } - if (message.batch != null && message.hasOwnProperty("batch")) { - object.batch = $root.ics23.BatchProof.toObject(message.batch, options); - if (options.oneofs) - object.proof = "batch"; - } - if (message.compressed != null && message.hasOwnProperty("compressed")) { - object.compressed = $root.ics23.CompressedBatchProof.toObject(message.compressed, options); - if (options.oneofs) - object.proof = "compressed"; - } - return object; - }; - - /** - * Converts this CommitmentProof to JSON. - * @function toJSON - * @memberof ics23.CommitmentProof - * @instance - * @returns {Object.} JSON object - */ - CommitmentProof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CommitmentProof; - })(ics23.CommitmentProof || {}); - - ics23.LeafOp = (function(LeafOp) { - - /** - * Properties of a LeafOp. - * @memberof ics23 - * @interface ILeafOp - * @property {ics23.HashOp|null} [hash] LeafOp hash - * @property {ics23.HashOp|null} [prehashKey] LeafOp prehashKey - * @property {ics23.HashOp|null} [prehashValue] LeafOp prehashValue - * @property {ics23.LengthOp|null} [length] LeafOp length - * @property {Uint8Array|null} [prefix] LeafOp prefix - */ - - /** - * Constructs a new LeafOp. - * @memberof ics23 - * @classdesc LeafOp represents the raw key-value data we wish to prove, and - * must be flexible to represent the internal transformation from - * the original key-value pairs into the basis hash, for many existing - * merkle trees. - * - * key and value are passed in. So that the signature of this operation is: - * leafOp(key, value) -> output - * - * To process this, first prehash the keys and values if needed (ANY means no hash in this case): - * hkey = prehashKey(key) - * hvalue = prehashValue(value) - * - * Then combine the bytes, and hash it - * output = hash(prefix || length(hkey) || hkey || length(hvalue) || hvalue) - * @implements ILeafOp - * @constructor - * @param {ics23.ILeafOp=} [properties] Properties to set - */ - function LeafOp(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * LeafOp hash. - * @member {ics23.HashOp} hash - * @memberof ics23.LeafOp - * @instance - */ - LeafOp.prototype.hash = 0; - - /** - * LeafOp prehashKey. - * @member {ics23.HashOp} prehashKey - * @memberof ics23.LeafOp - * @instance - */ - LeafOp.prototype.prehashKey = 0; - - /** - * LeafOp prehashValue. - * @member {ics23.HashOp} prehashValue - * @memberof ics23.LeafOp - * @instance - */ - LeafOp.prototype.prehashValue = 0; - - /** - * LeafOp length. - * @member {ics23.LengthOp} length - * @memberof ics23.LeafOp - * @instance - */ - LeafOp.prototype.length = 0; - - /** - * LeafOp prefix. - * @member {Uint8Array} prefix - * @memberof ics23.LeafOp - * @instance - */ - LeafOp.prototype.prefix = $util.newBuffer([]); - - /** - * Creates a new LeafOp instance using the specified properties. - * @function create - * @memberof ics23.LeafOp - * @static - * @param {ics23.ILeafOp=} [properties] Properties to set - * @returns {ics23.LeafOp} LeafOp instance - */ - LeafOp.create = function create(properties) { - return new LeafOp(properties); - }; - - /** - * Encodes the specified LeafOp message. Does not implicitly {@link ics23.LeafOp.verify|verify} messages. - * @function encode - * @memberof ics23.LeafOp - * @static - * @param {ics23.ILeafOp} message LeafOp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LeafOp.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.hash); - if (message.prehashKey != null && Object.hasOwnProperty.call(message, "prehashKey")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.prehashKey); - if (message.prehashValue != null && Object.hasOwnProperty.call(message, "prehashValue")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.prehashValue); - if (message.length != null && Object.hasOwnProperty.call(message, "length")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.length); - if (message.prefix != null && Object.hasOwnProperty.call(message, "prefix")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.prefix); - return writer; - }; - - /** - * Encodes the specified LeafOp message, length delimited. Does not implicitly {@link ics23.LeafOp.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.LeafOp - * @static - * @param {ics23.ILeafOp} message LeafOp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - LeafOp.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a LeafOp message from the specified reader or buffer. - * @function decode - * @memberof ics23.LeafOp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.LeafOp} LeafOp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LeafOp.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.LeafOp(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.hash = reader.int32(); - break; - case 2: - message.prehashKey = reader.int32(); - break; - case 3: - message.prehashValue = reader.int32(); - break; - case 4: - message.length = reader.int32(); - break; - case 5: - message.prefix = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a LeafOp message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.LeafOp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.LeafOp} LeafOp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - LeafOp.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a LeafOp message. - * @function verify - * @memberof ics23.LeafOp - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - LeafOp.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - switch (message.hash) { - default: - return "hash: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.prehashKey != null && message.hasOwnProperty("prehashKey")) - switch (message.prehashKey) { - default: - return "prehashKey: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.prehashValue != null && message.hasOwnProperty("prehashValue")) - switch (message.prehashValue) { - default: - return "prehashValue: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.length != null && message.hasOwnProperty("length")) - switch (message.length) { - default: - return "length: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - break; - } - if (message.prefix != null && message.hasOwnProperty("prefix")) - if (!(message.prefix && typeof message.prefix.length === "number" || $util.isString(message.prefix))) - return "prefix: buffer expected"; - return null; - }; - - /** - * Creates a LeafOp message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.LeafOp - * @static - * @param {Object.} object Plain object - * @returns {ics23.LeafOp} LeafOp - */ - LeafOp.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.LeafOp) - return object; - let message = new $root.ics23.LeafOp(); - switch (object.hash) { - case "NO_HASH": - case 0: - message.hash = 0; - break; - case "SHA256": - case 1: - message.hash = 1; - break; - case "SHA512": - case 2: - message.hash = 2; - break; - case "KECCAK": - case 3: - message.hash = 3; - break; - case "RIPEMD160": - case 4: - message.hash = 4; - break; - case "BITCOIN": - case 5: - message.hash = 5; - break; - } - switch (object.prehashKey) { - case "NO_HASH": - case 0: - message.prehashKey = 0; - break; - case "SHA256": - case 1: - message.prehashKey = 1; - break; - case "SHA512": - case 2: - message.prehashKey = 2; - break; - case "KECCAK": - case 3: - message.prehashKey = 3; - break; - case "RIPEMD160": - case 4: - message.prehashKey = 4; - break; - case "BITCOIN": - case 5: - message.prehashKey = 5; - break; - } - switch (object.prehashValue) { - case "NO_HASH": - case 0: - message.prehashValue = 0; - break; - case "SHA256": - case 1: - message.prehashValue = 1; - break; - case "SHA512": - case 2: - message.prehashValue = 2; - break; - case "KECCAK": - case 3: - message.prehashValue = 3; - break; - case "RIPEMD160": - case 4: - message.prehashValue = 4; - break; - case "BITCOIN": - case 5: - message.prehashValue = 5; - break; - } - switch (object.length) { - case "NO_PREFIX": - case 0: - message.length = 0; - break; - case "VAR_PROTO": - case 1: - message.length = 1; - break; - case "VAR_RLP": - case 2: - message.length = 2; - break; - case "FIXED32_BIG": - case 3: - message.length = 3; - break; - case "FIXED32_LITTLE": - case 4: - message.length = 4; - break; - case "FIXED64_BIG": - case 5: - message.length = 5; - break; - case "FIXED64_LITTLE": - case 6: - message.length = 6; - break; - case "REQUIRE_32_BYTES": - case 7: - message.length = 7; - break; - case "REQUIRE_64_BYTES": - case 8: - message.length = 8; - break; - } - if (object.prefix != null) - if (typeof object.prefix === "string") - $util.base64.decode(object.prefix, message.prefix = $util.newBuffer($util.base64.length(object.prefix)), 0); - else if (object.prefix.length) - message.prefix = object.prefix; - return message; - }; - - /** - * Creates a plain object from a LeafOp message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.LeafOp - * @static - * @param {ics23.LeafOp} message LeafOp - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - LeafOp.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.hash = options.enums === String ? "NO_HASH" : 0; - object.prehashKey = options.enums === String ? "NO_HASH" : 0; - object.prehashValue = options.enums === String ? "NO_HASH" : 0; - object.length = options.enums === String ? "NO_PREFIX" : 0; - if (options.bytes === String) - object.prefix = ""; - else { - object.prefix = []; - if (options.bytes !== Array) - object.prefix = $util.newBuffer(object.prefix); - } - } - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.enums === String ? $root.ics23.HashOp[message.hash] : message.hash; - if (message.prehashKey != null && message.hasOwnProperty("prehashKey")) - object.prehashKey = options.enums === String ? $root.ics23.HashOp[message.prehashKey] : message.prehashKey; - if (message.prehashValue != null && message.hasOwnProperty("prehashValue")) - object.prehashValue = options.enums === String ? $root.ics23.HashOp[message.prehashValue] : message.prehashValue; - if (message.length != null && message.hasOwnProperty("length")) - object.length = options.enums === String ? $root.ics23.LengthOp[message.length] : message.length; - if (message.prefix != null && message.hasOwnProperty("prefix")) - object.prefix = options.bytes === String ? $util.base64.encode(message.prefix, 0, message.prefix.length) : options.bytes === Array ? Array.prototype.slice.call(message.prefix) : message.prefix; - return object; - }; - - /** - * Converts this LeafOp to JSON. - * @function toJSON - * @memberof ics23.LeafOp - * @instance - * @returns {Object.} JSON object - */ - LeafOp.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return LeafOp; - })(ics23.LeafOp || {}); - - ics23.InnerOp = (function(InnerOp) { - - /** - * Properties of an InnerOp. - * @memberof ics23 - * @interface IInnerOp - * @property {ics23.HashOp|null} [hash] InnerOp hash - * @property {Uint8Array|null} [prefix] InnerOp prefix - * @property {Uint8Array|null} [suffix] InnerOp suffix - */ - - /** - * Constructs a new InnerOp. - * @memberof ics23 - * @classdesc InnerOp represents a merkle-proof step that is not a leaf. - * It represents concatenating two children and hashing them to provide the next result. - * - * The result of the previous step is passed in, so the signature of this op is: - * innerOp(child) -> output - * - * The result of applying InnerOp should be: - * output = op.hash(op.prefix || child || op.suffix) - * - * where the || operator is concatenation of binary data, - * and child is the result of hashing all the tree below this step. - * - * Any special data, like prepending child with the length, or prepending the entire operation with - * some value to differentiate from leaf nodes, should be included in prefix and suffix. - * If either of prefix or suffix is empty, we just treat it as an empty string - * @implements IInnerOp - * @constructor - * @param {ics23.IInnerOp=} [properties] Properties to set - */ - function InnerOp(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * InnerOp hash. - * @member {ics23.HashOp} hash - * @memberof ics23.InnerOp - * @instance - */ - InnerOp.prototype.hash = 0; - - /** - * InnerOp prefix. - * @member {Uint8Array} prefix - * @memberof ics23.InnerOp - * @instance - */ - InnerOp.prototype.prefix = $util.newBuffer([]); - - /** - * InnerOp suffix. - * @member {Uint8Array} suffix - * @memberof ics23.InnerOp - * @instance - */ - InnerOp.prototype.suffix = $util.newBuffer([]); - - /** - * Creates a new InnerOp instance using the specified properties. - * @function create - * @memberof ics23.InnerOp - * @static - * @param {ics23.IInnerOp=} [properties] Properties to set - * @returns {ics23.InnerOp} InnerOp instance - */ - InnerOp.create = function create(properties) { - return new InnerOp(properties); - }; - - /** - * Encodes the specified InnerOp message. Does not implicitly {@link ics23.InnerOp.verify|verify} messages. - * @function encode - * @memberof ics23.InnerOp - * @static - * @param {ics23.IInnerOp} message InnerOp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - InnerOp.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 1, wireType 0 =*/8).int32(message.hash); - if (message.prefix != null && Object.hasOwnProperty.call(message, "prefix")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.prefix); - if (message.suffix != null && Object.hasOwnProperty.call(message, "suffix")) - writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.suffix); - return writer; - }; - - /** - * Encodes the specified InnerOp message, length delimited. Does not implicitly {@link ics23.InnerOp.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.InnerOp - * @static - * @param {ics23.IInnerOp} message InnerOp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - InnerOp.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an InnerOp message from the specified reader or buffer. - * @function decode - * @memberof ics23.InnerOp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.InnerOp} InnerOp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - InnerOp.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.InnerOp(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.hash = reader.int32(); - break; - case 2: - message.prefix = reader.bytes(); - break; - case 3: - message.suffix = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an InnerOp message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.InnerOp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.InnerOp} InnerOp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - InnerOp.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an InnerOp message. - * @function verify - * @memberof ics23.InnerOp - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - InnerOp.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - switch (message.hash) { - default: - return "hash: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - if (message.prefix != null && message.hasOwnProperty("prefix")) - if (!(message.prefix && typeof message.prefix.length === "number" || $util.isString(message.prefix))) - return "prefix: buffer expected"; - if (message.suffix != null && message.hasOwnProperty("suffix")) - if (!(message.suffix && typeof message.suffix.length === "number" || $util.isString(message.suffix))) - return "suffix: buffer expected"; - return null; - }; - - /** - * Creates an InnerOp message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.InnerOp - * @static - * @param {Object.} object Plain object - * @returns {ics23.InnerOp} InnerOp - */ - InnerOp.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.InnerOp) - return object; - let message = new $root.ics23.InnerOp(); - switch (object.hash) { - case "NO_HASH": - case 0: - message.hash = 0; - break; - case "SHA256": - case 1: - message.hash = 1; - break; - case "SHA512": - case 2: - message.hash = 2; - break; - case "KECCAK": - case 3: - message.hash = 3; - break; - case "RIPEMD160": - case 4: - message.hash = 4; - break; - case "BITCOIN": - case 5: - message.hash = 5; - break; - } - if (object.prefix != null) - if (typeof object.prefix === "string") - $util.base64.decode(object.prefix, message.prefix = $util.newBuffer($util.base64.length(object.prefix)), 0); - else if (object.prefix.length) - message.prefix = object.prefix; - if (object.suffix != null) - if (typeof object.suffix === "string") - $util.base64.decode(object.suffix, message.suffix = $util.newBuffer($util.base64.length(object.suffix)), 0); - else if (object.suffix.length) - message.suffix = object.suffix; - return message; - }; - - /** - * Creates a plain object from an InnerOp message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.InnerOp - * @static - * @param {ics23.InnerOp} message InnerOp - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - InnerOp.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.hash = options.enums === String ? "NO_HASH" : 0; - if (options.bytes === String) - object.prefix = ""; - else { - object.prefix = []; - if (options.bytes !== Array) - object.prefix = $util.newBuffer(object.prefix); - } - if (options.bytes === String) - object.suffix = ""; - else { - object.suffix = []; - if (options.bytes !== Array) - object.suffix = $util.newBuffer(object.suffix); - } - } - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.enums === String ? $root.ics23.HashOp[message.hash] : message.hash; - if (message.prefix != null && message.hasOwnProperty("prefix")) - object.prefix = options.bytes === String ? $util.base64.encode(message.prefix, 0, message.prefix.length) : options.bytes === Array ? Array.prototype.slice.call(message.prefix) : message.prefix; - if (message.suffix != null && message.hasOwnProperty("suffix")) - object.suffix = options.bytes === String ? $util.base64.encode(message.suffix, 0, message.suffix.length) : options.bytes === Array ? Array.prototype.slice.call(message.suffix) : message.suffix; - return object; - }; - - /** - * Converts this InnerOp to JSON. - * @function toJSON - * @memberof ics23.InnerOp - * @instance - * @returns {Object.} JSON object - */ - InnerOp.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return InnerOp; - })(ics23.InnerOp || {}); - - ics23.ProofSpec = (function(ProofSpec) { - - /** - * Properties of a ProofSpec. - * @memberof ics23 - * @interface IProofSpec - * @property {ics23.ILeafOp|null} [leafSpec] ProofSpec leafSpec - * @property {ics23.IInnerSpec|null} [innerSpec] ProofSpec innerSpec - * @property {number|null} [maxDepth] ProofSpec maxDepth - * @property {number|null} [minDepth] ProofSpec minDepth - */ - - /** - * Constructs a new ProofSpec. - * @memberof ics23 - * @classdesc ProofSpec defines what the expected parameters are for a given proof type. - * This can be stored in the client and used to validate any incoming proofs. - * - * verify(ProofSpec, Proof) -> Proof | Error - * - * As demonstrated in tests, if we don't fix the algorithm used to calculate the - * LeafHash for a given tree, there are many possible key-value pairs that can - * generate a given hash (by interpretting the preimage differently). - * We need this for proper security, requires client knows a priori what - * tree format server uses. But not in code, rather a configuration object. - * @implements IProofSpec - * @constructor - * @param {ics23.IProofSpec=} [properties] Properties to set - */ - function ProofSpec(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * ProofSpec leafSpec. - * @member {ics23.ILeafOp|null|undefined} leafSpec - * @memberof ics23.ProofSpec - * @instance - */ - ProofSpec.prototype.leafSpec = null; - - /** - * ProofSpec innerSpec. - * @member {ics23.IInnerSpec|null|undefined} innerSpec - * @memberof ics23.ProofSpec - * @instance - */ - ProofSpec.prototype.innerSpec = null; - - /** - * ProofSpec maxDepth. - * @member {number} maxDepth - * @memberof ics23.ProofSpec - * @instance - */ - ProofSpec.prototype.maxDepth = 0; - - /** - * ProofSpec minDepth. - * @member {number} minDepth - * @memberof ics23.ProofSpec - * @instance - */ - ProofSpec.prototype.minDepth = 0; - - /** - * Creates a new ProofSpec instance using the specified properties. - * @function create - * @memberof ics23.ProofSpec - * @static - * @param {ics23.IProofSpec=} [properties] Properties to set - * @returns {ics23.ProofSpec} ProofSpec instance - */ - ProofSpec.create = function create(properties) { - return new ProofSpec(properties); - }; - - /** - * Encodes the specified ProofSpec message. Does not implicitly {@link ics23.ProofSpec.verify|verify} messages. - * @function encode - * @memberof ics23.ProofSpec - * @static - * @param {ics23.IProofSpec} message ProofSpec message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProofSpec.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.leafSpec != null && Object.hasOwnProperty.call(message, "leafSpec")) - $root.ics23.LeafOp.encode(message.leafSpec, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.innerSpec != null && Object.hasOwnProperty.call(message, "innerSpec")) - $root.ics23.InnerSpec.encode(message.innerSpec, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.maxDepth != null && Object.hasOwnProperty.call(message, "maxDepth")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.maxDepth); - if (message.minDepth != null && Object.hasOwnProperty.call(message, "minDepth")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.minDepth); - return writer; - }; - - /** - * Encodes the specified ProofSpec message, length delimited. Does not implicitly {@link ics23.ProofSpec.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.ProofSpec - * @static - * @param {ics23.IProofSpec} message ProofSpec message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - ProofSpec.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a ProofSpec message from the specified reader or buffer. - * @function decode - * @memberof ics23.ProofSpec - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.ProofSpec} ProofSpec - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProofSpec.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.ProofSpec(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.leafSpec = $root.ics23.LeafOp.decode(reader, reader.uint32()); - break; - case 2: - message.innerSpec = $root.ics23.InnerSpec.decode(reader, reader.uint32()); - break; - case 3: - message.maxDepth = reader.int32(); - break; - case 4: - message.minDepth = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a ProofSpec message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.ProofSpec - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.ProofSpec} ProofSpec - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - ProofSpec.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a ProofSpec message. - * @function verify - * @memberof ics23.ProofSpec - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - ProofSpec.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.leafSpec != null && message.hasOwnProperty("leafSpec")) { - let error = $root.ics23.LeafOp.verify(message.leafSpec); - if (error) - return "leafSpec." + error; - } - if (message.innerSpec != null && message.hasOwnProperty("innerSpec")) { - let error = $root.ics23.InnerSpec.verify(message.innerSpec); - if (error) - return "innerSpec." + error; - } - if (message.maxDepth != null && message.hasOwnProperty("maxDepth")) - if (!$util.isInteger(message.maxDepth)) - return "maxDepth: integer expected"; - if (message.minDepth != null && message.hasOwnProperty("minDepth")) - if (!$util.isInteger(message.minDepth)) - return "minDepth: integer expected"; - return null; - }; - - /** - * Creates a ProofSpec message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.ProofSpec - * @static - * @param {Object.} object Plain object - * @returns {ics23.ProofSpec} ProofSpec - */ - ProofSpec.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.ProofSpec) - return object; - let message = new $root.ics23.ProofSpec(); - if (object.leafSpec != null) { - if (typeof object.leafSpec !== "object") - throw TypeError(".ics23.ProofSpec.leafSpec: object expected"); - message.leafSpec = $root.ics23.LeafOp.fromObject(object.leafSpec); - } - if (object.innerSpec != null) { - if (typeof object.innerSpec !== "object") - throw TypeError(".ics23.ProofSpec.innerSpec: object expected"); - message.innerSpec = $root.ics23.InnerSpec.fromObject(object.innerSpec); - } - if (object.maxDepth != null) - message.maxDepth = object.maxDepth | 0; - if (object.minDepth != null) - message.minDepth = object.minDepth | 0; - return message; - }; - - /** - * Creates a plain object from a ProofSpec message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.ProofSpec - * @static - * @param {ics23.ProofSpec} message ProofSpec - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - ProofSpec.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - object.leafSpec = null; - object.innerSpec = null; - object.maxDepth = 0; - object.minDepth = 0; - } - if (message.leafSpec != null && message.hasOwnProperty("leafSpec")) - object.leafSpec = $root.ics23.LeafOp.toObject(message.leafSpec, options); - if (message.innerSpec != null && message.hasOwnProperty("innerSpec")) - object.innerSpec = $root.ics23.InnerSpec.toObject(message.innerSpec, options); - if (message.maxDepth != null && message.hasOwnProperty("maxDepth")) - object.maxDepth = message.maxDepth; - if (message.minDepth != null && message.hasOwnProperty("minDepth")) - object.minDepth = message.minDepth; - return object; - }; - - /** - * Converts this ProofSpec to JSON. - * @function toJSON - * @memberof ics23.ProofSpec - * @instance - * @returns {Object.} JSON object - */ - ProofSpec.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return ProofSpec; - })(ics23.ProofSpec || {}); - - ics23.InnerSpec = (function(InnerSpec) { - - /** - * Properties of an InnerSpec. - * @memberof ics23 - * @interface IInnerSpec - * @property {Array.|null} [childOrder] InnerSpec childOrder - * @property {number|null} [childSize] InnerSpec childSize - * @property {number|null} [minPrefixLength] InnerSpec minPrefixLength - * @property {number|null} [maxPrefixLength] InnerSpec maxPrefixLength - * @property {Uint8Array|null} [emptyChild] InnerSpec emptyChild - * @property {ics23.HashOp|null} [hash] InnerSpec hash - */ - - /** - * Constructs a new InnerSpec. - * @memberof ics23 - * @classdesc Represents an InnerSpec. - * @implements IInnerSpec - * @constructor - * @param {ics23.IInnerSpec=} [properties] Properties to set - */ - function InnerSpec(properties) { - this.childOrder = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * InnerSpec childOrder. - * @member {Array.} childOrder - * @memberof ics23.InnerSpec - * @instance - */ - InnerSpec.prototype.childOrder = $util.emptyArray; - - /** - * InnerSpec childSize. - * @member {number} childSize - * @memberof ics23.InnerSpec - * @instance - */ - InnerSpec.prototype.childSize = 0; - - /** - * InnerSpec minPrefixLength. - * @member {number} minPrefixLength - * @memberof ics23.InnerSpec - * @instance - */ - InnerSpec.prototype.minPrefixLength = 0; - - /** - * InnerSpec maxPrefixLength. - * @member {number} maxPrefixLength - * @memberof ics23.InnerSpec - * @instance - */ - InnerSpec.prototype.maxPrefixLength = 0; - - /** - * InnerSpec emptyChild. - * @member {Uint8Array} emptyChild - * @memberof ics23.InnerSpec - * @instance - */ - InnerSpec.prototype.emptyChild = $util.newBuffer([]); - - /** - * InnerSpec hash. - * @member {ics23.HashOp} hash - * @memberof ics23.InnerSpec - * @instance - */ - InnerSpec.prototype.hash = 0; - - /** - * Creates a new InnerSpec instance using the specified properties. - * @function create - * @memberof ics23.InnerSpec - * @static - * @param {ics23.IInnerSpec=} [properties] Properties to set - * @returns {ics23.InnerSpec} InnerSpec instance - */ - InnerSpec.create = function create(properties) { - return new InnerSpec(properties); - }; - - /** - * Encodes the specified InnerSpec message. Does not implicitly {@link ics23.InnerSpec.verify|verify} messages. - * @function encode - * @memberof ics23.InnerSpec - * @static - * @param {ics23.IInnerSpec} message InnerSpec message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - InnerSpec.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.childOrder != null && message.childOrder.length) { - writer.uint32(/* id 1, wireType 2 =*/10).fork(); - for (let i = 0; i < message.childOrder.length; ++i) - writer.int32(message.childOrder[i]); - writer.ldelim(); - } - if (message.childSize != null && Object.hasOwnProperty.call(message, "childSize")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.childSize); - if (message.minPrefixLength != null && Object.hasOwnProperty.call(message, "minPrefixLength")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.minPrefixLength); - if (message.maxPrefixLength != null && Object.hasOwnProperty.call(message, "maxPrefixLength")) - writer.uint32(/* id 4, wireType 0 =*/32).int32(message.maxPrefixLength); - if (message.emptyChild != null && Object.hasOwnProperty.call(message, "emptyChild")) - writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.emptyChild); - if (message.hash != null && Object.hasOwnProperty.call(message, "hash")) - writer.uint32(/* id 6, wireType 0 =*/48).int32(message.hash); - return writer; - }; - - /** - * Encodes the specified InnerSpec message, length delimited. Does not implicitly {@link ics23.InnerSpec.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.InnerSpec - * @static - * @param {ics23.IInnerSpec} message InnerSpec message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - InnerSpec.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes an InnerSpec message from the specified reader or buffer. - * @function decode - * @memberof ics23.InnerSpec - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.InnerSpec} InnerSpec - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - InnerSpec.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.InnerSpec(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.childOrder && message.childOrder.length)) - message.childOrder = []; - if ((tag & 7) === 2) { - let end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.childOrder.push(reader.int32()); - } else - message.childOrder.push(reader.int32()); - break; - case 2: - message.childSize = reader.int32(); - break; - case 3: - message.minPrefixLength = reader.int32(); - break; - case 4: - message.maxPrefixLength = reader.int32(); - break; - case 5: - message.emptyChild = reader.bytes(); - break; - case 6: - message.hash = reader.int32(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes an InnerSpec message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.InnerSpec - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.InnerSpec} InnerSpec - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - InnerSpec.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies an InnerSpec message. - * @function verify - * @memberof ics23.InnerSpec - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - InnerSpec.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.childOrder != null && message.hasOwnProperty("childOrder")) { - if (!Array.isArray(message.childOrder)) - return "childOrder: array expected"; - for (let i = 0; i < message.childOrder.length; ++i) - if (!$util.isInteger(message.childOrder[i])) - return "childOrder: integer[] expected"; - } - if (message.childSize != null && message.hasOwnProperty("childSize")) - if (!$util.isInteger(message.childSize)) - return "childSize: integer expected"; - if (message.minPrefixLength != null && message.hasOwnProperty("minPrefixLength")) - if (!$util.isInteger(message.minPrefixLength)) - return "minPrefixLength: integer expected"; - if (message.maxPrefixLength != null && message.hasOwnProperty("maxPrefixLength")) - if (!$util.isInteger(message.maxPrefixLength)) - return "maxPrefixLength: integer expected"; - if (message.emptyChild != null && message.hasOwnProperty("emptyChild")) - if (!(message.emptyChild && typeof message.emptyChild.length === "number" || $util.isString(message.emptyChild))) - return "emptyChild: buffer expected"; - if (message.hash != null && message.hasOwnProperty("hash")) - switch (message.hash) { - default: - return "hash: enum value expected"; - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - break; - } - return null; - }; - - /** - * Creates an InnerSpec message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.InnerSpec - * @static - * @param {Object.} object Plain object - * @returns {ics23.InnerSpec} InnerSpec - */ - InnerSpec.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.InnerSpec) - return object; - let message = new $root.ics23.InnerSpec(); - if (object.childOrder) { - if (!Array.isArray(object.childOrder)) - throw TypeError(".ics23.InnerSpec.childOrder: array expected"); - message.childOrder = []; - for (let i = 0; i < object.childOrder.length; ++i) - message.childOrder[i] = object.childOrder[i] | 0; - } - if (object.childSize != null) - message.childSize = object.childSize | 0; - if (object.minPrefixLength != null) - message.minPrefixLength = object.minPrefixLength | 0; - if (object.maxPrefixLength != null) - message.maxPrefixLength = object.maxPrefixLength | 0; - if (object.emptyChild != null) - if (typeof object.emptyChild === "string") - $util.base64.decode(object.emptyChild, message.emptyChild = $util.newBuffer($util.base64.length(object.emptyChild)), 0); - else if (object.emptyChild.length) - message.emptyChild = object.emptyChild; - switch (object.hash) { - case "NO_HASH": - case 0: - message.hash = 0; - break; - case "SHA256": - case 1: - message.hash = 1; - break; - case "SHA512": - case 2: - message.hash = 2; - break; - case "KECCAK": - case 3: - message.hash = 3; - break; - case "RIPEMD160": - case 4: - message.hash = 4; - break; - case "BITCOIN": - case 5: - message.hash = 5; - break; - } - return message; - }; - - /** - * Creates a plain object from an InnerSpec message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.InnerSpec - * @static - * @param {ics23.InnerSpec} message InnerSpec - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - InnerSpec.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.childOrder = []; - if (options.defaults) { - object.childSize = 0; - object.minPrefixLength = 0; - object.maxPrefixLength = 0; - if (options.bytes === String) - object.emptyChild = ""; - else { - object.emptyChild = []; - if (options.bytes !== Array) - object.emptyChild = $util.newBuffer(object.emptyChild); - } - object.hash = options.enums === String ? "NO_HASH" : 0; - } - if (message.childOrder && message.childOrder.length) { - object.childOrder = []; - for (let j = 0; j < message.childOrder.length; ++j) - object.childOrder[j] = message.childOrder[j]; - } - if (message.childSize != null && message.hasOwnProperty("childSize")) - object.childSize = message.childSize; - if (message.minPrefixLength != null && message.hasOwnProperty("minPrefixLength")) - object.minPrefixLength = message.minPrefixLength; - if (message.maxPrefixLength != null && message.hasOwnProperty("maxPrefixLength")) - object.maxPrefixLength = message.maxPrefixLength; - if (message.emptyChild != null && message.hasOwnProperty("emptyChild")) - object.emptyChild = options.bytes === String ? $util.base64.encode(message.emptyChild, 0, message.emptyChild.length) : options.bytes === Array ? Array.prototype.slice.call(message.emptyChild) : message.emptyChild; - if (message.hash != null && message.hasOwnProperty("hash")) - object.hash = options.enums === String ? $root.ics23.HashOp[message.hash] : message.hash; - return object; - }; - - /** - * Converts this InnerSpec to JSON. - * @function toJSON - * @memberof ics23.InnerSpec - * @instance - * @returns {Object.} JSON object - */ - InnerSpec.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return InnerSpec; - })(ics23.InnerSpec || {}); - - ics23.BatchProof = (function(BatchProof) { - - /** - * Properties of a BatchProof. - * @memberof ics23 - * @interface IBatchProof - * @property {Array.|null} [entries] BatchProof entries - */ - - /** - * Constructs a new BatchProof. - * @memberof ics23 - * @classdesc Represents a BatchProof. - * @implements IBatchProof - * @constructor - * @param {ics23.IBatchProof=} [properties] Properties to set - */ - function BatchProof(properties) { - this.entries = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BatchProof entries. - * @member {Array.} entries - * @memberof ics23.BatchProof - * @instance - */ - BatchProof.prototype.entries = $util.emptyArray; - - /** - * Creates a new BatchProof instance using the specified properties. - * @function create - * @memberof ics23.BatchProof - * @static - * @param {ics23.IBatchProof=} [properties] Properties to set - * @returns {ics23.BatchProof} BatchProof instance - */ - BatchProof.create = function create(properties) { - return new BatchProof(properties); - }; - - /** - * Encodes the specified BatchProof message. Does not implicitly {@link ics23.BatchProof.verify|verify} messages. - * @function encode - * @memberof ics23.BatchProof - * @static - * @param {ics23.IBatchProof} message BatchProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchProof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.entries != null && message.entries.length) - for (let i = 0; i < message.entries.length; ++i) - $root.ics23.BatchEntry.encode(message.entries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BatchProof message, length delimited. Does not implicitly {@link ics23.BatchProof.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.BatchProof - * @static - * @param {ics23.IBatchProof} message BatchProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchProof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BatchProof message from the specified reader or buffer. - * @function decode - * @memberof ics23.BatchProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.BatchProof} BatchProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchProof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.BatchProof(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.entries && message.entries.length)) - message.entries = []; - message.entries.push($root.ics23.BatchEntry.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BatchProof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.BatchProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.BatchProof} BatchProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchProof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BatchProof message. - * @function verify - * @memberof ics23.BatchProof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BatchProof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.entries != null && message.hasOwnProperty("entries")) { - if (!Array.isArray(message.entries)) - return "entries: array expected"; - for (let i = 0; i < message.entries.length; ++i) { - let error = $root.ics23.BatchEntry.verify(message.entries[i]); - if (error) - return "entries." + error; - } - } - return null; - }; - - /** - * Creates a BatchProof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.BatchProof - * @static - * @param {Object.} object Plain object - * @returns {ics23.BatchProof} BatchProof - */ - BatchProof.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.BatchProof) - return object; - let message = new $root.ics23.BatchProof(); - if (object.entries) { - if (!Array.isArray(object.entries)) - throw TypeError(".ics23.BatchProof.entries: array expected"); - message.entries = []; - for (let i = 0; i < object.entries.length; ++i) { - if (typeof object.entries[i] !== "object") - throw TypeError(".ics23.BatchProof.entries: object expected"); - message.entries[i] = $root.ics23.BatchEntry.fromObject(object.entries[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a BatchProof message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.BatchProof - * @static - * @param {ics23.BatchProof} message BatchProof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BatchProof.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.entries = []; - if (message.entries && message.entries.length) { - object.entries = []; - for (let j = 0; j < message.entries.length; ++j) - object.entries[j] = $root.ics23.BatchEntry.toObject(message.entries[j], options); - } - return object; - }; - - /** - * Converts this BatchProof to JSON. - * @function toJSON - * @memberof ics23.BatchProof - * @instance - * @returns {Object.} JSON object - */ - BatchProof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BatchProof; - })(ics23.BatchProof || {}); - - ics23.BatchEntry = (function(BatchEntry) { - - /** - * Properties of a BatchEntry. - * @memberof ics23 - * @interface IBatchEntry - * @property {ics23.IExistenceProof|null} [exist] BatchEntry exist - * @property {ics23.INonExistenceProof|null} [nonexist] BatchEntry nonexist - */ - - /** - * Constructs a new BatchEntry. - * @memberof ics23 - * @classdesc Represents a BatchEntry. - * @implements IBatchEntry - * @constructor - * @param {ics23.IBatchEntry=} [properties] Properties to set - */ - function BatchEntry(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * BatchEntry exist. - * @member {ics23.IExistenceProof|null|undefined} exist - * @memberof ics23.BatchEntry - * @instance - */ - BatchEntry.prototype.exist = null; - - /** - * BatchEntry nonexist. - * @member {ics23.INonExistenceProof|null|undefined} nonexist - * @memberof ics23.BatchEntry - * @instance - */ - BatchEntry.prototype.nonexist = null; - - // OneOf field names bound to virtual getters and setters - let $oneOfFields; - - /** - * BatchEntry proof. - * @member {"exist"|"nonexist"|undefined} proof - * @memberof ics23.BatchEntry - * @instance - */ - Object.defineProperty(BatchEntry.prototype, "proof", { - get: $util.oneOfGetter($oneOfFields = ["exist", "nonexist"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new BatchEntry instance using the specified properties. - * @function create - * @memberof ics23.BatchEntry - * @static - * @param {ics23.IBatchEntry=} [properties] Properties to set - * @returns {ics23.BatchEntry} BatchEntry instance - */ - BatchEntry.create = function create(properties) { - return new BatchEntry(properties); - }; - - /** - * Encodes the specified BatchEntry message. Does not implicitly {@link ics23.BatchEntry.verify|verify} messages. - * @function encode - * @memberof ics23.BatchEntry - * @static - * @param {ics23.IBatchEntry} message BatchEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchEntry.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.exist != null && Object.hasOwnProperty.call(message, "exist")) - $root.ics23.ExistenceProof.encode(message.exist, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nonexist != null && Object.hasOwnProperty.call(message, "nonexist")) - $root.ics23.NonExistenceProof.encode(message.nonexist, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified BatchEntry message, length delimited. Does not implicitly {@link ics23.BatchEntry.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.BatchEntry - * @static - * @param {ics23.IBatchEntry} message BatchEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - BatchEntry.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a BatchEntry message from the specified reader or buffer. - * @function decode - * @memberof ics23.BatchEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.BatchEntry} BatchEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchEntry.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.BatchEntry(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.exist = $root.ics23.ExistenceProof.decode(reader, reader.uint32()); - break; - case 2: - message.nonexist = $root.ics23.NonExistenceProof.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a BatchEntry message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.BatchEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.BatchEntry} BatchEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - BatchEntry.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a BatchEntry message. - * @function verify - * @memberof ics23.BatchEntry - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - BatchEntry.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - let properties = {}; - if (message.exist != null && message.hasOwnProperty("exist")) { - properties.proof = 1; - { - let error = $root.ics23.ExistenceProof.verify(message.exist); - if (error) - return "exist." + error; - } - } - if (message.nonexist != null && message.hasOwnProperty("nonexist")) { - if (properties.proof === 1) - return "proof: multiple values"; - properties.proof = 1; - { - let error = $root.ics23.NonExistenceProof.verify(message.nonexist); - if (error) - return "nonexist." + error; - } - } - return null; - }; - - /** - * Creates a BatchEntry message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.BatchEntry - * @static - * @param {Object.} object Plain object - * @returns {ics23.BatchEntry} BatchEntry - */ - BatchEntry.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.BatchEntry) - return object; - let message = new $root.ics23.BatchEntry(); - if (object.exist != null) { - if (typeof object.exist !== "object") - throw TypeError(".ics23.BatchEntry.exist: object expected"); - message.exist = $root.ics23.ExistenceProof.fromObject(object.exist); - } - if (object.nonexist != null) { - if (typeof object.nonexist !== "object") - throw TypeError(".ics23.BatchEntry.nonexist: object expected"); - message.nonexist = $root.ics23.NonExistenceProof.fromObject(object.nonexist); - } - return message; - }; - - /** - * Creates a plain object from a BatchEntry message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.BatchEntry - * @static - * @param {ics23.BatchEntry} message BatchEntry - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - BatchEntry.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (message.exist != null && message.hasOwnProperty("exist")) { - object.exist = $root.ics23.ExistenceProof.toObject(message.exist, options); - if (options.oneofs) - object.proof = "exist"; - } - if (message.nonexist != null && message.hasOwnProperty("nonexist")) { - object.nonexist = $root.ics23.NonExistenceProof.toObject(message.nonexist, options); - if (options.oneofs) - object.proof = "nonexist"; - } - return object; - }; - - /** - * Converts this BatchEntry to JSON. - * @function toJSON - * @memberof ics23.BatchEntry - * @instance - * @returns {Object.} JSON object - */ - BatchEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return BatchEntry; - })(ics23.BatchEntry || {}); - - ics23.CompressedBatchProof = (function(CompressedBatchProof) { - - /** - * Properties of a CompressedBatchProof. - * @memberof ics23 - * @interface ICompressedBatchProof - * @property {Array.|null} [entries] CompressedBatchProof entries - * @property {Array.|null} [lookupInners] CompressedBatchProof lookupInners - */ - - /** - * Constructs a new CompressedBatchProof. - * @memberof ics23 - * @classdesc Represents a CompressedBatchProof. - * @implements ICompressedBatchProof - * @constructor - * @param {ics23.ICompressedBatchProof=} [properties] Properties to set - */ - function CompressedBatchProof(properties) { - this.entries = []; - this.lookupInners = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CompressedBatchProof entries. - * @member {Array.} entries - * @memberof ics23.CompressedBatchProof - * @instance - */ - CompressedBatchProof.prototype.entries = $util.emptyArray; - - /** - * CompressedBatchProof lookupInners. - * @member {Array.} lookupInners - * @memberof ics23.CompressedBatchProof - * @instance - */ - CompressedBatchProof.prototype.lookupInners = $util.emptyArray; - - /** - * Creates a new CompressedBatchProof instance using the specified properties. - * @function create - * @memberof ics23.CompressedBatchProof - * @static - * @param {ics23.ICompressedBatchProof=} [properties] Properties to set - * @returns {ics23.CompressedBatchProof} CompressedBatchProof instance - */ - CompressedBatchProof.create = function create(properties) { - return new CompressedBatchProof(properties); - }; - - /** - * Encodes the specified CompressedBatchProof message. Does not implicitly {@link ics23.CompressedBatchProof.verify|verify} messages. - * @function encode - * @memberof ics23.CompressedBatchProof - * @static - * @param {ics23.ICompressedBatchProof} message CompressedBatchProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CompressedBatchProof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.entries != null && message.entries.length) - for (let i = 0; i < message.entries.length; ++i) - $root.ics23.CompressedBatchEntry.encode(message.entries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.lookupInners != null && message.lookupInners.length) - for (let i = 0; i < message.lookupInners.length; ++i) - $root.ics23.InnerOp.encode(message.lookupInners[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CompressedBatchProof message, length delimited. Does not implicitly {@link ics23.CompressedBatchProof.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.CompressedBatchProof - * @static - * @param {ics23.ICompressedBatchProof} message CompressedBatchProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CompressedBatchProof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CompressedBatchProof message from the specified reader or buffer. - * @function decode - * @memberof ics23.CompressedBatchProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.CompressedBatchProof} CompressedBatchProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CompressedBatchProof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.CompressedBatchProof(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (!(message.entries && message.entries.length)) - message.entries = []; - message.entries.push($root.ics23.CompressedBatchEntry.decode(reader, reader.uint32())); - break; - case 2: - if (!(message.lookupInners && message.lookupInners.length)) - message.lookupInners = []; - message.lookupInners.push($root.ics23.InnerOp.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CompressedBatchProof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.CompressedBatchProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.CompressedBatchProof} CompressedBatchProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CompressedBatchProof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CompressedBatchProof message. - * @function verify - * @memberof ics23.CompressedBatchProof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CompressedBatchProof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.entries != null && message.hasOwnProperty("entries")) { - if (!Array.isArray(message.entries)) - return "entries: array expected"; - for (let i = 0; i < message.entries.length; ++i) { - let error = $root.ics23.CompressedBatchEntry.verify(message.entries[i]); - if (error) - return "entries." + error; - } - } - if (message.lookupInners != null && message.hasOwnProperty("lookupInners")) { - if (!Array.isArray(message.lookupInners)) - return "lookupInners: array expected"; - for (let i = 0; i < message.lookupInners.length; ++i) { - let error = $root.ics23.InnerOp.verify(message.lookupInners[i]); - if (error) - return "lookupInners." + error; - } - } - return null; - }; - - /** - * Creates a CompressedBatchProof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.CompressedBatchProof - * @static - * @param {Object.} object Plain object - * @returns {ics23.CompressedBatchProof} CompressedBatchProof - */ - CompressedBatchProof.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.CompressedBatchProof) - return object; - let message = new $root.ics23.CompressedBatchProof(); - if (object.entries) { - if (!Array.isArray(object.entries)) - throw TypeError(".ics23.CompressedBatchProof.entries: array expected"); - message.entries = []; - for (let i = 0; i < object.entries.length; ++i) { - if (typeof object.entries[i] !== "object") - throw TypeError(".ics23.CompressedBatchProof.entries: object expected"); - message.entries[i] = $root.ics23.CompressedBatchEntry.fromObject(object.entries[i]); - } - } - if (object.lookupInners) { - if (!Array.isArray(object.lookupInners)) - throw TypeError(".ics23.CompressedBatchProof.lookupInners: array expected"); - message.lookupInners = []; - for (let i = 0; i < object.lookupInners.length; ++i) { - if (typeof object.lookupInners[i] !== "object") - throw TypeError(".ics23.CompressedBatchProof.lookupInners: object expected"); - message.lookupInners[i] = $root.ics23.InnerOp.fromObject(object.lookupInners[i]); - } - } - return message; - }; - - /** - * Creates a plain object from a CompressedBatchProof message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.CompressedBatchProof - * @static - * @param {ics23.CompressedBatchProof} message CompressedBatchProof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CompressedBatchProof.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) { - object.entries = []; - object.lookupInners = []; - } - if (message.entries && message.entries.length) { - object.entries = []; - for (let j = 0; j < message.entries.length; ++j) - object.entries[j] = $root.ics23.CompressedBatchEntry.toObject(message.entries[j], options); - } - if (message.lookupInners && message.lookupInners.length) { - object.lookupInners = []; - for (let j = 0; j < message.lookupInners.length; ++j) - object.lookupInners[j] = $root.ics23.InnerOp.toObject(message.lookupInners[j], options); - } - return object; - }; - - /** - * Converts this CompressedBatchProof to JSON. - * @function toJSON - * @memberof ics23.CompressedBatchProof - * @instance - * @returns {Object.} JSON object - */ - CompressedBatchProof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CompressedBatchProof; - })(ics23.CompressedBatchProof || {}); - - ics23.CompressedBatchEntry = (function(CompressedBatchEntry) { - - /** - * Properties of a CompressedBatchEntry. - * @memberof ics23 - * @interface ICompressedBatchEntry - * @property {ics23.ICompressedExistenceProof|null} [exist] CompressedBatchEntry exist - * @property {ics23.ICompressedNonExistenceProof|null} [nonexist] CompressedBatchEntry nonexist - */ - - /** - * Constructs a new CompressedBatchEntry. - * @memberof ics23 - * @classdesc Represents a CompressedBatchEntry. - * @implements ICompressedBatchEntry - * @constructor - * @param {ics23.ICompressedBatchEntry=} [properties] Properties to set - */ - function CompressedBatchEntry(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CompressedBatchEntry exist. - * @member {ics23.ICompressedExistenceProof|null|undefined} exist - * @memberof ics23.CompressedBatchEntry - * @instance - */ - CompressedBatchEntry.prototype.exist = null; - - /** - * CompressedBatchEntry nonexist. - * @member {ics23.ICompressedNonExistenceProof|null|undefined} nonexist - * @memberof ics23.CompressedBatchEntry - * @instance - */ - CompressedBatchEntry.prototype.nonexist = null; - - // OneOf field names bound to virtual getters and setters - let $oneOfFields; - - /** - * CompressedBatchEntry proof. - * @member {"exist"|"nonexist"|undefined} proof - * @memberof ics23.CompressedBatchEntry - * @instance - */ - Object.defineProperty(CompressedBatchEntry.prototype, "proof", { - get: $util.oneOfGetter($oneOfFields = ["exist", "nonexist"]), - set: $util.oneOfSetter($oneOfFields) - }); - - /** - * Creates a new CompressedBatchEntry instance using the specified properties. - * @function create - * @memberof ics23.CompressedBatchEntry - * @static - * @param {ics23.ICompressedBatchEntry=} [properties] Properties to set - * @returns {ics23.CompressedBatchEntry} CompressedBatchEntry instance - */ - CompressedBatchEntry.create = function create(properties) { - return new CompressedBatchEntry(properties); - }; - - /** - * Encodes the specified CompressedBatchEntry message. Does not implicitly {@link ics23.CompressedBatchEntry.verify|verify} messages. - * @function encode - * @memberof ics23.CompressedBatchEntry - * @static - * @param {ics23.ICompressedBatchEntry} message CompressedBatchEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CompressedBatchEntry.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.exist != null && Object.hasOwnProperty.call(message, "exist")) - $root.ics23.CompressedExistenceProof.encode(message.exist, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); - if (message.nonexist != null && Object.hasOwnProperty.call(message, "nonexist")) - $root.ics23.CompressedNonExistenceProof.encode(message.nonexist, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CompressedBatchEntry message, length delimited. Does not implicitly {@link ics23.CompressedBatchEntry.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.CompressedBatchEntry - * @static - * @param {ics23.ICompressedBatchEntry} message CompressedBatchEntry message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CompressedBatchEntry.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CompressedBatchEntry message from the specified reader or buffer. - * @function decode - * @memberof ics23.CompressedBatchEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.CompressedBatchEntry} CompressedBatchEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CompressedBatchEntry.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.CompressedBatchEntry(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.exist = $root.ics23.CompressedExistenceProof.decode(reader, reader.uint32()); - break; - case 2: - message.nonexist = $root.ics23.CompressedNonExistenceProof.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CompressedBatchEntry message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.CompressedBatchEntry - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.CompressedBatchEntry} CompressedBatchEntry - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CompressedBatchEntry.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CompressedBatchEntry message. - * @function verify - * @memberof ics23.CompressedBatchEntry - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CompressedBatchEntry.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - let properties = {}; - if (message.exist != null && message.hasOwnProperty("exist")) { - properties.proof = 1; - { - let error = $root.ics23.CompressedExistenceProof.verify(message.exist); - if (error) - return "exist." + error; - } - } - if (message.nonexist != null && message.hasOwnProperty("nonexist")) { - if (properties.proof === 1) - return "proof: multiple values"; - properties.proof = 1; - { - let error = $root.ics23.CompressedNonExistenceProof.verify(message.nonexist); - if (error) - return "nonexist." + error; - } - } - return null; - }; - - /** - * Creates a CompressedBatchEntry message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.CompressedBatchEntry - * @static - * @param {Object.} object Plain object - * @returns {ics23.CompressedBatchEntry} CompressedBatchEntry - */ - CompressedBatchEntry.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.CompressedBatchEntry) - return object; - let message = new $root.ics23.CompressedBatchEntry(); - if (object.exist != null) { - if (typeof object.exist !== "object") - throw TypeError(".ics23.CompressedBatchEntry.exist: object expected"); - message.exist = $root.ics23.CompressedExistenceProof.fromObject(object.exist); - } - if (object.nonexist != null) { - if (typeof object.nonexist !== "object") - throw TypeError(".ics23.CompressedBatchEntry.nonexist: object expected"); - message.nonexist = $root.ics23.CompressedNonExistenceProof.fromObject(object.nonexist); - } - return message; - }; - - /** - * Creates a plain object from a CompressedBatchEntry message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.CompressedBatchEntry - * @static - * @param {ics23.CompressedBatchEntry} message CompressedBatchEntry - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CompressedBatchEntry.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (message.exist != null && message.hasOwnProperty("exist")) { - object.exist = $root.ics23.CompressedExistenceProof.toObject(message.exist, options); - if (options.oneofs) - object.proof = "exist"; - } - if (message.nonexist != null && message.hasOwnProperty("nonexist")) { - object.nonexist = $root.ics23.CompressedNonExistenceProof.toObject(message.nonexist, options); - if (options.oneofs) - object.proof = "nonexist"; - } - return object; - }; - - /** - * Converts this CompressedBatchEntry to JSON. - * @function toJSON - * @memberof ics23.CompressedBatchEntry - * @instance - * @returns {Object.} JSON object - */ - CompressedBatchEntry.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CompressedBatchEntry; - })(ics23.CompressedBatchEntry || {}); - - ics23.CompressedExistenceProof = (function(CompressedExistenceProof) { - - /** - * Properties of a CompressedExistenceProof. - * @memberof ics23 - * @interface ICompressedExistenceProof - * @property {Uint8Array|null} [key] CompressedExistenceProof key - * @property {Uint8Array|null} [value] CompressedExistenceProof value - * @property {ics23.ILeafOp|null} [leaf] CompressedExistenceProof leaf - * @property {Array.|null} [path] CompressedExistenceProof path - */ - - /** - * Constructs a new CompressedExistenceProof. - * @memberof ics23 - * @classdesc Represents a CompressedExistenceProof. - * @implements ICompressedExistenceProof - * @constructor - * @param {ics23.ICompressedExistenceProof=} [properties] Properties to set - */ - function CompressedExistenceProof(properties) { - this.path = []; - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CompressedExistenceProof key. - * @member {Uint8Array} key - * @memberof ics23.CompressedExistenceProof - * @instance - */ - CompressedExistenceProof.prototype.key = $util.newBuffer([]); - - /** - * CompressedExistenceProof value. - * @member {Uint8Array} value - * @memberof ics23.CompressedExistenceProof - * @instance - */ - CompressedExistenceProof.prototype.value = $util.newBuffer([]); - - /** - * CompressedExistenceProof leaf. - * @member {ics23.ILeafOp|null|undefined} leaf - * @memberof ics23.CompressedExistenceProof - * @instance - */ - CompressedExistenceProof.prototype.leaf = null; - - /** - * CompressedExistenceProof path. - * @member {Array.} path - * @memberof ics23.CompressedExistenceProof - * @instance - */ - CompressedExistenceProof.prototype.path = $util.emptyArray; - - /** - * Creates a new CompressedExistenceProof instance using the specified properties. - * @function create - * @memberof ics23.CompressedExistenceProof - * @static - * @param {ics23.ICompressedExistenceProof=} [properties] Properties to set - * @returns {ics23.CompressedExistenceProof} CompressedExistenceProof instance - */ - CompressedExistenceProof.create = function create(properties) { - return new CompressedExistenceProof(properties); - }; - - /** - * Encodes the specified CompressedExistenceProof message. Does not implicitly {@link ics23.CompressedExistenceProof.verify|verify} messages. - * @function encode - * @memberof ics23.CompressedExistenceProof - * @static - * @param {ics23.ICompressedExistenceProof} message CompressedExistenceProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CompressedExistenceProof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.value != null && Object.hasOwnProperty.call(message, "value")) - writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); - if (message.leaf != null && Object.hasOwnProperty.call(message, "leaf")) - $root.ics23.LeafOp.encode(message.leaf, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - if (message.path != null && message.path.length) { - writer.uint32(/* id 4, wireType 2 =*/34).fork(); - for (let i = 0; i < message.path.length; ++i) - writer.int32(message.path[i]); - writer.ldelim(); - } - return writer; - }; - - /** - * Encodes the specified CompressedExistenceProof message, length delimited. Does not implicitly {@link ics23.CompressedExistenceProof.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.CompressedExistenceProof - * @static - * @param {ics23.ICompressedExistenceProof} message CompressedExistenceProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CompressedExistenceProof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CompressedExistenceProof message from the specified reader or buffer. - * @function decode - * @memberof ics23.CompressedExistenceProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.CompressedExistenceProof} CompressedExistenceProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CompressedExistenceProof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.CompressedExistenceProof(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - case 2: - message.value = reader.bytes(); - break; - case 3: - message.leaf = $root.ics23.LeafOp.decode(reader, reader.uint32()); - break; - case 4: - if (!(message.path && message.path.length)) - message.path = []; - if ((tag & 7) === 2) { - let end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) - message.path.push(reader.int32()); - } else - message.path.push(reader.int32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CompressedExistenceProof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.CompressedExistenceProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.CompressedExistenceProof} CompressedExistenceProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CompressedExistenceProof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CompressedExistenceProof message. - * @function verify - * @memberof ics23.CompressedExistenceProof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CompressedExistenceProof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.value != null && message.hasOwnProperty("value")) - if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) - return "value: buffer expected"; - if (message.leaf != null && message.hasOwnProperty("leaf")) { - let error = $root.ics23.LeafOp.verify(message.leaf); - if (error) - return "leaf." + error; - } - if (message.path != null && message.hasOwnProperty("path")) { - if (!Array.isArray(message.path)) - return "path: array expected"; - for (let i = 0; i < message.path.length; ++i) - if (!$util.isInteger(message.path[i])) - return "path: integer[] expected"; - } - return null; - }; - - /** - * Creates a CompressedExistenceProof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.CompressedExistenceProof - * @static - * @param {Object.} object Plain object - * @returns {ics23.CompressedExistenceProof} CompressedExistenceProof - */ - CompressedExistenceProof.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.CompressedExistenceProof) - return object; - let message = new $root.ics23.CompressedExistenceProof(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.value != null) - if (typeof object.value === "string") - $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); - else if (object.value.length) - message.value = object.value; - if (object.leaf != null) { - if (typeof object.leaf !== "object") - throw TypeError(".ics23.CompressedExistenceProof.leaf: object expected"); - message.leaf = $root.ics23.LeafOp.fromObject(object.leaf); - } - if (object.path) { - if (!Array.isArray(object.path)) - throw TypeError(".ics23.CompressedExistenceProof.path: array expected"); - message.path = []; - for (let i = 0; i < object.path.length; ++i) - message.path[i] = object.path[i] | 0; - } - return message; - }; - - /** - * Creates a plain object from a CompressedExistenceProof message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.CompressedExistenceProof - * @static - * @param {ics23.CompressedExistenceProof} message CompressedExistenceProof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CompressedExistenceProof.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.arrays || options.defaults) - object.path = []; - if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - if (options.bytes === String) - object.value = ""; - else { - object.value = []; - if (options.bytes !== Array) - object.value = $util.newBuffer(object.value); - } - object.leaf = null; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.value != null && message.hasOwnProperty("value")) - object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; - if (message.leaf != null && message.hasOwnProperty("leaf")) - object.leaf = $root.ics23.LeafOp.toObject(message.leaf, options); - if (message.path && message.path.length) { - object.path = []; - for (let j = 0; j < message.path.length; ++j) - object.path[j] = message.path[j]; - } - return object; - }; - - /** - * Converts this CompressedExistenceProof to JSON. - * @function toJSON - * @memberof ics23.CompressedExistenceProof - * @instance - * @returns {Object.} JSON object - */ - CompressedExistenceProof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CompressedExistenceProof; - })(ics23.CompressedExistenceProof || {}); - - ics23.CompressedNonExistenceProof = (function(CompressedNonExistenceProof) { - - /** - * Properties of a CompressedNonExistenceProof. - * @memberof ics23 - * @interface ICompressedNonExistenceProof - * @property {Uint8Array|null} [key] CompressedNonExistenceProof key - * @property {ics23.ICompressedExistenceProof|null} [left] CompressedNonExistenceProof left - * @property {ics23.ICompressedExistenceProof|null} [right] CompressedNonExistenceProof right - */ - - /** - * Constructs a new CompressedNonExistenceProof. - * @memberof ics23 - * @classdesc Represents a CompressedNonExistenceProof. - * @implements ICompressedNonExistenceProof - * @constructor - * @param {ics23.ICompressedNonExistenceProof=} [properties] Properties to set - */ - function CompressedNonExistenceProof(properties) { - if (properties) - for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * CompressedNonExistenceProof key. - * @member {Uint8Array} key - * @memberof ics23.CompressedNonExistenceProof - * @instance - */ - CompressedNonExistenceProof.prototype.key = $util.newBuffer([]); - - /** - * CompressedNonExistenceProof left. - * @member {ics23.ICompressedExistenceProof|null|undefined} left - * @memberof ics23.CompressedNonExistenceProof - * @instance - */ - CompressedNonExistenceProof.prototype.left = null; - - /** - * CompressedNonExistenceProof right. - * @member {ics23.ICompressedExistenceProof|null|undefined} right - * @memberof ics23.CompressedNonExistenceProof - * @instance - */ - CompressedNonExistenceProof.prototype.right = null; - - /** - * Creates a new CompressedNonExistenceProof instance using the specified properties. - * @function create - * @memberof ics23.CompressedNonExistenceProof - * @static - * @param {ics23.ICompressedNonExistenceProof=} [properties] Properties to set - * @returns {ics23.CompressedNonExistenceProof} CompressedNonExistenceProof instance - */ - CompressedNonExistenceProof.create = function create(properties) { - return new CompressedNonExistenceProof(properties); - }; - - /** - * Encodes the specified CompressedNonExistenceProof message. Does not implicitly {@link ics23.CompressedNonExistenceProof.verify|verify} messages. - * @function encode - * @memberof ics23.CompressedNonExistenceProof - * @static - * @param {ics23.ICompressedNonExistenceProof} message CompressedNonExistenceProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CompressedNonExistenceProof.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.key != null && Object.hasOwnProperty.call(message, "key")) - writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key); - if (message.left != null && Object.hasOwnProperty.call(message, "left")) - $root.ics23.CompressedExistenceProof.encode(message.left, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); - if (message.right != null && Object.hasOwnProperty.call(message, "right")) - $root.ics23.CompressedExistenceProof.encode(message.right, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); - return writer; - }; - - /** - * Encodes the specified CompressedNonExistenceProof message, length delimited. Does not implicitly {@link ics23.CompressedNonExistenceProof.verify|verify} messages. - * @function encodeDelimited - * @memberof ics23.CompressedNonExistenceProof - * @static - * @param {ics23.ICompressedNonExistenceProof} message CompressedNonExistenceProof message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - CompressedNonExistenceProof.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a CompressedNonExistenceProof message from the specified reader or buffer. - * @function decode - * @memberof ics23.CompressedNonExistenceProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {ics23.CompressedNonExistenceProof} CompressedNonExistenceProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CompressedNonExistenceProof.decode = function decode(reader, length) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - let end = length === undefined ? reader.len : reader.pos + length, message = new $root.ics23.CompressedNonExistenceProof(); - while (reader.pos < end) { - let tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.key = reader.bytes(); - break; - case 2: - message.left = $root.ics23.CompressedExistenceProof.decode(reader, reader.uint32()); - break; - case 3: - message.right = $root.ics23.CompressedExistenceProof.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a CompressedNonExistenceProof message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof ics23.CompressedNonExistenceProof - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {ics23.CompressedNonExistenceProof} CompressedNonExistenceProof - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - CompressedNonExistenceProof.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a CompressedNonExistenceProof message. - * @function verify - * @memberof ics23.CompressedNonExistenceProof - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - CompressedNonExistenceProof.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.key != null && message.hasOwnProperty("key")) - if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) - return "key: buffer expected"; - if (message.left != null && message.hasOwnProperty("left")) { - let error = $root.ics23.CompressedExistenceProof.verify(message.left); - if (error) - return "left." + error; - } - if (message.right != null && message.hasOwnProperty("right")) { - let error = $root.ics23.CompressedExistenceProof.verify(message.right); - if (error) - return "right." + error; - } - return null; - }; - - /** - * Creates a CompressedNonExistenceProof message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof ics23.CompressedNonExistenceProof - * @static - * @param {Object.} object Plain object - * @returns {ics23.CompressedNonExistenceProof} CompressedNonExistenceProof - */ - CompressedNonExistenceProof.fromObject = function fromObject(object) { - if (object instanceof $root.ics23.CompressedNonExistenceProof) - return object; - let message = new $root.ics23.CompressedNonExistenceProof(); - if (object.key != null) - if (typeof object.key === "string") - $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); - else if (object.key.length) - message.key = object.key; - if (object.left != null) { - if (typeof object.left !== "object") - throw TypeError(".ics23.CompressedNonExistenceProof.left: object expected"); - message.left = $root.ics23.CompressedExistenceProof.fromObject(object.left); - } - if (object.right != null) { - if (typeof object.right !== "object") - throw TypeError(".ics23.CompressedNonExistenceProof.right: object expected"); - message.right = $root.ics23.CompressedExistenceProof.fromObject(object.right); - } - return message; - }; - - /** - * Creates a plain object from a CompressedNonExistenceProof message. Also converts values to other types if specified. - * @function toObject - * @memberof ics23.CompressedNonExistenceProof - * @static - * @param {ics23.CompressedNonExistenceProof} message CompressedNonExistenceProof - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - CompressedNonExistenceProof.toObject = function toObject(message, options) { - if (!options) - options = {}; - let object = {}; - if (options.defaults) { - if (options.bytes === String) - object.key = ""; - else { - object.key = []; - if (options.bytes !== Array) - object.key = $util.newBuffer(object.key); - } - object.left = null; - object.right = null; - } - if (message.key != null && message.hasOwnProperty("key")) - object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; - if (message.left != null && message.hasOwnProperty("left")) - object.left = $root.ics23.CompressedExistenceProof.toObject(message.left, options); - if (message.right != null && message.hasOwnProperty("right")) - object.right = $root.ics23.CompressedExistenceProof.toObject(message.right, options); - return object; - }; - - /** - * Converts this CompressedNonExistenceProof to JSON. - * @function toJSON - * @memberof ics23.CompressedNonExistenceProof - * @instance - * @returns {Object.} JSON object - */ - CompressedNonExistenceProof.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - return CompressedNonExistenceProof; - })(ics23.CompressedNonExistenceProof || {}); - - return ics23; -})($root.ics23 || {}); - -export { $root as default }; diff --git a/themeConfig.js b/themeConfig.js index b0dc0505..501aa2d8 100644 --- a/themeConfig.js +++ b/themeConfig.js @@ -11,7 +11,7 @@ export const $themeConfig = { app: { appName: 'PING.PUB', // Will update name in navigation menu (Branding) // eslint-disable-next-line global-require - appLogoImage: require('@/assets/images/logo/logo.svg'), // Will update logo in navigation menu (Branding) + appLogoImage: '/logo.svg', // Will update logo in navigation menu (Branding) }, layout: { isRTL: false,