diff --git a/apps/extension/package.json b/apps/extension/package.json index 322d94b7..dda07fd0 100644 --- a/apps/extension/package.json +++ b/apps/extension/package.json @@ -40,8 +40,8 @@ "@leapwallet/cosmos-wallet-provider": "*", "@leapwallet/cosmos-wallet-sdk": "*", "@leapwallet/cosmos-wallet-store": "*", - "@leapwallet/elements-core": "1.4.1", - "@leapwallet/elements-hooks": "1.4.1", + "@leapwallet/elements-core": "1.6.0", + "@leapwallet/elements-hooks": "1.6.0", "@leapwallet/leap-ui": "0.1.35", "@leapwallet/name-matcha": "1.11.0", "@leapwallet/parser-parfait": "0.7.0", @@ -117,7 +117,6 @@ "@babel/preset-react": "7.16.7", "@jest/globals": "29.5.0", "@sentry/webpack-plugin": "1.20.0", - "@skip-router/core": "5.2.1", "@types/chrome": "0.0.269", "@types/crypto-js": "4.1.1", "@types/dompurify": "3.0.5", diff --git a/apps/extension/public/base_manifest.json b/apps/extension/public/base_manifest.json index cbeebd6c..57e7736d 100644 --- a/apps/extension/public/base_manifest.json +++ b/apps/extension/public/base_manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "__NAME__", "description": "__DESCRIPTION__", - "version": "0.14.7", + "version": "0.14.9", "options_page": "index.html#/home", "web_accessible_resources": [ { diff --git a/apps/extension/public/compass/manifest.json b/apps/extension/public/compass/manifest.json index 33dd868c..6739d91d 100644 --- a/apps/extension/public/compass/manifest.json +++ b/apps/extension/public/compass/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Compass Wallet for Sei", "description": "A crypto wallet for Sei Blockchain, brought to you by the Leap Wallet team.", - "version": "0.14.7", + "version": "0.14.8", "options_page": "index.html#/home", "web_accessible_resources": [ { diff --git a/apps/extension/public/leap-cosmos/manifest.json b/apps/extension/public/leap-cosmos/manifest.json index 243ed500..7b4da81a 100644 --- a/apps/extension/public/leap-cosmos/manifest.json +++ b/apps/extension/public/leap-cosmos/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Leap Cosmos Wallet", "description": "A crypto wallet for Cosmos blockchains.", - "version": "0.14.7", + "version": "0.14.9", "options_page": "index.html#/home", "web_accessible_resources": [ { diff --git a/apps/extension/src/App.tsx b/apps/extension/src/App.tsx index c98a8658..212c835c 100644 --- a/apps/extension/src/App.tsx +++ b/apps/extension/src/App.tsx @@ -16,16 +16,13 @@ import { useInitCompassSeiEvmConfig, useInitCustomChannelsStore, useInitDefaultGasEstimates, - useInitDisabledCW20Tokens, useInitDisabledNFTsCollections, - useInitEnabledCW20Tokens, useInitEnabledNftsCollections, useInitFeeDenoms, useInitFractionalizedNftContracts, useInitGasAdjustments, useInitGasPriceSteps, useInitIbcTraceStore, - useInitInteractedTokens, useInitIteratedUriNftContracts, useInitKadoBuyChains, useInitNftChains, diff --git a/apps/extension/src/Routes.tsx b/apps/extension/src/Routes.tsx index 2afb97a4..0d3d7e07 100644 --- a/apps/extension/src/Routes.tsx +++ b/apps/extension/src/Routes.tsx @@ -11,13 +11,12 @@ import { useInitAnalytics } from 'hooks/analytics/useInitAnalytics' import useActiveWallet from 'hooks/settings/useActiveWallet' import { useAirdropsData } from 'hooks/useAirdropsData' import { AddEvmLedger, AddEvmTitle } from 'pages/onboarding/import/AddEvmLedger' -import { lazy, Suspense, useEffect } from 'react' -import React from 'react' +import React, { lazy, Suspense, useEffect } from 'react' import { HashRouter, Route, Routes } from 'react-router-dom' import { useRecoilValue } from 'recoil' import { chainTagsStore } from 'stores/chain-infos-store' import { denomsStore, rootDenomsStore } from 'stores/denoms-store-instance' -import { rootBalanceStore, rootStakeStore } from 'stores/root-store' +import { rootBalanceStore, rootStakeStore, rootStore } from 'stores/root-store' import { claimRewardsStore, delegationsStore, @@ -311,6 +310,7 @@ export default function AppRoutes(): JSX.Element { unDelegationsStore={unDelegationsStore} claimRewardsStore={claimRewardsStore} rootBalanceStore={rootBalanceStore} + nmsStore={rootStore.nmsStore} /> } diff --git a/apps/extension/src/components/auto-adjust-amount-sheet/index.tsx b/apps/extension/src/components/auto-adjust-amount-sheet/index.tsx index d04cebf4..63749da8 100644 --- a/apps/extension/src/components/auto-adjust-amount-sheet/index.tsx +++ b/apps/extension/src/components/auto-adjust-amount-sheet/index.tsx @@ -15,6 +15,7 @@ import { observer } from 'mobx-react-lite' import React, { useCallback, useEffect, useMemo } from 'react' import { useNavigate } from 'react-router-dom' import { Colors } from 'theme/colors' +import { isCompassWallet } from 'utils/isCompassWallet' type AutoAdjustAmountSheetProps = { onCancel: () => void @@ -103,7 +104,7 @@ const OptionalAutoAdjustAmountSheet: React.FC< { if ( @@ -230,6 +231,26 @@ const GasPriceOptions = observer( isSelectedTokenEvm, ]) + const allTokensStatus = useMemo(() => { + if ( + (isSeiEvmChain && isSelectedTokenEvm && !['done', 'unknown'].includes(addressLinkState)) || + chainInfo?.evmOnlyChain + ) { + if (evmBalance?.status === 'loading' || allTokensLoading) { + return 'loading' + } + return 'success' + } + return allTokensLoading ? 'loading' : 'success' + }, [ + addressLinkState, + allTokensLoading, + chainInfo?.evmOnlyChain, + evmBalance?.status, + isSeiEvmChain, + isSelectedTokenEvm, + ]) + const { data: feeTokensList, isLoading: isFeeTokensListLoading } = useFeeTokens( allTokens, denoms, @@ -394,7 +415,7 @@ const GasPriceOptions = observer( useEffect(() => { const gasPriceBN = new BigNumber(gasPriceOption.gasPrice.amount.toFloatApproximation()) // if the dapp has specified a fee granter or has set disableFeeCheck on SignOptions, the fees is being paid by the dapp we ignore the fee asset balance checks - if (disableBalanceCheck || gasPriceBN.isZero()) { + if (disableBalanceCheck || gasPriceBN.isZero() || allTokensStatus === 'loading') { setError(null) return } @@ -429,6 +450,7 @@ const GasPriceOptions = observer( // eslint-disable-next-line react-hooks/exhaustive-deps }, [ + allTokensStatus, feeTokenAsset, feeTokenData, gasAdjustment, @@ -568,7 +590,7 @@ const GasPriceOptions = observer( feeTokenAsset, allTokens, //TODO: remove this - allTokensStatus: 'success', + allTokensStatus, userHasSelectedToken, setUserHasSelectedToken, considerGasAdjustment: considerGasAdjustment, diff --git a/apps/extension/src/components/radio-group/index.tsx b/apps/extension/src/components/radio-group/index.tsx index 57e76622..b7f309a3 100644 --- a/apps/extension/src/components/radio-group/index.tsx +++ b/apps/extension/src/components/radio-group/index.tsx @@ -1,5 +1,5 @@ import classNames from 'classnames' -import React, { CSSProperties, useCallback } from 'react' +import React, { CSSProperties } from 'react' type RadioGroupProps = { options: { title: string; subTitle?: string; value: string }[] diff --git a/apps/extension/src/content-scripts/init.ts b/apps/extension/src/content-scripts/init.ts index dd5a101d..55e09437 100644 --- a/apps/extension/src/content-scripts/init.ts +++ b/apps/extension/src/content-scripts/init.ts @@ -68,10 +68,10 @@ function initEvm(leapEvm: Ethereum, isCompass: boolean) { } } - if (!window.ethereum) { - leapEvm.isMetaMask = true - window.ethereum = leapEvm - } + // if (!window.ethereum) { + // leapEvm.isMetaMask = true + // window.ethereum = leapEvm + // } function announceProvider() { window.dispatchEvent( diff --git a/apps/extension/src/extension-scripts/pending-swap-tx.ts b/apps/extension/src/extension-scripts/pending-swap-tx.ts index f1b84c5b..56533108 100644 --- a/apps/extension/src/extension-scripts/pending-swap-tx.ts +++ b/apps/extension/src/extension-scripts/pending-swap-tx.ts @@ -19,9 +19,6 @@ async function getTxnStatus(args: { tx_hash: string; chain_id: string }) { `https://api.skip.money/v1/tx/status?tx_hash=${args.tx_hash}&chain_id=${args.chain_id}`, { method: 'GET', - headers: { - 'Content-Type': 'application/json', - }, }, ) diff --git a/apps/extension/src/extension-scripts/utils.ts b/apps/extension/src/extension-scripts/utils.ts index 110b45ea..9e78d62f 100644 --- a/apps/extension/src/extension-scripts/utils.ts +++ b/apps/extension/src/extension-scripts/utils.ts @@ -131,23 +131,6 @@ export type Page = | 'switch-ethereum-chain' | 'suggest-ethereum-chain' -async function getPopup() { - if (popupIds.length === 0) { - return undefined - } - const window = await browser.windows.get(popupIds[0], { populate: true }) - return [window] -} - -function getPopupInWindows(windows: browser.Windows.Window[] | undefined) { - return windows - ? windows.find((window) => { - if (!window.id) return false - return window.type === 'popup' && Object.values(popupIds).includes(window.id) - }) - : undefined -} - export async function openPopup(page: Page, queryString?: string) { let response try { diff --git a/apps/extension/src/hooks/wallet/useWallet.ts b/apps/extension/src/hooks/wallet/useWallet.ts index 868bd8a2..81c7b105 100644 --- a/apps/extension/src/hooks/wallet/useWallet.ts +++ b/apps/extension/src/hooks/wallet/useWallet.ts @@ -15,8 +15,7 @@ import { SupportedChain, } from '@leapwallet/cosmos-wallet-sdk' import getHDPath from '@leapwallet/cosmos-wallet-sdk/dist/browser/utils/get-hdpath' -import { KeyChain } from '@leapwallet/leap-keychain' -import { encrypt } from '@leapwallet/leap-keychain' +import { encrypt, KeyChain } from '@leapwallet/leap-keychain' import { AGGREGATED_CHAIN_KEY } from 'config/constants' import { ACTIVE_CHAIN, diff --git a/apps/extension/src/index.tsx b/apps/extension/src/index.tsx index 777fb2b7..363b408f 100644 --- a/apps/extension/src/index.tsx +++ b/apps/extension/src/index.tsx @@ -41,7 +41,7 @@ axios.defaults.headers.common['x-requested-with'] = 'leap-client' axios.defaults.timeout = 5000 setLeapapiBaseUrl(process.env.LEAP_WALLET_BACKEND_API_URL as string) -setBaseURL(process.env.LEAP_WALLET_BACKENT_API_URL as string) +setBaseURL(process.env.LEAP_WALLET_BACKEND_API_URL as string) setNumiaBannerBearer(process.env.NUMIA_BANNER_BEARER ?? '') setIsCompass(isCompassWallet()) setPlatformType(PLATFORM_TYPE.Extension) diff --git a/apps/extension/src/pages/activity/PendingTx.tsx b/apps/extension/src/pages/activity/PendingTx.tsx index 83d10ac7..755496f2 100644 --- a/apps/extension/src/pages/activity/PendingTx.tsx +++ b/apps/extension/src/pages/activity/PendingTx.tsx @@ -228,6 +228,7 @@ const PendingTx = observer(({ rootBalanceStore, rootStakeStore }: PendingTxProps const { explorerTxnUrl: txnUrl } = useGetExplorerTxnUrl({ forceTxHash: txHash, forceChain: activeChain, + forceNetwork: selectedNetwork, }) const isSendTxn = txType diff --git a/apps/extension/src/pages/asset-details/components/chart-details/index.tsx b/apps/extension/src/pages/asset-details/components/chart-details/index.tsx index 5466b2b0..90096e22 100644 --- a/apps/extension/src/pages/asset-details/components/chart-details/index.tsx +++ b/apps/extension/src/pages/asset-details/components/chart-details/index.tsx @@ -22,6 +22,7 @@ import { UndelegationsStore, ValidatorsStore, } from '@leapwallet/cosmos-wallet-store' +import { useSkipAssets } from '@leapwallet/elements-hooks' import { useAllSkipAssets } from '@leapwallet/elements-hooks' import { CardDivider, Header, HeaderActionType } from '@leapwallet/leap-ui' import { @@ -68,7 +69,6 @@ import { imgOnError } from 'utils/imgOnError' import { capitalize } from 'utils/strings' import ChartSkeleton from '../chart-skeleton/ChartSkeleton' -import DefiList from '../defi-list' import { TokensChart } from './token-chart' type TokenCTAsProps = { @@ -521,7 +521,7 @@ const TokensDetails = observer( setShowStakeSelectSheet(true) }} isStakeDisabled={ - activeStakingDenom.coinDenom !== denomInfo?.coinDenom || + activeStakingDenom?.coinDenom !== denomInfo?.coinDenom || !!chainInfos[activeChain].evmOnlyChain } onReceiveClick={() => { diff --git a/apps/extension/src/pages/governance/components/ProposalDetails.tsx b/apps/extension/src/pages/governance/components/ProposalDetails.tsx index 81d0bdf1..eccb04c3 100644 --- a/apps/extension/src/pages/governance/components/ProposalDetails.tsx +++ b/apps/extension/src/pages/governance/components/ProposalDetails.tsx @@ -99,11 +99,12 @@ export const ProposalDetails = observer( return data } catch (error: any) { try { + const prefix = activeChainInfo?.chainId === 'govgen-1' ? '/govgen' : '/cosmos' const data = await axiosWrapper( { baseURL: lcdUrl ?? '', method: 'get', - url: `/cosmos/gov/v1beta1/proposals/${selectedProp}/votes/${address}`, + url: `${prefix}/gov/v1beta1/proposals/${selectedProp}/votes/${address}`, }, 1, 'proposals-votes', diff --git a/apps/extension/src/pages/home/AddFromChainStore.tsx b/apps/extension/src/pages/home/AddFromChainStore.tsx index a1728035..647f6a9d 100644 --- a/apps/extension/src/pages/home/AddFromChainStore.tsx +++ b/apps/extension/src/pages/home/AddFromChainStore.tsx @@ -19,7 +19,6 @@ import mixpanel from 'mixpanel-browser' import React, { useState } from 'react' import { useNavigate } from 'react-router' import { useSetRecoilState } from 'recoil' -import { chainInfoStore } from 'stores/chain-infos-store' import { rootStore } from 'stores/root-store' import { Colors } from 'theme/colors' import { imgOnError } from 'utils/imgOnError' diff --git a/apps/extension/src/pages/home/PendingSwapsSheet.tsx b/apps/extension/src/pages/home/PendingSwapsSheet.tsx index 7790986b..0152f6c6 100644 --- a/apps/extension/src/pages/home/PendingSwapsSheet.tsx +++ b/apps/extension/src/pages/home/PendingSwapsSheet.tsx @@ -1,6 +1,5 @@ import { ActivityCardContent, ActivityType } from '@leapwallet/cosmos-wallet-hooks' import { SKIP_TXN_STATUS } from '@leapwallet/elements-core' -import { Buttons } from '@leapwallet/leap-ui' import BottomModal from 'components/bottom-modal' import { ActivityCard } from 'pages/activity/components/ActivityCard' import React, { Dispatch, SetStateAction } from 'react' diff --git a/apps/extension/src/pages/home/SelectChain.tsx b/apps/extension/src/pages/home/SelectChain.tsx index ca50276c..59ee87dc 100644 --- a/apps/extension/src/pages/home/SelectChain.tsx +++ b/apps/extension/src/pages/home/SelectChain.tsx @@ -117,7 +117,8 @@ export const ListChains = observer( if ( (isCompassWallet() && chain.chainName === 'cosmos') || !chain.active || - (onPage === 'AddCollection' && ['omniflix', 'stargaze'].includes(chain.chainName)) + (onPage === 'AddCollection' && + ['omniflix', 'stargaze', 'forma'].includes(chain.chainName)) ) { return false } diff --git a/apps/extension/src/pages/home/components/HomeButtons.tsx b/apps/extension/src/pages/home/components/HomeButtons.tsx index 5d597e70..538279af 100644 --- a/apps/extension/src/pages/home/components/HomeButtons.tsx +++ b/apps/extension/src/pages/home/components/HomeButtons.tsx @@ -220,17 +220,15 @@ export function HomeButtons({ setShowReceiveSheet }: HomeButtonsProps) { ) : null} {/* NFTs Button */} - {!chain?.evmOnlyChain ? ( - - - - } - onClick={() => handleNftsClick()} - /> - ) : null} + + + + } + onClick={() => handleNftsClick()} + /> ) } diff --git a/apps/extension/src/pages/nfts-v2/NFTs.tsx b/apps/extension/src/pages/nfts-v2/NFTs.tsx index 8f9d6f24..aaa27194 100644 --- a/apps/extension/src/pages/nfts-v2/NFTs.tsx +++ b/apps/extension/src/pages/nfts-v2/NFTs.tsx @@ -1,4 +1,4 @@ -import { NftPage } from '@leapwallet/cosmos-wallet-hooks' +import { NftPage, useAddress } from '@leapwallet/cosmos-wallet-hooks' import { PageName } from 'config/analytics' import { usePageView } from 'hooks/analytics/usePageView' import React, { useState } from 'react' @@ -16,11 +16,12 @@ import { export default function NFTs() { usePageView(PageName.NFT) + const address = useAddress() const [activePage, setActivePage] = useState('ShowNfts') const value = { activePage, setActivePage } return ( - + {activePage === 'ShowNfts' && ( )} diff --git a/apps/extension/src/pages/nfts-v2/components/CantSeeNfts.tsx b/apps/extension/src/pages/nfts-v2/components/CantSeeNfts.tsx index 8bfebbe3..6ddb4eaf 100644 --- a/apps/extension/src/pages/nfts-v2/components/CantSeeNfts.tsx +++ b/apps/extension/src/pages/nfts-v2/components/CantSeeNfts.tsx @@ -35,7 +35,12 @@ export function CantSeeNfts({ openAddCollectionSheet, className }: CantSeeNftsPr account: `https://omniflix.market/account/${activeWallet?.addresses.omniflix}/nfts`, } - return [stargaze, omniflix] + const forma = { + title: 'Forma', + account: `https://modularium.art/my-collection`, + } + + return [stargaze, omniflix, forma] }, [ activeWallet?.addresses.omniflix, activeWallet?.addresses.seiTestnet2, diff --git a/apps/extension/src/pages/nfts-v2/components/send-nft/index.tsx b/apps/extension/src/pages/nfts-v2/components/send-nft/index.tsx index b74cde90..b850cced 100644 --- a/apps/extension/src/pages/nfts-v2/components/send-nft/index.tsx +++ b/apps/extension/src/pages/nfts-v2/components/send-nft/index.tsx @@ -17,6 +17,7 @@ import { observer } from 'mobx-react-lite' import { SelectedAddress } from 'pages/send-v2/types' import React, { createContext, useContext, useMemo, useState } from 'react' import { useEffect } from 'react' +import { nftStore } from 'stores/nft-store' import { isCompassWallet } from 'utils/isCompassWallet' import { useTxCallBack } from 'utils/txCallback' @@ -184,18 +185,7 @@ export const SendNftCard = observer( fees: fee, }) - await queryClient.invalidateQueries([ - 'nft-records', - 'nft-contracts-list', - 'get-owned-collection', - 'get-ten-owned-collection', - ]) - await queryClient.resetQueries([ - 'nft-records', - 'nft-contracts-list', - 'get-owned-collection', - 'get-ten-owned-collection', - ]) + nftStore.loadNfts() if (res?.success) { txCallback(res.success ? 'success' : 'txDeclined') diff --git a/apps/extension/src/pages/onboarding/import/AddEvmLedger.tsx b/apps/extension/src/pages/onboarding/import/AddEvmLedger.tsx index 36998016..a67d2fde 100644 --- a/apps/extension/src/pages/onboarding/import/AddEvmLedger.tsx +++ b/apps/extension/src/pages/onboarding/import/AddEvmLedger.tsx @@ -6,6 +6,7 @@ import { } from '@leapwallet/cosmos-wallet-sdk' import { Keystore, WALLETTYPE } from '@leapwallet/leap-keychain' import { Buttons } from '@leapwallet/leap-ui' +import { LEDGER_ENABLED_EVM_CHAINS } from 'config/config' import { KEYSTORE } from 'config/storage-keys' import React, { useEffect, useMemo, useState } from 'react' import { useNavigate } from 'react-router' diff --git a/apps/extension/src/pages/send-v2/components/IBCSettings/index.tsx b/apps/extension/src/pages/send-v2/components/IBCSettings/index.tsx index c979d673..6531bd95 100644 --- a/apps/extension/src/pages/send-v2/components/IBCSettings/index.tsx +++ b/apps/extension/src/pages/send-v2/components/IBCSettings/index.tsx @@ -17,6 +17,7 @@ import Text from 'components/text' import { useSendContext } from 'pages/send-v2/context' import React, { useCallback, useEffect, useMemo, useState } from 'react' import { Colors } from 'theme/colors' +import { isCompassWallet } from 'utils/isCompassWallet' import AddIBCChannel from './AddIBCChannel' @@ -279,7 +280,7 @@ const IBCSettings: React.FC = ({ targetChain, sourceChain }) = { - //const denoms = useDenoms() const [searchQuery, setSearchQuery] = useState('') - //const autoFetchedCW20Tokens = useAutoFetchedCW20Tokens() - const { sendActiveChain } = useSendContext() const locationState = useLocation().state const activeChainInfo = useChainInfo(sendActiveChain) - // const combinedDenoms = useMemo(() => { - // return { - // ...denoms, - // ...autoFetchedCW20Tokens, - // } - // }, []) - let assetCoinDenom = useQuery().get('assetCoinDenom') ?? undefined assetCoinDenom = useMemo(() => { if (locationState && (locationState as Token).coinMinimalDenom) { diff --git a/apps/extension/src/pages/send-v2/components/recipient-card/SelectWalletSheet.tsx b/apps/extension/src/pages/send-v2/components/recipient-card/SelectWalletSheet.tsx index a1a99913..c6d97694 100644 --- a/apps/extension/src/pages/send-v2/components/recipient-card/SelectWalletSheet.tsx +++ b/apps/extension/src/pages/send-v2/components/recipient-card/SelectWalletSheet.tsx @@ -1,20 +1,21 @@ import { Key, useChainInfo, useGetChains, WALLETTYPE } from '@leapwallet/cosmos-wallet-hooks' +import { CheckCircle } from '@phosphor-icons/react' import BottomModal from 'components/bottom-modal' import Text from 'components/text' import { LEDGER_NAME_EDITED_SUFFIX_REGEX } from 'config/config' import { walletLabels } from 'config/constants' -import { Wallet } from 'hooks/wallet/useWallet' -import React, { useMemo } from 'react' -import { formatWalletName } from 'utils/formatWalletName' - -import useWallets = Wallet.useWallets -import { CheckCircle } from '@phosphor-icons/react' import { useChainPageInfo } from 'hooks' +import { Wallet } from 'hooks/wallet/useWallet' import { Images } from 'images' import { useSendContext } from 'pages/send-v2/context' +import React, { useMemo } from 'react' +import { formatWalletName } from 'utils/formatWalletName' import { isLedgerEnabled } from 'utils/isLedgerEnabled' import { sliceAddress } from 'utils/strings' +import useWallets = Wallet.useWallets +import { pubKeyToEvmAddressToShow } from '@leapwallet/cosmos-wallet-sdk' + type SelectWalletSheetProps = { isOpen: boolean onClose: () => void @@ -77,7 +78,11 @@ export const SelectWalletSheet: React.FC = ({ const shortenedWalletName = walletNameLength > sliceLength ? walletName.slice(0, sliceLength) + '...' : walletName - let addressText = `${sliceAddress(wallet.addresses[activeChainInfo.key])}${walletLabel}` + let addressText = `${sliceAddress( + activeChainInfo?.evmOnlyChain + ? pubKeyToEvmAddressToShow(wallet?.pubKeys?.[activeChainInfo?.key]) + : wallet?.addresses?.[activeChainInfo?.key], + )}${walletLabel}` if ( wallet.walletType === WALLETTYPE.LEDGER && @@ -116,7 +121,7 @@ export const SelectWalletSheet: React.FC = ({ alt={`wallet icon`} className='rounded-full border border-white-30 h-10 w-10' /> -
+

{shortenedWalletName} {wallet.walletType === WALLETTYPE.LEDGER && ( diff --git a/apps/extension/src/pages/send-v2/components/recipient-card/select-destination-sheet.tsx b/apps/extension/src/pages/send-v2/components/recipient-card/select-destination-sheet.tsx index e14efc92..92102812 100644 --- a/apps/extension/src/pages/send-v2/components/recipient-card/select-destination-sheet.tsx +++ b/apps/extension/src/pages/send-v2/components/recipient-card/select-destination-sheet.tsx @@ -1,5 +1,4 @@ import { SelectedAddress } from '@leapwallet/cosmos-wallet-hooks' -import { Buttons } from '@leapwallet/leap-ui' import classNames from 'classnames' import BottomModal from 'components/bottom-modal' import React, { useEffect, useState } from 'react' diff --git a/apps/extension/src/pages/send-v2/components/reivew-transfer/executeSkipTx.tsx b/apps/extension/src/pages/send-v2/components/reivew-transfer/executeSkipTx.tsx index 46f41ed9..41a51d4f 100644 --- a/apps/extension/src/pages/send-v2/components/reivew-transfer/executeSkipTx.tsx +++ b/apps/extension/src/pages/send-v2/components/reivew-transfer/executeSkipTx.tsx @@ -1,5 +1,4 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { TxClient as InjectiveTxClient } from '@injectivelabs/sdk-ts' import { CosmosTxType, getChainId, @@ -26,6 +25,7 @@ import { SupportedChain, toSmall, } from '@leapwallet/cosmos-wallet-sdk' +import { TxClient as InjectiveTxClient } from '@leapwallet/cosmos-wallet-sdk/dist/browser/proto/injective/core/modules' import { Account, getMessageMetadataForSigning, diff --git a/apps/extension/src/pages/send-v2/components/reivew-transfer/review-transfer-sheet.tsx b/apps/extension/src/pages/send-v2/components/reivew-transfer/review-transfer-sheet.tsx index 63a6c67f..35c56b81 100644 --- a/apps/extension/src/pages/send-v2/components/reivew-transfer/review-transfer-sheet.tsx +++ b/apps/extension/src/pages/send-v2/components/reivew-transfer/review-transfer-sheet.tsx @@ -29,6 +29,7 @@ import { useSendContext } from 'pages/send-v2/context' import React, { useCallback, useMemo } from 'react' import { Colors } from 'theme/colors' import { imgOnError } from 'utils/imgOnError' +import { isCompassWallet } from 'utils/isCompassWallet' import { useExecuteSkipTx } from './executeSkipTx' @@ -255,7 +256,7 @@ export const ReviewTransferSheet = observer( ) : null} } + const refetchData = useCallback(() => { + setTimeout(() => { + rootBalanceStore.refetchBalances(activeChain) + evmBalanceStore.loadEvmBalance(activeChain) + }, 3000) + }, [activeChain, evmBalanceStore, rootBalanceStore]) + const handleApproveClick = async () => { try { if (activeWallet.walletType === WALLETTYPE.LEDGER) { @@ -276,6 +283,7 @@ export const SignTransaction = observer( } if (isSidePanel()) { + refetchData() navigate('/home') } else { window.close() diff --git a/apps/extension/src/pages/sign/sign-transaction.tsx b/apps/extension/src/pages/sign/sign-transaction.tsx index d9a590cc..24ae7b9a 100644 --- a/apps/extension/src/pages/sign/sign-transaction.tsx +++ b/apps/extension/src/pages/sign/sign-transaction.tsx @@ -30,7 +30,12 @@ import { SupportedChain, transactionDeclinedError, } from '@leapwallet/cosmos-wallet-sdk' -import { RootBalanceStore, RootDenomsStore } from '@leapwallet/cosmos-wallet-store' +import { + EvmBalanceStore, + RootBalanceStore, + RootDenomsStore, + RootStakeStore, +} from '@leapwallet/cosmos-wallet-store' import { EthWallet } from '@leapwallet/leap-keychain' import { Avatar, Buttons, Header } from '@leapwallet/leap-ui' import { @@ -67,8 +72,9 @@ import mixpanel from 'mixpanel-browser' import { observer } from 'mobx-react-lite' import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react' import { useNavigate } from 'react-router' +import { evmBalanceStore } from 'stores/balance-store' import { rootDenomsStore } from 'stores/denoms-store-instance' -import { rootBalanceStore } from 'stores/root-store' +import { rootBalanceStore, rootStakeStore } from 'stores/root-store' import { Colors } from 'theme/colors' import { assert } from 'utils/assert' import { formatWalletName } from 'utils/formatWalletName' @@ -108,6 +114,8 @@ type SignTransactionProps = { chainId: string isSignArbitrary: boolean rootBalanceStore: RootBalanceStore + rootStakeStore: RootStakeStore + evmBalanceStore: EvmBalanceStore rootDenomsStore: RootDenomsStore } @@ -117,7 +125,9 @@ const SignTransaction = observer( chainId, isSignArbitrary, rootBalanceStore, + rootStakeStore, rootDenomsStore, + evmBalanceStore, }: SignTransactionProps) => { const isDappTxnInitEventLogged = useRef(false) const isRejectedRef = useRef(false) @@ -145,6 +155,7 @@ const SignTransaction = observer( const activeChain = useActiveChain() const allAssets = rootBalanceStore.getSpendableBalancesForChain(activeChain) + const selectedNetwork = useSelectedNetwork() const denoms = rootDenomsStore.allDenoms const defaultGasPrice = useDefaultGasPrice(denoms, { activeChain }) const txPostToDb = LeapWalletApi.useLogCosmosDappTx() @@ -359,6 +370,14 @@ const SignTransaction = observer( return undefined }, [messages]) + const refetchData = useCallback(() => { + setTimeout(() => { + rootBalanceStore.refetchBalances(activeChain, selectedNetwork) + rootStakeStore.updateStake(activeChain, selectedNetwork, true) + evmBalanceStore.loadEvmBalance(activeChain) + }, 3000) + }, [activeChain, evmBalanceStore, rootBalanceStore, rootStakeStore, selectedNetwork]) + const handleCancel = useCallback(async () => { if (isRejectedRef.current || isApprovedRef.current) return isRejectedRef.current = true @@ -540,6 +559,7 @@ const SignTransaction = observer( throw new Error('Could not send transaction to the dApp') } if (isSidePanel()) { + refetchData() navigate('/home') } else { setTimeout(async () => { @@ -706,6 +726,7 @@ const SignTransaction = observer( } if (isSidePanel()) { + refetchData() navigate('/home') } else { setTimeout(async () => { @@ -731,6 +752,7 @@ const SignTransaction = observer( }, [ activeWallet.addresses, activeChain, + refetchData, signDoc, isAmino, getWallet, @@ -1243,6 +1265,8 @@ const withTxnSigningRequest = (Component: React.FC) => { isSignArbitrary={isSignArbitrary} rootDenomsStore={rootDenomsStore} rootBalanceStore={rootBalanceStore} + evmBalanceStore={evmBalanceStore} + rootStakeStore={rootStakeStore} /> ) } diff --git a/apps/extension/src/pages/sign/static-fee-display.tsx b/apps/extension/src/pages/sign/static-fee-display.tsx index c9369fd1..763f84a8 100644 --- a/apps/extension/src/pages/sign/static-fee-display.tsx +++ b/apps/extension/src/pages/sign/static-fee-display.tsx @@ -49,6 +49,11 @@ const StaticFeeDisplay: React.FC = observer( const activeChain = useActiveChain() const allAssets = rootBalanceStore.getSpendableBalancesForChain(activeChain) + const allTokensLoading = rootBalanceStore.getLoadingStatusForChain(activeChain) + const allTokensStatus = useMemo(() => { + return allTokensLoading ? 'loading' : 'success' + }, [allTokensLoading]) + const chainId = useChainId() const denoms = rootDenomsStore.allDenoms const [formatCurrency] = useFormatCurrency() @@ -95,7 +100,7 @@ const StaticFeeDisplay: React.FC = observer( useEffect(() => { const amountString = feeValues?.amount?.toString() - if (!disableBalanceCheck && amountString) { + if (!disableBalanceCheck && amountString && allTokensStatus !== 'loading') { if (new BigNumber(amountString).isGreaterThan(feeToken?.amount ?? 0)) { setError(`You don't have enough ${feeToken?.denom?.coinDenom} to pay the gas fee`) } else { @@ -104,7 +109,7 @@ const StaticFeeDisplay: React.FC = observer( } // eslint-disable-next-line react-hooks/exhaustive-deps - }, [feeToken, feeValues, disableBalanceCheck]) + }, [feeToken, feeValues, allTokensStatus, disableBalanceCheck]) // if ( // isFetching || diff --git a/apps/extension/src/pages/sign/utils/tx-logger.ts b/apps/extension/src/pages/sign/utils/tx-logger.ts index 3ba55166..5c0dbdbb 100644 --- a/apps/extension/src/pages/sign/utils/tx-logger.ts +++ b/apps/extension/src/pages/sign/utils/tx-logger.ts @@ -2,8 +2,7 @@ /* eslint-disable @typescript-eslint/ban-ts-comment */ import { AminoSignResponse, encodeSecp256k1Pubkey, StdSignDoc } from '@cosmjs/amino' import { Secp256k1 } from '@cosmjs/crypto' -import { fromBase64 } from '@cosmjs/encoding' -import { toBase64 } from '@cosmjs/encoding' +import { fromBase64, toBase64 } from '@cosmjs/encoding' import { Int53 } from '@cosmjs/math' import { DirectSignResponse, @@ -12,11 +11,8 @@ import { Registry, TxBodyEncodeObject, } from '@cosmjs/proto-signing' -import { AminoTypes } from '@cosmjs/stargate' -import { AminoMsgTransfer } from '@cosmjs/stargate' -import { createTransaction, SIGN_AMINO } from '@injectivelabs/sdk-ts' -import { LeapWalletApi } from '@leapwallet/cosmos-wallet-hooks' -import { CosmosTxType } from '@leapwallet/cosmos-wallet-hooks' +import { AminoMsgTransfer, AminoTypes } from '@cosmjs/stargate' +import { CosmosTxType, LeapWalletApi } from '@leapwallet/cosmos-wallet-hooks' import { getEip712TxHash, getMsgFromAmino, @@ -27,6 +23,10 @@ import { initiaAminoConverters, initiaProtoRegistry, } from '@leapwallet/cosmos-wallet-sdk/dist/browser/proto/initia/client' +import { + createTransaction, + SIGN_AMINO, +} from '@leapwallet/cosmos-wallet-sdk/dist/browser/proto/injective/core/modules' import { strideAminoConverters } from '@leapwallet/cosmos-wallet-sdk/dist/browser/proto/stride/client' import { cosmosAminoConverters, diff --git a/apps/extension/src/pages/stake-v2/StakeInputPage.tsx b/apps/extension/src/pages/stake-v2/StakeInputPage.tsx index 83dabc52..f85d8c80 100644 --- a/apps/extension/src/pages/stake-v2/StakeInputPage.tsx +++ b/apps/extension/src/pages/stake-v2/StakeInputPage.tsx @@ -4,6 +4,7 @@ import { STAKE_MODE, useActiveChain, useActiveStakingDenom, + useConsensusValidators, useDualStaking, useDualStakingTx, useFeatureFlags, @@ -13,15 +14,16 @@ import { WALLETTYPE, } from '@leapwallet/cosmos-wallet-hooks' import { SupportedChain } from '@leapwallet/cosmos-wallet-sdk' +import { Validator } from '@leapwallet/cosmos-wallet-sdk' import { Delegation, Provider, ProviderDelegation, } from '@leapwallet/cosmos-wallet-sdk/dist/browser/types/staking' -import { Validator } from '@leapwallet/cosmos-wallet-sdk/dist/browser/types/validators' import { ClaimRewardsStore, DelegationsStore, + NmsStore, RootBalanceStore, RootDenomsStore, UndelegationsStore, @@ -40,6 +42,7 @@ import { YouStakeSkeleton } from 'components/Skeletons/StakeSkeleton' import Text from 'components/text' import { EventName } from 'config/analytics' import { addSeconds } from 'date-fns' +import useActiveWallet from 'hooks/settings/useActiveWallet' import { Wallet } from 'hooks/wallet/useWallet' import mixpanel from 'mixpanel-browser' import { observer } from 'mobx-react-lite' @@ -56,7 +59,6 @@ import SelectValidatorCard from './components/SelectValidatorCard' import SelectValidatorSheet from './components/SelectValidatorSheet' import YouStake from './components/YouStake' import useGetWallet = Wallet.useGetWallet -import useActiveWallet from 'hooks/settings/useActiveWallet' import { isCompassWallet } from 'utils/isCompassWallet' import AutoAdjustAmountSheet from './components/AutoAdjustModal' @@ -100,6 +102,7 @@ type StakeInputPageProps = { unDelegationsStore: UndelegationsStore claimRewardsStore: ClaimRewardsStore rootBalanceStore: RootBalanceStore + nmsStore: NmsStore } const StakeInputPage = observer( @@ -110,6 +113,7 @@ const StakeInputPage = observer( unDelegationsStore, claimRewardsStore, rootBalanceStore, + nmsStore, }: StakeInputPageProps) => { const [selectedValidator, setSelectedValidator] = useState() const [showSelectValidatorSheet, setShowSelectValidatorSheet] = useState(false) @@ -161,7 +165,7 @@ const StakeInputPage = observer( const chainClaimRewards = claimRewardsStore.claimRewardsForChain(activeChain) const [activeStakingDenom] = useActiveStakingDenom(denoms, activeChain, activeNetwork) - const { network, delegations } = useStaking( + const { network } = useStaking( denoms, chainDelegations, chainValidators, @@ -183,7 +187,14 @@ const StakeInputPage = observer( ), [network], ) - const validators = network?.getValidators({}) as Record + const validators = useMemo( + () => + validatorsStore.chainValidators.validatorData.validators?.reduce((acc, validator) => { + acc[validator.address] = validator + return acc + }, {} as Record), + [validatorsStore.chainValidators.validatorData.validators], + ) const apy = network?.validatorApys const { data: featureFlags } = useFeatureFlags() const { @@ -247,12 +258,18 @@ const StakeInputPage = observer( ) }, [activeStakingDenom?.coinDenom, rootBalanceStore.allSpendableTokens]) + const consensusValidators = useConsensusValidators( + validators, + nmsStore, + activeChain, + activeNetwork, + ) const activeValidators = useMemo( () => - Object.values(validators ?? {}) + consensusValidators .filter((v) => !v.jailed) .filter((v) => v.address !== fromValidator?.address), - [fromValidator?.address, validators], + [consensusValidators, fromValidator?.address], ) const activeProviders = useMemo(() => { @@ -264,6 +281,10 @@ const StakeInputPage = observer( address: 'empty_provider', chain: '', spec: '', + stakestatus: 'Active', + delegateCommission: '', + delegateLimit: '', + delegateTotal: '', }) } return _providers.filter((p) => p.address !== fromProvider?.address) @@ -460,7 +481,6 @@ const StakeInputPage = observer( ))} {activeChain === 'lava' && - activeWallet?.walletType !== WALLETTYPE.LEDGER && featureFlags?.restaking?.extension === 'active' && (mode === 'DELEGATE' || (mode === 'REDELEGATE' && fromProvider) || diff --git a/apps/extension/src/pages/stake-v2/StakePage.tsx b/apps/extension/src/pages/stake-v2/StakePage.tsx index 2526681b..d33de97e 100644 --- a/apps/extension/src/pages/stake-v2/StakePage.tsx +++ b/apps/extension/src/pages/stake-v2/StakePage.tsx @@ -115,7 +115,6 @@ const StakePage = observer( const chainClaimRewards = claimRewardsStore.claimRewardsForChain(activeChain) const { - network, rewards, delegations, loadingDelegations, @@ -253,8 +252,15 @@ const StakePage = observer( // eslint-disable-next-line react-hooks/exhaustive-deps }, [paramChainId]) + const validators = useMemo( + () => + validatorsStore.chainValidators.validatorData.validators?.reduce((acc, validator) => { + acc[validator.address] = validator + return acc + }, {} as Record), + [validatorsStore.chainValidators.validatorData.validators], + ) const redirectToInputPage = useCallback(() => { - const validators = network?.getValidators() as Record navigate('/stake/input', { state: { mode: 'DELEGATE', @@ -262,7 +268,7 @@ const StakePage = observer( } as StakeInputPageState, replace: true, }) - }, [navigate, network, paramValidatorAddress]) + }, [navigate, paramValidatorAddress, validators]) useEffect(() => { switch (paramAction) { @@ -435,7 +441,7 @@ const StakePage = observer( setShowReviewClaimTx(false)} - validators={network?.getValidators({}) as Record} + validators={validators} rootDenomsStore={rootDenomsStore} rootBalanceStore={rootBalanceStore} delegationsStore={delegationsStore} @@ -499,7 +505,7 @@ const StakePage = observer( setShowReviewClaimAndStakeTx(false)} - validators={network?.getValidators({}) as Record} + validators={validators} chainRewards={chainRewards} rootDenomsStore={rootDenomsStore} delegationsStore={delegationsStore} diff --git a/apps/extension/src/pages/stake-v2/StakeTxnPage.tsx b/apps/extension/src/pages/stake-v2/StakeTxnPage.tsx index 8ce557b0..095aba7f 100644 --- a/apps/extension/src/pages/stake-v2/StakeTxnPage.tsx +++ b/apps/extension/src/pages/stake-v2/StakeTxnPage.tsx @@ -2,13 +2,14 @@ import { isDeliverTxSuccess } from '@cosmjs/stargate' import { SelectedNetwork, sliceAddress, + STAKE_MODE, useDualStaking, useFeatureFlags, + useGetExplorerTxnUrl, usePendingTxState, useSelectedNetwork, useValidatorImage, } from '@leapwallet/cosmos-wallet-hooks' -import { STAKE_MODE } from '@leapwallet/cosmos-wallet-hooks' import { sliceWord } from '@leapwallet/cosmos-wallet-hooks/dist/utils/strings' import { Provider, SupportedChain } from '@leapwallet/cosmos-wallet-sdk' import { Validator } from '@leapwallet/cosmos-wallet-sdk/dist/browser/types/validators' @@ -21,7 +22,6 @@ import { LoaderAnimation } from 'components/loader/Loader' import Text from 'components/text' import { PageName } from 'config/analytics' import { useActiveChain } from 'hooks/settings/useActiveChain' -import { useChainInfos } from 'hooks/useChainInfos' import { Images } from 'images' import { GenericLight } from 'images/logos' import { observer } from 'mobx-react-lite' @@ -30,6 +30,7 @@ import { useLocation, useNavigate } from 'react-router' import { Colors } from 'theme/colors' import { UserClipboard } from 'utils/clipboard' import { imgOnError } from 'utils/imgOnError' +import { isCompassWallet } from 'utils/isCompassWallet' import { isSidePanel } from 'utils/isSidePanel' export type StakeTxnPageState = { @@ -78,7 +79,6 @@ const StakeTxnPage = observer(({ rootBalanceStore, rootStakeStore }: StakeTxnPag const { pendingTx, setPendingTx } = usePendingTxState() const navigate = useNavigate() - const chainInfos = useChainInfos() const [txHash, setTxHash] = useState('') const [amount, setAmount] = useState('') const [copied, setCopied] = useState(false) @@ -164,23 +164,31 @@ const StakeTxnPage = observer(({ rootBalanceStore, rootStakeStore }: StakeTxnPag } }, [provider]) - const txnUrl = useMemo(() => { - const txExplorer = chainInfos[activeChain].txExplorer - - if (!txExplorer?.[selectedNetwork]?.txUrl || !txHash) { - return '' - } - - return `${txExplorer?.[selectedNetwork]?.txUrl}/${txHash}` - }, [chainInfos, activeChain, selectedNetwork, txHash]) + const { explorerTxnUrl: txnUrl } = useGetExplorerTxnUrl({ + forceChain: activeChain, + forceNetwork: selectedNetwork, + forceTxHash: txHash, + }) useEffect(() => { - const _amount = + let _amount = mode === 'CLAIM_REWARDS' || mode === 'UNDELEGATE' ? pendingTx?.receivedUsdValue : pendingTx?.sentUsdValue + if (_amount === '-') { + _amount = + mode === 'CLAIM_REWARDS' || mode === 'UNDELEGATE' + ? pendingTx?.receivedAmount + : pendingTx?.sentAmount + } setAmount(_amount) - }, [mode, pendingTx?.receivedUsdValue, pendingTx?.sentUsdValue]) + }, [ + mode, + pendingTx?.receivedAmount, + pendingTx?.receivedUsdValue, + pendingTx?.sentAmount, + pendingTx?.sentUsdValue, + ]) const handleCopyClick = () => { UserClipboard.copyText(txHash ?? '') @@ -333,7 +341,9 @@ const StakeTxnPage = observer(({ rootBalanceStore, rootStakeStore }: StakeTxnPag }} color={ pendingTx?.txStatus === 'failed' || mode === 'DELEGATE' - ? Colors.green600 + ? isCompassWallet() + ? Colors.compassPrimary + : Colors.green600 : theme === ThemeName.DARK ? Colors.white100 : Colors.black100 diff --git a/apps/extension/src/pages/stake-v2/components/AggregatedStake.tsx b/apps/extension/src/pages/stake-v2/components/AggregatedStake.tsx index 64f5ca2a..007add67 100644 --- a/apps/extension/src/pages/stake-v2/components/AggregatedStake.tsx +++ b/apps/extension/src/pages/stake-v2/components/AggregatedStake.tsx @@ -2,7 +2,6 @@ import { PerChainDelegations, sliceSearchWord, useGetChains } from '@leapwallet/ import { SupportedChain } from '@leapwallet/cosmos-wallet-sdk' import { AggregateStakeStore, - BalanceStore, ChainTagsStore, ClaimRewardsStore, DelegationsStore, @@ -132,8 +131,6 @@ export const AggregatedStake = observer( }) } } - - return formattedDelgations }, [perChainDelegations, searchedText, showAmountInDescending, showAprInDescending, sortBy]) const handleOpenSelectChainSheet = useCallback(() => setShowChainSelector(true), []) diff --git a/apps/extension/src/pages/stake-v2/components/AutoAdjustModal.tsx b/apps/extension/src/pages/stake-v2/components/AutoAdjustModal.tsx index de3d40ae..1426be77 100644 --- a/apps/extension/src/pages/stake-v2/components/AutoAdjustModal.tsx +++ b/apps/extension/src/pages/stake-v2/components/AutoAdjustModal.tsx @@ -5,6 +5,7 @@ import BigNumber from 'bignumber.js' import BottomModal from 'components/bottom-modal' import React, { useCallback, useMemo } from 'react' import { Colors } from 'theme/colors' +import { isCompassWallet } from 'utils/isCompassWallet' type AutoAdjustSheetProps = { onCancel: () => void @@ -83,7 +84,7 @@ export default function AutoAdjustAmountSheet({ Cancel Transaction (network ? network.getValidators({}) : {}), [network]) + const validators = useMemo( + () => + validatorsStore.chainValidators.validatorData.validators?.reduce((acc, validator) => { + acc[validator.address] = validator + return acc + }, {} as Record), + [validatorsStore.chainValidators.validatorData.validators], + ) const memoisedUndelegation = useMemo( () => Object.values(unboundingDelegationsInfo ?? {})?.[0], [unboundingDelegationsInfo], diff --git a/apps/extension/src/pages/stake-v2/components/ReviewCancelUnstakeTx.tsx b/apps/extension/src/pages/stake-v2/components/ReviewCancelUnstakeTx.tsx index 32e89d87..757b736e 100644 --- a/apps/extension/src/pages/stake-v2/components/ReviewCancelUnstakeTx.tsx +++ b/apps/extension/src/pages/stake-v2/components/ReviewCancelUnstakeTx.tsx @@ -40,6 +40,7 @@ import { timeLeft } from 'utils/timeLeft' import useGetWallet = Wallet.useGetWallet import { Info } from '@phosphor-icons/react' +import { isCompassWallet } from 'utils/isCompassWallet' import { StakeTxnPageState } from '../StakeTxnPage' @@ -322,7 +323,7 @@ const ReviewCancelUnstakeTx = observer( {gasError}

} {isLoading ? ( diff --git a/apps/extension/src/pages/stake-v2/components/ReviewValidatorClaimTx.tsx b/apps/extension/src/pages/stake-v2/components/ReviewValidatorClaimTx.tsx new file mode 100644 index 00000000..2e907efd --- /dev/null +++ b/apps/extension/src/pages/stake-v2/components/ReviewValidatorClaimTx.tsx @@ -0,0 +1,380 @@ +import { + FeeTokenData, + formatTokenAmount, + SelectedNetwork, + sliceWord, + useActiveChain, + useActiveStakingDenom, + useSelectedNetwork, + useStakeTx, + useStaking, + useValidatorImage, +} from '@leapwallet/cosmos-wallet-hooks' +import { SupportedChain, Validator } from '@leapwallet/cosmos-wallet-sdk' +import { + ClaimRewardsStore, + DelegationsStore, + RootBalanceStore, + RootDenomsStore, + UndelegationsStore, + ValidatorsStore, +} from '@leapwallet/cosmos-wallet-store' +import { Buttons, Card } from '@leapwallet/leap-ui' +import BigNumber from 'bignumber.js' +import BottomModal from 'components/bottom-modal' +import GasPriceOptions, { useDefaultGasPrice } from 'components/gas-price-options' +import { GasPriceOptionValue } from 'components/gas-price-options/context' +import { DisplayFee } from 'components/gas-price-options/display-fee' +import { FeesSettingsSheet } from 'components/gas-price-options/fees-settings-sheet' +import LedgerConfirmationPopup from 'components/ledger-confirmation/LedgerConfirmationPopup' +import Text from 'components/text' +import { EventName } from 'config/analytics' +import { useFormatCurrency } from 'hooks/settings/useCurrency' +import { useCaptureTxError } from 'hooks/utility/useCaptureTxError' +import { useDefaultTokenLogo } from 'hooks/utility/useDefaultTokenLogo' +import { Wallet } from 'hooks/wallet/useWallet' +import { Images } from 'images' +import loadingImage from 'lottie-files/swaps-btn-loading.json' +import Lottie from 'lottie-react' +import mixpanel from 'mixpanel-browser' +import { observer } from 'mobx-react-lite' +import React, { useCallback, useEffect, useMemo, useState } from 'react' +import { useNavigate } from 'react-router' +import { Colors } from 'theme/colors' +import { imgOnError } from 'utils/imgOnError' +import { isSidePanel } from 'utils/isSidePanel' +import useGetWallet = Wallet.useGetWallet + +import { Delegation } from '@leapwallet/cosmos-wallet-sdk' +import { isCompassWallet } from 'utils/isCompassWallet' + +import { StakeTxnPageState } from '../StakeTxnPage' + +interface ReviewValidatorClaimTxProps { + isOpen: boolean + onClose: () => void + validator?: Validator + validators?: Record + rootDenomsStore: RootDenomsStore + rootBalanceStore: RootBalanceStore + delegationsStore: DelegationsStore + validatorsStore: ValidatorsStore + unDelegationsStore: UndelegationsStore + claimRewardsStore: ClaimRewardsStore + forceChain?: SupportedChain + forceNetwork?: SelectedNetwork + selectedDelegation: Delegation +} + +const ReviewValidatorClaimTx = observer( + ({ + isOpen, + onClose, + validator, + rootDenomsStore, + delegationsStore, + validatorsStore, + unDelegationsStore, + claimRewardsStore, + forceChain, + forceNetwork, + rootBalanceStore, + selectedDelegation, + }: ReviewValidatorClaimTxProps) => { + const _activeChain = useActiveChain() + const activeChain = useMemo(() => forceChain || _activeChain, [_activeChain, forceChain]) + + const _activeNetwork = useSelectedNetwork() + const activeNetwork = useMemo( + () => forceNetwork || _activeNetwork, + [_activeNetwork, forceNetwork], + ) + + const getWallet = useGetWallet(activeChain) + const denoms = rootDenomsStore.allDenoms + const defaultGasPrice = useDefaultGasPrice(denoms, { + activeChain, + selectedNetwork: activeNetwork, + }) + + const [formatCurrency] = useFormatCurrency() + const defaultTokenLogo = useDefaultTokenLogo() + const [activeStakingDenom] = useActiveStakingDenom(denoms, activeChain, activeNetwork) + + const chainDelegations = delegationsStore.delegationsForChain(activeChain) + const chainValidators = validatorsStore.validatorsForChain(activeChain) + const chainUnDelegations = unDelegationsStore.unDelegationsForChain(activeChain) + const chainClaimRewards = claimRewardsStore.claimRewardsForChain(activeChain) + + const { rewards } = useStaking( + denoms, + chainDelegations, + chainValidators, + chainUnDelegations, + chainClaimRewards, + activeChain, + activeNetwork, + ) + + const { + showLedgerPopup, + onReviewTransaction, + isLoading, + error, + setAmount, + recommendedGasLimit, + userPreferredGasLimit, + setUserPreferredGasLimit, + gasOption, + setGasOption, + userPreferredGasPrice, + setFeeDenom, + ledgerError, + setLedgerError, + customFee, + feeDenom, + setUserPreferredGasPrice, + } = useStakeTx( + denoms, + 'CLAIM_REWARDS', + validator as Validator, + undefined, + [selectedDelegation], + activeChain, + activeNetwork, + ) + + const [showFeesSettingSheet, setShowFeesSettingSheet] = useState(false) + const [gasError, setGasError] = useState(null) + const [gasPriceOption, setGasPriceOption] = useState({ + option: gasOption, + gasPrice: userPreferredGasPrice ?? defaultGasPrice.gasPrice, + }) + const navigate = useNavigate() + const { data: imageUrl } = useValidatorImage(validator) + + const [validatorRewardCurrency, validatorRewardToken, validatorRewardTotal] = useMemo(() => { + const validatorRewards = chainClaimRewards.rewards.rewards[validator?.address ?? ''] + const _validatorRewardCurrency = validatorRewards?.reward.reduce( + (acc, reward) => acc.plus(new BigNumber(reward.currencyAmount ?? '')), + new BigNumber(0), + ) + const rewardCount = validatorRewards?.reward.length ?? 0 + const nativeReward = validatorRewards?.reward.find( + (r) => r.denom === activeStakingDenom?.coinMinimalDenom, + ) + const _validatorRewardToken = + formatTokenAmount(nativeReward?.amount ?? '', activeStakingDenom?.coinDenom) + + `${rewardCount > 1 ? ` +${rewardCount - 1} more` : ''}` + + const _validatorRewardTotal = validatorRewards?.reward.reduce( + (acc, reward) => acc.plus(new BigNumber(reward.amount)), + new BigNumber(0), + ) + return [_validatorRewardCurrency, _validatorRewardToken, _validatorRewardTotal] + }, [ + activeStakingDenom?.coinDenom, + activeStakingDenom?.coinMinimalDenom, + chainClaimRewards.rewards.rewards, + validator?.address, + ]) + + useCaptureTxError(error) + useEffect(() => { + setAmount(validatorRewardTotal?.toString() ?? '0') + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [validatorRewardTotal]) + + useEffect(() => { + if (gasPriceOption.option) { + setGasOption(gasPriceOption.option) + } + if (gasPriceOption.gasPrice) { + setUserPreferredGasPrice(gasPriceOption.gasPrice) + } + }, [gasPriceOption, setGasOption, setUserPreferredGasPrice]) + + const onGasPriceOptionChange = useCallback( + (value: GasPriceOptionValue, feeBaseDenom: FeeTokenData) => { + setGasPriceOption(value) + setFeeDenom(feeBaseDenom.denom) + }, + [setFeeDenom], + ) + + const handleCloseFeeSettingSheet = useCallback(() => { + setShowFeesSettingSheet(false) + }, []) + + const txCallback = useCallback(() => { + const state = { + validator, + mode: 'CLAIM_REWARDS', + forceChain: activeChain, + forceNetwork: activeNetwork, + } as StakeTxnPageState + + sessionStorage.setItem('navigate-stake-pending-txn-state', JSON.stringify(state)) + navigate('/stake/pending-txn', { + state, + }) + + mixpanel.track(EventName.TransactionSigned, { + transactionType: 'stake_claim', + }) + }, [activeChain, activeNetwork, navigate, validator]) + + const onClaimRewardsClick = useCallback(async () => { + try { + const wallet = await getWallet(activeChain) + onReviewTransaction(wallet, txCallback, false, { + stdFee: customFee, + feeDenom: feeDenom, + }) + } catch (error) { + const _error = error as Error + setLedgerError(_error.message) + + setTimeout(() => { + setLedgerError('') + }, 6000) + } + }, [ + activeChain, + customFee, + feeDenom, + getWallet, + onReviewTransaction, + setLedgerError, + txCallback, + ]) + + return ( + + setUserPreferredGasLimit(Number(value.toString())) + } + gasPriceOption={gasPriceOption} + onGasPriceOptionChange={onGasPriceOptionChange} + error={gasError} + setError={setGasError} + chain={activeChain} + network={activeNetwork} + rootDenomsStore={rootDenomsStore} + rootBalanceStore={rootBalanceStore} + > + +
+
+ + } + isRounded + size='md' + title={ + + {formatCurrency(validatorRewardCurrency ?? new BigNumber(''))} + + } + subtitle={ + + {validatorRewardToken} + + } + /> + + } + isRounded + size='md' + title={ + + {validator && + sliceWord( + validator.moniker, + isSidePanel() + ? 15 + Math.floor(((Math.min(window.innerWidth, 400) - 320) / 81) * 7) + : 10, + 3, + )} + + } + /> +
+
+ + + {ledgerError &&

{ledgerError}

} + {error &&

{error}

} + {gasError && !showFeesSettingSheet && ( +

{gasError}

+ )} + + + {isLoading ? ( + + ) : ( + 'Confirm Claim' + )} + +
+
+
+ {showLedgerPopup && } + +
+ ) + }, +) + +export default ReviewValidatorClaimTx diff --git a/apps/extension/src/pages/stake-v2/components/SelectLSProvider.tsx b/apps/extension/src/pages/stake-v2/components/SelectLSProvider.tsx index 6abab67b..3fb16adf 100644 --- a/apps/extension/src/pages/stake-v2/components/SelectLSProvider.tsx +++ b/apps/extension/src/pages/stake-v2/components/SelectLSProvider.tsx @@ -70,7 +70,7 @@ export function ProviderCard({ {provider.name} diff --git a/apps/extension/src/pages/stake-v2/components/StakingUnavailable.tsx b/apps/extension/src/pages/stake-v2/components/StakingUnavailable.tsx index 44503089..605da235 100644 --- a/apps/extension/src/pages/stake-v2/components/StakingUnavailable.tsx +++ b/apps/extension/src/pages/stake-v2/components/StakingUnavailable.tsx @@ -1,4 +1,3 @@ -import { WALLETTYPE } from '@leapwallet/cosmos-wallet-hooks' import { ChainTagsStore, ClaimRewardsStore, @@ -13,10 +12,7 @@ import { WalletButton } from 'components/button' import { EmptyCard } from 'components/empty-card' import { PageHeader } from 'components/header' import PopupLayout from 'components/layout/popup-layout' -import { LEDGER_NAME_EDITED_SUFFIX_REGEX } from 'config/config' -import { walletLabels } from 'config/constants' import { useChainPageInfo, useWalletInfo } from 'hooks' -import useActiveWallet from 'hooks/settings/useActiveWallet' import { useDontShowSelectChain } from 'hooks/useDontShowSelectChain' import { useGetWalletAddresses } from 'hooks/useGetWalletAddresses' import { Images } from 'images' @@ -24,10 +20,8 @@ import { observer } from 'mobx-react-lite' import SelectChain from 'pages/home/SelectChain' import SelectWallet from 'pages/home/SelectWallet' import SideNav from 'pages/home/side-nav' -import React, { useCallback, useMemo, useState } from 'react' +import React, { useCallback, useState } from 'react' import { UserClipboard } from 'utils/clipboard' -import { formatWalletName } from 'utils/formatWalletName' -import { isCompassWallet } from 'utils/isCompassWallet' import ComingSoonCard from './ComingSoonCard' import NotSupportedCard from './NotSupportedCard' diff --git a/apps/extension/src/pages/stake-v2/components/TabList.tsx b/apps/extension/src/pages/stake-v2/components/TabList.tsx index 3e69af33..e9a468f8 100644 --- a/apps/extension/src/pages/stake-v2/components/TabList.tsx +++ b/apps/extension/src/pages/stake-v2/components/TabList.tsx @@ -1,12 +1,10 @@ import { SelectedNetwork, useActiveChain, - useActiveWallet, useDualStaking, useFeatureFlags, useSelectedNetwork, useStaking, - WALLETTYPE, } from '@leapwallet/cosmos-wallet-hooks' import { SupportedChain } from '@leapwallet/cosmos-wallet-sdk' import { @@ -19,7 +17,7 @@ import { } from '@leapwallet/cosmos-wallet-store' import Text from 'components/text' import { observer } from 'mobx-react-lite' -import React, { useEffect, useMemo, useState } from 'react' +import React, { useMemo, useState } from 'react' import ProviderList from '../restaking/ProviderList' import PendingUnstakeList from './PendingUnstakeList' @@ -83,7 +81,6 @@ const TabList = observer( activeNetwork, ) const { delegations: providerDelegations } = useDualStaking() - const activeWallet = useActiveWallet() const [selectedTab, setSelectedTab] = useState() const isLoading = loadingDelegations || loadingUnboundingDelegations @@ -97,7 +94,6 @@ const TabList = observer( } if ( Object.values(providerDelegations ?? {}).length > 0 && - activeWallet?.walletType !== WALLETTYPE.LEDGER && featureFlags?.restaking?.extension === 'active' && activeChain === 'lava' ) { @@ -112,7 +108,6 @@ const TabList = observer( return _tabs }, [ activeChain, - activeWallet?.walletType, delegations, featureFlags?.restaking?.extension, providerDelegations, @@ -157,6 +152,7 @@ const TabList = observer( {selectedTab === TabElements.YOUR_VALIDATORS && ( { const _activeChain = useActiveChain() + const { formatHideBalance } = useHideAssets() const activeChain = useMemo(() => forceChain || _activeChain, [_activeChain, forceChain]) const _activeNetwork = useSelectedNetwork() @@ -89,7 +90,6 @@ const UnstakedValidatorDetails = observer( const [activeStakingDenom] = useActiveStakingDenom(denoms, activeChain, activeNetwork) const defaultTokenLogo = useDefaultTokenLogo() const [formatCurrency] = useFormatCurrency() - const { formatHideBalance } = useHideAssets() const { theme } = useTheme() const [showReviewCancelUnstakeTx, setShowReviewCancelUnstakeTx] = useState(false) const { network } = useStaking( @@ -220,17 +220,17 @@ const UnstakedValidatorDetails = observer( src={activeStakingDenom.icon} onError={imgOnError(defaultTokenLogo)} /> -
+
- {formatCurrency(new BigNumber(unbondingDelegationEntry?.currencyBalance ?? ''))} + {amountTitleText} - {unbondingDelegationEntry?.formattedBalance} + {amountSubtitleText}
diff --git a/apps/extension/src/pages/stake-v2/components/ValidatorList.tsx b/apps/extension/src/pages/stake-v2/components/ValidatorList.tsx index d0beb810..b64083dd 100644 --- a/apps/extension/src/pages/stake-v2/components/ValidatorList.tsx +++ b/apps/extension/src/pages/stake-v2/components/ValidatorList.tsx @@ -1,5 +1,6 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { + formatTokenAmount, SelectedNetwork, sliceWord, useActiveChain, @@ -12,6 +13,7 @@ import { Delegation, SupportedChain, Validator } from '@leapwallet/cosmos-wallet import { ClaimRewardsStore, DelegationsStore, + RootBalanceStore, RootDenomsStore, UndelegationsStore, ValidatorsStore, @@ -28,13 +30,16 @@ import { useHideAssets } from 'hooks/settings/useHideAssets' import useQuery from 'hooks/useQuery' import { Images } from 'images' import { observer } from 'mobx-react-lite' -import React, { useEffect, useMemo, useState } from 'react' +import React, { useCallback, useEffect, useMemo, useState } from 'react' import { useNavigate } from 'react-router' import { Colors } from 'theme/colors' +import { hex2rgba } from 'utils/hextorgba' import { imgOnError } from 'utils/imgOnError' +import { isCompassWallet } from 'utils/isCompassWallet' import { isSidePanel } from 'utils/isSidePanel' import { StakeInputPageState } from '../StakeInputPage' +import ReviewValidatorClaimTx from './ReviewValidatorClaimTx' interface StakedValidatorDetailsProps { isOpen: boolean @@ -50,6 +55,7 @@ interface StakedValidatorDetailsProps { claimRewardsStore: ClaimRewardsStore forceChain?: SupportedChain forceNetwork?: SelectedNetwork + onValidatorClaim: () => void } const StakedValidatorDetails = observer( @@ -67,6 +73,7 @@ const StakedValidatorDetails = observer( claimRewardsStore, forceChain, forceNetwork, + onValidatorClaim, }: StakedValidatorDetailsProps) => { const _activeChain = useActiveChain() const activeChain = useMemo(() => forceChain || _activeChain, [_activeChain, forceChain]) @@ -86,7 +93,7 @@ const StakedValidatorDetails = observer( const [activeStakingDenom] = useActiveStakingDenom(denoms, activeChain, activeNetwork) const [formatCurrency] = useFormatCurrency() - const { network } = useStaking( + const { network, rewards } = useStaking( denoms, chainDelegations, chainValidators, @@ -102,6 +109,32 @@ const StakedValidatorDetails = observer( const { data: imageUrl } = useValidatorImage(validator) const { theme } = useTheme() + const [validatorRewardCurrency, validatorRewardToken, validatorRewardTotal] = useMemo(() => { + const validatorRewards = chainClaimRewards.rewards.rewards[validator?.address ?? ''] + const _validatorRewardCurrency = validatorRewards?.reward.reduce( + (acc, reward) => acc.plus(new BigNumber(reward.currencyAmount ?? '')), + new BigNumber(0), + ) + const rewardCount = validatorRewards?.reward.length ?? 0 + const nativeReward = validatorRewards?.reward.find( + (r) => r.denom === activeStakingDenom?.coinMinimalDenom, + ) + const _validatorRewardToken = + formatTokenAmount(nativeReward?.amount ?? '', activeStakingDenom?.coinDenom) + + `${rewardCount > 1 ? ` +${rewardCount - 1} more` : ''}` + + const _validatorRewardTotal = validatorRewards?.reward.reduce( + (acc, reward) => acc.plus(new BigNumber(reward.amount)), + new BigNumber(0), + ) + return [_validatorRewardCurrency, _validatorRewardToken, _validatorRewardTotal] + }, [ + activeStakingDenom?.coinDenom, + activeStakingDenom?.coinMinimalDenom, + chainClaimRewards.rewards.rewards, + validator?.address, + ]) + const amountTitleText = useMemo(() => { if (new BigNumber(delegation.balance.currencyAmount ?? '').gt(0)) { return formatHideBalance( @@ -218,7 +251,7 @@ const StakedValidatorDetails = observer( onError={imgOnError(defaultTokenLogo)} /> -
+
{amountTitleText} @@ -230,6 +263,46 @@ const StakedValidatorDetails = observer(
+
+
+ + Your Rewards + + +
+ + {formatCurrency(validatorRewardCurrency ?? new BigNumber(''))} + +
+ + {validatorRewardToken} + +
+
+ +
+
{ const navigate = useNavigate() const [showStakedValidatorDetails, setShowStakedValidatorDetails] = useState(false) + const [showReviewValidatorClaimTx, setShowReviewValidatorClaimTx] = useState(false) const [selectedDelegation, setSelectedDelegation] = useState() const _activeChain = useActiveChain() @@ -405,7 +481,14 @@ const ValidatorList = observer( activeNetwork, ) - const validators = network?.getValidators({}) as Record + const validators = useMemo( + () => + validatorsStore.chainValidators.validatorData.validators?.reduce((acc, validator) => { + acc[validator.address] = validator + return acc + }, {} as Record), + [validatorsStore.chainValidators.validatorData.validators], + ) const isLoading = loadingNetwork || loadingDelegations const query = useQuery() @@ -445,6 +528,11 @@ const ValidatorList = observer( return [_activeValidatorDelegations, _inactiveValidatorDelegations] }, [delegations, validators]) + const onValidatorClaim = useCallback(() => { + setShowStakedValidatorDetails(false) + setShowReviewValidatorClaimTx(true) + }, []) + return ( <> {isLoading && } @@ -505,7 +593,7 @@ const ValidatorList = observer( )}
- {selectedDelegation && network && ( + {showStakedValidatorDetails && selectedDelegation && ( setShowStakedValidatorDetails(false)} @@ -546,6 +634,23 @@ const ValidatorList = observer( claimRewardsStore={claimRewardsStore} forceChain={activeChain} forceNetwork={activeNetwork} + onValidatorClaim={onValidatorClaim} + /> + )} + {showReviewValidatorClaimTx && selectedDelegation && ( + setShowReviewValidatorClaimTx(false)} + validator={validators[selectedDelegation.delegation.validator_address]} + selectedDelegation={selectedDelegation} + rootDenomsStore={rootDenomsStore} + rootBalanceStore={rootBalanceStore} + delegationsStore={delegationsStore} + validatorsStore={validatorsStore} + unDelegationsStore={unDelegationsStore} + claimRewardsStore={claimRewardsStore} + forceChain={activeChain} + forceNetwork={activeNetwork} /> )} diff --git a/apps/extension/src/pages/stake-v2/components/YouStake.tsx b/apps/extension/src/pages/stake-v2/components/YouStake.tsx index 3fe5ca37..f1fa80fc 100644 --- a/apps/extension/src/pages/stake-v2/components/YouStake.tsx +++ b/apps/extension/src/pages/stake-v2/components/YouStake.tsx @@ -20,6 +20,7 @@ import { Colors } from 'theme/colors' import { Token } from 'types/bank' import { hex2rgba } from 'utils/hextorgba' import { imgOnError } from 'utils/imgOnError' +import { isCompassWallet } from 'utils/isCompassWallet' import { isSidePanel } from 'utils/isSidePanel' interface YouStakeProps { @@ -295,7 +296,12 @@ const YouStake = observer(
Max diff --git a/apps/extension/src/pages/stake-v2/restaking/LavaClaimInfo.tsx b/apps/extension/src/pages/stake-v2/restaking/LavaClaimInfo.tsx index c8f877da..ce583bfb 100644 --- a/apps/extension/src/pages/stake-v2/restaking/LavaClaimInfo.tsx +++ b/apps/extension/src/pages/stake-v2/restaking/LavaClaimInfo.tsx @@ -46,7 +46,6 @@ const LavaClaimInfo = observer( onClaimValidatorRewards, onClaimProviderRewards, rootDenomsStore, - rootBalanceStore, delegationsStore, validatorsStore, unDelegationsStore, diff --git a/apps/extension/src/pages/stake-v2/restaking/ProviderList.tsx b/apps/extension/src/pages/stake-v2/restaking/ProviderList.tsx index 1607769d..dad511de 100644 --- a/apps/extension/src/pages/stake-v2/restaking/ProviderList.tsx +++ b/apps/extension/src/pages/stake-v2/restaking/ProviderList.tsx @@ -209,19 +209,32 @@ function ProviderCard({ provider, delegation, onClick }: ProviderCardProps) { className='mr-4 rounded-full' />
- - {sliceWord( - provider?.moniker, - isSidePanel() - ? 5 + Math.floor(((Math.min(window.innerWidth, 400) - 320) / 81) * 7) - : 10, - 3, +
+ + {sliceWord( + provider?.moniker, + isSidePanel() + ? 5 + Math.floor(((Math.min(window.innerWidth, 400) - 320) / 81) * 7) + : 10, + 3, + )} + + {provider.spec && ( + + {sliceWord( + provider.spec.charAt(0).toUpperCase() + provider.spec.slice(1).toLowerCase(), + isSidePanel() + ? 22 + Math.floor(((Math.min(window.innerWidth, 400) - 320) / 81) * 7) + : 30, + 0, + )} + )} - +
{amountTitleText} @@ -289,14 +302,16 @@ export default function ProviderList() { /> )} -
- - Provider - - - Amount Staked - -
+ {sortedDelegations.length > 1 && ( +
+ + Provider + + + Amount Staked + +
+ )} {sortedDelegations.map((d) => { const provider = providers?.find((el) => el.address === d.provider) return ( diff --git a/apps/extension/src/pages/stake-v2/restaking/ReviewClaimLavaTx.tsx b/apps/extension/src/pages/stake-v2/restaking/ReviewClaimLavaTx.tsx index 49b546da..b69c9247 100644 --- a/apps/extension/src/pages/stake-v2/restaking/ReviewClaimLavaTx.tsx +++ b/apps/extension/src/pages/stake-v2/restaking/ReviewClaimLavaTx.tsx @@ -35,6 +35,8 @@ import { imgOnError } from 'utils/imgOnError' import { isSidePanel } from 'utils/isSidePanel' import useGetWallet = Wallet.useGetWallet +import { isCompassWallet } from 'utils/isCompassWallet' + import { StakeTxnPageState } from '../StakeTxnPage' interface ReviewClaimLavaTxProps { @@ -246,7 +248,7 @@ export const ReviewClaimLavaTx = observer( )} + {provider.spec && ( + + {sliceWord( + provider.spec.charAt(0).toUpperCase() + provider.spec.slice(1).toLowerCase(), + isSidePanel() + ? 22 + Math.floor(((Math.min(window.innerWidth, 400) - 320) / 81) * 7) + : 30, + 0, + )} + + )}
@@ -64,14 +75,13 @@ export default function SelectProviderSheet({ onClose, onProviderSelect, providers, - apy, }: SelectProviderSheetProps) { const [searchedTerm, setSearchedTerm] = useState('') const [showSortBy, setShowSortBy] = useState(false) const [sortBy, setSortBy] = useState('Random') const activeChain = useActiveChain() const [isLoading, setIsLoading] = useState(false) - const filteredProviders = useMemo(() => { + const [activeProviders, inactiveProviders] = useMemo(() => { setIsLoading(true) const _filteredProviders = providers .filter( @@ -79,7 +89,7 @@ export default function SelectProviderSheet({ provider.moniker && provider.moniker.toLowerCase().includes(searchedTerm.toLowerCase()), ) .slice(0, 100) - _filteredProviders.sort((a, b) => { + _filteredProviders.sort(() => { switch (sortBy) { case 'Amount staked': return 0 @@ -89,8 +99,14 @@ export default function SelectProviderSheet({ return Math.random() - 0.5 } }) + const _activeProviders = _filteredProviders.filter( + (provider) => provider.stakestatus === 'Active', + ) + const _inactiveProviders = _filteredProviders.filter( + (provider) => provider.stakestatus === 'Inactive', + ) setIsLoading(false) - return _filteredProviders + return [_activeProviders, searchedTerm ? _inactiveProviders : []] }, [providers, searchedTerm, sortBy]) return ( @@ -115,7 +131,7 @@ export default function SelectProviderSheet({ /> {isLoading && } - {!isLoading && filteredProviders?.length === 0 && ( + {!isLoading && activeProviders?.length === 0 && inactiveProviders?.length === 0 && ( )} - {!isLoading && filteredProviders.length !== 0 && ( + {!isLoading && activeProviders.length !== 0 && (
- {filteredProviders.map((provider) => ( + {activeProviders.map((provider) => ( + onProviderSelect(provider)} + /> + ))} +
+ )} + {!isLoading && searchedTerm && inactiveProviders.length !== 0 && ( +
+ + Inactive provider + + {inactiveProviders.map((provider) => ( { await betaERC20DenomsStore.setBetaERC20Denoms(contractInfo.address, erc20Token, activeChain) const _enabledCW20Tokens = [...enabledCW20Tokens, contractInfo.address] await enabledCW20DenomsStore.setEnabledCW20Denoms(_enabledCW20Tokens, activeChain) + rootBalanceStore.loadBalances() window.removeEventListener('beforeunload', handleRejectBtnClick) await Browser.storage.local.set({ diff --git a/apps/extension/src/pages/suggest/SuggestSecret.tsx b/apps/extension/src/pages/suggest/SuggestSecret.tsx index 78732d44..95f2ab26 100644 --- a/apps/extension/src/pages/suggest/SuggestSecret.tsx +++ b/apps/extension/src/pages/suggest/SuggestSecret.tsx @@ -18,6 +18,7 @@ import { observer } from 'mobx-react-lite' import React, { useCallback, useEffect, useState } from 'react' import { useNavigate } from 'react-router' import { betaCW20DenomsStore, enabledCW20DenomsStore } from 'stores/denoms-store-instance' +import { rootBalanceStore } from 'stores/root-store' import { Colors } from 'theme/colors' import { getContractInfo } from 'utils/getContractInfo' import { isCompassWallet } from 'utils/isCompassWallet' @@ -196,6 +197,7 @@ const SuggestSecret = observer(({ handleRejectBtnClick }: ChildrenParams) => { const enabledCW20Tokens = enabledCW20DenomsStore.getEnabledCW20DenomsForChain(chain) const _enabledCW20Tokens = [...enabledCW20Tokens, payload.contractAddress] await enabledCW20DenomsStore.setEnabledCW20Denoms(_enabledCW20Tokens, chain) + rootBalanceStore.loadBalances() } window.removeEventListener('beforeunload', handleRejectBtnClick) await Browser.storage.local.set({ diff --git a/apps/extension/src/pages/swaps-v2/components/ChainsList.tsx b/apps/extension/src/pages/swaps-v2/components/ChainsList.tsx index 8f1dffa3..8df6b6cd 100644 --- a/apps/extension/src/pages/swaps-v2/components/ChainsList.tsx +++ b/apps/extension/src/pages/swaps-v2/components/ChainsList.tsx @@ -55,8 +55,6 @@ function PopularChains({ ) } -const POPULAR_CHAINS: string[] = [] - export function ChainCard({ itemsLength, chain, @@ -140,26 +138,6 @@ export function ChainsList({ onChainSelect, selectedChain, chainsToShow }: ListC }) }, [chainInfos, chains, chainsToShow, searchedChain]) - // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars - const popularChains = useMemo(() => { - return POPULAR_CHAINS.filter(function (chain) { - if (isCompassWallet() && chainInfos[chain as SupportedChain]?.chainName === 'cosmos') { - return false - } - - if ( - chainsToShow && - chainsToShow.length && - !chainsToShow.includes(chainInfos[chain as SupportedChain]?.chainRegistryPath) - ) { - return false - } - - const chainName = chainInfos[chain as SupportedChain]?.chainName - return chainName.toLowerCase().includes(searchedChain.toLowerCase()) - }) - }, [chainInfos, chainsToShow, searchedChain]) - return ( <>
diff --git a/apps/extension/src/pages/swaps-v2/components/MoreDetails/LeapFeesInfoSheet.tsx b/apps/extension/src/pages/swaps-v2/components/MoreDetails/LeapFeesInfoSheet.tsx new file mode 100644 index 00000000..88d3a41f --- /dev/null +++ b/apps/extension/src/pages/swaps-v2/components/MoreDetails/LeapFeesInfoSheet.tsx @@ -0,0 +1,26 @@ +import BottomModal from 'components/bottom-modal' +import React from 'react' + +type LeapFeesInfoSheetProps = { isOpen: boolean; onClose: () => void; leapFeeBps: string } + +function LeapFeesInfoSheet({ isOpen, onClose, leapFeeBps }: LeapFeesInfoSheetProps) { + return ( + +
+ {`Quote includes a ${parseFloat( + (Number(leapFeeBps) / 100).toFixed(2), + )}% Leap fee shared with swap + infrastructure provider`} +
+
+ ) +} + +export default LeapFeesInfoSheet diff --git a/apps/extension/src/pages/swaps-v2/components/MoreDetails/MoreDetails.tsx b/apps/extension/src/pages/swaps-v2/components/MoreDetails/MoreDetails.tsx index 05b9895f..df5b0745 100644 --- a/apps/extension/src/pages/swaps-v2/components/MoreDetails/MoreDetails.tsx +++ b/apps/extension/src/pages/swaps-v2/components/MoreDetails/MoreDetails.tsx @@ -8,6 +8,7 @@ import { useSwapContext } from 'pages/swaps-v2/context' import { getSlippageRemarks } from 'pages/swaps-v2/utils/slippage' import React, { Dispatch, SetStateAction, useCallback, useMemo, useState } from 'react' +import LeapFeesInfoSheet from './LeapFeesInfoSheet' import PriceImpactSheet from './PriceImpactSheet' function OrderRoutingDisplay({ @@ -40,14 +41,14 @@ export function MoreDetails({ onSlippageInfoClick, setShowFeesSettingSheet, }: MoreDetailsProps) { - const { slippagePercent, displayFee, route } = useSwapContext() + const { slippagePercent, displayFee, route, leapFeeBps, isSwapFeeEnabled } = useSwapContext() const slippageRemarks = useMemo(() => { return getSlippageRemarks(String(slippagePercent)) }, [slippagePercent]) const [showPriceImpactInfo, setShowPriceImpactInfo] = useState(false) - + const [showLeapFeesInfo, setShowLeapFeesInfo] = useState(false) const chains = useChainInfos() const skipChains = useSkipSupportedChains() @@ -88,10 +89,18 @@ export function MoreDetails({ }) }, [chains, skipChains?.data, route?.response?.chain_ids]) + const showLeapFees = useMemo(() => { + return Number(leapFeeBps) > 0 && isSwapFeeEnabled + }, [leapFeeBps, isSwapFeeEnabled]) + const handlePriceImpactInfoClick = useCallback(() => { setShowPriceImpactInfo(true) }, [setShowPriceImpactInfo]) + const handleLeapFeesInfoClick = useCallback(() => { + setShowLeapFeesInfo(true) + }, [setShowLeapFeesInfo]) + const handleSlippageInfoClick = useCallback(() => { onSlippageInfoClick?.() }, [onSlippageInfoClick]) @@ -156,6 +165,33 @@ export function MoreDetails({
+ {showLeapFees && ( +
+
+ + Leap fee + + {showInfo && ( + + )} +
+ + {parseFloat((Number(leapFeeBps) / 100).toFixed(2))}% + +
+ )} +
@@ -203,6 +239,15 @@ export function MoreDetails({ setShowPriceImpactInfo(false) }} /> + {showLeapFees && ( + { + setShowLeapFeesInfo(false) + }} + /> + )} ) } diff --git a/apps/extension/src/pages/swaps-v2/components/MoreDetails/PriceImpactSheet.tsx b/apps/extension/src/pages/swaps-v2/components/MoreDetails/PriceImpactSheet.tsx index 435ff2d9..6638fa58 100644 --- a/apps/extension/src/pages/swaps-v2/components/MoreDetails/PriceImpactSheet.tsx +++ b/apps/extension/src/pages/swaps-v2/components/MoreDetails/PriceImpactSheet.tsx @@ -1,4 +1,3 @@ -import { Buttons } from '@leapwallet/leap-ui' import BottomModal from 'components/bottom-modal' import React from 'react' diff --git a/apps/extension/src/pages/swaps-v2/components/MoreDetails/SlippageInfoSheet.tsx b/apps/extension/src/pages/swaps-v2/components/MoreDetails/SlippageInfoSheet.tsx index d67f29c6..4f72d1f4 100644 --- a/apps/extension/src/pages/swaps-v2/components/MoreDetails/SlippageInfoSheet.tsx +++ b/apps/extension/src/pages/swaps-v2/components/MoreDetails/SlippageInfoSheet.tsx @@ -1,4 +1,3 @@ -import { Buttons } from '@leapwallet/leap-ui' import BigNumber from 'bignumber.js' import BottomModal from 'components/bottom-modal' import { useSwapContext } from 'pages/swaps-v2/context' diff --git a/apps/extension/src/pages/swaps-v2/components/SelectTokenSheet.tsx b/apps/extension/src/pages/swaps-v2/components/SelectTokenSheet.tsx index 4b6f5a79..c098c596 100644 --- a/apps/extension/src/pages/swaps-v2/components/SelectTokenSheet.tsx +++ b/apps/extension/src/pages/swaps-v2/components/SelectTokenSheet.tsx @@ -18,12 +18,14 @@ const TokenCardWrapper = observer( selectedToken, selectedChain, onTokenSelect, + verified, header, }: { index: number tokensLength: number selectedChain: SourceChain | undefined token: SourceToken + verified: boolean onTokenSelect: (token: SourceToken) => void selectedToken: SourceToken | null header: ReactNode @@ -49,7 +51,7 @@ const TokenCardWrapper = observer( token={token} hideAmount={token.amount === '0'} isSelected={isSelected} - verified={true} + verified={verified} selectedChain={selectedChain} showRedirection={false} /> @@ -254,6 +256,7 @@ export function SelectTokenSheet({ key={`${item.coinMinimalDenom}`} index={index} token={item} + verified={true} selectedToken={selectedToken} selectedChain={selectedChain} onTokenSelect={onTokenSelect} @@ -272,6 +275,7 @@ export function SelectTokenSheet({ index={effectiveIndex} key={`${item?.coinMinimalDenom ?? effectiveIndex}`} token={item} + verified={false} selectedToken={selectedToken} selectedChain={selectedChain} onTokenSelect={onTokenSelect} diff --git a/apps/extension/src/pages/swaps-v2/components/SlippageSheet.tsx b/apps/extension/src/pages/swaps-v2/components/SlippageSheet.tsx index 77282977..58744434 100644 --- a/apps/extension/src/pages/swaps-v2/components/SlippageSheet.tsx +++ b/apps/extension/src/pages/swaps-v2/components/SlippageSheet.tsx @@ -4,6 +4,7 @@ import classNames from 'classnames' import BottomModal from 'components/bottom-modal' import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react' import { Colors } from 'theme/colors' +import { isCompassWallet } from 'utils/isCompassWallet' import { useSwapContext } from '../context' import { getSlippageRemarks, SlippageRemarks } from '../utils/slippage' @@ -172,7 +173,7 @@ export function SlippageSheet({ isOpen, onClose, onSlippageInfoClick }: Slippage
) } diff --git a/apps/extension/src/pages/swaps-v2/components/TokenCard.tsx b/apps/extension/src/pages/swaps-v2/components/TokenCard.tsx index 3122e2fc..ab2c66a9 100644 --- a/apps/extension/src/pages/swaps-v2/components/TokenCard.tsx +++ b/apps/extension/src/pages/swaps-v2/components/TokenCard.tsx @@ -22,6 +22,7 @@ import { SourceChain, SourceToken } from 'types/swap' import { AggregatedSupportedChain } from 'types/utility' import { UserClipboard } from 'utils/clipboard' import { imgOnError } from 'utils/imgOnError' +import { isSidePanel } from 'utils/isSidePanel' import { sliceWord } from 'utils/strings' export function TokenCard({ @@ -161,7 +162,14 @@ export function TokenCard({ className='h-5 w-5' /> -
+
diff --git a/apps/extension/src/pages/swaps-v2/components/TxPage.tsx b/apps/extension/src/pages/swaps-v2/components/TxPage.tsx index 91705570..fef02771 100644 --- a/apps/extension/src/pages/swaps-v2/components/TxPage.tsx +++ b/apps/extension/src/pages/swaps-v2/components/TxPage.tsx @@ -17,7 +17,8 @@ import Lottie from 'lottie-react' import { observer } from 'mobx-react-lite' import React, { useCallback, useEffect, useMemo, useState } from 'react' import { useNavigate } from 'react-router' -import { SourceChain, SourceToken, SwapTxAction } from 'types/swap' +import { SourceChain, SourceToken, SwapFeeInfo, SwapTxAction } from 'types/swap' +import { isCompassWallet } from 'utils/isCompassWallet' import { addTxToCurrentTxList, addTxToPendingTxList, @@ -66,6 +67,7 @@ export type TxPageProps = { isTrackingPage?: boolean rootDenomsStore: RootDenomsStore rootCW20DenomsStore: RootCW20DenomsStore + swapFeeInfo?: SwapFeeInfo } export const TxPage = observer( @@ -92,6 +94,7 @@ export const TxPage = observer( isTrackingPage, rootDenomsStore, rootCW20DenomsStore, + swapFeeInfo, }: TxPageProps) => { const [showLedgerPopup, setShowLedgerPopup] = useState(false) const [_feeAmount, setFeeAmount] = useState('') @@ -146,6 +149,7 @@ export const TxPage = observer( refetchSourceBalances, setTrackingInSync, cw20Denoms, + swapFeeInfo, }) const isTrackingInProgress = useMemo(() => { @@ -644,9 +648,14 @@ export const TxPage = observer( )} diff --git a/apps/extension/src/pages/swaps-v2/components/TxPageStepsType.tsx b/apps/extension/src/pages/swaps-v2/components/TxPageStepsType.tsx index 3f6ef4be..46f636c2 100644 --- a/apps/extension/src/pages/swaps-v2/components/TxPageStepsType.tsx +++ b/apps/extension/src/pages/swaps-v2/components/TxPageStepsType.tsx @@ -1,8 +1,8 @@ import { useGetExplorerTxnUrl } from '@leapwallet/cosmos-wallet-hooks' +import { TransferState } from '@leapwallet/cosmos-wallet-sdk/dist/browser/proto/skip-core' import { PacketContent, TRANSFER_STATE } from '@leapwallet/elements-core' import { Action, useChains, useDenomData } from '@leapwallet/elements-hooks' import { ArrowSquareOut } from '@phosphor-icons/react' -import { TransferState } from '@skip-router/core' import React, { useCallback, useMemo } from 'react' import Skeleton from 'react-loading-skeleton' import { TransferInfo } from 'types/swap' diff --git a/apps/extension/src/pages/swaps-v2/components/TxReviewSheet.tsx b/apps/extension/src/pages/swaps-v2/components/TxReviewSheet.tsx index 840e4839..00f5a0dd 100644 --- a/apps/extension/src/pages/swaps-v2/components/TxReviewSheet.tsx +++ b/apps/extension/src/pages/swaps-v2/components/TxReviewSheet.tsx @@ -6,6 +6,7 @@ import { AnimatePresence, motion } from 'framer-motion' import { usePageView } from 'hooks/analytics/usePageView' import React, { Dispatch, SetStateAction, useCallback, useMemo, useState } from 'react' import { Colors } from 'theme/colors' +import { isCompassWallet } from 'utils/isCompassWallet' import { useSwapContext } from '../context' import { MoreDetails } from './MoreDetails' @@ -144,7 +145,11 @@ export function TxReviewSheet({
- + Confirm Swap
diff --git a/apps/extension/src/pages/swaps-v2/components/TxStepsStatusIcon.tsx b/apps/extension/src/pages/swaps-v2/components/TxStepsStatusIcon.tsx index ba84a962..1df131dc 100644 --- a/apps/extension/src/pages/swaps-v2/components/TxStepsStatusIcon.tsx +++ b/apps/extension/src/pages/swaps-v2/components/TxStepsStatusIcon.tsx @@ -1,7 +1,7 @@ +import { TransferState } from '@leapwallet/cosmos-wallet-sdk/dist/browser/proto/skip-core' import { DenomData, TRANSFER_STATE } from '@leapwallet/elements-core' import { ThemeName, useTheme } from '@leapwallet/leap-ui' import { CheckCircle, WarningCircle } from '@phosphor-icons/react' -import { TransferState } from '@skip-router/core' import classNames from 'classnames' import { useDefaultTokenLogo } from 'hooks/utility/useDefaultTokenLogo' import { Images } from 'images' diff --git a/apps/extension/src/pages/swaps-v2/hooks/useExecuteTx.ts b/apps/extension/src/pages/swaps-v2/hooks/useExecuteTx.ts index d5f0b3ca..d26785f9 100644 --- a/apps/extension/src/pages/swaps-v2/hooks/useExecuteTx.ts +++ b/apps/extension/src/pages/swaps-v2/hooks/useExecuteTx.ts @@ -26,6 +26,7 @@ import { sleep, SupportedChain, } from '@leapwallet/cosmos-wallet-sdk' +import { TransferEventJSON } from '@leapwallet/cosmos-wallet-sdk/dist/browser/proto/skip-core/lifecycle' import { createSignDoc, fetchAccountDetails, @@ -37,12 +38,12 @@ import { TxClient, TXN_STATUS, } from '@leapwallet/elements-core' -import { TransferEventJSON } from '@skip-router/core' +import { LEDGER_ENABLED_EVM_CHAIN_IDS } from 'config/config' import { TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx' import { MsgTransfer } from 'cosmjs-types/ibc/applications/transfer/v1/tx' import { Wallet } from 'hooks/wallet/useWallet' import { useCallback, useEffect, useMemo, useRef, useState } from 'react' -import { SourceChain, SourceToken, SwapTxnStatus, TransferInfo } from 'types/swap' +import { SourceChain, SourceToken, SwapFeeInfo, SwapTxnStatus, TransferInfo } from 'types/swap' import { getLedgerEnabledEvmChainsIds } from 'utils/getLedgerEnabledEvmChains' import { TxPageProps } from '../components' @@ -68,6 +69,7 @@ type ExecuteTxParams = Omit> denoms: DenomsRecord cw20Denoms: DenomsRecord + swapFeeInfo?: SwapFeeInfo } export function useExecuteTx({ @@ -92,7 +94,7 @@ export function useExecuteTx({ refetchSourceBalances, setTrackingInSync, denoms, - cw20Denoms, + swapFeeInfo, }: ExecuteTxParams) { const getWallet = Wallet.useGetWallet() const txPostToDB = LeapWalletApi.useOperateCosmosTx() @@ -127,15 +129,6 @@ export function useExecuteTx({ const gasPrices = useGasRateQuery(denoms, (sourceChain?.key ?? '') as SupportedChain) const gasPriceOptions = gasPrices?.[feeDenom.coinMinimalDenom] - const isCW20Token = useCallback( - (denom: SourceToken) => { - if (!denom) return false - - return Object.keys(cw20Denoms).includes(denom?.coinMinimalDenom) - }, - [cw20Denoms], - ) - const fee = useMemo(() => { if (feeAmount) { return @@ -145,7 +138,7 @@ export function useExecuteTx({ const _gasPrice = userPreferredGasPrice ?? gasPriceOptions?.[gasOption] if (!_gasPrice) return - const gasAdjustmentValue = gasAdjustment * (sourceToken && isCW20Token(sourceToken) ? 2 : 1) + const gasAdjustmentValue = gasAdjustment // @ts-ignore return calculateFee(Math.ceil(_gasLimit * gasAdjustmentValue), _gasPrice) @@ -181,6 +174,28 @@ export function useExecuteTx({ }) } + const getSwapFeeInfo = useCallback(async () => { + if (!swapFeeInfo) return null + const { feeCharged, feeAmountValue, feeCollectionAddress, swapFeeDenomInfo } = swapFeeInfo + + const amountValue = feeAmountValue + ? (await getTxnLogAmountValue(feeAmountValue.toString(), { + chainId: swapFeeDenomInfo?.originChainId, + chain: Object.values(chainInfos).find( + (chain) => chain.chainId === swapFeeDenomInfo?.originChainId, + )?.key as SupportedChain, + coinGeckoId: swapFeeDenomInfo?.coingeckoId ?? '', + coinMinimalDenom: swapFeeDenomInfo?.originDenom, + })) ?? null + : null + + return { + feeCharged, + feeCollectionAddress, + feeAmount: amountValue, + } + }, [chainInfos, swapFeeInfo]) + const handleTxError = useCallback( ( messageIndex: number, @@ -244,7 +259,7 @@ export function useExecuteTx({ ? CosmosTxType.IBCSwap : CosmosTxType.Swap - const metadata = isIBCSendTx + let metadata = isIBCSendTx ? await getMetaDataForIbcTx( route?.operations?.[0]?.transfer?.channel, activeWallet?.addresses?.[destinationChain?.key as SupportedChain] ?? '', @@ -283,6 +298,18 @@ export function useExecuteTx({ }, ) + try { + const swapFeeInfo = await getSwapFeeInfo() + if (swapFeeInfo) { + metadata = { + ...metadata, + ...swapFeeInfo, + } + } + } catch (_) { + // + } + txPostToDB({ txHash, txType: txType, @@ -346,6 +373,7 @@ export function useExecuteTx({ refetchSourceBalances, refetchDestinationBalances, callbackPostTx, + getSwapFeeInfo, ], ) @@ -380,7 +408,7 @@ export function useExecuteTx({ const { state, error, transfer_sequence, transfer_asset_release } = txnStatus.response transferSequence = transfer_sequence?.map( - (transfer) => + (transfer: any) => (transfer as Extract).ibc_transfer, ) ?? [] transferAssetRelease = transfer_asset_release @@ -429,7 +457,7 @@ export function useExecuteTx({ }, ] - if (transferSequence.length === 0) { + if (transferSequence?.length === 0) { updateTxStatus(messageIndex, { status: TXN_STATUS.SUCCESS, responses: defaultResponses, @@ -442,7 +470,7 @@ export function useExecuteTx({ updateTxStatus(messageIndex, { status: TXN_STATUS.SUCCESS, - responses: responses, + responses: responses as TransferInfo[], transferAssetRelease, isComplete: true, }) @@ -458,7 +486,7 @@ export function useExecuteTx({ if (error?.code) { // find error message from packet_txs in transfer_sequence array let errorMessage = error?.message - if (transferSequence?.length > 0) { + if ((transferSequence ?? []).length > 0) { const errorResponse = transferSequence?.find( (transfer) => transfer.state === TRANSFER_STATE.TRANSFER_FAILURE, ) diff --git a/apps/extension/src/pages/swaps-v2/hooks/useFeeAffiliates.ts b/apps/extension/src/pages/swaps-v2/hooks/useFeeAffiliates.ts new file mode 100644 index 00000000..2342b41b --- /dev/null +++ b/apps/extension/src/pages/swaps-v2/hooks/useFeeAffiliates.ts @@ -0,0 +1,49 @@ +import { useFeeAddresses, UseRouteResponse } from '@leapwallet/elements-hooks' +import { useMemo } from 'react' + +type ChainId = string +type FeeAddresses = Record + +type FeeInfo = { + basisPointFee: number + feeAddresses: FeeAddresses +} + +export const useFeeAffiliates = ( + routeResponse: UseRouteResponse | undefined, + leapFeeBps: string, + feesInfo?: FeeInfo[], + enabled: boolean = true, +) => { + const leapFeeAddresses = useFeeAddresses() + + const affiliates = useMemo(() => { + if (!routeResponse?.response || !enabled) return undefined + const swapVenue = routeResponse?.response.swap_venue + const lastSwapVenueChainId = swapVenue?.chain_id as string + const externalAffiliates = feesInfo?.map(({ basisPointFee, feeAddresses }) => { + return { + basis_points_fee: String(basisPointFee), + address: feeAddresses[lastSwapVenueChainId], + } + }) + if (leapFeeAddresses?.data?.[lastSwapVenueChainId]) { + return { + [lastSwapVenueChainId]: { + affiliates: [ + { + basis_points_fee: leapFeeBps, + address: leapFeeAddresses.data?.[lastSwapVenueChainId] as string, + }, + ...(externalAffiliates ?? []), + ], + }, + } + } + return undefined + }, [routeResponse?.response, feesInfo, leapFeeAddresses.data, leapFeeBps, enabled]) + + return { + affiliates, + } +} diff --git a/apps/extension/src/pages/swaps-v2/hooks/useGetSwapAssets.ts b/apps/extension/src/pages/swaps-v2/hooks/useGetSwapAssets.ts index c906c666..ecf4ded9 100644 --- a/apps/extension/src/pages/swaps-v2/hooks/useGetSwapAssets.ts +++ b/apps/extension/src/pages/swaps-v2/hooks/useGetSwapAssets.ts @@ -24,6 +24,8 @@ import { getSortFnBasedOnWhiteListing } from '../utils' const useAllSkipAssetsParams = { includeCW20Assets: true, includeNoMetadataAssets: false, + includeEvmAssets: false, + includeSvmAssets: false, } export function useGetSwapAssets( @@ -147,6 +149,7 @@ export function useGetSwapAssets( usdPrice, coinDecimals: denomInfo?.coinDecimals ?? 6, coinGeckoId: denomInfo?.coinGeckoId ?? '', + chain: denomInfo?.chain, } as SourceToken if (skipAsset.denom.includes('ibc/')) { @@ -185,6 +188,24 @@ export function useGetSwapAssets( } _swapAssets.push(asset as SourceToken) + } else { + const asset = { + skipAsset, + name: skipAsset.name, + amount: '0', + symbol: skipAsset.symbol, + coinMinimalDenom: skipAsset.originDenom, + img: skipAsset.logoUri, + usdValue: '', + usdPrice: '', + decimals: skipAsset.decimals, + coinGeckoId: skipAsset?.coingeckoId ?? '', + chain: Object.values(chainInfos).find( + (chain) => chain.chainId === skipAsset.originChainId, + )?.key as SupportedChain, + } as SourceToken + + _swapAssets.push(asset) } } } diff --git a/apps/extension/src/pages/swaps-v2/hooks/useSwapsTx.ts b/apps/extension/src/pages/swaps-v2/hooks/useSwapsTx.ts index 7f9a1a67..653ecb0d 100644 --- a/apps/extension/src/pages/swaps-v2/hooks/useSwapsTx.ts +++ b/apps/extension/src/pages/swaps-v2/hooks/useSwapsTx.ts @@ -3,6 +3,7 @@ import { fetchCurrency, GasOptions, useChainInfo, + useFeatureFlags, useformatCurrency, useGasAdjustmentForChain, useNativeFeeDenom, @@ -27,8 +28,11 @@ import { } from '@leapwallet/cosmos-wallet-store' import { SwapVenue, + useAllSkipAssets, useDebouncedValue, - useMessages, + useFeeAddresses, + useFees, + useMessagesSWR, usePriceImpact, useRoute, useSkipGasFeeSWR, @@ -41,7 +45,7 @@ import { AGGREGATED_CHAIN_KEY } from 'config/constants' import { useChainInfos } from 'hooks/useChainInfos' import useQuery from 'hooks/useQuery' import { useCallback, useEffect, useMemo, useRef, useState } from 'react' -import { SourceChain, SourceToken } from 'types/swap' +import { SourceChain, SourceToken, SwapFeeInfo } from 'types/swap' import { isCompassWallet } from 'utils/isCompassWallet' import { @@ -52,6 +56,7 @@ import { useGetSwapAssets, } from './index' import { useEnableToken } from './useEnableToken' +import { useFeeAffiliates } from './useFeeAffiliates' import { useTokenWithBalances } from './useTokenWithBalances' export type SwapsTxType = { @@ -126,6 +131,9 @@ export type SwapsTxType = { refetchSourceBalances: (() => void) | undefined refetchDestinationBalances: (() => void) | undefined usdValueAvailableForPair: boolean | undefined + leapFeeBps: string + isSwapFeeEnabled: boolean + swapFeeInfo?: SwapFeeInfo } const SEI_ASTROPORT_SWAP_VENUE: SwapVenue = { chain_id: 'pacific-1', name: 'sei-astroport' } @@ -163,7 +171,9 @@ export function useSwapsTx({ const [preferredCurrency] = useUserPreferredCurrency() const [formatCurrency] = useformatCurrency() const isSwitchedRef = useRef(false) - + const { data: feeValues } = useFees() + const { data: leapFeeAddresses } = useFeeAddresses() + const { data: featureFlags } = useFeatureFlags() /** * states for chain, token and amount */ @@ -283,6 +293,11 @@ export function useSwapsTx({ return true }, [debouncedInAmount, destinationChain, destinationToken, sourceChain, sourceToken]) + const isSwapFeeEnabled = useMemo(() => { + if (!featureFlags || isCompassWallet()) return false + return featureFlags.swaps.fees === 'active' + }, [featureFlags]) + /** * Function to enable a disabled token */ @@ -503,6 +518,8 @@ export function useSwapsTx({ useTokenWithBalances( sourceToken, sourceChain, + sourceAssetsData?.assets, + loadingSourceAssets, autoFetchedCW20DenomsStore, betaCW20DenomsStore, cw20DenomsStore, @@ -515,6 +532,8 @@ export function useSwapsTx({ useTokenWithBalances( destinationToken, destinationChain, + destinationAssetsData?.assets, + loadingDestinationAssets, autoFetchedCW20DenomsStore, betaCW20DenomsStore, cw20DenomsStore, @@ -523,15 +542,51 @@ export function useSwapsTx({ cw20DenomBalanceStore, ) + const leapFeeBps = useMemo(() => { + if (!feeValues) return '75' + const stableSwapPairs = feeValues.pairs as unknown as Record + const sourceTokenDenom = sourceToken?.skipAsset?.originDenom + const destinationTokenDenom = destinationToken?.skipAsset?.originDenom + if (!sourceTokenDenom || !destinationTokenDenom) return String(feeValues.default) + + const inOutKey = `${sourceTokenDenom}+${destinationTokenDenom}` + const reverseInOutKey = `${destinationTokenDenom}+${sourceTokenDenom}` + const feeBps = stableSwapPairs[inOutKey] ?? stableSwapPairs[reverseInOutKey] + if (!feeBps) return String(feeValues.default) + return String(feeBps) + }, [feeValues, sourceToken, destinationToken]) + /** * element hooks */ const { - amountOut, - routeResponse, - routeError, - isLoadingRoute: loadingRoutes, - refresh, + amountOut: amountOutWithFees, + routeResponse: routeResponseWithFees, + routeError: routeErrorWithFees, + isLoadingRoute: loadingRoutesWithFees, + refresh: refreshRouteWithFees, + } = useRoute( + debouncedInAmount, + sourceToken?.skipAsset, + sourceChain, + destinationToken?.skipAsset, + destinationChain, + isRouteQueryEnabled && isSwapFeeEnabled, + undefined, + swapVenue, + undefined, + undefined, + undefined, + undefined, + leapFeeBps, + ) + + const { + amountOut: amountOutWithoutFees, + routeResponse: routeResponseWithoutFees, + routeError: routeErrorWithoutFees, + isLoadingRoute: loadingRoutesWithoutFees, + refresh: refreshRouteWithoutFees, } = useRoute( debouncedInAmount, sourceToken?.skipAsset, @@ -541,8 +596,54 @@ export function useSwapsTx({ isRouteQueryEnabled, undefined, swapVenue, + undefined, + undefined, + undefined, + undefined, ) + const { amountOut, routeResponse, routeError, loadingRoutes, refresh, appliedLeapFeeBps } = + useMemo(() => { + let finalResponse: any = { + loadingRoutes: isSwapFeeEnabled + ? loadingRoutesWithoutFees && loadingRoutesWithFees + : loadingRoutesWithoutFees, + appliedLeapFeeBps: '0', + amountOut: amountOutWithoutFees, + routeResponse: routeResponseWithoutFees, + routeError: routeErrorWithoutFees, + refresh: refreshRouteWithoutFees, + } + if (routeResponseWithFees && routeResponseWithFees?.response?.does_swap) { + const swapChainId = routeResponseWithFees.response.swap_venue?.chain_id + if (leapFeeAddresses && leapFeeAddresses[swapChainId]) { + finalResponse = { + amountOut: amountOutWithFees, + routeResponse: routeResponseWithFees, + loadingRoutes: loadingRoutesWithFees, + routeError: routeErrorWithFees, + appliedLeapFeeBps: leapFeeBps, + refresh: refreshRouteWithFees, + } + } + } + return finalResponse + }, [ + leapFeeAddresses, + loadingRoutesWithFees, + amountOutWithFees, + routeResponseWithFees, + routeErrorWithFees, + refreshRouteWithFees, + amountOutWithoutFees, + routeResponseWithoutFees, + routeErrorWithoutFees, + loadingRoutesWithoutFees, + refreshRouteWithoutFees, + leapFeeBps, + isSwapFeeEnabled, + ]) + const invalidAmount = useMemo(() => { return inAmount !== '' && (isNaN(Number(inAmount)) || Number(inAmount) < 0) }, [inAmount]) @@ -587,19 +688,96 @@ export function useSwapsTx({ routeResponse?.response.chain_ids as string[], ) + const { affiliates } = useFeeAffiliates( + routeResponse, + appliedLeapFeeBps, + undefined, + isSwapFeeEnabled && routeResponse?.response?.does_swap, + ) + const { data: skipAssets } = useAllSkipAssets({ + includeCW20Assets: true, + includeNoMetadataAssets: false, + nativeOnly: false, + }) + const options = useMemo(() => { - return { + const queryOptions: any = { slippageTolerancePercent: String(slippagePercent), } - }, [slippagePercent]) + if (affiliates) { + queryOptions.chainIdsToAffiliates = affiliates + } + return queryOptions + }, [slippagePercent, affiliates]) - const { messages } = useMessages(userAddresses, routeResponse?.response, options) + const { data: messages } = useMessagesSWR(userAddresses, routeResponse?.response, options, true) const { data: skipGasFee, isLoading: isSkipGasFeeLoading } = useSkipGasFeeSWR( messages, userAddresses, true, ) + const swapFeeInfo = useMemo(() => { + if ( + !isSwapFeeEnabled || + !skipAssets || + !messages || + !routeResponse?.response || + !routeResponse?.response?.does_swap + ) { + return undefined + } + + const messageIndex = 0 + const messageObj = messages[messageIndex] + let min_asset: any = null + let amount = 0 + let denom = '' + let feeAmountValue = null + if ('multi_chain_msg' in messageObj) { + const message = messageObj.multi_chain_msg + const messageJson = JSON.parse(message.msg) + if (messageJson?.memo) { + const memo = JSON.parse(messageJson.memo) + min_asset = memo?.wasm?.msg?.swap_and_action?.min_asset + } else if (messageJson?.msg) { + min_asset = messageJson.msg?.swap_and_action?.min_asset + } + + if (min_asset?.native) { + amount = min_asset.native.amount + denom = min_asset.native.denom + } else if (min_asset?.cw20) { + amount = min_asset.cw20.amount + denom = min_asset.cw20.address + } + } + + const leapFeePercentage = (Number(appliedLeapFeeBps) * 0.01) / 100 + + const swapVenueChainId = routeResponse?.response?.swap_venue?.chain_id + const skipAsset = skipAssets[swapVenueChainId ?? ''].find( + (asset) => asset.denom.replace('cw20:', '') === denom, + ) + if (skipAsset && amount > 0) { + const minAssetAmount = new BigNumber(amount).dividedBy(10 ** Number(skipAsset?.decimals ?? 0)) + feeAmountValue = minAssetAmount.multipliedBy(leapFeePercentage) + } + return { + feeAmountValue: feeAmountValue ? feeAmountValue : null, + feeCharged: Number(appliedLeapFeeBps) * 0.01, + feeCollectionAddress: leapFeeAddresses && (leapFeeAddresses[swapVenueChainId] ?? ''), + swapFeeDenomInfo: skipAsset, + } + }, [ + skipAssets, + messages, + routeResponse?.response, + isSwapFeeEnabled, + appliedLeapFeeBps, + leapFeeAddresses, + ]) + /** * set gas estimate */ @@ -609,11 +787,13 @@ export function useSwapsTx({ setGasEstimate(DefaultGasEstimates.DEFAULT_GAS_TRANSFER) } else { setGasEstimate( - Number(skipGasFee.gasFeesAmount?.[0]?.gas) ?? DefaultGasEstimates.DEFAULT_GAS_TRANSFER, + Number(skipGasFee.gasFeesAmount?.[0]?.gas) + ? Number(skipGasFee.gasFeesAmount[0].gas) / gasAdjustment + : DefaultGasEstimates.DEFAULT_GAS_TRANSFER, ) } } - }, [skipGasFee]) + }, [gasAdjustment, skipGasFee]) /** * set fee denom @@ -863,6 +1043,9 @@ export function useSwapsTx({ usdValueAvailableForPair, refetchSourceBalances, refetchDestinationBalances, + leapFeeBps: appliedLeapFeeBps, + isSwapFeeEnabled, + swapFeeInfo, } }, [ amountExceedsBalance, @@ -915,6 +1098,9 @@ export function useSwapsTx({ usdValueAvailableForPair, userPreferredGasLimit, userPreferredGasPrice, + appliedLeapFeeBps, + isSwapFeeEnabled, + swapFeeInfo, ]) return value diff --git a/apps/extension/src/pages/swaps-v2/hooks/useTokenWithBalances.ts b/apps/extension/src/pages/swaps-v2/hooks/useTokenWithBalances.ts index addf6834..155a2b67 100644 --- a/apps/extension/src/pages/swaps-v2/hooks/useTokenWithBalances.ts +++ b/apps/extension/src/pages/swaps-v2/hooks/useTokenWithBalances.ts @@ -17,6 +17,8 @@ import { SWAP_NETWORK } from './useSwapsTx' export function useTokenWithBalances( token: SourceToken | null, chain: SourceChain | undefined, + allAssets: SourceToken[] | undefined, + loadingAssets: boolean, autoFetchedCW20DenomsStore: AutoFetchedCW20DenomsStore, betaCW20DenomsStore: BetaCW20DenomsStore, cw20DenomsStore: CW20DenomsStore, @@ -50,57 +52,82 @@ export function useTokenWithBalances( ].map((token) => token.coinMinimalDenom) }, [autoFetchedCW20Denoms, betaCw20Tokens, cw20Tokens]) + const updatedToken = useMemo(() => { + if (!token || !allAssets) return token + + const latestBalance = allAssets?.find( + (asset) => + asset.coinMinimalDenom === token.coinMinimalDenom && + asset.ibcDenom === token.ibcDenom && + asset.skipAsset?.originDenom === token.skipAsset?.originDenom && + asset.skipAsset?.denom === token.skipAsset?.denom, + )?.amount + + return { + ...token, + amount: latestBalance ?? token.amount, + } + }, [allAssets, token]) + const { data, status } = useQuery( [ - token?.coinMinimalDenom, - token?.skipAsset?.denom, - token?.skipAsset?.originDenom, - token?.amount, + updatedToken?.coinMinimalDenom, + updatedToken?.skipAsset?.denom, + updatedToken?.skipAsset?.originDenom, + updatedToken?.amount, ], async () => { - if (!token || !chain) return token + if (!updatedToken || !chain) { + return updatedToken + } - if (!managedTokens.includes(token.coinMinimalDenom)) return token + if (!managedTokens.includes(updatedToken.coinMinimalDenom)) return updatedToken if ( !( - disabledCW20Tokens.includes(token.coinMinimalDenom) || - (Object.keys(autoFetchedCW20Denoms).includes(token.coinMinimalDenom) && - !enabledCW20Tokens?.includes(token.coinMinimalDenom)) + disabledCW20Tokens.includes(updatedToken.coinMinimalDenom) || + (Object.keys(autoFetchedCW20Denoms).includes(updatedToken.coinMinimalDenom) && + !enabledCW20Tokens?.includes(updatedToken.coinMinimalDenom)) ) ) { - return token + return updatedToken } try { let balances: Token[] - if (token?.coinMinimalDenom) { + if (updatedToken?.coinMinimalDenom) { balances = (await cw20DenomBalanceStore.fetchCW20TokenBalances( chain.key, SWAP_NETWORK, - [token?.coinMinimalDenom ?? ''], + [updatedToken?.coinMinimalDenom ?? ''], true, )) ?? [] } else { balances = [] } - if (!balances?.length) return token + if (!balances?.length) return updatedToken const [tokenBalance] = balances return { - ...token, + ...updatedToken, amount: tokenBalance?.amount, usdPrice: tokenBalance?.usdPrice, usdValue: tokenBalance?.usdValue, } } catch (error) { - return token + return updatedToken } }, + { + enabled: !loadingAssets, + }, ) - return { data: (status === 'success' ? data ?? null : token) as SourceToken | null, status } + return { + data: (status === 'success' ? data ?? null : updatedToken) as SourceToken | null, + status: loadingAssets ? 'loading' : status, + } } diff --git a/apps/extension/src/pages/swaps-v2/index.tsx b/apps/extension/src/pages/swaps-v2/index.tsx index ca1fe948..6ed1943a 100644 --- a/apps/extension/src/pages/swaps-v2/index.tsx +++ b/apps/extension/src/pages/swaps-v2/index.tsx @@ -25,6 +25,7 @@ import { } from 'stores/denoms-store-instance' import { rootBalanceStore } from 'stores/root-store' import { SourceChain, SourceToken } from 'types/swap' +import { isCompassWallet } from 'utils/isCompassWallet' import { isLedgerEnabledChainId } from 'utils/isLedgerEnabled' import { @@ -474,7 +475,9 @@ function SwapPage() { <> export type TransferTxAction = Extract @@ -27,3 +29,10 @@ export type SwapTxnStatus = { } isComplete: boolean } + +export type SwapFeeInfo = { + feeCharged: number + feeAmountValue: BigNumber | null + feeCollectionAddress?: string + swapFeeDenomInfo?: SkipSupportedAsset +} diff --git a/apps/extension/webpack.config.js b/apps/extension/webpack.config.js index 4de51093..56d4a651 100644 --- a/apps/extension/webpack.config.js +++ b/apps/extension/webpack.config.js @@ -334,21 +334,6 @@ module.exports = (env, argv) => { path: appEnvFilePath, defaults: defaultEnvFilePath, }), - //this is used to upload source maps to sentry - new SentryWebpackPlugin({ - org: appEnvConfig.SENTRY_ORG, - project: appEnvConfig.SENTRY_PROJECT, - include: isCompassBuild - ? `./${buildType.outDirPath}/compass-build` - : `./${buildType.outDirPath}/cosmos-build`, - // Auth tokens can be obtained from https://sentry.io/settings/account/api/auth-tokens/ - // and needs the `project:releases` and `org:read` scopes - token: envConfig.SENTRY_AUTH_TOKEN, - release: manifestObj.version, - deleteAfterCompile: true, - url: envConfig.SENTRY_HOST, - }), - new DeleteSourceMapsPlugin(), ], optimization: { usedExports: true, diff --git a/package.json b/package.json index b6ccfc41..56d6e142 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,8 @@ "postinstall-postinstall": "2.1.0", "prettier": "2.7.1", "vitepress": "1.0.0-alpha.29", - "vue": "3.3.4" + "vue": "3.3.4", + "bech32": "2.0.0" }, "dependencies": { "axios": "1.2.1", diff --git a/packages/store/package.json b/packages/store/package.json index 45d983c2..009531cc 100644 --- a/packages/store/package.json +++ b/packages/store/package.json @@ -1,6 +1,6 @@ { "name": "@leapwallet/cosmos-wallet-store", - "version": "0.11.8", + "version": "0.12.0", "description": "Wallet data store for cosmos mobile app and extension.", "main": "dist/index.js", "scripts": { @@ -25,7 +25,7 @@ }, "dependencies": { "@leapwallet/parser-parfait": "0.7.0", - "@leapwallet/cosmos-wallet-sdk": "0.11.8", + "@leapwallet/cosmos-wallet-sdk": "0.12.0", "dotenv": "16.3.1", "mobx": "6.12.5", "mobx-utils": "6.0.8" diff --git a/packages/store/src/assets/ibc-trace-store.ts b/packages/store/src/assets/ibc-trace-store.ts index 98c8fc18..1f76fe32 100644 --- a/packages/store/src/assets/ibc-trace-store.ts +++ b/packages/store/src/assets/ibc-trace-store.ts @@ -1,5 +1,4 @@ -import { BaseQueryStore } from 'base/base-data-store'; -import { makeAutoObservable, runInAction } from 'mobx'; +import { makeAutoObservable } from 'mobx'; import { getKeyToUseForDenoms } from '../utils/get-denom-key'; import { RootDenomsStore } from './root-denom-store'; diff --git a/packages/store/src/bank/erc20-denom-balance-store.ts b/packages/store/src/bank/erc20-denom-balance-store.ts index 6184b3fb..8b5c6fcd 100644 --- a/packages/store/src/bank/erc20-denom-balance-store.ts +++ b/packages/store/src/bank/erc20-denom-balance-store.ts @@ -191,7 +191,7 @@ export class ERC20DenomBalanceStore { private getBalanceKey(chain: AggregatedSupportedChainType): string { const chainKey = this.getChainKey(chain); - const address = this.addressStore.addresses[chainKey]; + const address = this.addressStore.addresses[chain]; return `${chainKey}-${address}`; } diff --git a/packages/store/src/gov/gov-store.ts b/packages/store/src/gov/gov-store.ts index 8b1a0a3f..a7451d92 100644 --- a/packages/store/src/gov/gov-store.ts +++ b/packages/store/src/gov/gov-store.ts @@ -1,5 +1,5 @@ import { axiosWrapper, CosmosSDK, getNeutronProposals, SupportedChain } from '@leapwallet/cosmos-wallet-sdk'; -import { computed, makeObservable, observable, reaction, runInAction } from 'mobx'; +import { computed, makeAutoObservable, makeObservable, observable, reaction, runInAction } from 'mobx'; import qs from 'qs'; import { @@ -309,6 +309,7 @@ export class GovStore { this.chainWisePaginations[chainKey]?.node, 30, chainCosmosSdk as CosmosSDK, + activeChainId, ); runInAction(() => { @@ -381,13 +382,15 @@ export class GovStore { paginationKey: string = '', paginationLimit: number = 30, activeChainCosmosSDK?: CosmosSDK, + activeChainId?: string, ) { - let url = `/cosmos/gov/v1beta1/proposals`; + const urlPrefix = activeChainId === 'govgen-1' ? '/govgen' : '/cosmos'; + let url = `${urlPrefix}/gov/v1beta1/proposals`; switch (activeChainCosmosSDK) { case CosmosSDK.Version_Point_46: case CosmosSDK.Version_Point_47: - url = `/cosmos/gov/v1/proposals`; + url = `${urlPrefix}/gov/v1/proposals`; break; } diff --git a/packages/store/src/nft/nft-store.ts b/packages/store/src/nft/nft-store.ts index d1b505c5..2a2b3311 100644 --- a/packages/store/src/nft/nft-store.ts +++ b/packages/store/src/nft/nft-store.ts @@ -168,15 +168,17 @@ export class NftStore { } async loadNfts(forceNetwork?: SelectedNetworkType) { - runInAction(() => { - this.loading = true; - this.networkError = false; - }); - const nftChainsList = [...this.nftChainsStore.nftChains, ...this.betaNftChainsStore.betaNftChains]; let batchChainsList: BatchRequestData[] = []; let batchedChains: [SupportedChain, string][] = []; const activeNetwork = forceNetwork || this.selectedNetworkStore.selectedNetwork; + const chainKey = this.getChainKey(activeNetwork); + + runInAction(() => { + this.loading = true; + this.networkError = false; + delete this.nfts?.[chainKey]; + }); nftChainsList.forEach(async (nftChain) => { const network = nftChain.forceNetwork; @@ -193,12 +195,16 @@ export class NftStore { const rpcUrl = hasEntryInNms ? this.nmsStore.rpcEndPoints[chainId][0].nodeUrl : chainInfo?.apis[nodeUrlKey]; const collections = this.betaNftsCollectionsStore.getBetaNftsCollections(chain, network); + const address = this.addressStore.addresses?.[chain]; + const pubKey = this.addressStore.pubKeys?.[chain]; + const walletAddress = chainInfo?.evmOnlyChain ? pubKeyToEvmAddressToShow(pubKey) : address; + batchedChains = [...batchedChains, [chain, chainId]]; batchChainsList = [ ...batchChainsList, { 'chain-id': chainId, - 'wallet-address': this.addressStore.addresses?.[chain], + 'wallet-address': walletAddress, 'is-testnet': String(isTestnet), 'rpc-url': rpcUrl ?? '', collections, @@ -282,6 +288,7 @@ export class NftStore { 'pagination-limit': '50', 'pagination-offset': '0', 'is-compass-wallet': process.env.APP?.includes('compass') ? true : false, + 'skip-cache': true, chains, }, { diff --git a/packages/store/src/stake/aggregate-stake-store.ts b/packages/store/src/stake/aggregate-stake-store.ts index 80e845f0..d40df8af 100644 --- a/packages/store/src/stake/aggregate-stake-store.ts +++ b/packages/store/src/stake/aggregate-stake-store.ts @@ -3,7 +3,7 @@ import { BigNumber } from 'bignumber.js'; import { makeAutoObservable } from 'mobx'; import { AggregatedChainsStore, ChainInfosConfigStore, ChainInfosStore } from '../assets'; -import { AggregatedSupportedChainType, ChainInfosConfigType } from '../types'; +import { ChainInfosConfigType } from '../types'; import { isFeatureExistForChain } from '../utils'; import { AddressStore, SelectedNetworkStore } from '../wallet'; import { ActiveStakingDenomStore, ClaimRewardsStore, DelegationsStore, ValidatorsStore } from './index'; diff --git a/packages/store/src/stake/claim-rewards-store.ts b/packages/store/src/stake/claim-rewards-store.ts index e9521eb2..4b04cd68 100644 --- a/packages/store/src/stake/claim-rewards-store.ts +++ b/packages/store/src/stake/claim-rewards-store.ts @@ -1,6 +1,6 @@ import { axiosWrapper, fromSmall, RewardsResponse, SupportedChain } from '@leapwallet/cosmos-wallet-sdk'; import { BigNumber } from 'bignumber.js'; -import { computed, makeObservable, observable, runInAction } from 'mobx'; +import { computed, makeAutoObservable, makeObservable, observable, runInAction } from 'mobx'; import { computedFn } from 'mobx-utils'; import { AggregatedChainsStore, ChainInfosConfigStore, ChainInfosStore, NmsStore } from '../assets'; @@ -131,7 +131,7 @@ export class ClaimRewardsStore { if (!this.chainWiseRewards[chainKey] || forceRefetch) { runInAction(() => (this.chainWiseLoading[chainKey] = 'loading')); - this.fetchChainRewards(chain as SupportedChain, network ?? 'mainnet'); + this.fetchChainRewards(chain as SupportedChain, network ?? 'mainnet', forceRefetch); } }); } else { @@ -139,12 +139,12 @@ export class ClaimRewardsStore { if (!this.chainWiseRewards[chainKey] || forceRefetch) { this.chainWiseLoading[chainKey] = 'loading'; - this.fetchChainRewards(chain, network); + this.fetchChainRewards(chain, network, forceRefetch); } } } - async fetchChainRewards(chain: SupportedChain, network: SelectedNetworkType) { + async fetchChainRewards(chain: SupportedChain, network: SelectedNetworkType, forceRefetch = false) { const isTestnet = network === 'testnet'; const address = this.addressStore.addresses?.[chain]; @@ -207,6 +207,7 @@ export class ClaimRewardsStore { chainKey, activeChain: chain as SupportedChain, selectedNetwork: network, + forceRefetch, }); if (response) { @@ -292,11 +293,14 @@ export class ClaimRewardsStore { activeChain, chainKey, selectedNetwork, + forceRefetch = false, }: GetRewardsForChainParams) { if (!this.rewardsQueryStore[chainKey]) { this.rewardsQueryStore[chainKey] = new RewardsQuery(lcdUrl, address, activeChain); } - const res = await this.rewardsQueryStore[chainKey].getData(); + const res = forceRefetch + ? await this.rewardsQueryStore[chainKey].fetchData() + : await this.rewardsQueryStore[chainKey].getData(); const { total, rewards: _rewards } = res as RewardsResponse; diff --git a/packages/store/src/stake/undelegations-store.ts b/packages/store/src/stake/undelegations-store.ts index c2062a8c..af115f63 100644 --- a/packages/store/src/stake/undelegations-store.ts +++ b/packages/store/src/stake/undelegations-store.ts @@ -8,7 +8,7 @@ import { UnbondingDelegationResponse, } from '@leapwallet/cosmos-wallet-sdk'; import { BigNumber } from 'bignumber.js'; -import { computed, makeObservable, observable, runInAction } from 'mobx'; +import { computed, makeAutoObservable, makeObservable, observable, reaction, runInAction } from 'mobx'; import { computedFn } from 'mobx-utils'; import { AggregatedChainsStore, ChainInfosConfigStore, ChainInfosStore, DenomsStore, NmsStore } from '../assets'; diff --git a/packages/store/src/types/assets.type.ts b/packages/store/src/types/assets.type.ts index c20cf1ab..ce2a301a 100644 --- a/packages/store/src/types/assets.type.ts +++ b/packages/store/src/types/assets.type.ts @@ -9,7 +9,7 @@ export type ChainInfoFromS3 = { // --------------- chain-infos-config-store ------------------ -export type ChainInfosConfigPossibleFeatureType = 'stake' | 'governance' | 'activity'; +export type ChainInfosConfigPossibleFeatureType = 'stake' | 'governance' | 'activity' | 'cosmosConsensusUpdate'; export type ChainInfosConfigPossibleFeatureValueType = { platforms: string[]; diff --git a/packages/store/src/types/stake.type.ts b/packages/store/src/types/stake.type.ts index 8acd8cd6..adfd45ca 100644 --- a/packages/store/src/types/stake.type.ts +++ b/packages/store/src/types/stake.type.ts @@ -86,6 +86,7 @@ export type GetRewardsForChainParams = { chainKey: string; activeChain: SupportedChain; selectedNetwork: SelectedNetworkType; + forceRefetch?: boolean; }; export type ChainClaimRewards = { diff --git a/packages/wallet-hooks/package.json b/packages/wallet-hooks/package.json index 2d9c51de..07091802 100644 --- a/packages/wallet-hooks/package.json +++ b/packages/wallet-hooks/package.json @@ -1,6 +1,6 @@ { "name": "@leapwallet/cosmos-wallet-hooks", - "version": "0.11.8", + "version": "0.12.0", "description": "Wallet hooks for cosmos mobile app and extension.", "main": "dist/index.js", "scripts": { @@ -25,8 +25,8 @@ }, "dependencies": { "@leapwallet/parser-parfait": "0.7.0", - "@leapwallet/cosmos-wallet-sdk": "0.11.8", - "@leapwallet/cosmos-wallet-store": "0.11.8", + "@leapwallet/cosmos-wallet-sdk": "0.12.0", + "@leapwallet/cosmos-wallet-store": "0.12.0", "@tanstack/react-query": "4.2.3", "@tanstack/react-query-devtools": "4.2.3", "dotenv": "16.3.1", diff --git a/packages/wallet-hooks/src/activity/activity.ts b/packages/wallet-hooks/src/activity/activity.ts index e5afe09b..f77f7635 100644 --- a/packages/wallet-hooks/src/activity/activity.ts +++ b/packages/wallet-hooks/src/activity/activity.ts @@ -1,18 +1,24 @@ -import { DenomsRecord, SupportedChain, SupportedDenoms } from '@leapwallet/cosmos-wallet-sdk'; +import { DenomsRecord, pubKeyToEvmAddressToShow, SupportedChain, SupportedDenoms } from '@leapwallet/cosmos-wallet-sdk'; import { axiosWrapper } from '@leapwallet/cosmos-wallet-sdk/dist/browser/healthy-nodes/axiosWrapper'; import { fromSmall } from '@leapwallet/cosmos-wallet-sdk/dist/browser/utils/token-converter'; import { ParsedMessageType, type ParsedTransaction, TransactionParser } from '@leapwallet/parser-parfait'; import { useQuery, useQueryClient } from '@tanstack/react-query'; import qs from 'qs'; -import { useCallback, useEffect, useState } from 'react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; import { LeapWalletApi } from '../apis'; -import { useActiveChain, useAddress, useChainsStore, useDenoms } from '../store'; -import { useSelectedNetwork } from '../store'; -import { useChainApis } from '../store'; +import { + useActiveChain, + useActiveWallet, + useAddress, + useChainApis, + useChainsStore, + useSelectedNetwork, +} from '../store'; import { Activity, ActivityCardContent, getActivityContentProps, TxResponse } from '../types'; import { denomFetcher, sliceAddress } from '../utils'; import { convertVoteOptionToString } from './../utils/vote-option'; +import { parseFormaTx } from './parse-forma-tx'; export type Validators = Record; @@ -33,6 +39,7 @@ async function getActivityCardContent({ denoms, restUrl, chainId, + coinDecimals, }: getActivityContentProps): Promise { if (!parsedTx) { return { @@ -53,15 +60,22 @@ async function getActivityCardContent({ switch (msg.__type) { case ParsedMessageType.BankSend: { const sentTokenInfo = denoms[msg.tokens[0].denomination as SupportedDenoms]; - const isReceive = msg.toAddress === address; + const isReceive = msg.toAddress.toUpperCase() === address?.toUpperCase(); content.txType = isReceive ? 'receive' : 'send'; + content.title1 = isReceive ? `Received ${sentTokenInfo?.coinDenom ?? ''}` : `Sent ${sentTokenInfo?.coinDenom ?? ''}`; + content.subtitle1 = isReceive ? `From ${sliceAddress(msg.fromAddress ?? '')}` : `To ${sliceAddress(msg.toAddress ?? '')}`; - content.sentAmount = fromSmall(msg.tokens[0].quantity.toString(), sentTokenInfo?.coinDecimals ?? 0); + + content.sentAmount = fromSmall( + msg.tokens[0].quantity.toString(), + coinDecimals ?? sentTokenInfo?.coinDecimals ?? 0, + ); + content.sentTokenInfo = sentTokenInfo; break; } @@ -193,13 +207,19 @@ export function useActivity( const userAddress = useAddress(); const chain = useActiveChain(); const network = useSelectedNetwork(); - const address = forceAddress ?? userAddress; const activeChain = forceChain ?? chain; const selectedNetwork = forceNetwork ?? network; + const activeWallet = useActiveWallet(); const { lcdUrl: restUrl = '' } = useChainApis(activeChain, selectedNetwork); const { chains } = useChainsStore(); - /* const denoms = useDenoms(); */ + const address = useMemo(() => { + if (activeChain === 'forma') { + return pubKeyToEvmAddressToShow(activeWallet?.pubKeys?.[activeChain] ?? ''); + } + + return forceAddress ?? userAddress; + }, [forceAddress, userAddress, activeChain, activeWallet]); const [activity, setActivity] = useState([]); const resetActivity = () => setActivity([]); @@ -214,82 +234,99 @@ export function useActivity( if (address) { try { let parsedData: ParsedTransaction[] = []; + const coinDecimals = chains?.[activeChain]?.evmOnlyChain ? 18 : undefined; - try { - const chainId = - selectedNetwork === 'testnet' ? chains[activeChain].testnetChainId : chains[activeChain].chainId; - const { data } = chains[activeChain]?.evmOnlyChain - ? { data: [] } - : await LeapWalletApi.getActivity(address, 0, chainId ?? ''); - parsedData = data; - } catch (_) { - let sendParsedData: ParsedTransaction[] = []; + if (activeChain === 'forma') { try { - const sendParams = { - 'pagination.limit': 20, - 'pagination.reverse': true, - events: `transfer.sender='${address}'`, - }; - - const sendQuery = qs.stringify(sendParams); - - const sendData = await axiosWrapper({ - baseURL: restUrl, - method: 'get', - url: `/cosmos/tx/v1beta1/txs?${sendQuery}`, - }); - - sendParsedData = sendData.data?.tx_responses - ?.map((tx: any) => { - try { - const res = txnParser.parse(tx); - if (res.success) { - return res.data; - } - return null; - } catch { - return null; - } - }) - .filter(Boolean); + const url = `https://explorer.forma.art/api/v2/addresses/${address}/transactions?filter=to%20%7C%20from`; + const response = await fetch(url); + const data = await response.json(); + + parsedData = data?.items?.map((tx: any) => + parseFormaTx(tx, Object.keys(chains[activeChain].nativeDenoms)[0]), + ); } catch (_) { // } - - let receiveParsedData: ParsedTransaction[] = []; + } else { try { - const receiveParams = { - 'pagination.limit': 20, - 'pagination.reverse': true, - events: `transfer.recipient='${address}'`, - }; - - const receiveQuery = qs.stringify(receiveParams); - - const receiveData = await axiosWrapper({ - baseURL: restUrl, - method: 'get', - url: `/cosmos/tx/v1beta1/txs?${receiveQuery}`, - }); - - receiveParsedData = receiveData.data?.tx_responses - ?.map((tx: any) => { - try { - const res = txnParser.parse(tx); - if (res.success) { - return res.data; - } - return null; - } catch { - return null; - } - }) - .filter(Boolean); + const chainId = + selectedNetwork === 'testnet' ? chains[activeChain].testnetChainId : chains[activeChain].chainId; + + const { data } = chains[activeChain]?.evmOnlyChain + ? { data: [] } + : await LeapWalletApi.getActivity(address, 0, chainId ?? ''); + + parsedData = data; } catch (_) { - // - } + let sendParsedData: ParsedTransaction[] = []; + try { + const sendParams = { + 'pagination.limit': 20, + 'pagination.reverse': true, + events: `transfer.sender='${address}'`, + }; + + const sendQuery = qs.stringify(sendParams); + + const sendData = await axiosWrapper({ + baseURL: restUrl, + method: 'get', + url: `/cosmos/tx/v1beta1/txs?${sendQuery}`, + }); + + sendParsedData = sendData.data?.tx_responses + ?.map((tx: any) => { + try { + const res = txnParser.parse(tx); + if (res.success) { + return res.data; + } + return null; + } catch { + return null; + } + }) + .filter(Boolean); + } catch (_) { + // + } + + let receiveParsedData: ParsedTransaction[] = []; + try { + const receiveParams = { + 'pagination.limit': 20, + 'pagination.reverse': true, + events: `transfer.recipient='${address}'`, + }; + + const receiveQuery = qs.stringify(receiveParams); + + const receiveData = await axiosWrapper({ + baseURL: restUrl, + method: 'get', + url: `/cosmos/tx/v1beta1/txs?${receiveQuery}`, + }); - parsedData = unionOfTxs(sendParsedData, receiveParsedData); + receiveParsedData = receiveData.data?.tx_responses + ?.map((tx: any) => { + try { + const res = txnParser.parse(tx); + if (res.success) { + return res.data; + } + return null; + } catch { + return null; + } + }) + .filter(Boolean); + } catch (_) { + // + } + + parsedData = unionOfTxs(sendParsedData, receiveParsedData); + } } const activity = await Promise.all( @@ -300,7 +337,9 @@ export function useActivity( if (chains[activeChain].beta && chains[activeChain].nativeDenoms && !feeTokenInfo) { feeTokenInfo = Object.values(chains[activeChain].nativeDenoms)[0]; } - const feeAmount = txnFee ? fromSmall(txnFee.amount.toString(), feeTokenInfo?.coinDecimals) : undefined; + const feeAmount = txnFee + ? fromSmall(txnFee.amount.toString(), coinDecimals ?? feeTokenInfo?.coinDecimals) + : undefined; const content = await getActivityCardContent({ parsedTx, @@ -308,8 +347,9 @@ export function useActivity( denoms, restUrl, chainId: chains[activeChain].chainId, + coinDecimals, }); - content.feeAmount = feeAmount && feeTokenInfo ? `${feeAmount}${feeTokenInfo?.coinDenom ?? ''}` : ''; + content.feeAmount = feeAmount && feeTokenInfo ? `${feeAmount} ${feeTokenInfo?.coinDenom ?? ''}` : ''; return { parsedTx, content }; } catch (_) { diff --git a/packages/wallet-hooks/src/activity/parse-forma-tx.ts b/packages/wallet-hooks/src/activity/parse-forma-tx.ts new file mode 100644 index 00000000..a43c0877 --- /dev/null +++ b/packages/wallet-hooks/src/activity/parse-forma-tx.ts @@ -0,0 +1,50 @@ +export function parseFormaTx(tx: any, nativeDenom?: string) { + const parsedTx = { + height: tx.block, + txHash: tx.hash, + code: 0, + isSuccessful: tx.status === 'ok', + timestamp: tx.timestamp, + gasWanted: tx.gas_limit, + gasUsed: tx.gas_used, + fee: { + amount: [ + { + amount: tx.gas_price, + denom: nativeDenom, + }, + ], + gasLimit: tx.gas_limit, + }, + memo: '', + timeoutHeight: '0', + types: [], + messages: [ + { + __type: '', + fromAddress: tx.from.hash, + toAddress: tx.to.hash, + tokens: [ + { + denomination: nativeDenom, + quantity: tx.value, + }, + ], + }, + ], + }; + + if (tx.tx_types.includes('coin_transfer')) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + parsedTx.types.push('cosmos.bank.send'); + parsedTx.messages[0].__type = 'cosmos.bank.send'; + } else { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + parsedTx.types.push(tx.tx_types[0]); + parsedTx.messages[0].__type = tx.tx_types[0]; + } + + return parsedTx; +} diff --git a/packages/wallet-hooks/src/asset-details/useAssetDetails.ts b/packages/wallet-hooks/src/asset-details/useAssetDetails.ts index 47f40494..8e79143c 100644 --- a/packages/wallet-hooks/src/asset-details/useAssetDetails.ts +++ b/packages/wallet-hooks/src/asset-details/useAssetDetails.ts @@ -1,10 +1,8 @@ import { DenomsRecord, isValidAddressWithPrefix, SupportedChain, SupportedDenoms } from '@leapwallet/cosmos-wallet-sdk'; -import { ParsedTransaction } from '@leapwallet/parser-parfait'; import { useQuery } from '@tanstack/react-query'; import { differenceInDays } from 'date-fns'; import { useMemo, useState } from 'react'; -import { useActivity } from '../activity'; import { LeapWalletApi } from '../apis'; import { currencyDetail, useUserPreferredCurrency } from '../settings'; import { @@ -39,8 +37,6 @@ export function useAssetDetails({ denoms, denom, tokenChain }: UseAssetDetailsPr }; }, [denoms, autoFetchedCW20Tokens]); - const { txResponse } = useActivity(denoms, tokenChain ? tokenChain : undefined); - const ChartDays: Record = { '1D': 1, '7D': 7, diff --git a/packages/wallet-hooks/src/config/tx-log-cosmos-blockchain-map.ts b/packages/wallet-hooks/src/config/tx-log-cosmos-blockchain-map.ts index 88fa4341..5aecb623 100644 --- a/packages/wallet-hooks/src/config/tx-log-cosmos-blockchain-map.ts +++ b/packages/wallet-hooks/src/config/tx-log-cosmos-blockchain-map.ts @@ -1,4 +1,4 @@ -import { CosmosBlockchain } from '@leapwallet/leap-api-js'; +import { CosmosBlockchain } from '../connectors'; export const TX_LOG_COSMOS_BLOCKCHAIN_MAP = { akash: CosmosBlockchain.Akash, diff --git a/packages/wallet-hooks/src/config/useFeatureFlags.ts b/packages/wallet-hooks/src/config/useFeatureFlags.ts index e3e27f93..2ca18d60 100644 --- a/packages/wallet-hooks/src/config/useFeatureFlags.ts +++ b/packages/wallet-hooks/src/config/useFeatureFlags.ts @@ -23,6 +23,7 @@ export type FeatureFlags = { swaps: { mobile: FeatureFlagState; extension: FeatureFlagState; + fees: FeatureFlagState; }; nfts: { mobile: FeatureFlagState; diff --git a/packages/wallet-hooks/src/fees/tokens.ts b/packages/wallet-hooks/src/fees/tokens.ts index a838c47b..3adb73a2 100644 --- a/packages/wallet-hooks/src/fees/tokens.ts +++ b/packages/wallet-hooks/src/fees/tokens.ts @@ -148,7 +148,12 @@ export const getChainFeeTokens = async ({ ibcDenom: nativeFeeTokenIbcDenom, gasPriceStep: baseGasPriceStep, }; + try { + const { data: fee_token_chains } = await axios.get( + `https://assets.leapwallet.io/cosmos-registry/v1/fee-tokens/fee-token-chains.json`, + ); + if (!fee_token_chains?.chains.includes(chain)) return [nativeFeeToken]; const { data } = await axios.get( `https://assets.leapwallet.io/cosmos-registry/v1/fee-tokens/${chain}.json`, ); diff --git a/packages/wallet-hooks/src/gov/useGetProposal.ts b/packages/wallet-hooks/src/gov/useGetProposal.ts index ee2d86e8..3f1cbd18 100644 --- a/packages/wallet-hooks/src/gov/useGetProposal.ts +++ b/packages/wallet-hooks/src/gov/useGetProposal.ts @@ -38,10 +38,12 @@ export function useGetProposal( break; } - const url = `/cosmos/gov/${version}/proposals/${id}/tally`; - const tallying = `/cosmos/gov/${version}/params/tallying`; + const prefix = chainInfo?.chainId === 'govgen-1' ? '/govgen' : '/cosmos'; + + const url = `${prefix}/gov/${version}/proposals/${id}/tally`; + const tallying = `${prefix}/gov/${version}/params/tallying`; let poolUrl = `/cosmos/staking/${version}/pool`; - const proposerUrl = `/cosmos/gov/${version}/proposals/${id}/deposits`; + const proposerUrl = `${prefix}/gov/${version}/proposals/${id}/deposits`; if (activeChain === 'initia') { poolUrl = `/initia/mstaking/v1/pool`; diff --git a/packages/wallet-hooks/src/gov/useGov.ts b/packages/wallet-hooks/src/gov/useGov.ts index d0f0b51d..7e8f8454 100644 --- a/packages/wallet-hooks/src/gov/useGov.ts +++ b/packages/wallet-hooks/src/gov/useGov.ts @@ -54,15 +54,24 @@ export function useSimulateVote(forceChain?: SupportedChain, forceNetwork?: 'mai const { lcdUrl } = useChainApis(forceChain, forceNetwork); const address = useAddress(forceChain); + const _activeChain = useActiveChain(); + const activeChain = useMemo(() => forceChain || _activeChain, [_activeChain, forceChain]); + const _selectedNetwork = useSelectedNetwork(); + const selectedNetwork = useMemo(() => forceNetwork || _selectedNetwork, [_selectedNetwork, forceNetwork]); + + const chainInfos = useGetChains(); + const chainInfo = chainInfos[activeChain]; + const chainId = selectedNetwork === 'mainnet' ? chainInfo.chainId : chainInfo.testnetChainId; + return useCallback( ({ proposalId, voteOption, fee }: { proposalId: string; voteOption: VoteOptions; fee: Coin[] }) => { if (proposalId) { - return simulateVote(lcdUrl ?? '', address, proposalId, getVoteNum(voteOption), fee); + return simulateVote(lcdUrl ?? '', address, proposalId, getVoteNum(voteOption), fee, chainId); } return Promise.resolve(null); }, - [lcdUrl, address], + [lcdUrl, address, chainId], ); } @@ -90,6 +99,8 @@ export function useGov({ proposalId, forceChain, forceNetwork, denoms }: UseGovP const selectedNetwork = useMemo(() => forceNetwork || _selectedNetwork, [_selectedNetwork, forceNetwork]); const chainInfos = useGetChains(); + const chainInfo = chainInfos[activeChain]; + const chainId = selectedNetwork === 'mainnet' ? chainInfo.chainId : chainInfo.testnetChainId; const { activeWallet } = useActiveWalletStore(); const { allAssets } = useGetTokenBalances(activeChain, selectedNetwork); const getTxHandler = useTxHandler({ @@ -170,7 +181,7 @@ export function useGov({ proposalId, forceChain, forceNetwork, denoms }: UseGovP try { const fee = getSimulationFee(gasPrice.denom); - const { gasUsed } = await simulateVote(lcdUrl ?? '', address, proposalId, voteOption, fee); + const { gasUsed } = await simulateVote(lcdUrl ?? '', address, proposalId, voteOption, fee, chainId); gasEstimate = gasUsed; } catch (e) { // @@ -290,6 +301,7 @@ export function useGov({ proposalId, forceChain, forceNetwork, denoms }: UseGovP getVoteNum, address, getTxHandler, + chainId, chainInfos, memo, proposalId, diff --git a/packages/wallet-hooks/src/ibc/useGetIbcSupportData.ts b/packages/wallet-hooks/src/ibc/useGetIbcSupportData.ts index e1d39355..4ef86465 100644 --- a/packages/wallet-hooks/src/ibc/useGetIbcSupportData.ts +++ b/packages/wallet-hooks/src/ibc/useGetIbcSupportData.ts @@ -11,6 +11,7 @@ export const useGetIBCSupport = (chain: SupportedChain) => { return useQuery>({ queryKey: ['ibc-support-data', path], queryFn: async () => { + if (chain === 'seiDevnet') return {}; const res = await fetch(`https://assets.leapwallet.io/ibc-support-db/chains/${path}.json`); const supportedChains: string[] = await res.json(); return supportedChains.reduce((acc, curr) => { diff --git a/packages/wallet-hooks/src/nfts/hooks/use-fetch-compass-manage-nft-collections.ts b/packages/wallet-hooks/src/nfts/hooks/use-fetch-compass-manage-nft-collections.ts index 1e2c4adf..256c4b93 100644 --- a/packages/wallet-hooks/src/nfts/hooks/use-fetch-compass-manage-nft-collections.ts +++ b/packages/wallet-hooks/src/nfts/hooks/use-fetch-compass-manage-nft-collections.ts @@ -50,6 +50,8 @@ export function useFetchCompassManageNftCollections({ forceChain }: UseFetchComp async function fetchCompassManageNftCollections() { let allNftCollections: StoredBetaNftCollection[] = []; + if (activeChain === 'seiDevnet') return []; + try { const url = `https://assets.leapwallet.io/cosmos-registry/v1/nft-contracts-compass/${activeNetwork}/all-${activeChain}.json`; allNftCollections = await getCompassManageNftCollections(url, chainId ?? '', storage); diff --git a/packages/wallet-hooks/src/nfts/types.ts b/packages/wallet-hooks/src/nfts/types.ts index 03b3c797..45f006fb 100644 --- a/packages/wallet-hooks/src/nfts/types.ts +++ b/packages/wallet-hooks/src/nfts/types.ts @@ -9,13 +9,13 @@ import { SupportedChain, Tx, } from '@leapwallet/cosmos-wallet-sdk'; -import { CosmosTxType } from '@leapwallet/leap-api-js'; import { Coin } from '@leapwallet/parser-parfait'; import { FetchStatus, QueryStatus } from '@tanstack/react-query'; import { BigNumber } from 'bignumber.js'; import { ReactNode } from 'react'; import { Wallet } from 'secretjs'; +import { CosmosTxType } from '../connectors'; import { ActivityCardContent, Token } from '../types'; export type TokensListByCollection = { collection: { address: string; name: string }; tokens: string[] }; diff --git a/packages/wallet-hooks/src/send/useSend.ts b/packages/wallet-hooks/src/send/useSend.ts index e2d8e9dd..f33f075a 100644 --- a/packages/wallet-hooks/src/send/useSend.ts +++ b/packages/wallet-hooks/src/send/useSend.ts @@ -15,8 +15,8 @@ import { SupportedChain, SupportedDenoms, toSmall, + transactionDeclinedError, } from '@leapwallet/cosmos-wallet-sdk'; -import { transactionDeclinedError } from '@leapwallet/cosmos-wallet-sdk'; import { useQuery } from '@tanstack/react-query'; import { BigNumber } from 'bignumber.js'; import currency from 'currency.js'; @@ -36,16 +36,21 @@ import { useAddress, useChainApis, useDefaultGasEstimates, - useDenoms, useGetChains, + usePendingTxState, useSelectedNetwork, useTxMetadata, } from '../store'; -import { usePendingTxState } from '../store'; import { useScrtTxHandler, useTxHandler } from '../tx'; import { TxCallback, WALLETTYPE } from '../types'; -import { fetchCurrency, getMetaDataForIbcTx, getMetaDataForSendTx, useGetGasPrice, useNativeFeeDenom } from '../utils'; -import { sliceAddress } from '../utils'; +import { + fetchCurrency, + getMetaDataForIbcTx, + getMetaDataForSendTx, + sliceAddress, + useGetGasPrice, + useNativeFeeDenom, +} from '../utils'; import { useChainId, useChainInfo } from '../utils-hooks'; export function useSend(denoms: DenomsRecord, toAddress: string) { diff --git a/packages/wallet-hooks/src/send/useSendModule.ts b/packages/wallet-hooks/src/send/useSendModule.ts index 7c639f2e..ca31f0de 100644 --- a/packages/wallet-hooks/src/send/useSendModule.ts +++ b/packages/wallet-hooks/src/send/useSendModule.ts @@ -20,8 +20,7 @@ import { EthWallet } from '@leapwallet/leap-keychain'; import { FetchStatus, QueryStatus, useQuery } from '@tanstack/react-query'; import { bech32 } from 'bech32'; import { BigNumber } from 'bignumber.js'; -import React, { useCallback, useEffect, useMemo, useState } from 'react'; -import { ReactNode } from 'react'; +import React, { ReactNode, useCallback, useEffect, useMemo, useState } from 'react'; import { LeapWalletApi } from '../apis/LeapWalletApi'; import { useGasAdjustmentForChain } from '../fees'; diff --git a/packages/wallet-hooks/src/staking/index.ts b/packages/wallet-hooks/src/staking/index.ts index a94dfd24..bd7fbb47 100644 --- a/packages/wallet-hooks/src/staking/index.ts +++ b/packages/wallet-hooks/src/staking/index.ts @@ -1,4 +1,5 @@ export * from './useClaimAndStakeRewards'; +export * from './useConsensusValidators'; export * from './useDualStaking'; export * from './useFetchDualStakeDelegations'; export * from './useFetchDualStakeProviderRewards'; diff --git a/packages/wallet-hooks/src/staking/useConsensusValidators.ts b/packages/wallet-hooks/src/staking/useConsensusValidators.ts new file mode 100644 index 00000000..2216803c --- /dev/null +++ b/packages/wallet-hooks/src/staking/useConsensusValidators.ts @@ -0,0 +1,52 @@ +import { ChainInfos, SupportedChain, Validator } from '@leapwallet/cosmos-wallet-sdk'; +import { NmsStore } from '@leapwallet/cosmos-wallet-store'; +import axios from 'axios'; +import { useEffect, useState } from 'react'; + +import { useChainId, useIsFeatureExistForChain } from '../utils-hooks'; + +export function useConsensusValidators( + validators: Record, + nmsStore: NmsStore, + activeChain: SupportedChain, + activeNetwork: 'mainnet' | 'testnet', +) { + const [activeValidators, setActiveValidators] = useState([]); + const activeChainId = useChainId(activeChain, activeNetwork) as string; + const isConsensusUpdate = useIsFeatureExistForChain({ + checkForExistenceType: 'comingSoon', + feature: 'cosmosConsensusUpdate', + platform: 'Extension', + }); + + useEffect(() => { + let filteredValidators = Object.values(validators ?? {}); + + const filterCosmosValidators = async () => { + if (isConsensusUpdate) { + try { + const restUrl = + activeNetwork === 'mainnet' + ? nmsStore.restEndpoints?.[activeChainId]?.[0]?.nodeUrl + : ChainInfos[activeChain].apis.restTest; + const res = await axios.get(`${restUrl}/cosmos/base/tendermint/v1beta1/validatorsets/latest`); + const validatorPubkeys = res.data.validators.map((v: any) => v.pub_key.key); + filteredValidators = filteredValidators.map((v) => { + return { + ...v, + active: v.active && validatorPubkeys.includes(v.consensus_pubkey?.key), + }; + }); + } catch (error) { + // + } + } + + setActiveValidators(filteredValidators); + }; + + filterCosmosValidators(); + }, [isConsensusUpdate, validators, nmsStore.restEndpoints, activeChainId, activeNetwork]); + + return activeValidators; +} diff --git a/packages/wallet-hooks/src/staking/useDualStaking.ts b/packages/wallet-hooks/src/staking/useDualStaking.ts index 16ca27e2..b1cd9344 100644 --- a/packages/wallet-hooks/src/staking/useDualStaking.ts +++ b/packages/wallet-hooks/src/staking/useDualStaking.ts @@ -3,29 +3,30 @@ import { Coin } from '@cosmjs/amino'; import { OfflineSigner } from '@cosmjs/proto-signing'; import { calculateFee, coin, StdFee } from '@cosmjs/stargate'; import { - DenomsRecord, - LavaTx, - Provider, - ProviderDelegation, - simulateClaimProviderRewards, - simulateDelegateLava, - simulateReDelegateLava, - simulateUnDelegateLava, -} from '@leapwallet/cosmos-wallet-sdk'; -import { + DEFAULT_GAS_REDELEGATE, DefaultGasEstimates, Delegation, + DenomsRecord, fromSmall, + GasPrice, getSimulationFee, + LavaTx, LedgerError, + NativeDenom, + Provider, + ProviderDelegation, simulateCancelUndelegation, + simulateClaimProviderRewards, simulateDelegate, + simulateDelegateLava, simulateRedelegate, + simulateReDelegateLava, simulateUndelegate, + simulateUnDelegateLava, + SupportedChain, toSmall, Validator, } from '@leapwallet/cosmos-wallet-sdk'; -import { DEFAULT_GAS_REDELEGATE, GasPrice, NativeDenom, SupportedChain } from '@leapwallet/cosmos-wallet-sdk'; import { useQuery } from '@tanstack/react-query'; import { BigNumber } from 'bignumber.js'; import { useCallback, useEffect, useMemo, useState } from 'react'; @@ -40,7 +41,6 @@ import { useAddress, useChainApis, useDefaultGasEstimates, - useDenoms, useDualStakeDelegationsStore, useDualStakeProviderRewardsStore, useDualStakeProvidersStore, @@ -49,8 +49,7 @@ import { useSelectedNetwork, } from '../store'; import { useTxHandler } from '../tx'; -import { TxCallback, WALLETTYPE } from '../types'; -import { STAKE_MODE } from '../types'; +import { STAKE_MODE, TxCallback, WALLETTYPE } from '../types'; import { GasOptions, getChainId, diff --git a/packages/wallet-hooks/src/staking/useFetchDualStakeProviderRewards.ts b/packages/wallet-hooks/src/staking/useFetchDualStakeProviderRewards.ts index b46337a0..0e248770 100644 --- a/packages/wallet-hooks/src/staking/useFetchDualStakeProviderRewards.ts +++ b/packages/wallet-hooks/src/staking/useFetchDualStakeProviderRewards.ts @@ -3,8 +3,13 @@ import { BigNumber } from 'bignumber.js'; import { useEffect, useMemo } from 'react'; import { currencyDetail, useUserPreferredCurrency } from '../settings'; -import { useDualStakeProviderRewardsStore } from '../store'; -import { useActiveChain, useAddress, useDenoms, useGetChains, useSelectedNetwork } from '../store'; +import { + useActiveChain, + useAddress, + useDualStakeProviderRewardsStore, + useGetChains, + useSelectedNetwork, +} from '../store'; import { fetchCurrency, formatTokenAmount, diff --git a/packages/wallet-hooks/src/staking/useFetchStakeClaimRewards.ts b/packages/wallet-hooks/src/staking/useFetchStakeClaimRewards.ts index e03f822e..8ceff01e 100644 --- a/packages/wallet-hooks/src/staking/useFetchStakeClaimRewards.ts +++ b/packages/wallet-hooks/src/staking/useFetchStakeClaimRewards.ts @@ -7,7 +7,6 @@ import { useActiveChain, useAddress, useChainApis, - useDenoms, useGetChains, useSelectedNetwork, useStakeClaimRewardsStore, diff --git a/packages/wallet-hooks/src/staking/useFetchStakeDelegations.ts b/packages/wallet-hooks/src/staking/useFetchStakeDelegations.ts index 9813c371..09395fc1 100644 --- a/packages/wallet-hooks/src/staking/useFetchStakeDelegations.ts +++ b/packages/wallet-hooks/src/staking/useFetchStakeDelegations.ts @@ -6,7 +6,6 @@ import { useActiveChain, useAddress, useChainApis, - useDenoms, useGetChains, useSelectedNetwork, useStakeDelegationsStore, diff --git a/packages/wallet-hooks/src/staking/useFetchStakeUndelegations.ts b/packages/wallet-hooks/src/staking/useFetchStakeUndelegations.ts index 8e5d8a98..76c9e412 100644 --- a/packages/wallet-hooks/src/staking/useFetchStakeUndelegations.ts +++ b/packages/wallet-hooks/src/staking/useFetchStakeUndelegations.ts @@ -16,7 +16,6 @@ import { useActiveChain, useAddress, useChainApis, - useDenoms, useGetChains, useSelectedNetwork, useStakeUndelegationsStore, diff --git a/packages/wallet-hooks/src/staking/useStaking.ts b/packages/wallet-hooks/src/staking/useStaking.ts index d47cbf59..f1f7fdc0 100644 --- a/packages/wallet-hooks/src/staking/useStaking.ts +++ b/packages/wallet-hooks/src/staking/useStaking.ts @@ -3,32 +3,30 @@ import { Coin } from '@cosmjs/amino'; import { OfflineSigner } from '@cosmjs/proto-signing'; import { calculateFee, coin, StdFee } from '@cosmjs/stargate'; import { + DEFAULT_GAS_REDELEGATE, DefaultGasEstimates, + defaultGasPriceStep, Delegation, DenomsRecord, EthermintTxHandler, fromSmall, + GasPrice, getSimulationFee, InjectiveTx, LedgerError, + NativeDenom, RewardsResponse, simulateCancelUndelegation, simulateDelegate, simulateRedelegate, simulateUndelegate, simulateWithdrawRewards, + SupportedChain, toSmall, Tx, UnbondingDelegation, Validator, } from '@leapwallet/cosmos-wallet-sdk'; -import { - DEFAULT_GAS_REDELEGATE, - defaultGasPriceStep, - GasPrice, - NativeDenom, - SupportedChain, -} from '@leapwallet/cosmos-wallet-sdk'; import { Network } from '@leapwallet/cosmos-wallet-sdk/dist/browser/stake/network'; import { ChainClaimRewards, @@ -58,8 +56,7 @@ import { useSelectedNetwork, } from '../store'; import { useTxHandler } from '../tx'; -import { Token, TxCallback, WALLETTYPE } from '../types'; -import { STAKE_MODE } from '../types'; +import { STAKE_MODE, Token, TxCallback, WALLETTYPE } from '../types'; import { GasOptions, getChainId, diff --git a/packages/wallet-hooks/src/tx/useTxHandler.ts b/packages/wallet-hooks/src/tx/useTxHandler.ts index c1da800f..87fd051a 100644 --- a/packages/wallet-hooks/src/tx/useTxHandler.ts +++ b/packages/wallet-hooks/src/tx/useTxHandler.ts @@ -1,6 +1,6 @@ import { SigningCosmWasmClient } from '@cosmjs/cosmwasm-stargate'; import { OfflineSigner } from '@cosmjs/proto-signing'; -import { InjectiveTx, LavaTx, StrideTx, SupportedChain, Tx } from '@leapwallet/cosmos-wallet-sdk'; +import { GovGenTx, InjectiveTx, LavaTx, StrideTx, SupportedChain, Tx } from '@leapwallet/cosmos-wallet-sdk'; import { EthermintTxHandler } from '@leapwallet/cosmos-wallet-sdk'; import { CWTx } from '@leapwallet/cosmos-wallet-sdk'; import { SigningSscrt } from '@leapwallet/cosmos-wallet-sdk/dist/browser/secret/sscrt'; @@ -56,6 +56,12 @@ export function useTxHandler({ _tx.setLcdEndPoint(lcdUrl ?? ''); _tx.addLavaRegistry(); return _tx; + } else if (chainInfo.chainId === 'govgen-1') { + const _tx = new GovGenTx(`${rpcUrl}/`, wallet); + await _tx.initClient(); + _tx.setLcdEndPoint(lcdUrl ?? ''); + _tx.addGovGenRegistry(); + return _tx; } else { const _tx = new Tx(`${rpcUrl}/`, wallet); await _tx.initClient(); diff --git a/packages/wallet-hooks/src/types/activity.ts b/packages/wallet-hooks/src/types/activity.ts index e356c468..b4aa2f0c 100644 --- a/packages/wallet-hooks/src/types/activity.ts +++ b/packages/wallet-hooks/src/types/activity.ts @@ -62,4 +62,5 @@ export type getActivityContentProps = { theme?: ThemeName; denoms: DenomsRecord; chainId?: string; + coinDecimals?: number; }; diff --git a/packages/wallet-hooks/src/utils-hooks/useSeiLinkedAddressState.ts b/packages/wallet-hooks/src/utils-hooks/useSeiLinkedAddressState.ts index 60d15f24..c111bb0d 100644 --- a/packages/wallet-hooks/src/utils-hooks/useSeiLinkedAddressState.ts +++ b/packages/wallet-hooks/src/utils-hooks/useSeiLinkedAddressState.ts @@ -182,6 +182,7 @@ export function useSeiLinkedAddressState(wallet: SeiLinkedAddressStateHookParams const _error = error as Error; const errorMessageToShow = getErrorMessageToShow(_error.message); + setShowLoadingMessage && setShowLoadingMessage(''); setError && setError(errorMessageToShow); setAddressLinkState('error'); } diff --git a/packages/wallet-hooks/src/utils/get-providers.ts b/packages/wallet-hooks/src/utils/get-providers.ts index 497243f6..1a3f7974 100644 --- a/packages/wallet-hooks/src/utils/get-providers.ts +++ b/packages/wallet-hooks/src/utils/get-providers.ts @@ -1,4 +1,4 @@ -import { axiosWrapper, Provider, ProvidersResponse } from '@leapwallet/cosmos-wallet-sdk'; +import { Provider, ProvidersResponse } from '@leapwallet/cosmos-wallet-sdk'; import axios from 'axios'; import { SelectedNetwork } from './get-staking-selected-network'; @@ -27,6 +27,10 @@ export async function getProviders(selectedNetwork: SelectedNetwork): Promise, ): Promise { + let validators: Validator[] = []; + try { + // Using chain endpoints + validators = await getValidatorsList(chainName, testnet, lcdUrl, chainInfos); + } catch { + // + } + + if (validators.length > 0) return validators; + let res; + if (chainName === 'seiDevnet') return []; + try { const chainRegistryPath = chainInfos?.[chainName].chainRegistryPath ?? chainName; const testnetChainRegistryPath = @@ -70,25 +82,6 @@ function CosmosDirectory(testnet: boolean) { r.tokens = fromSmall(r?.tokens ?? '0', denom?.coinDecimals ?? 6); }); - // Filter on testnets or on no validator found - let validators: Validator[] = []; - if (testnet || !result?.validators || result?.validators?.length === 0) { - try { - // Using chain endpoints - validators = await getValidatorsList(chainName, testnet, lcdUrl, chainInfos); - } catch { - // - } - - // Merge validator from directoryUrl and ChainUrl - validators = validators?.map((v) => { - const data = (result?.validators.find((r) => r?.address === v?.address) ?? {}) as Validator; - return { ...data, ...v }; - }); - - if (validators.length > 0) return validators ?? []; - } - return result.validators ?? []; } diff --git a/packages/wallet-sdk/src/chains/get-chain-info.ts b/packages/wallet-sdk/src/chains/get-chain-info.ts index 4e05a8e4..f9d018b3 100644 --- a/packages/wallet-sdk/src/chains/get-chain-info.ts +++ b/packages/wallet-sdk/src/chains/get-chain-info.ts @@ -34,6 +34,16 @@ export async function getChainInfo(chain: string, testnet?: boolean): Promise = { - 'pagination.limit': chain === 'mantra' ? 1000 : 500, + 'pagination.limit': 1000, }; if (chain === 'nibiru') { @@ -69,6 +69,7 @@ export async function getValidatorsList( validator.tokens = fromSmall(validator?.tokens ?? '0', decimals ?? 18); validator.moniker = validator?.description?.moniker ?? ''; validator.address = validator?.operator_address; + validator.active = validator?.status === 'BOND_STATUS_BONDED'; }); return result.validators; } diff --git a/packages/wallet-sdk/src/constants/chain-infos-config.ts b/packages/wallet-sdk/src/constants/chain-infos-config.ts index 3e13d45a..d8b661b1 100644 --- a/packages/wallet-sdk/src/constants/chain-infos-config.ts +++ b/packages/wallet-sdk/src/constants/chain-infos-config.ts @@ -1,4 +1,4 @@ -export type ChainInfosConfigPossibleFeatureType = 'stake' | 'governance' | 'activity'; +export type ChainInfosConfigPossibleFeatureType = 'stake' | 'governance' | 'activity' | 'cosmosConsensusUpdate'; export type ChainInfosConfigPossibleFeatureValueType = { platforms: string[]; chains: { [key: string]: boolean }; @@ -32,6 +32,12 @@ export const CHAIN_INFOS_CONFIG: ChainInfosConfigType = { 'nomic-testnet-4d': true, }, }, + cosmosConsensusUpdate: { + platforms: ['All', 'Extension'], + chains: { + 'theta-testnet-001': true, + }, + }, }, not_supported_features: { stake: { diff --git a/packages/wallet-sdk/src/key/DirectEthSecp256k1HdWallet.ts b/packages/wallet-sdk/src/key/DirectEthSecp256k1HdWallet.ts deleted file mode 100644 index b1641104..00000000 --- a/packages/wallet-sdk/src/key/DirectEthSecp256k1HdWallet.ts +++ /dev/null @@ -1,154 +0,0 @@ -import { AminoSignResponse, encodeSecp256k1Signature, serializeSignDoc, StdSignature, StdSignDoc } from '@cosmjs/amino'; -import { fromHex, toBase64 } from '@cosmjs/encoding'; -import { AccountData, DirectSignResponse, makeSignBytes, OfflineDirectSigner } from '@cosmjs/proto-signing'; -import * as bytes from '@ethersproject/bytes'; -import { Wallet as EthWallet } from '@ethersproject/wallet'; -import { PrivateKey } from '@injectivelabs/sdk-ts'; -import { bech32 } from 'bech32'; -import { SignDoc } from 'cosmjs-types/cosmos/tx/v1beta1/tx'; -import { keccak256 } from 'ethereumjs-util'; -import { Address as EthereumUtilsAddress } from 'ethereumjs-util/dist/address'; - -interface AccountDataWithPrivKey extends AccountData { - readonly privkey: Uint8Array; - - readonly ethWallet: EthWallet; -} - -export function encodeEthSecp256k1Signature( - pubkey: Uint8Array, - signature: Uint8Array, - keyType: 'injective' | 'ethermint', -): StdSignature { - if (signature.length !== 64) { - throw new Error( - 'Signature must be 64 bytes long. Cosmos SDK uses a 2x32 byte fixed length encoding for the secp256k1 signature integers r and s.', - ); - } - - const type = { - injective: '/injective.crypto.v1beta1.ethsecp256k1.PubKey', - ethermint: '/ethermint.crypto.v1beta1.ethsecp256k1.PubKey', - }[keyType]; - - return { - pub_key: { - type, - value: toBase64(pubkey), - }, - signature: toBase64(signature), - }; -} - -export class DirectEthSecp256k1HdWallet implements OfflineDirectSigner { - private readonly accounts: Array<{ - hdPath: string; - prefix: string; - }>; - - constructor( - private mnemonic: string, - private pvtKey: string, - private type: 'mnemonic' | 'pvtKey', - private options: { hdPaths: string[]; prefix: string }, - ) { - this.options = options; - - this.accounts = options.hdPaths.map((hdPath) => ({ hdPath, prefix: options.prefix })); - } - - async signEvmos(signerAddress: string, signBytes: string) { - const accounts = await this.getAccWithPrivKeys(); - const account = accounts.find(({ address }) => address === signerAddress); - if (account === undefined) { - throw new Error(`Address ${signerAddress} not found in wallet`); - } - const { ethWallet } = account; - const signature = await ethWallet._signingKey().signDigest(signBytes); - const splitSignature = bytes.splitSignature(signature); - return bytes.arrayify(bytes.concat([splitSignature.r, splitSignature.s])); - } - - async sign(signerAddress: string, signBytes: Uint8Array) { - const accounts = await this.getAccWithPrivKeys(); - const account = accounts.find(({ address }) => address === signerAddress); - if (account === undefined) { - throw new Error(`Address ${signerAddress} not found in wallet`); - } - const { ethWallet } = account; - - const signingKey = PrivateKey.fromPrivateKey(ethWallet.privateKey); - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - return await signingKey.sign(signBytes); - } - - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - async signDirect(signerAddress: string, signDoc: SignDoc): Promise { - const accounts = await this.getAccWithPrivKeys(); - const account = accounts.find(({ address }) => address === signerAddress); - if (account === undefined) { - throw new Error(`Address ${signerAddress} not found in wallet`); - } - const { pubkey, ethWallet } = account; - const message = makeSignBytes(signDoc); - - const signature = await ethWallet._signingKey().signDigest(keccak256(Buffer.from(message))); - const splitSignature = bytes.splitSignature(signature); - return { - signed: signDoc, - signature: encodeSecp256k1Signature(pubkey, bytes.arrayify(bytes.concat([splitSignature.r, splitSignature.s]))), - }; - } - - async signAmino(signerAddress: string, signDoc: StdSignDoc): Promise { - const accounts = await this.getAccWithPrivKeys(); - const account = accounts.find(({ address }) => address === signerAddress); - if (account === undefined) { - throw new Error(`Address ${signerAddress} not found in wallet`); - } - const { pubkey, ethWallet } = account; - const signBytes = serializeSignDoc(signDoc); - - const signature = await ethWallet._signingKey().signDigest(keccak256(Buffer.from(signBytes))); - const splitSignature = bytes.splitSignature(signature); - return { - signed: signDoc, - signature: encodeSecp256k1Signature(pubkey, bytes.arrayify(bytes.concat([splitSignature.r, splitSignature.s]))), - }; - } - - async getAccounts(): Promise { - const accountsWithPrivateKeys = await this.getAccWithPrivKeys(); - return accountsWithPrivateKeys.map(({ algo, pubkey, address }) => { - return { - algo, - pubkey, - address, - }; - }); - } - - async getAccWithPrivKeys(): Promise { - return new Promise((resolve) => { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - const accountsWithPvtKey: AccountDataWithPrivKey[] = this.accounts.map(({ hdPath }) => { - const ethWallet = - this.type === 'mnemonic' ? EthWallet.fromMnemonic(this.mnemonic, hdPath) : new EthWallet(this.pvtKey); - const addressBuffer = EthereumUtilsAddress.fromString(ethWallet.address.toString()).toBuffer(); - const bech32Address = bech32.encode(this.options.prefix, bech32.toWords(addressBuffer)); - const l = ethWallet._signingKey(); - return { - algo: 'ethsecp256k1' as const, - pubkey: fromHex(l.compressedPublicKey.replace('0x', '')), - address: bech32Address, - privkey: fromHex(l.privateKey.replace('0x', '')), - ethWallet, - }; - }); - resolve(accountsWithPvtKey); - }); - } -} diff --git a/packages/wallet-sdk/src/key/index.ts b/packages/wallet-sdk/src/key/index.ts index c0576ba8..32025d05 100644 --- a/packages/wallet-sdk/src/key/index.ts +++ b/packages/wallet-sdk/src/key/index.ts @@ -1,3 +1,2 @@ -export * from './DirectEthSecp256k1HdWallet'; export * from './eth-sign'; export * from './key'; diff --git a/packages/wallet-sdk/src/key/key.ts b/packages/wallet-sdk/src/key/key.ts index d01a2f40..d02e1dab 100644 --- a/packages/wallet-sdk/src/key/key.ts +++ b/packages/wallet-sdk/src/key/key.ts @@ -6,7 +6,6 @@ import { EthWallet, Wallet } from '@leapwallet/leap-keychain'; import * as bip39 from 'bip39'; import getHDPath from '../utils/get-hdpath'; -import { DirectEthSecp256k1HdWallet } from './DirectEthSecp256k1HdWallet'; export { DirectSecp256k1HdWallet, DirectSecp256k1Wallet }; /** @@ -93,7 +92,7 @@ export async function generateWalletFromPrivateKey( const privateKey = key.startsWith('0x') || key.startsWith('0X') ? key.slice(2) : key; if (coinType === '60') { // hd path is passed here for completeness but is not used - return new DirectEthSecp256k1HdWallet('', key, 'pvtKey', { hdPaths: [getHDPath('60', '1')], prefix }); + return EthWallet.generateWalletFromPvtKey(key, { addressPrefix: prefix, paths: [getHDPath('60', '1')] }); } if (!isAmino) { return DirectSecp256k1Wallet.fromKey(fromHex(privateKey), prefix); diff --git a/packages/wallet-sdk/src/proto/govgen/client.ts b/packages/wallet-sdk/src/proto/govgen/client.ts new file mode 100644 index 00000000..d0462aa1 --- /dev/null +++ b/packages/wallet-sdk/src/proto/govgen/client.ts @@ -0,0 +1,45 @@ +/* eslint-disable */ +import { GeneratedType, Registry, OfflineSigner } from '@cosmjs/proto-signing'; +import { defaultRegistryTypes, AminoTypes, SigningStargateClient } from '@cosmjs/stargate'; +import { HttpEndpoint } from '@cosmjs/tendermint-rpc'; +import * as govgenGovV1beta1TxRegistry from './gov/v1beta1/tx.registry'; +import * as govgenGovV1beta1TxAmino from './gov/v1beta1/tx.amino'; +export const govgenAminoConverters = { + ...govgenGovV1beta1TxAmino.AminoConverter, +}; +export const govgenProtoRegistry: ReadonlyArray<[string, GeneratedType]> = [...govgenGovV1beta1TxRegistry.registry]; +export const getSigningGovgenClientOptions = ({ + defaultTypes = defaultRegistryTypes, +}: { + defaultTypes?: ReadonlyArray<[string, GeneratedType]>; +} = {}): { + registry: Registry; + aminoTypes: AminoTypes; +} => { + const registry = new Registry([...defaultTypes, ...govgenProtoRegistry]); + const aminoTypes = new AminoTypes({ + ...govgenAminoConverters, + }); + return { + registry, + aminoTypes, + }; +}; +export const getSigningGovgenClient = async ({ + rpcEndpoint, + signer, + defaultTypes = defaultRegistryTypes, +}: { + rpcEndpoint: string | HttpEndpoint; + signer: OfflineSigner; + defaultTypes?: ReadonlyArray<[string, GeneratedType]>; +}) => { + const { registry, aminoTypes } = getSigningGovgenClientOptions({ + defaultTypes, + }); + const client = await SigningStargateClient.connectWithSigner(rpcEndpoint, signer, { + registry: registry as any, + aminoTypes, + }); + return client; +}; diff --git a/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/any.ts b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/any.ts new file mode 100644 index 00000000..c036e447 --- /dev/null +++ b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/any.ts @@ -0,0 +1,176 @@ +/* eslint-disable */ +import { BinaryReader, BinaryWriter } from '../../../binary'; +import { isSet, bytesFromBase64, base64FromBytes, DeepPartial, Exact } from '../../../helpers'; +export const protobufPackage = 'google.protobuf'; +/** + * `Any` contains an arbitrary serialized protocol buffer message along with a + * URL that describes the type of the serialized message. + * + * Protobuf library provides support to pack/unpack Any values in the form + * of utility functions or additional generated methods of the Any type. + * + * Example 1: Pack and unpack a message in C++. + * + * Foo foo = ...; + * Any any; + * any.PackFrom(foo); + * ... + * if (any.UnpackTo(&foo)) { + * ... + * } + * + * Example 2: Pack and unpack a message in Java. + * + * Foo foo = ...; + * Any any = Any.pack(foo); + * ... + * if (any.is(Foo.class)) { + * foo = any.unpack(Foo.class); + * } + * + * Example 3: Pack and unpack a message in Python. + * + * foo = Foo(...) + * any = Any() + * any.Pack(foo) + * ... + * if any.Is(Foo.DESCRIPTOR): + * any.Unpack(foo) + * ... + * + * Example 4: Pack and unpack a message in Go + * + * foo := &pb.Foo{...} + * any, err := ptypes.MarshalAny(foo) + * ... + * foo := &pb.Foo{} + * if err := ptypes.UnmarshalAny(any, foo); err != nil { + * ... + * } + * + * The pack methods provided by protobuf library will by default use + * 'type.googleapis.com/full.type.name' as the type URL and the unpack + * methods only use the fully qualified type name after the last '/' + * in the type URL, for example "foo.bar.com/x/y.z" will yield type + * name "y.z". + * + * + * JSON + * ==== + * The JSON representation of an `Any` value uses the regular + * representation of the deserialized, embedded message, with an + * additional field `@type` which contains the type URL. Example: + * + * package google.profile; + * message Person { + * string first_name = 1; + * string last_name = 2; + * } + * + * { + * "@type": "type.googleapis.com/google.profile.Person", + * "firstName": , + * "lastName": + * } + * + * If the embedded message type is well-known and has a custom JSON + * representation, that representation will be embedded adding a field + * `value` which holds the custom JSON in addition to the `@type` + * field. Example (for message [google.protobuf.Duration][]): + * + * { + * "@type": "type.googleapis.com/google.protobuf.Duration", + * "value": "1.212s" + * } + */ +export interface Any { + /** + * A URL/resource name that uniquely identifies the type of the serialized + * protocol buffer message. This string must contain at least + * one "/" character. The last segment of the URL's path must represent + * the fully qualified name of the type (as in + * `path/google.protobuf.Duration`). The name should be in a canonical form + * (e.g., leading "." is not accepted). + * + * In practice, teams usually precompile into the binary all types that they + * expect it to use in the context of Any. However, for URLs which use the + * scheme `http`, `https`, or no scheme, one can optionally set up a type + * server that maps type URLs to message definitions as follows: + * + * * If no scheme is provided, `https` is assumed. + * * An HTTP GET on the URL must yield a [google.protobuf.Type][] + * value in binary format, or produce an error. + * * Applications are allowed to cache lookup results based on the + * URL, or have them precompiled into a binary to avoid any + * lookup. Therefore, binary compatibility needs to be preserved + * on changes to types. (Use versioned type names to manage + * breaking changes.) + * + * Note: this functionality is not currently available in the official + * protobuf release, and it is not used for type URLs beginning with + * type.googleapis.com. + * + * Schemes other than `http`, `https` (or the empty scheme) might be + * used with implementation specific semantics. + */ + typeUrl: string; + /** Must be a valid serialized protocol buffer of the above specified type. */ + value: Uint8Array; +} +function createBaseAny(): Any { + return { + typeUrl: '', + value: new Uint8Array(), + }; +} +export const Any = { + typeUrl: '/google.protobuf.Any', + encode(message: Any, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.typeUrl !== '') { + writer.uint32(10).string(message.typeUrl); + } + if (message.value.length !== 0) { + writer.uint32(18).bytes(message.value); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Any { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAny(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.typeUrl = reader.string(); + break; + case 2: + message.value = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): Any { + const obj = createBaseAny(); + if (isSet(object.typeUrl)) obj.typeUrl = String(object.typeUrl); + if (isSet(object.value)) obj.value = bytesFromBase64(object.value); + return obj; + }, + toJSON(message: Any): unknown { + const obj: any = {}; + message.typeUrl !== undefined && (obj.typeUrl = message.typeUrl); + message.value !== undefined && + (obj.value = base64FromBytes(message.value !== undefined ? message.value : new Uint8Array())); + return obj; + }, + fromPartial, I>>(object: I): Any { + const message = createBaseAny(); + message.typeUrl = object.typeUrl ?? ''; + message.value = object.value ?? new Uint8Array(); + return message; + }, +}; diff --git a/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/coin.ts b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/coin.ts new file mode 100644 index 00000000..5433b1a8 --- /dev/null +++ b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/coin.ts @@ -0,0 +1,236 @@ +/* eslint-disable */ +import { BinaryReader, BinaryWriter } from '../../../binary'; +import { isSet, DeepPartial, Exact } from '../../../helpers'; +export const protobufPackage = 'cosmos.base.v1beta1'; +/** + * Coin defines a token with a denomination and an amount. + * + * NOTE: The amount field is an Int which implements the custom method + * signatures required by gogoproto. + */ +export interface Coin { + denom: string; + amount: string; +} +/** + * DecCoin defines a token with a denomination and a decimal amount. + * + * NOTE: The amount field is an Dec which implements the custom method + * signatures required by gogoproto. + */ +export interface DecCoin { + denom: string; + amount: string; +} +/** IntProto defines a Protobuf wrapper around an Int object. */ +export interface IntProto { + int: string; +} +/** DecProto defines a Protobuf wrapper around a Dec object. */ +export interface DecProto { + dec: string; +} +function createBaseCoin(): Coin { + return { + denom: '', + amount: '', + }; +} +export const Coin = { + typeUrl: '/cosmos.base.v1beta1.Coin', + encode(message: Coin, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.denom !== '') { + writer.uint32(10).string(message.denom); + } + if (message.amount !== '') { + writer.uint32(18).string(message.amount); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Coin { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCoin(); + while (reader.pos < end) { + const 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; + }, + fromJSON(object: any): Coin { + const obj = createBaseCoin(); + if (isSet(object.denom)) obj.denom = String(object.denom); + if (isSet(object.amount)) obj.amount = String(object.amount); + return obj; + }, + toJSON(message: Coin): unknown { + const obj: any = {}; + message.denom !== undefined && (obj.denom = message.denom); + message.amount !== undefined && (obj.amount = message.amount); + return obj; + }, + fromPartial, I>>(object: I): Coin { + const message = createBaseCoin(); + message.denom = object.denom ?? ''; + message.amount = object.amount ?? ''; + return message; + }, +}; +function createBaseDecCoin(): DecCoin { + return { + denom: '', + amount: '', + }; +} +export const DecCoin = { + typeUrl: '/cosmos.base.v1beta1.DecCoin', + encode(message: DecCoin, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.denom !== '') { + writer.uint32(10).string(message.denom); + } + if (message.amount !== '') { + writer.uint32(18).string(message.amount); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DecCoin { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDecCoin(); + while (reader.pos < end) { + const 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; + }, + fromJSON(object: any): DecCoin { + const obj = createBaseDecCoin(); + if (isSet(object.denom)) obj.denom = String(object.denom); + if (isSet(object.amount)) obj.amount = String(object.amount); + return obj; + }, + toJSON(message: DecCoin): unknown { + const obj: any = {}; + message.denom !== undefined && (obj.denom = message.denom); + message.amount !== undefined && (obj.amount = message.amount); + return obj; + }, + fromPartial, I>>(object: I): DecCoin { + const message = createBaseDecCoin(); + message.denom = object.denom ?? ''; + message.amount = object.amount ?? ''; + return message; + }, +}; +function createBaseIntProto(): IntProto { + return { + int: '', + }; +} +export const IntProto = { + typeUrl: '/cosmos.base.v1beta1.IntProto', + encode(message: IntProto, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.int !== '') { + writer.uint32(10).string(message.int); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): IntProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseIntProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.int = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): IntProto { + const obj = createBaseIntProto(); + if (isSet(object.int)) obj.int = String(object.int); + return obj; + }, + toJSON(message: IntProto): unknown { + const obj: any = {}; + message.int !== undefined && (obj.int = message.int); + return obj; + }, + fromPartial, I>>(object: I): IntProto { + const message = createBaseIntProto(); + message.int = object.int ?? ''; + return message; + }, +}; +function createBaseDecProto(): DecProto { + return { + dec: '', + }; +} +export const DecProto = { + typeUrl: '/cosmos.base.v1beta1.DecProto', + encode(message: DecProto, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.dec !== '') { + writer.uint32(10).string(message.dec); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DecProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDecProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dec = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): DecProto { + const obj = createBaseDecProto(); + if (isSet(object.dec)) obj.dec = String(object.dec); + return obj; + }, + toJSON(message: DecProto): unknown { + const obj: any = {}; + message.dec !== undefined && (obj.dec = message.dec); + return obj; + }, + fromPartial, I>>(object: I): DecProto { + const message = createBaseDecProto(); + message.dec = object.dec ?? ''; + return message; + }, +}; diff --git a/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/duration.ts b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/duration.ts new file mode 100644 index 00000000..1b71db81 --- /dev/null +++ b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/duration.ts @@ -0,0 +1,139 @@ +/* eslint-disable */ +import { BinaryReader, BinaryWriter } from '../../../binary'; +import { isSet, DeepPartial, Exact } from '../../../helpers'; +export const protobufPackage = 'google.protobuf'; +/** + * A Duration represents a signed, fixed-length span of time represented + * as a count of seconds and fractions of seconds at nanosecond + * resolution. It is independent of any calendar and concepts like "day" + * or "month". It is related to Timestamp in that the difference between + * two Timestamp values is a Duration and it can be added or subtracted + * from a Timestamp. Range is approximately +-10,000 years. + * + * # Examples + * + * Example 1: Compute Duration from two Timestamps in pseudo code. + * + * Timestamp start = ...; + * Timestamp end = ...; + * Duration duration = ...; + * + * duration.seconds = end.seconds - start.seconds; + * duration.nanos = end.nanos - start.nanos; + * + * if (duration.seconds < 0 && duration.nanos > 0) { + * duration.seconds += 1; + * duration.nanos -= 1000000000; + * } else if (durations.seconds > 0 && duration.nanos < 0) { + * duration.seconds -= 1; + * duration.nanos += 1000000000; + * } + * + * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + * + * Timestamp start = ...; + * Duration duration = ...; + * Timestamp end = ...; + * + * end.seconds = start.seconds + duration.seconds; + * end.nanos = start.nanos + duration.nanos; + * + * if (end.nanos < 0) { + * end.seconds -= 1; + * end.nanos += 1000000000; + * } else if (end.nanos >= 1000000000) { + * end.seconds += 1; + * end.nanos -= 1000000000; + * } + * + * Example 3: Compute Duration from datetime.timedelta in Python. + * + * td = datetime.timedelta(days=3, minutes=10) + * duration = Duration() + * duration.FromTimedelta(td) + * + * # JSON Mapping + * + * In JSON format, the Duration type is encoded as a string rather than an + * object, where the string ends in the suffix "s" (indicating seconds) and + * is preceded by the number of seconds, with nanoseconds expressed as + * fractional seconds. For example, 3 seconds with 0 nanoseconds should be + * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should + * be expressed in JSON format as "3.000000001s", and 3 seconds and 1 + * microsecond should be expressed in JSON format as "3.000001s". + */ +export interface Duration { + /** + * Signed seconds of the span of time. Must be from -315,576,000,000 + * to +315,576,000,000 inclusive. Note: these bounds are computed from: + * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + */ + seconds: bigint; + /** + * Signed fractions of a second at nanosecond resolution of the span + * of time. Durations less than one second are represented with a 0 + * `seconds` field and a positive or negative `nanos` field. For durations + * of one second or more, a non-zero value for the `nanos` field must be + * of the same sign as the `seconds` field. Must be from -999,999,999 + * to +999,999,999 inclusive. + */ + nanos: number; +} +function createBaseDuration(): Duration { + return { + seconds: BigInt(0), + nanos: 0, + }; +} +export const Duration = { + typeUrl: '/google.protobuf.Duration', + encode(message: Duration, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.seconds !== BigInt(0)) { + writer.uint32(8).int64(message.seconds); + } + if (message.nanos !== 0) { + writer.uint32(16).int32(message.nanos); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Duration { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDuration(); + while (reader.pos < end) { + const 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; + }, + fromJSON(object: any): Duration { + const obj = createBaseDuration(); + if (isSet(object.seconds)) obj.seconds = BigInt(object.seconds.toString()); + if (isSet(object.nanos)) obj.nanos = Number(object.nanos); + return obj; + }, + toJSON(message: Duration): unknown { + const obj: any = {}; + message.seconds !== undefined && (obj.seconds = (message.seconds || BigInt(0)).toString()); + message.nanos !== undefined && (obj.nanos = Math.round(message.nanos)); + return obj; + }, + fromPartial, I>>(object: I): Duration { + const message = createBaseDuration(); + if (object.seconds !== undefined && object.seconds !== null) { + message.seconds = BigInt(object.seconds.toString()); + } + message.nanos = object.nanos ?? 0; + return message; + }, +}; diff --git a/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/genesis.ts b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/genesis.ts new file mode 100644 index 00000000..f9dadd3d --- /dev/null +++ b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/genesis.ts @@ -0,0 +1,152 @@ +/* eslint-disable */ +import { Deposit, Vote, Proposal, DepositParams, VotingParams, TallyParams } from './gov'; +import { BinaryReader, BinaryWriter } from '../../../binary'; +import { isSet, DeepPartial, Exact } from '../../../helpers'; +export const protobufPackage = 'govgen.gov.v1beta1'; +/** GenesisState defines the gov module's genesis state. */ +export interface GenesisState { + /** starting_proposal_id is the ID of the starting proposal. */ + startingProposalId: bigint; + /** deposits defines all the deposits present at genesis. */ + deposits: Deposit[]; + /** votes defines all the votes present at genesis. */ + votes: Vote[]; + /** proposals defines all the proposals present at genesis. */ + proposals: Proposal[]; + /** params defines all the paramaters of related to deposit. */ + depositParams: DepositParams | undefined; + /** params defines all the paramaters of related to voting. */ + votingParams: VotingParams | undefined; + /** params defines all the paramaters of related to tally. */ + tallyParams: TallyParams | undefined; +} +function createBaseGenesisState(): GenesisState { + return { + startingProposalId: BigInt(0), + deposits: [], + votes: [], + proposals: [], + depositParams: DepositParams.fromPartial({}), + votingParams: VotingParams.fromPartial({}), + tallyParams: TallyParams.fromPartial({}), + }; +} +export const GenesisState = { + typeUrl: '/govgen.gov.v1beta1.GenesisState', + encode(message: GenesisState, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.startingProposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.startingProposalId); + } + for (const v of message.deposits) { + Deposit.encode(v!, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.votes) { + Vote.encode(v!, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.proposals) { + Proposal.encode(v!, writer.uint32(34).fork()).ldelim(); + } + if (message.depositParams !== undefined) { + DepositParams.encode(message.depositParams, writer.uint32(42).fork()).ldelim(); + } + if (message.votingParams !== undefined) { + VotingParams.encode(message.votingParams, writer.uint32(50).fork()).ldelim(); + } + if (message.tallyParams !== undefined) { + TallyParams.encode(message.tallyParams, writer.uint32(58).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startingProposalId = reader.uint64(); + break; + case 2: + message.deposits.push(Deposit.decode(reader, reader.uint32())); + break; + case 3: + message.votes.push(Vote.decode(reader, reader.uint32())); + break; + case 4: + message.proposals.push(Proposal.decode(reader, reader.uint32())); + break; + case 5: + message.depositParams = DepositParams.decode(reader, reader.uint32()); + break; + case 6: + message.votingParams = VotingParams.decode(reader, reader.uint32()); + break; + case 7: + message.tallyParams = TallyParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): GenesisState { + const obj = createBaseGenesisState(); + if (isSet(object.startingProposalId)) obj.startingProposalId = BigInt(object.startingProposalId.toString()); + if (Array.isArray(object?.deposits)) obj.deposits = object.deposits.map((e: any) => Deposit.fromJSON(e)); + if (Array.isArray(object?.votes)) obj.votes = object.votes.map((e: any) => Vote.fromJSON(e)); + if (Array.isArray(object?.proposals)) obj.proposals = object.proposals.map((e: any) => Proposal.fromJSON(e)); + if (isSet(object.depositParams)) obj.depositParams = DepositParams.fromJSON(object.depositParams); + if (isSet(object.votingParams)) obj.votingParams = VotingParams.fromJSON(object.votingParams); + if (isSet(object.tallyParams)) obj.tallyParams = TallyParams.fromJSON(object.tallyParams); + return obj; + }, + toJSON(message: GenesisState): unknown { + const obj: any = {}; + message.startingProposalId !== undefined && + (obj.startingProposalId = (message.startingProposalId || BigInt(0)).toString()); + if (message.deposits) { + obj.deposits = message.deposits.map((e) => (e ? Deposit.toJSON(e) : undefined)); + } else { + obj.deposits = []; + } + if (message.votes) { + obj.votes = message.votes.map((e) => (e ? Vote.toJSON(e) : undefined)); + } else { + obj.votes = []; + } + if (message.proposals) { + obj.proposals = message.proposals.map((e) => (e ? Proposal.toJSON(e) : undefined)); + } else { + obj.proposals = []; + } + message.depositParams !== undefined && + (obj.depositParams = message.depositParams ? DepositParams.toJSON(message.depositParams) : undefined); + message.votingParams !== undefined && + (obj.votingParams = message.votingParams ? VotingParams.toJSON(message.votingParams) : undefined); + message.tallyParams !== undefined && + (obj.tallyParams = message.tallyParams ? TallyParams.toJSON(message.tallyParams) : undefined); + return obj; + }, + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + if (object.startingProposalId !== undefined && object.startingProposalId !== null) { + message.startingProposalId = BigInt(object.startingProposalId.toString()); + } + message.deposits = object.deposits?.map((e) => Deposit.fromPartial(e)) || []; + message.votes = object.votes?.map((e) => Vote.fromPartial(e)) || []; + message.proposals = object.proposals?.map((e) => Proposal.fromPartial(e)) || []; + if (object.depositParams !== undefined && object.depositParams !== null) { + message.depositParams = DepositParams.fromPartial(object.depositParams); + } + if (object.votingParams !== undefined && object.votingParams !== null) { + message.votingParams = VotingParams.fromPartial(object.votingParams); + } + if (object.tallyParams !== undefined && object.tallyParams !== null) { + message.tallyParams = TallyParams.fromPartial(object.tallyParams); + } + return message; + }, +}; diff --git a/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/gov.ts b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/gov.ts new file mode 100644 index 00000000..59b81d95 --- /dev/null +++ b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/gov.ts @@ -0,0 +1,965 @@ +/* eslint-disable */ +import { Coin } from './coin'; +import { Any } from './any'; +import { Timestamp } from './timestamp'; +import { Duration } from './duration'; +import { BinaryReader, BinaryWriter } from '../../../binary'; +import { + isSet, + DeepPartial, + Exact, + fromJsonTimestamp, + fromTimestamp, + bytesFromBase64, + base64FromBytes, +} from '../../../helpers'; +export const protobufPackage = 'govgen.gov.v1beta1'; +/** VoteOption enumerates the valid vote options for a given governance proposal. */ +export enum VoteOption { + /** VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines a no-op vote option. */ + VOTE_OPTION_UNSPECIFIED = 0, + /** VOTE_OPTION_YES - VOTE_OPTION_YES defines a yes vote option. */ + VOTE_OPTION_YES = 1, + /** VOTE_OPTION_ABSTAIN - VOTE_OPTION_ABSTAIN defines an abstain vote option. */ + VOTE_OPTION_ABSTAIN = 2, + /** VOTE_OPTION_NO - VOTE_OPTION_NO defines a no vote option. */ + VOTE_OPTION_NO = 3, + /** VOTE_OPTION_NO_WITH_VETO - VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. */ + VOTE_OPTION_NO_WITH_VETO = 4, + UNRECOGNIZED = -1, +} +export function voteOptionFromJSON(object: any): VoteOption { + switch (object) { + case 0: + case 'VOTE_OPTION_UNSPECIFIED': + return VoteOption.VOTE_OPTION_UNSPECIFIED; + case 1: + case 'VOTE_OPTION_YES': + return VoteOption.VOTE_OPTION_YES; + case 2: + case 'VOTE_OPTION_ABSTAIN': + return VoteOption.VOTE_OPTION_ABSTAIN; + case 3: + case 'VOTE_OPTION_NO': + return VoteOption.VOTE_OPTION_NO; + case 4: + case 'VOTE_OPTION_NO_WITH_VETO': + return VoteOption.VOTE_OPTION_NO_WITH_VETO; + case -1: + case 'UNRECOGNIZED': + default: + return VoteOption.UNRECOGNIZED; + } +} +export function voteOptionToJSON(object: VoteOption): string { + switch (object) { + case VoteOption.VOTE_OPTION_UNSPECIFIED: + return 'VOTE_OPTION_UNSPECIFIED'; + case VoteOption.VOTE_OPTION_YES: + return 'VOTE_OPTION_YES'; + case VoteOption.VOTE_OPTION_ABSTAIN: + return 'VOTE_OPTION_ABSTAIN'; + case VoteOption.VOTE_OPTION_NO: + return 'VOTE_OPTION_NO'; + case VoteOption.VOTE_OPTION_NO_WITH_VETO: + return 'VOTE_OPTION_NO_WITH_VETO'; + case VoteOption.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** ProposalStatus enumerates the valid statuses of a proposal. */ +export enum ProposalStatus { + /** PROPOSAL_STATUS_UNSPECIFIED - PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status. */ + PROPOSAL_STATUS_UNSPECIFIED = 0, + /** + * PROPOSAL_STATUS_DEPOSIT_PERIOD - PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + * period. + */ + PROPOSAL_STATUS_DEPOSIT_PERIOD = 1, + /** + * PROPOSAL_STATUS_VOTING_PERIOD - PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + * period. + */ + PROPOSAL_STATUS_VOTING_PERIOD = 2, + /** + * PROPOSAL_STATUS_PASSED - PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + * passed. + */ + PROPOSAL_STATUS_PASSED = 3, + /** + * PROPOSAL_STATUS_REJECTED - PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + * been rejected. + */ + PROPOSAL_STATUS_REJECTED = 4, + /** + * PROPOSAL_STATUS_FAILED - PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + * failed. + */ + PROPOSAL_STATUS_FAILED = 5, + UNRECOGNIZED = -1, +} +export function proposalStatusFromJSON(object: any): ProposalStatus { + switch (object) { + case 0: + case 'PROPOSAL_STATUS_UNSPECIFIED': + return ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED; + case 1: + case 'PROPOSAL_STATUS_DEPOSIT_PERIOD': + return ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD; + case 2: + case 'PROPOSAL_STATUS_VOTING_PERIOD': + return ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD; + case 3: + case 'PROPOSAL_STATUS_PASSED': + return ProposalStatus.PROPOSAL_STATUS_PASSED; + case 4: + case 'PROPOSAL_STATUS_REJECTED': + return ProposalStatus.PROPOSAL_STATUS_REJECTED; + case 5: + case 'PROPOSAL_STATUS_FAILED': + return ProposalStatus.PROPOSAL_STATUS_FAILED; + case -1: + case 'UNRECOGNIZED': + default: + return ProposalStatus.UNRECOGNIZED; + } +} +export function proposalStatusToJSON(object: ProposalStatus): string { + switch (object) { + case ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED: + return 'PROPOSAL_STATUS_UNSPECIFIED'; + case ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD: + return 'PROPOSAL_STATUS_DEPOSIT_PERIOD'; + case ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD: + return 'PROPOSAL_STATUS_VOTING_PERIOD'; + case ProposalStatus.PROPOSAL_STATUS_PASSED: + return 'PROPOSAL_STATUS_PASSED'; + case ProposalStatus.PROPOSAL_STATUS_REJECTED: + return 'PROPOSAL_STATUS_REJECTED'; + case ProposalStatus.PROPOSAL_STATUS_FAILED: + return 'PROPOSAL_STATUS_FAILED'; + case ProposalStatus.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** + * WeightedVoteOption defines a unit of vote for vote split. + * + * Since: cosmos-sdk 0.43 + */ +export interface WeightedVoteOption { + option: VoteOption; + weight: string; +} +/** + * TextProposal defines a standard text proposal whose changes need to be + * manually updated in case of approval. + */ +export interface TextProposal { + title: string; + description: string; +} +/** + * Deposit defines an amount deposited by an account address to an active + * proposal. + */ +export interface Deposit { + proposalId: bigint; + depositor: string; + amount: Coin[]; +} +/** Proposal defines the core field members of a governance proposal. */ +export interface Proposal { + proposalId: bigint; + content?: Any | undefined; + status: ProposalStatus; + finalTallyResult: TallyResult | undefined; + submitTime: Timestamp | undefined; + depositEndTime: Timestamp | undefined; + totalDeposit: Coin[]; + votingStartTime: Timestamp | undefined; + votingEndTime: Timestamp | undefined; +} +/** TallyResult defines a standard tally for a governance proposal. */ +export interface TallyResult { + yes: string; + abstain: string; + no: string; + noWithVeto: string; +} +/** + * Vote defines a vote on a governance proposal. + * A Vote consists of a proposal ID, the voter, and the vote option. + */ +export interface Vote { + proposalId: bigint; + voter: string; + /** + * Deprecated: Prefer to use `options` instead. This field is set in queries + * if and only if `len(options) == 1` and that option has weight 1. In all + * other cases, this field will default to VOTE_OPTION_UNSPECIFIED. + */ + /** @deprecated */ + option: VoteOption; + /** Since: cosmos-sdk 0.43 */ + options: WeightedVoteOption[]; +} +/** DepositParams defines the params for deposits on governance proposals. */ +export interface DepositParams { + /** Minimum deposit for a proposal to enter voting period. */ + minDeposit: Coin[]; + /** + * Maximum period for GOVGEN holders to deposit on a proposal. Initial value: 2 + * months. + */ + maxDepositPeriod: Duration | undefined; +} +/** VotingParams defines the params for voting on governance proposals. */ +export interface VotingParams { + /** Length of the voting period by default. */ + votingPeriodDefault: Duration | undefined; + /** Length of the voting period for parameter change proposal. */ + votingPeriodParameterChange: Duration | undefined; + /** + * Length of the voting period for software upgrade and cancel software + * upgrade proposal. + */ + votingPeriodSoftwareUpgrade: Duration | undefined; + /** Length of the voting period for text proposal. */ + votingPeriodText: Duration | undefined; +} +/** TallyParams defines the params for tallying votes on governance proposals. */ +export interface TallyParams { + /** + * Minimum percentage of total stake needed to vote for a result to be + * considered valid. + */ + quorum: Uint8Array; + /** Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. */ + threshold: Uint8Array; + /** + * Minimum value of Veto votes to Total votes ratio for proposal to be + * vetoed. Default value: 1/3. + */ + vetoThreshold: Uint8Array; +} +function createBaseWeightedVoteOption(): WeightedVoteOption { + return { + option: 0, + weight: '', + }; +} +export const WeightedVoteOption = { + typeUrl: '/govgen.gov.v1beta1.WeightedVoteOption', + encode(message: WeightedVoteOption, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.option !== 0) { + writer.uint32(8).int32(message.option); + } + if (message.weight !== '') { + writer.uint32(18).string(message.weight); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): WeightedVoteOption { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWeightedVoteOption(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.option = reader.int32() as any; + break; + case 2: + message.weight = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): WeightedVoteOption { + const obj = createBaseWeightedVoteOption(); + if (isSet(object.option)) obj.option = voteOptionFromJSON(object.option); + if (isSet(object.weight)) obj.weight = String(object.weight); + return obj; + }, + toJSON(message: WeightedVoteOption): unknown { + const obj: any = {}; + message.option !== undefined && (obj.option = voteOptionToJSON(message.option)); + message.weight !== undefined && (obj.weight = message.weight); + return obj; + }, + fromPartial, I>>(object: I): WeightedVoteOption { + const message = createBaseWeightedVoteOption(); + message.option = object.option ?? 0; + message.weight = object.weight ?? ''; + return message; + }, +}; +function createBaseTextProposal(): TextProposal { + return { + title: '', + description: '', + }; +} +export const TextProposal = { + typeUrl: '/govgen.gov.v1beta1.TextProposal', + encode(message: TextProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TextProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTextProposal(); + while (reader.pos < end) { + const 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; + }, + fromJSON(object: any): TextProposal { + const obj = createBaseTextProposal(); + if (isSet(object.title)) obj.title = String(object.title); + if (isSet(object.description)) obj.description = String(object.description); + return obj; + }, + toJSON(message: TextProposal): unknown { + const obj: any = {}; + message.title !== undefined && (obj.title = message.title); + message.description !== undefined && (obj.description = message.description); + return obj; + }, + fromPartial, I>>(object: I): TextProposal { + const message = createBaseTextProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + return message; + }, +}; +function createBaseDeposit(): Deposit { + return { + proposalId: BigInt(0), + depositor: '', + amount: [], + }; +} +export const Deposit = { + typeUrl: '/govgen.gov.v1beta1.Deposit', + encode(message: Deposit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.depositor !== '') { + writer.uint32(18).string(message.depositor); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Deposit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.depositor = reader.string(); + break; + case 3: + message.amount.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): Deposit { + const obj = createBaseDeposit(); + if (isSet(object.proposalId)) obj.proposalId = BigInt(object.proposalId.toString()); + if (isSet(object.depositor)) obj.depositor = String(object.depositor); + if (Array.isArray(object?.amount)) obj.amount = object.amount.map((e: any) => Coin.fromJSON(e)); + return obj; + }, + toJSON(message: Deposit): unknown { + const obj: any = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || BigInt(0)).toString()); + message.depositor !== undefined && (obj.depositor = message.depositor); + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toJSON(e) : undefined)); + } else { + obj.amount = []; + } + return obj; + }, + fromPartial, I>>(object: I): Deposit { + const message = createBaseDeposit(); + if (object.proposalId !== undefined && object.proposalId !== null) { + message.proposalId = BigInt(object.proposalId.toString()); + } + message.depositor = object.depositor ?? ''; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; +function createBaseProposal(): Proposal { + return { + proposalId: BigInt(0), + content: undefined, + status: 0, + finalTallyResult: TallyResult.fromPartial({}), + submitTime: undefined, + depositEndTime: undefined, + totalDeposit: [], + votingStartTime: undefined, + votingEndTime: undefined, + }; +} +export const Proposal = { + typeUrl: '/govgen.gov.v1beta1.Proposal', + encode(message: Proposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.content !== undefined) { + Any.encode(message.content, writer.uint32(18).fork()).ldelim(); + } + if (message.status !== 0) { + writer.uint32(24).int32(message.status); + } + if (message.finalTallyResult !== undefined) { + TallyResult.encode(message.finalTallyResult, writer.uint32(34).fork()).ldelim(); + } + if (message.submitTime !== undefined) { + Timestamp.encode(message.submitTime, writer.uint32(42).fork()).ldelim(); + } + if (message.depositEndTime !== undefined) { + Timestamp.encode(message.depositEndTime, writer.uint32(50).fork()).ldelim(); + } + for (const v of message.totalDeposit) { + Coin.encode(v!, writer.uint32(58).fork()).ldelim(); + } + if (message.votingStartTime !== undefined) { + Timestamp.encode(message.votingStartTime, writer.uint32(66).fork()).ldelim(); + } + if (message.votingEndTime !== undefined) { + Timestamp.encode(message.votingEndTime, writer.uint32(74).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Proposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.content = Any.decode(reader, reader.uint32()); + break; + case 3: + message.status = reader.int32() as any; + break; + case 4: + message.finalTallyResult = TallyResult.decode(reader, reader.uint32()); + break; + case 5: + message.submitTime = Timestamp.decode(reader, reader.uint32()); + break; + case 6: + message.depositEndTime = Timestamp.decode(reader, reader.uint32()); + break; + case 7: + message.totalDeposit.push(Coin.decode(reader, reader.uint32())); + break; + case 8: + message.votingStartTime = Timestamp.decode(reader, reader.uint32()); + break; + case 9: + message.votingEndTime = Timestamp.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): Proposal { + const obj = createBaseProposal(); + if (isSet(object.proposalId)) obj.proposalId = BigInt(object.proposalId.toString()); + if (isSet(object.content)) obj.content = Any.fromJSON(object.content); + if (isSet(object.status)) obj.status = proposalStatusFromJSON(object.status); + if (isSet(object.finalTallyResult)) obj.finalTallyResult = TallyResult.fromJSON(object.finalTallyResult); + if (isSet(object.submitTime)) obj.submitTime = fromJsonTimestamp(object.submitTime); + if (isSet(object.depositEndTime)) obj.depositEndTime = fromJsonTimestamp(object.depositEndTime); + if (Array.isArray(object?.totalDeposit)) obj.totalDeposit = object.totalDeposit.map((e: any) => Coin.fromJSON(e)); + if (isSet(object.votingStartTime)) obj.votingStartTime = fromJsonTimestamp(object.votingStartTime); + if (isSet(object.votingEndTime)) obj.votingEndTime = fromJsonTimestamp(object.votingEndTime); + return obj; + }, + toJSON(message: Proposal): unknown { + const obj: any = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || BigInt(0)).toString()); + message.content !== undefined && (obj.content = message.content ? Any.toJSON(message.content) : undefined); + message.status !== undefined && (obj.status = proposalStatusToJSON(message.status)); + message.finalTallyResult !== undefined && + (obj.finalTallyResult = message.finalTallyResult ? TallyResult.toJSON(message.finalTallyResult) : undefined); + message.submitTime !== undefined && (obj.submitTime = fromTimestamp(message.submitTime).toISOString()); + message.depositEndTime !== undefined && (obj.depositEndTime = fromTimestamp(message.depositEndTime).toISOString()); + if (message.totalDeposit) { + obj.totalDeposit = message.totalDeposit.map((e) => (e ? Coin.toJSON(e) : undefined)); + } else { + obj.totalDeposit = []; + } + message.votingStartTime !== undefined && + (obj.votingStartTime = fromTimestamp(message.votingStartTime).toISOString()); + message.votingEndTime !== undefined && (obj.votingEndTime = fromTimestamp(message.votingEndTime).toISOString()); + return obj; + }, + fromPartial, I>>(object: I): Proposal { + const message = createBaseProposal(); + if (object.proposalId !== undefined && object.proposalId !== null) { + message.proposalId = BigInt(object.proposalId.toString()); + } + if (object.content !== undefined && object.content !== null) { + message.content = Any.fromPartial(object.content); + } + message.status = object.status ?? 0; + if (object.finalTallyResult !== undefined && object.finalTallyResult !== null) { + message.finalTallyResult = TallyResult.fromPartial(object.finalTallyResult); + } + if (object.submitTime !== undefined && object.submitTime !== null) { + message.submitTime = Timestamp.fromPartial(object.submitTime); + } + if (object.depositEndTime !== undefined && object.depositEndTime !== null) { + message.depositEndTime = Timestamp.fromPartial(object.depositEndTime); + } + message.totalDeposit = object.totalDeposit?.map((e) => Coin.fromPartial(e)) || []; + if (object.votingStartTime !== undefined && object.votingStartTime !== null) { + message.votingStartTime = Timestamp.fromPartial(object.votingStartTime); + } + if (object.votingEndTime !== undefined && object.votingEndTime !== null) { + message.votingEndTime = Timestamp.fromPartial(object.votingEndTime); + } + return message; + }, +}; +function createBaseTallyResult(): TallyResult { + return { + yes: '', + abstain: '', + no: '', + noWithVeto: '', + }; +} +export const TallyResult = { + typeUrl: '/govgen.gov.v1beta1.TallyResult', + encode(message: TallyResult, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.yes !== '') { + writer.uint32(10).string(message.yes); + } + if (message.abstain !== '') { + writer.uint32(18).string(message.abstain); + } + if (message.no !== '') { + writer.uint32(26).string(message.no); + } + if (message.noWithVeto !== '') { + writer.uint32(34).string(message.noWithVeto); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TallyResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTallyResult(); + while (reader.pos < end) { + const 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; + }, + fromJSON(object: any): TallyResult { + const obj = createBaseTallyResult(); + if (isSet(object.yes)) obj.yes = String(object.yes); + if (isSet(object.abstain)) obj.abstain = String(object.abstain); + if (isSet(object.no)) obj.no = String(object.no); + if (isSet(object.noWithVeto)) obj.noWithVeto = String(object.noWithVeto); + return obj; + }, + toJSON(message: TallyResult): unknown { + const obj: any = {}; + message.yes !== undefined && (obj.yes = message.yes); + message.abstain !== undefined && (obj.abstain = message.abstain); + message.no !== undefined && (obj.no = message.no); + message.noWithVeto !== undefined && (obj.noWithVeto = message.noWithVeto); + return obj; + }, + fromPartial, I>>(object: I): TallyResult { + const message = createBaseTallyResult(); + message.yes = object.yes ?? ''; + message.abstain = object.abstain ?? ''; + message.no = object.no ?? ''; + message.noWithVeto = object.noWithVeto ?? ''; + return message; + }, +}; +function createBaseVote(): Vote { + return { + proposalId: BigInt(0), + voter: '', + option: 0, + options: [], + }; +} +export const Vote = { + typeUrl: '/govgen.gov.v1beta1.Vote', + encode(message: Vote, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== '') { + writer.uint32(18).string(message.voter); + } + if (message.option !== 0) { + writer.uint32(24).int32(message.option); + } + for (const v of message.options) { + WeightedVoteOption.encode(v!, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Vote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVote(); + while (reader.pos < end) { + const 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() as any; + break; + case 4: + message.options.push(WeightedVoteOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): Vote { + const obj = createBaseVote(); + if (isSet(object.proposalId)) obj.proposalId = BigInt(object.proposalId.toString()); + if (isSet(object.voter)) obj.voter = String(object.voter); + if (isSet(object.option)) obj.option = voteOptionFromJSON(object.option); + if (Array.isArray(object?.options)) obj.options = object.options.map((e: any) => WeightedVoteOption.fromJSON(e)); + return obj; + }, + toJSON(message: Vote): unknown { + const obj: any = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || BigInt(0)).toString()); + message.voter !== undefined && (obj.voter = message.voter); + message.option !== undefined && (obj.option = voteOptionToJSON(message.option)); + if (message.options) { + obj.options = message.options.map((e) => (e ? WeightedVoteOption.toJSON(e) : undefined)); + } else { + obj.options = []; + } + return obj; + }, + fromPartial, I>>(object: I): Vote { + const message = createBaseVote(); + if (object.proposalId !== undefined && object.proposalId !== null) { + message.proposalId = BigInt(object.proposalId.toString()); + } + message.voter = object.voter ?? ''; + message.option = object.option ?? 0; + message.options = object.options?.map((e) => WeightedVoteOption.fromPartial(e)) || []; + return message; + }, +}; +function createBaseDepositParams(): DepositParams { + return { + minDeposit: [], + maxDepositPeriod: undefined, + }; +} +export const DepositParams = { + typeUrl: '/govgen.gov.v1beta1.DepositParams', + encode(message: DepositParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.minDeposit) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.maxDepositPeriod !== undefined) { + Duration.encode(message.maxDepositPeriod, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DepositParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDepositParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.minDeposit.push(Coin.decode(reader, reader.uint32())); + break; + case 2: + message.maxDepositPeriod = Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): DepositParams { + const obj = createBaseDepositParams(); + if (Array.isArray(object?.minDeposit)) obj.minDeposit = object.minDeposit.map((e: any) => Coin.fromJSON(e)); + if (isSet(object.maxDepositPeriod)) obj.maxDepositPeriod = Duration.fromJSON(object.maxDepositPeriod); + return obj; + }, + toJSON(message: DepositParams): unknown { + const obj: any = {}; + if (message.minDeposit) { + obj.minDeposit = message.minDeposit.map((e) => (e ? Coin.toJSON(e) : undefined)); + } else { + obj.minDeposit = []; + } + message.maxDepositPeriod !== undefined && + (obj.maxDepositPeriod = message.maxDepositPeriod ? Duration.toJSON(message.maxDepositPeriod) : undefined); + return obj; + }, + fromPartial, I>>(object: I): DepositParams { + const message = createBaseDepositParams(); + message.minDeposit = object.minDeposit?.map((e) => Coin.fromPartial(e)) || []; + if (object.maxDepositPeriod !== undefined && object.maxDepositPeriod !== null) { + message.maxDepositPeriod = Duration.fromPartial(object.maxDepositPeriod); + } + return message; + }, +}; +function createBaseVotingParams(): VotingParams { + return { + votingPeriodDefault: undefined, + votingPeriodParameterChange: undefined, + votingPeriodSoftwareUpgrade: undefined, + votingPeriodText: undefined, + }; +} +export const VotingParams = { + typeUrl: '/govgen.gov.v1beta1.VotingParams', + encode(message: VotingParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.votingPeriodDefault !== undefined) { + Duration.encode(message.votingPeriodDefault, writer.uint32(10).fork()).ldelim(); + } + if (message.votingPeriodParameterChange !== undefined) { + Duration.encode(message.votingPeriodParameterChange, writer.uint32(18).fork()).ldelim(); + } + if (message.votingPeriodSoftwareUpgrade !== undefined) { + Duration.encode(message.votingPeriodSoftwareUpgrade, writer.uint32(26).fork()).ldelim(); + } + if (message.votingPeriodText !== undefined) { + Duration.encode(message.votingPeriodText, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): VotingParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVotingParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.votingPeriodDefault = Duration.decode(reader, reader.uint32()); + break; + case 2: + message.votingPeriodParameterChange = Duration.decode(reader, reader.uint32()); + break; + case 3: + message.votingPeriodSoftwareUpgrade = Duration.decode(reader, reader.uint32()); + break; + case 4: + message.votingPeriodText = Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): VotingParams { + const obj = createBaseVotingParams(); + if (isSet(object.votingPeriodDefault)) obj.votingPeriodDefault = Duration.fromJSON(object.votingPeriodDefault); + if (isSet(object.votingPeriodParameterChange)) + obj.votingPeriodParameterChange = Duration.fromJSON(object.votingPeriodParameterChange); + if (isSet(object.votingPeriodSoftwareUpgrade)) + obj.votingPeriodSoftwareUpgrade = Duration.fromJSON(object.votingPeriodSoftwareUpgrade); + if (isSet(object.votingPeriodText)) obj.votingPeriodText = Duration.fromJSON(object.votingPeriodText); + return obj; + }, + toJSON(message: VotingParams): unknown { + const obj: any = {}; + message.votingPeriodDefault !== undefined && + (obj.votingPeriodDefault = message.votingPeriodDefault + ? Duration.toJSON(message.votingPeriodDefault) + : undefined); + message.votingPeriodParameterChange !== undefined && + (obj.votingPeriodParameterChange = message.votingPeriodParameterChange + ? Duration.toJSON(message.votingPeriodParameterChange) + : undefined); + message.votingPeriodSoftwareUpgrade !== undefined && + (obj.votingPeriodSoftwareUpgrade = message.votingPeriodSoftwareUpgrade + ? Duration.toJSON(message.votingPeriodSoftwareUpgrade) + : undefined); + message.votingPeriodText !== undefined && + (obj.votingPeriodText = message.votingPeriodText ? Duration.toJSON(message.votingPeriodText) : undefined); + return obj; + }, + fromPartial, I>>(object: I): VotingParams { + const message = createBaseVotingParams(); + if (object.votingPeriodDefault !== undefined && object.votingPeriodDefault !== null) { + message.votingPeriodDefault = Duration.fromPartial(object.votingPeriodDefault); + } + if (object.votingPeriodParameterChange !== undefined && object.votingPeriodParameterChange !== null) { + message.votingPeriodParameterChange = Duration.fromPartial(object.votingPeriodParameterChange); + } + if (object.votingPeriodSoftwareUpgrade !== undefined && object.votingPeriodSoftwareUpgrade !== null) { + message.votingPeriodSoftwareUpgrade = Duration.fromPartial(object.votingPeriodSoftwareUpgrade); + } + if (object.votingPeriodText !== undefined && object.votingPeriodText !== null) { + message.votingPeriodText = Duration.fromPartial(object.votingPeriodText); + } + return message; + }, +}; +function createBaseTallyParams(): TallyParams { + return { + quorum: new Uint8Array(), + threshold: new Uint8Array(), + vetoThreshold: new Uint8Array(), + }; +} +export const TallyParams = { + typeUrl: '/govgen.gov.v1beta1.TallyParams', + encode(message: TallyParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.quorum.length !== 0) { + writer.uint32(10).bytes(message.quorum); + } + if (message.threshold.length !== 0) { + writer.uint32(18).bytes(message.threshold); + } + if (message.vetoThreshold.length !== 0) { + writer.uint32(26).bytes(message.vetoThreshold); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TallyParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTallyParams(); + while (reader.pos < end) { + const 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; + }, + fromJSON(object: any): TallyParams { + const obj = createBaseTallyParams(); + if (isSet(object.quorum)) obj.quorum = bytesFromBase64(object.quorum); + if (isSet(object.threshold)) obj.threshold = bytesFromBase64(object.threshold); + if (isSet(object.vetoThreshold)) obj.vetoThreshold = bytesFromBase64(object.vetoThreshold); + return obj; + }, + toJSON(message: TallyParams): unknown { + const obj: any = {}; + message.quorum !== undefined && + (obj.quorum = base64FromBytes(message.quorum !== undefined ? message.quorum : new Uint8Array())); + message.threshold !== undefined && + (obj.threshold = base64FromBytes(message.threshold !== undefined ? message.threshold : new Uint8Array())); + message.vetoThreshold !== undefined && + (obj.vetoThreshold = base64FromBytes( + message.vetoThreshold !== undefined ? message.vetoThreshold : new Uint8Array(), + )); + return obj; + }, + fromPartial, I>>(object: I): TallyParams { + const message = createBaseTallyParams(); + message.quorum = object.quorum ?? new Uint8Array(); + message.threshold = object.threshold ?? new Uint8Array(); + message.vetoThreshold = object.vetoThreshold ?? new Uint8Array(); + return message; + }, +}; diff --git a/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/timestamp.ts b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/timestamp.ts new file mode 100644 index 00000000..f1c97c88 --- /dev/null +++ b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/timestamp.ts @@ -0,0 +1,161 @@ +/* eslint-disable */ +import { BinaryReader, BinaryWriter } from '../../../binary'; +import { isSet, DeepPartial, Exact } from '../../../helpers'; +export const protobufPackage = 'google.protobuf'; +/** + * A Timestamp represents a point in time independent of any time zone or local + * calendar, encoded as a count of seconds and fractions of seconds at + * nanosecond resolution. The count is relative to an epoch at UTC midnight on + * January 1, 1970, in the proleptic Gregorian calendar which extends the + * Gregorian calendar backwards to year one. + * + * All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + * second table is needed for interpretation, using a [24-hour linear + * smear](https://developers.google.com/time/smear). + * + * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + * restricting to that range, we ensure that we can convert to and from [RFC + * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + * + * # Examples + * + * Example 1: Compute Timestamp from POSIX `time()`. + * + * Timestamp timestamp; + * timestamp.set_seconds(time(NULL)); + * timestamp.set_nanos(0); + * + * Example 2: Compute Timestamp from POSIX `gettimeofday()`. + * + * struct timeval tv; + * gettimeofday(&tv, NULL); + * + * Timestamp timestamp; + * timestamp.set_seconds(tv.tv_sec); + * timestamp.set_nanos(tv.tv_usec * 1000); + * + * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + * + * FILETIME ft; + * GetSystemTimeAsFileTime(&ft); + * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + * + * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + * Timestamp timestamp; + * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + * + * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + * + * long millis = System.currentTimeMillis(); + * + * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + * .setNanos((int) ((millis % 1000) * 1000000)).build(); + * + * + * Example 5: Compute Timestamp from current time in Python. + * + * timestamp = Timestamp() + * timestamp.GetCurrentTime() + * + * # JSON Mapping + * + * In JSON format, the Timestamp type is encoded as a string in the + * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + * where {year} is always expressed using four digits while {month}, {day}, + * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + * is required. A proto3 JSON serializer should always use UTC (as indicated by + * "Z") when printing the Timestamp type and a proto3 JSON parser should be + * able to accept both UTC and other timezones (as indicated by an offset). + * + * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + * 01:30 UTC on January 15, 2017. + * + * In JavaScript, one can convert a Date object to this format using the + * standard + * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + * method. In Python, a standard `datetime.datetime` object can be converted + * to this format using + * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + * the Joda Time's [`ISODateTimeFormat.dateTime()`]( + * http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + * ) to obtain a formatter capable of generating timestamps in this format. + */ +export interface Timestamp { + /** + * Represents seconds of UTC time since Unix epoch + * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + * 9999-12-31T23:59:59Z inclusive. + */ + seconds: bigint; + /** + * Non-negative fractions of a second at nanosecond resolution. Negative + * second values with fractions must still have non-negative nanos values + * that count forward in time. Must be from 0 to 999,999,999 + * inclusive. + */ + nanos: number; +} +function createBaseTimestamp(): Timestamp { + return { + seconds: BigInt(0), + nanos: 0, + }; +} +export const Timestamp = { + typeUrl: '/google.protobuf.Timestamp', + encode(message: Timestamp, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.seconds !== BigInt(0)) { + writer.uint32(8).int64(message.seconds); + } + if (message.nanos !== 0) { + writer.uint32(16).int32(message.nanos); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Timestamp { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTimestamp(); + while (reader.pos < end) { + const 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; + }, + fromJSON(object: any): Timestamp { + const obj = createBaseTimestamp(); + if (isSet(object.seconds)) obj.seconds = BigInt(object.seconds.toString()); + if (isSet(object.nanos)) obj.nanos = Number(object.nanos); + return obj; + }, + toJSON(message: Timestamp): unknown { + const obj: any = {}; + message.seconds !== undefined && (obj.seconds = (message.seconds || BigInt(0)).toString()); + message.nanos !== undefined && (obj.nanos = Math.round(message.nanos)); + return obj; + }, + fromPartial, I>>(object: I): Timestamp { + const message = createBaseTimestamp(); + if (object.seconds !== undefined && object.seconds !== null) { + message.seconds = BigInt(object.seconds.toString()); + } + message.nanos = object.nanos ?? 0; + return message; + }, +}; diff --git a/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/tx.amino.ts b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/tx.amino.ts new file mode 100644 index 00000000..0b74ca68 --- /dev/null +++ b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/tx.amino.ts @@ -0,0 +1,113 @@ +/* eslint-disable */ +import { AminoMsg } from '@cosmjs/amino'; +import { voteOptionFromJSON } from './gov'; +import { MsgDeposit, MsgVote, MsgVoteWeighted } from './tx'; +export interface MsgSubmitProposalAminoType extends AminoMsg { + type: 'cosmos-sdk/MsgSubmitProposal'; + value: { + content: { + type_url: string; + value: Uint8Array; + }; + initial_deposit: { + denom: string; + amount: string; + }[]; + proposer: string; + }; +} +export interface MsgVoteAminoType extends AminoMsg { + type: 'cosmos-sdk/MsgVote'; + value: { + proposal_id: string; + voter: string; + option: number; + }; +} +export interface MsgVoteWeightedAminoType extends AminoMsg { + type: 'cosmos-sdk/MsgVoteWeighted'; + value: { + proposal_id: string; + voter: string; + options: { + option: number; + weight: string; + }[]; + }; +} +export interface MsgDepositAminoType extends AminoMsg { + type: 'cosmos-sdk/MsgDeposit'; + value: { + proposal_id: string; + depositor: string; + amount: { + denom: string; + amount: string; + }[]; + }; +} +export const AminoConverter = { + '/govgen.gov.v1beta1.MsgVote': { + aminoType: 'cosmos-sdk/MsgVote', + toAmino: ({ proposalId, voter, option }: MsgVote): MsgVoteAminoType['value'] => { + return { + proposal_id: proposalId.toString(), + voter, + option, + }; + }, + fromAmino: ({ proposal_id, voter, option }: MsgVoteAminoType['value']): MsgVote => { + return { + proposalId: BigInt(proposal_id), + voter, + option: voteOptionFromJSON(option), + }; + }, + }, + '/govgen.gov.v1beta1.MsgVoteWeighted': { + aminoType: 'cosmos-sdk/MsgVoteWeighted', + toAmino: ({ proposalId, voter, options }: MsgVoteWeighted): MsgVoteWeightedAminoType['value'] => { + return { + proposal_id: proposalId.toString(), + voter, + options: options.map((el0) => ({ + option: el0.option, + weight: el0.weight, + })), + }; + }, + fromAmino: ({ proposal_id, voter, options }: MsgVoteWeightedAminoType['value']): MsgVoteWeighted => { + return { + proposalId: BigInt(proposal_id), + voter, + options: options.map((el0) => ({ + option: voteOptionFromJSON(el0.option), + weight: el0.weight, + })), + }; + }, + }, + '/govgen.gov.v1beta1.MsgDeposit': { + aminoType: 'cosmos-sdk/MsgDeposit', + toAmino: ({ proposalId, depositor, amount }: MsgDeposit): MsgDepositAminoType['value'] => { + return { + proposal_id: proposalId.toString(), + depositor, + amount: amount.map((el0) => ({ + denom: el0.denom, + amount: el0.amount, + })), + }; + }, + fromAmino: ({ proposal_id, depositor, amount }: MsgDepositAminoType['value']): MsgDeposit => { + return { + proposalId: BigInt(proposal_id), + depositor, + amount: amount.map((el0) => ({ + denom: el0.denom, + amount: el0.amount, + })), + }; + }, + }, +}; diff --git a/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/tx.registry.ts b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/tx.registry.ts new file mode 100644 index 00000000..66be851a --- /dev/null +++ b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/tx.registry.ts @@ -0,0 +1,118 @@ +/* eslint-disable */ +import { Registry } from '@cosmjs/proto-signing'; + +import { MsgDeposit, MsgVote, MsgVoteWeighted } from './tx'; +import { TelescopeGeneratedType } from './types'; + +export const registry: ReadonlyArray<[string, TelescopeGeneratedType]> = [ + ['/govgen.gov.v1beta1.MsgVote', MsgVote], + ['/govgen.gov.v1beta1.MsgVoteWeighted', MsgVoteWeighted], + ['/govgen.gov.v1beta1.MsgDeposit', MsgDeposit], +]; +export const load = (protoRegistry: Registry) => { + registry.forEach(([typeUrl, mod]) => { + protoRegistry.register(typeUrl, mod); + }); +}; +export const MessageComposer = { + encoded: { + vote(value: MsgVote) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgVote', + value: MsgVote.encode(value).finish(), + }; + }, + voteWeighted(value: MsgVoteWeighted) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgVoteWeighted', + value: MsgVoteWeighted.encode(value).finish(), + }; + }, + deposit(value: MsgDeposit) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgDeposit', + value: MsgDeposit.encode(value).finish(), + }; + }, + }, + withTypeUrl: { + vote(value: MsgVote) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgVote', + value, + }; + }, + voteWeighted(value: MsgVoteWeighted) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgVoteWeighted', + value, + }; + }, + deposit(value: MsgDeposit) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgDeposit', + value, + }; + }, + }, + toJSON: { + vote(value: MsgVote) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgVote', + value: MsgVote.toJSON(value), + }; + }, + voteWeighted(value: MsgVoteWeighted) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgVoteWeighted', + value: MsgVoteWeighted.toJSON(value), + }; + }, + deposit(value: MsgDeposit) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgDeposit', + value: MsgDeposit.toJSON(value), + }; + }, + }, + fromJSON: { + vote(value: any) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgVote', + value: MsgVote.fromJSON(value), + }; + }, + voteWeighted(value: any) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgVoteWeighted', + value: MsgVoteWeighted.fromJSON(value), + }; + }, + deposit(value: any) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgDeposit', + value: MsgDeposit.fromJSON(value), + }; + }, + }, + fromPartial: { + vote(value: MsgVote) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgVote', + value: MsgVote.fromPartial(value), + }; + }, + voteWeighted(value: MsgVoteWeighted) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgVoteWeighted', + value: MsgVoteWeighted.fromPartial(value), + }; + }, + deposit(value: MsgDeposit) { + return { + typeUrl: '/govgen.gov.v1beta1.MsgDeposit', + value: MsgDeposit.fromPartial(value), + }; + }, + }, +}; diff --git a/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/tx.ts b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/tx.ts new file mode 100644 index 00000000..7afdad4e --- /dev/null +++ b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/tx.ts @@ -0,0 +1,397 @@ +/* eslint-disable */ +import Long from 'long'; + +import { BinaryReader, BinaryWriter } from '../../../binary'; +import { DeepPartial, Exact, isSet } from '../../../helpers'; +import { Coin } from './coin'; +import { VoteOption, WeightedVoteOption, voteOptionFromJSON, voteOptionToJSON } from './gov'; +import { TxRpc } from './types'; +export const protobufPackage = 'govgen.gov.v1beta1'; + +/** MsgVote defines a message to cast a vote. */ +export interface MsgVote { + proposalId: bigint | Long; + voter: string; + option: VoteOption; +} +/** MsgVoteResponse defines the Msg/Vote response type. */ +export interface MsgVoteResponse {} +/** + * MsgVoteWeighted defines a message to cast a vote. + * + * Since: cosmos-sdk 0.43 + */ +export interface MsgVoteWeighted { + proposalId: bigint; + voter: string; + options: WeightedVoteOption[]; +} +/** + * MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. + * + * Since: cosmos-sdk 0.43 + */ +export interface MsgVoteWeightedResponse {} +/** MsgDeposit defines a message to submit a deposit to an existing proposal. */ +export interface MsgDeposit { + proposalId: bigint; + depositor: string; + amount: Coin[]; +} +/** MsgDepositResponse defines the Msg/Deposit response type. */ +export interface MsgDepositResponse {} + +function createBaseMsgVote(): MsgVote { + return { + proposalId: BigInt(0), + voter: '', + option: 0, + }; +} +export const MsgVote = { + typeUrl: '/govgen.gov.v1beta1.MsgVote', + encode(message: MsgVote, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (typeof message.proposalId === 'bigint' ? message.proposalId !== BigInt(0) : !message.proposalId.isZero()) { + writer.uint32(8).uint64(message.proposalId?.toString()); + } + if (message.voter !== '') { + writer.uint32(18).string(message.voter); + } + if (message.option !== 0) { + writer.uint32(24).int32(message.option); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgVote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVote(); + while (reader.pos < end) { + const 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() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): MsgVote { + const obj = createBaseMsgVote(); + if (isSet(object.proposalId)) obj.proposalId = BigInt(object.proposalId.toString()); + if (isSet(object.voter)) obj.voter = String(object.voter); + if (isSet(object.option)) obj.option = voteOptionFromJSON(object.option); + return obj; + }, + toJSON(message: MsgVote): any { + const obj: any = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || BigInt(0)).toString()); + message.voter !== undefined && (obj.voter = message.voter); + message.option !== undefined && (obj.option = voteOptionToJSON(message.option)); + return obj; + }, + fromPartial, I>>(object: I): MsgVote { + const message = createBaseMsgVote(); + if (object.proposalId !== undefined && object.proposalId !== null) { + message.proposalId = BigInt(object.proposalId.toString()); + } + message.voter = object.voter ?? ''; + message.option = object.option ?? 0; + return message; + }, +}; +function createBaseMsgVoteResponse(): MsgVoteResponse { + return {}; +} +export const MsgVoteResponse = { + typeUrl: '/govgen.gov.v1beta1.MsgVoteResponse', + encode(_: MsgVoteResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgVoteResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_: any): MsgVoteResponse { + const obj = createBaseMsgVoteResponse(); + return obj; + }, + toJSON(_: MsgVoteResponse): unknown { + const obj: any = {}; + return obj; + }, + fromPartial, I>>(_: I): MsgVoteResponse { + const message = createBaseMsgVoteResponse(); + return message; + }, +}; +function createBaseMsgVoteWeighted(): MsgVoteWeighted { + return { + proposalId: BigInt(0), + voter: '', + options: [], + }; +} +export const MsgVoteWeighted = { + typeUrl: '/govgen.gov.v1beta1.MsgVoteWeighted', + encode(message: MsgVoteWeighted, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== '') { + writer.uint32(18).string(message.voter); + } + for (const v of message.options) { + WeightedVoteOption.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgVoteWeighted { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteWeighted(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.voter = reader.string(); + break; + case 3: + message.options.push(WeightedVoteOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): MsgVoteWeighted { + const obj = createBaseMsgVoteWeighted(); + if (isSet(object.proposalId)) obj.proposalId = BigInt(object.proposalId.toString()); + if (isSet(object.voter)) obj.voter = String(object.voter); + if (Array.isArray(object?.options)) obj.options = object.options.map((e: any) => WeightedVoteOption.fromJSON(e)); + return obj; + }, + toJSON(message: MsgVoteWeighted): any { + const obj: any = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || BigInt(0)).toString()); + message.voter !== undefined && (obj.voter = message.voter); + if (message.options) { + obj.options = message.options.map((e) => (e ? WeightedVoteOption.toJSON(e) : undefined)); + } else { + obj.options = []; + } + return obj; + }, + fromPartial, I>>(object: I): MsgVoteWeighted { + const message = createBaseMsgVoteWeighted(); + if (object.proposalId !== undefined && object.proposalId !== null) { + message.proposalId = BigInt(object.proposalId.toString()); + } + message.voter = object.voter ?? ''; + message.options = object.options?.map((e) => WeightedVoteOption.fromPartial(e)) || []; + return message; + }, +}; +function createBaseMsgVoteWeightedResponse(): MsgVoteWeightedResponse { + return {}; +} +export const MsgVoteWeightedResponse = { + typeUrl: '/govgen.gov.v1beta1.MsgVoteWeightedResponse', + encode(_: MsgVoteWeightedResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgVoteWeightedResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteWeightedResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_: any): MsgVoteWeightedResponse { + const obj = createBaseMsgVoteWeightedResponse(); + return obj; + }, + toJSON(_: MsgVoteWeightedResponse): unknown { + const obj: any = {}; + return obj; + }, + fromPartial, I>>(_: I): MsgVoteWeightedResponse { + const message = createBaseMsgVoteWeightedResponse(); + return message; + }, +}; +function createBaseMsgDeposit(): MsgDeposit { + return { + proposalId: BigInt(0), + depositor: '', + amount: [], + }; +} +export const MsgDeposit = { + typeUrl: '/govgen.gov.v1beta1.MsgDeposit', + encode(message: MsgDeposit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.depositor !== '') { + writer.uint32(18).string(message.depositor); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDeposit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.depositor = reader.string(); + break; + case 3: + message.amount.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): MsgDeposit { + const obj = createBaseMsgDeposit(); + if (isSet(object.proposalId)) obj.proposalId = BigInt(object.proposalId.toString()); + if (isSet(object.depositor)) obj.depositor = String(object.depositor); + if (Array.isArray(object?.amount)) obj.amount = object.amount.map((e: any) => Coin.fromJSON(e)); + return obj; + }, + toJSON(message: MsgDeposit): any { + const obj: any = {}; + message.proposalId !== undefined && (obj.proposalId = (message.proposalId || BigInt(0)).toString()); + message.depositor !== undefined && (obj.depositor = message.depositor); + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toJSON(e) : undefined)); + } else { + obj.amount = []; + } + return obj; + }, + fromPartial, I>>(object: I): MsgDeposit { + const message = createBaseMsgDeposit(); + if (object.proposalId !== undefined && object.proposalId !== null) { + message.proposalId = BigInt(object.proposalId.toString()); + } + message.depositor = object.depositor ?? ''; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; +function createBaseMsgDepositResponse(): MsgDepositResponse { + return {}; +} +export const MsgDepositResponse = { + typeUrl: '/govgen.gov.v1beta1.MsgDepositResponse', + encode(_: MsgDepositResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDepositResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDepositResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(_: any): MsgDepositResponse { + const obj = createBaseMsgDepositResponse(); + return obj; + }, + toJSON(_: MsgDepositResponse): unknown { + const obj: any = {}; + return obj; + }, + fromPartial, I>>(_: I): MsgDepositResponse { + const message = createBaseMsgDepositResponse(); + return message; + }, +}; +/** Msg defines the bank Msg service. */ +export interface Msg { + /** Vote defines a method to add a vote on a specific proposal. */ + Vote(request: MsgVote): Promise; + /** + * VoteWeighted defines a method to add a weighted vote on a specific proposal. + * + * Since: cosmos-sdk 0.43 + */ + VoteWeighted(request: MsgVoteWeighted): Promise; + /** Deposit defines a method to add deposit on a specific proposal. */ + Deposit(request: MsgDeposit): Promise; +} +export class MsgClientImpl implements Msg { + private readonly rpc: TxRpc; + constructor(rpc: TxRpc) { + this.rpc = rpc; + this.Vote = this.Vote.bind(this); + this.VoteWeighted = this.VoteWeighted.bind(this); + this.Deposit = this.Deposit.bind(this); + } + Vote(request: MsgVote): Promise { + const data = MsgVote.encode(request).finish(); + const promise = this.rpc.request('govgen.gov.v1beta1.Msg', 'Vote', data); + return promise.then((data) => MsgVoteResponse.decode(new BinaryReader(data))); + } + VoteWeighted(request: MsgVoteWeighted): Promise { + const data = MsgVoteWeighted.encode(request).finish(); + const promise = this.rpc.request('govgen.gov.v1beta1.Msg', 'VoteWeighted', data); + return promise.then((data) => MsgVoteWeightedResponse.decode(new BinaryReader(data))); + } + Deposit(request: MsgDeposit): Promise { + const data = MsgDeposit.encode(request).finish(); + const promise = this.rpc.request('govgen.gov.v1beta1.Msg', 'Deposit', data); + return promise.then((data) => MsgDepositResponse.decode(new BinaryReader(data))); + } +} diff --git a/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/types.ts b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/types.ts new file mode 100644 index 00000000..705251b3 --- /dev/null +++ b/packages/wallet-sdk/src/proto/govgen/gov/v1beta1/types.ts @@ -0,0 +1,148 @@ +/* eslint-disable */ +/** + * This file and any referenced files were automatically generated by @cosmology/telescope@1.4.12 + * DO NOT MODIFY BY HAND. Instead, download the latest proto files for your chain + * and run the transpile command or yarn proto command to regenerate this bundle. + */ + +import { IBinaryReader, IBinaryWriter } from '../../../binary'; +import { Any } from './any'; +import { OfflineSigner } from '@cosmjs/proto-signing'; +import { HttpEndpoint } from '@cosmjs/tendermint-rpc'; + +export type ProtoMsg = Omit & { typeUrl: any }; + +export interface IAminoMsg { + type: any; + value: Amino; +} + +export interface IProtoType { + $typeUrl?: any; +} + +/** + * A type generated by Telescope 1.0. + */ +export interface TelescopeGeneratedCodec { + readonly typeUrl: string; + readonly aminoType?: string; + is?(o: unknown): o is T; + isSDK?(o: unknown): o is SDK; + isAmino?(o: unknown): o is Amino; + encode: (message: T, writer?: IBinaryWriter | any) => IBinaryWriter | any; + decode: (input: IBinaryReader | Uint8Array | any, length?: number) => T; + fromPartial: (object: any) => T | any; + fromJSON: (object: any) => T | any; + toJSON: (message: T | any) => any; + fromSDK?: (sdk: SDK) => T; + fromSDKJSON?: (object: any) => SDK; + toSDK?: (message: T) => SDK; + fromAmino?: (amino: Amino) => T; + toAmino?: (message: T) => Amino; + fromAminoMsg?: (aminoMsg: IAminoMsg) => T; + toAminoMsg?: (message: T) => IAminoMsg; + toProto?: (message: T) => Uint8Array; + fromProtoMsg?: (message: ProtoMsg) => T; + toProtoMsg?: (message: T) => Any; +} + +export type TelescopeGeneratedType = TelescopeGeneratedCodec< + T, + SDK, + Amino +>; + +export type GeneratedType = TelescopeGeneratedCodec; + +/** + * Coin defines a token with a denomination and an amount. + * + * NOTE: The amount field is an Int which implements the custom method + * signatures required by gogoproto. + */ +export interface Coin { + denom: string; + amount: string; +} + +export type EncodeObject = Message; + +export interface Message { + typeUrl: string; + value: T; +} + +export interface StdFee { + amount: Coin[]; + gas: string; + /** The granter address that is used for paying with feegrants */ + granter?: string; + /** The fee payer address. The payer must have signed the transaction. */ + payer?: string; +} + +export interface MsgData { + msgType: string; + data: Uint8Array; +} + +export interface Attribute { + key: string; + value: string; + index: boolean; +} +export interface Event { + type: string; + attributes: Attribute[]; +} + +/** + * The response after successfully broadcasting a transaction. + * Success or failure refer to the execution result. + */ +export interface DeliverTxResponse { + height: number; + /** The position of the transaction within the block. This is a 0-based index. */ + txIndex: number; + /** Error code. The transaction suceeded if and only if code is 0. */ + code: number; + transactionHash: string; + events: Event[]; + /** + * A string-based log document. + * + * This currently seems to merge attributes of multiple events into one event per type + * (https://github.com/tendermint/tendermint/issues/9595). You might want to use the `events` + * field instead. + */ + rawLog?: string; + /** @deprecated Use `msgResponses` instead. */ + data?: MsgData[]; + /** + * The message responses of the [TxMsgData](https://github.com/cosmos/cosmos-sdk/blob/v0.46.3/proto/cosmos/base/abci/v1beta1/abci.proto#L128-L140) + * as `Any`s. + * This field is an empty list for chains running Cosmos SDK < 0.46. + */ + msgResponses: Array<{ + typeUrl: string; + value: Uint8Array; + }>; + gasUsed: bigint; + gasWanted: bigint; +} + +export interface TxRpc { + request(service: string, method: string, data: Uint8Array): Promise; + signAndBroadcast?( + signerAddress: string, + messages: EncodeObject[], + fee: StdFee | 'auto' | number, + memo: string, + ): Promise; +} + +export interface SigningClientParams { + rpcEndpoint: string | HttpEndpoint; + signer: OfflineSigner; +} diff --git a/packages/wallet-sdk/src/proto/initia/mstaking/staking.ts b/packages/wallet-sdk/src/proto/initia/mstaking/staking.ts index 05a0df0b..9afd7cf4 100644 --- a/packages/wallet-sdk/src/proto/initia/mstaking/staking.ts +++ b/packages/wallet-sdk/src/proto/initia/mstaking/staking.ts @@ -3,13 +3,13 @@ import { Pubkey } from '@cosmjs/amino'; import { Decimal } from '@cosmjs/math'; import { decodePubkey, encodePubkey } from '@cosmjs/proto-signing'; +import { Any, AnyAmino, AnyProtoMsg, AnySDKType } from 'cosmjs-types/google/protobuf/any'; +import { Duration, DurationAmino, DurationSDKType } from 'cosmjs-types/google/protobuf/duration'; +import { Timestamp } from 'cosmjs-types/google/protobuf/timestamp'; import { BinaryReader, BinaryWriter } from '../../binary'; import { Coin, CoinAmino, CoinSDKType, DecCoin, DecCoinAmino, DecCoinSDKType } from '../../coin'; import { fromTimestamp, toTimestamp } from '../../helpers'; -import { Any, AnyAmino, AnyProtoMsg, AnySDKType } from './any'; -import { Duration, DurationAmino, DurationSDKType } from './duration'; -import { Timestamp } from './timestamp'; /** BondStatus is the status of a validator. */ export enum BondStatus { /** BOND_STATUS_UNSPECIFIED - UNSPECIFIED defines an invalid validator status. */ diff --git a/packages/wallet-sdk/src/proto/injective/client/base/BaseRestConsumer.ts b/packages/wallet-sdk/src/proto/injective/client/base/BaseRestConsumer.ts new file mode 100644 index 00000000..2ed21840 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/client/base/BaseRestConsumer.ts @@ -0,0 +1,31 @@ +/* eslint-disable @typescript-eslint/ban-types */ +import { HttpRequestException } from '../../exceptions/src'; +import { StatusCodes } from '../../utils'; +import { HttpRestClient } from '../../utils/classes'; + +/** + * @hidden + */ +export default class BaseRestConsumer extends HttpRestClient { + protected retry(httpCall: Function, retries: number = 3, delay: number = 1000): Promise { + const retryHttpCall = async (attempt = 1): Promise => { + try { + return (await httpCall()) as TResponse; + } catch (e: any) { + if (e instanceof HttpRequestException) { + if (e.code === StatusCodes.REQUEST_TOO_LONG) { + throw e; + } + } + + if (attempt >= retries) { + throw e; + } + + return new Promise((resolve) => setTimeout(() => resolve(retryHttpCall(attempt + 1)), delay * attempt)); + } + }; + + return retryHttpCall(); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/client/chain/index.ts b/packages/wallet-sdk/src/proto/injective/client/chain/index.ts new file mode 100644 index 00000000..fd2b43fc --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/client/chain/index.ts @@ -0,0 +1,2 @@ +export * from './rest'; +export * from './types'; diff --git a/packages/wallet-sdk/src/proto/injective/client/chain/rest/ChainRestAuthApi.ts b/packages/wallet-sdk/src/proto/injective/client/chain/rest/ChainRestAuthApi.ts new file mode 100644 index 00000000..2f166c32 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/client/chain/rest/ChainRestAuthApi.ts @@ -0,0 +1,67 @@ +import { HttpRequestException, UnspecifiedErrorCode } from '../../../exceptions/src'; +import BaseRestConsumer from '../../base/BaseRestConsumer'; +import { ChainModule, RestApiResponse } from '../types'; +import { AccountResponse, BaseAccountRestResponse, CosmosAccountRestResponse } from './../types/auth-rest'; + +/** + * @category Chain Rest API + */ +export class ChainRestAuthApi extends BaseRestConsumer { + /** + * Looks up the account information for the Injective address. + * + * @param address address of account to look up + */ + public async fetchAccount(address: string, params: Record = {}): Promise { + const endpoint = `cosmos/auth/v1beta1/accounts/${address}`; + + try { + const response = await this.retry>(() => this.get(endpoint, params)); + + return response.data; + } catch (e: unknown) { + if (e instanceof HttpRequestException) { + throw e; + } + + throw new HttpRequestException(new Error((e as any).message), { + code: UnspecifiedErrorCode, + context: `${this.endpoint}/${endpoint}`, + contextModule: ChainModule.Auth, + }); + } + } + + /** + * Looks up the account information for any cosmos chain address. + * + * @param address address of account to look up + */ + public async fetchCosmosAccount(address: string, params: Record = {}): Promise { + const endpoint = `cosmos/auth/v1beta1/accounts/${address}`; + + try { + const isInjectiveAddress = address.startsWith('inj') || address.startsWith('evmos'); + + const response = await this.retry>(() => + this.get(endpoint, params), + ); + + const baseAccount = isInjectiveAddress + ? (response.data as AccountResponse).account.base_account + : (response.data as CosmosAccountRestResponse).account; + + return baseAccount; + } catch (e) { + if (e instanceof HttpRequestException) { + throw e; + } + + throw new HttpRequestException(new Error((e as any).message), { + code: UnspecifiedErrorCode, + context: `${this.endpoint}/${endpoint}`, + contextModule: ChainModule.Auth, + }); + } + } +} diff --git a/packages/wallet-sdk/src/proto/injective/client/chain/rest/ChainRestTendermintApi.ts b/packages/wallet-sdk/src/proto/injective/client/chain/rest/ChainRestTendermintApi.ts new file mode 100644 index 00000000..67e0c88e --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/client/chain/rest/ChainRestTendermintApi.ts @@ -0,0 +1,55 @@ +import { HttpRequestException, UnspecifiedErrorCode } from '../../../exceptions/src'; +import BaseRestConsumer from '../../base/BaseRestConsumer'; +import { ChainModule, RestApiResponse } from '../types'; +import { BlockLatestRestResponse, NodeInfoRestResponse } from './../types/tendermint-rest'; + +/** + * @category Chain Rest API + */ +export class ChainRestTendermintApi extends BaseRestConsumer { + async fetchLatestBlock(params: Record = {}): Promise { + const endpoint = `cosmos/base/tendermint/v1beta1/blocks/latest`; + + try { + const response = await this.retry>(() => this.get(endpoint, params)); + + return response.data.block; + } catch (e) { + if (e instanceof HttpRequestException) { + throw e; + } + + throw new HttpRequestException(new Error((e as any).message), { + code: UnspecifiedErrorCode, + context: `${this.endpoint}/${endpoint}`, + contextModule: ChainModule.Tendermint, + }); + } + } + + async fetchNodeInfo(params: Record = {}): Promise<{ + nodeInfo: NodeInfoRestResponse['default_node_info']; + applicationVersion: NodeInfoRestResponse['application_version']; + }> { + const endpoint = `cosmos/base/tendermint/v1beta1/node_info`; + + try { + const response = await this.retry>(() => this.get(endpoint, params)); + + return { + nodeInfo: response.data.default_node_info, + applicationVersion: response.data.application_version, + }; + } catch (e) { + if (e instanceof HttpRequestException) { + throw e; + } + + throw new HttpRequestException(new Error((e as any).message), { + code: UnspecifiedErrorCode, + context: `${this.endpoint}/${endpoint}`, + contextModule: ChainModule.Tendermint, + }); + } + } +} diff --git a/packages/wallet-sdk/src/proto/injective/client/chain/rest/index.ts b/packages/wallet-sdk/src/proto/injective/client/chain/rest/index.ts new file mode 100644 index 00000000..7a39717f --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/client/chain/rest/index.ts @@ -0,0 +1,2 @@ +export { ChainRestAuthApi } from './ChainRestAuthApi'; +export { ChainRestTendermintApi } from './ChainRestTendermintApi'; diff --git a/packages/wallet-sdk/src/proto/injective/client/chain/types/auth-rest.ts b/packages/wallet-sdk/src/proto/injective/client/chain/types/auth-rest.ts new file mode 100644 index 00000000..4de6cd2e --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/client/chain/types/auth-rest.ts @@ -0,0 +1,57 @@ +export interface AccountsResponse { + accounts: { + '@type': string; + code_hash: string; + base_account: { + address: string; + account_number: string; + sequence: string; + pub_key: { + '@type': string; + key: string; + }; + }; + }[]; + pagination: { + nextKey?: string; + total: string; + }; +} + +export interface AccountResponse { + account: { + '@type': string; + code_hash: string; + base_account: { + address: string; + account_number: string; + sequence: string; + pub_key: { + '@type': string; + key: string; + }; + }; + }; +} + +export interface CosmosAccountRestResponse { + account: { + address: string; + account_number: string; + sequence: string; + pub_key: { + '@type': string; + key: string; + }; + }; +} + +export interface BaseAccountRestResponse { + address: string; + account_number: string; + sequence: string; + pub_key: { + '@type': string; + key: string; + }; +} diff --git a/packages/wallet-sdk/src/proto/injective/client/chain/types/index.ts b/packages/wallet-sdk/src/proto/injective/client/chain/types/index.ts new file mode 100644 index 00000000..4ce9d3c6 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/client/chain/types/index.ts @@ -0,0 +1,7 @@ +import { ChainErrorModule } from '../../../exceptions/src'; + +export interface RestApiResponse { + data: T; +} + +export const ChainModule = { ...ChainErrorModule }; diff --git a/packages/wallet-sdk/src/proto/injective/client/chain/types/tendermint-rest.ts b/packages/wallet-sdk/src/proto/injective/client/chain/types/tendermint-rest.ts new file mode 100644 index 00000000..614e6154 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/client/chain/types/tendermint-rest.ts @@ -0,0 +1,72 @@ +export interface BlockLatestRestResponse { + block_id: { + hash: string; + part_set_header: { + total: number; + hash: string; + }; + }; + block: { + header: { + version: { + block: string; + app: string; + }; + chain_id: string; + height: string; + time: Date; + last_block_id: { + hash: string; + part_set_header: { + total: 0; + hash: string; + }; + }; + last_commit_hash: string; + data_hash: string; + validators_hash: string; + next_validators_hash: string; + consensus_hash: string; + app_hash: string; + last_results_hash: string; + evidence_hash: string; + proposer_address: string; + }; + }; +} + +export interface NodeInfoRestResponse { + default_node_info: { + protocol_version: { + p2p: string; + block: string; + app: string; + }; + default_node_id: string; + listen_addr: string; + network: string; + version: string; + channels: string; + moniker: string; + other: { + tx_index: string; + rpc_address: string; + }; + }; + application_version: { + name: string; + app_name: string; + version: string; + git_commit: string; + build_tags: string; + go_version: string; + build_deps: [ + { + path: string; + version: string; + sum: string; + }, + ]; + cosmos_sdk_version: string; + }; +} diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/authz/v1beta1/authz.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/authz/v1beta1/authz.ts new file mode 100644 index 00000000..f9259f22 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/authz/v1beta1/authz.ts @@ -0,0 +1,685 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Any, AnyAmino, AnyProtoMsg, AnySDKType } from 'cosmjs-types/google/protobuf/any'; +import { Timestamp } from 'cosmjs-types/google/protobuf/timestamp'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { fromTimestamp, toTimestamp } from '../../../../../helpers'; +import { + ContractExecutionAuthorization, + ContractExecutionAuthorizationProtoMsg, + ContractExecutionAuthorizationSDKType, + ContractMigrationAuthorization, + ContractMigrationAuthorizationProtoMsg, + ContractMigrationAuthorizationSDKType, + StoreCodeAuthorization, + StoreCodeAuthorizationProtoMsg, + StoreCodeAuthorizationSDKType, +} from '../../../cosmwasm/wasm/v1/authz'; +import { + TransferAuthorization, + TransferAuthorizationProtoMsg, + TransferAuthorizationSDKType, +} from '../../../ibc/applications/transfer/v1/authz'; +import { SendAuthorization, SendAuthorizationProtoMsg, SendAuthorizationSDKType } from '../../bank/v1beta1/authz'; +import { StakeAuthorization, StakeAuthorizationProtoMsg, StakeAuthorizationSDKType } from '../../staking/v1beta1/authz'; +/** + * GenericAuthorization gives the grantee unrestricted permissions to execute + * the provided method on behalf of the granter's account. + */ +export interface GenericAuthorization { + $typeUrl?: '/cosmos.authz.v1beta1.GenericAuthorization'; + /** Msg, identified by it's type URL, to grant unrestricted permissions to execute */ + msg: string; +} +export interface GenericAuthorizationProtoMsg { + typeUrl: '/cosmos.authz.v1beta1.GenericAuthorization'; + value: Uint8Array; +} +/** + * GenericAuthorization gives the grantee unrestricted permissions to execute + * the provided method on behalf of the granter's account. + */ +export interface GenericAuthorizationAmino { + /** Msg, identified by it's type URL, to grant unrestricted permissions to execute */ + msg?: string; +} +export interface GenericAuthorizationAminoMsg { + type: 'cosmos-sdk/GenericAuthorization'; + value: GenericAuthorizationAmino; +} +/** + * GenericAuthorization gives the grantee unrestricted permissions to execute + * the provided method on behalf of the granter's account. + */ +export interface GenericAuthorizationSDKType { + $typeUrl?: '/cosmos.authz.v1beta1.GenericAuthorization'; + msg: string; +} +/** + * Grant gives permissions to execute + * the provide method with expiration time. + */ +export interface Grant { + authorization?: + | GenericAuthorization + | SendAuthorization + | StakeAuthorization + | StoreCodeAuthorization + | ContractExecutionAuthorization + | ContractMigrationAuthorization + | TransferAuthorization + | Any + | undefined; + /** + * time when the grant will expire and will be pruned. If null, then the grant + * doesn't have a time expiration (other conditions in `authorization` + * may apply to invalidate the grant) + */ + expiration?: Date; +} +export interface GrantProtoMsg { + typeUrl: '/cosmos.authz.v1beta1.Grant'; + value: Uint8Array; +} +export type GrantEncoded = Omit & { + authorization?: + | GenericAuthorizationProtoMsg + | SendAuthorizationProtoMsg + | StakeAuthorizationProtoMsg + | StoreCodeAuthorizationProtoMsg + | ContractExecutionAuthorizationProtoMsg + | ContractMigrationAuthorizationProtoMsg + | TransferAuthorizationProtoMsg + | AnyProtoMsg + | undefined; +}; +/** + * Grant gives permissions to execute + * the provide method with expiration time. + */ +export interface GrantAmino { + authorization?: AnyAmino; + /** + * time when the grant will expire and will be pruned. If null, then the grant + * doesn't have a time expiration (other conditions in `authorization` + * may apply to invalidate the grant) + */ + expiration?: string; +} +export interface GrantAminoMsg { + type: 'cosmos-sdk/Grant'; + value: GrantAmino; +} +/** + * Grant gives permissions to execute + * the provide method with expiration time. + */ +export interface GrantSDKType { + authorization?: + | GenericAuthorizationSDKType + | SendAuthorizationSDKType + | StakeAuthorizationSDKType + | StoreCodeAuthorizationSDKType + | ContractExecutionAuthorizationSDKType + | ContractMigrationAuthorizationSDKType + | TransferAuthorizationSDKType + | AnySDKType + | undefined; + expiration?: Date; +} +/** + * GrantAuthorization extends a grant with both the addresses of the grantee and granter. + * It is used in genesis.proto and query.proto + */ +export interface GrantAuthorization { + granter: string; + grantee: string; + authorization?: + | GenericAuthorization + | SendAuthorization + | StakeAuthorization + | StoreCodeAuthorization + | ContractExecutionAuthorization + | ContractMigrationAuthorization + | TransferAuthorization + | Any + | undefined; + expiration?: Date; +} +export interface GrantAuthorizationProtoMsg { + typeUrl: '/cosmos.authz.v1beta1.GrantAuthorization'; + value: Uint8Array; +} +export type GrantAuthorizationEncoded = Omit & { + authorization?: + | GenericAuthorizationProtoMsg + | SendAuthorizationProtoMsg + | StakeAuthorizationProtoMsg + | StoreCodeAuthorizationProtoMsg + | ContractExecutionAuthorizationProtoMsg + | ContractMigrationAuthorizationProtoMsg + | TransferAuthorizationProtoMsg + | AnyProtoMsg + | undefined; +}; +/** + * GrantAuthorization extends a grant with both the addresses of the grantee and granter. + * It is used in genesis.proto and query.proto + */ +export interface GrantAuthorizationAmino { + granter?: string; + grantee?: string; + authorization?: AnyAmino; + expiration?: string; +} +export interface GrantAuthorizationAminoMsg { + type: 'cosmos-sdk/GrantAuthorization'; + value: GrantAuthorizationAmino; +} +/** + * GrantAuthorization extends a grant with both the addresses of the grantee and granter. + * It is used in genesis.proto and query.proto + */ +export interface GrantAuthorizationSDKType { + granter: string; + grantee: string; + authorization?: + | GenericAuthorizationSDKType + | SendAuthorizationSDKType + | StakeAuthorizationSDKType + | StoreCodeAuthorizationSDKType + | ContractExecutionAuthorizationSDKType + | ContractMigrationAuthorizationSDKType + | TransferAuthorizationSDKType + | AnySDKType + | undefined; + expiration?: Date; +} +/** GrantQueueItem contains the list of TypeURL of a sdk.Msg. */ +export interface GrantQueueItem { + /** msg_type_urls contains the list of TypeURL of a sdk.Msg. */ + msgTypeUrls: string[]; +} +export interface GrantQueueItemProtoMsg { + typeUrl: '/cosmos.authz.v1beta1.GrantQueueItem'; + value: Uint8Array; +} +/** GrantQueueItem contains the list of TypeURL of a sdk.Msg. */ +export interface GrantQueueItemAmino { + /** msg_type_urls contains the list of TypeURL of a sdk.Msg. */ + msg_type_urls?: string[]; +} +export interface GrantQueueItemAminoMsg { + type: 'cosmos-sdk/GrantQueueItem'; + value: GrantQueueItemAmino; +} +/** GrantQueueItem contains the list of TypeURL of a sdk.Msg. */ +export interface GrantQueueItemSDKType { + msg_type_urls: string[]; +} +function createBaseGenericAuthorization(): GenericAuthorization { + return { + $typeUrl: '/cosmos.authz.v1beta1.GenericAuthorization', + msg: '', + }; +} +export const GenericAuthorization = { + typeUrl: '/cosmos.authz.v1beta1.GenericAuthorization', + encode(message: GenericAuthorization, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.msg !== '') { + writer.uint32(10).string(message.msg); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GenericAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenericAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.msg = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GenericAuthorization { + const message = createBaseGenericAuthorization(); + message.msg = object.msg ?? ''; + return message; + }, + fromAmino(object: GenericAuthorizationAmino): GenericAuthorization { + const message = createBaseGenericAuthorization(); + if (object.msg !== undefined && object.msg !== null) { + message.msg = object.msg; + } + return message; + }, + toAmino(message: GenericAuthorization): GenericAuthorizationAmino { + const obj: any = {}; + obj.msg = message.msg === '' ? undefined : message.msg; + return obj; + }, + fromAminoMsg(object: GenericAuthorizationAminoMsg): GenericAuthorization { + return GenericAuthorization.fromAmino(object.value); + }, + toAminoMsg(message: GenericAuthorization): GenericAuthorizationAminoMsg { + return { + type: 'cosmos-sdk/GenericAuthorization', + value: GenericAuthorization.toAmino(message), + }; + }, + fromProtoMsg(message: GenericAuthorizationProtoMsg): GenericAuthorization { + return GenericAuthorization.decode(message.value); + }, + toProto(message: GenericAuthorization): Uint8Array { + return GenericAuthorization.encode(message).finish(); + }, + toProtoMsg(message: GenericAuthorization): GenericAuthorizationProtoMsg { + return { + typeUrl: '/cosmos.authz.v1beta1.GenericAuthorization', + value: GenericAuthorization.encode(message).finish(), + }; + }, +}; +function createBaseGrant(): Grant { + return { + authorization: undefined, + expiration: undefined, + }; +} +export const Grant = { + typeUrl: '/cosmos.authz.v1beta1.Grant', + encode(message: Grant, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authorization !== undefined) { + Any.encode(message.authorization as Any, writer.uint32(10).fork()).ldelim(); + } + if (message.expiration !== undefined) { + Timestamp.encode(toTimestamp(message.expiration), writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Grant { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authorization = Cosmos_authzv1beta1Authorization_InterfaceDecoder(reader) as Any; + break; + case 2: + message.expiration = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Grant { + const message = createBaseGrant(); + message.authorization = + object.authorization !== undefined && object.authorization !== null + ? Any.fromPartial(object.authorization) + : undefined; + message.expiration = object.expiration ?? undefined; + return message; + }, + fromAmino(object: GrantAmino): Grant { + const message = createBaseGrant(); + if (object.authorization !== undefined && object.authorization !== null) { + message.authorization = Cosmos_authzv1beta1Authorization_FromAmino(object.authorization); + } + if (object.expiration !== undefined && object.expiration !== null) { + message.expiration = fromTimestamp(Timestamp.fromAmino(object.expiration)); + } + return message; + }, + toAmino(message: Grant): GrantAmino { + const obj: any = {}; + obj.authorization = message.authorization + ? Cosmos_authzv1beta1Authorization_ToAmino(message.authorization as Any) + : undefined; + obj.expiration = message.expiration ? Timestamp.toAmino(toTimestamp(message.expiration)) : undefined; + return obj; + }, + fromAminoMsg(object: GrantAminoMsg): Grant { + return Grant.fromAmino(object.value); + }, + toAminoMsg(message: Grant): GrantAminoMsg { + return { + type: 'cosmos-sdk/Grant', + value: Grant.toAmino(message), + }; + }, + fromProtoMsg(message: GrantProtoMsg): Grant { + return Grant.decode(message.value); + }, + toProto(message: Grant): Uint8Array { + return Grant.encode(message).finish(); + }, + toProtoMsg(message: Grant): GrantProtoMsg { + return { + typeUrl: '/cosmos.authz.v1beta1.Grant', + value: Grant.encode(message).finish(), + }; + }, +}; +function createBaseGrantAuthorization(): GrantAuthorization { + return { + granter: '', + grantee: '', + authorization: undefined, + expiration: undefined, + }; +} +export const GrantAuthorization = { + typeUrl: '/cosmos.authz.v1beta1.GrantAuthorization', + encode(message: GrantAuthorization, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.granter !== '') { + writer.uint32(10).string(message.granter); + } + if (message.grantee !== '') { + writer.uint32(18).string(message.grantee); + } + if (message.authorization !== undefined) { + Any.encode(message.authorization as Any, writer.uint32(26).fork()).ldelim(); + } + if (message.expiration !== undefined) { + Timestamp.encode(toTimestamp(message.expiration), writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GrantAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGrantAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.granter = reader.string(); + break; + case 2: + message.grantee = reader.string(); + break; + case 3: + message.authorization = Cosmos_authzv1beta1Authorization_InterfaceDecoder(reader) as Any; + break; + case 4: + message.expiration = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GrantAuthorization { + const message = createBaseGrantAuthorization(); + message.granter = object.granter ?? ''; + message.grantee = object.grantee ?? ''; + message.authorization = + object.authorization !== undefined && object.authorization !== null + ? Any.fromPartial(object.authorization) + : undefined; + message.expiration = object.expiration ?? undefined; + return message; + }, + fromAmino(object: GrantAuthorizationAmino): GrantAuthorization { + const message = createBaseGrantAuthorization(); + if (object.granter !== undefined && object.granter !== null) { + message.granter = object.granter; + } + if (object.grantee !== undefined && object.grantee !== null) { + message.grantee = object.grantee; + } + if (object.authorization !== undefined && object.authorization !== null) { + message.authorization = Cosmos_authzv1beta1Authorization_FromAmino(object.authorization); + } + if (object.expiration !== undefined && object.expiration !== null) { + message.expiration = fromTimestamp(Timestamp.fromAmino(object.expiration)); + } + return message; + }, + toAmino(message: GrantAuthorization): GrantAuthorizationAmino { + const obj: any = {}; + obj.granter = message.granter === '' ? undefined : message.granter; + obj.grantee = message.grantee === '' ? undefined : message.grantee; + obj.authorization = message.authorization + ? Cosmos_authzv1beta1Authorization_ToAmino(message.authorization as Any) + : undefined; + obj.expiration = message.expiration ? Timestamp.toAmino(toTimestamp(message.expiration)) : undefined; + return obj; + }, + fromAminoMsg(object: GrantAuthorizationAminoMsg): GrantAuthorization { + return GrantAuthorization.fromAmino(object.value); + }, + toAminoMsg(message: GrantAuthorization): GrantAuthorizationAminoMsg { + return { + type: 'cosmos-sdk/GrantAuthorization', + value: GrantAuthorization.toAmino(message), + }; + }, + fromProtoMsg(message: GrantAuthorizationProtoMsg): GrantAuthorization { + return GrantAuthorization.decode(message.value); + }, + toProto(message: GrantAuthorization): Uint8Array { + return GrantAuthorization.encode(message).finish(); + }, + toProtoMsg(message: GrantAuthorization): GrantAuthorizationProtoMsg { + return { + typeUrl: '/cosmos.authz.v1beta1.GrantAuthorization', + value: GrantAuthorization.encode(message).finish(), + }; + }, +}; +function createBaseGrantQueueItem(): GrantQueueItem { + return { + msgTypeUrls: [], + }; +} +export const GrantQueueItem = { + typeUrl: '/cosmos.authz.v1beta1.GrantQueueItem', + encode(message: GrantQueueItem, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.msgTypeUrls) { + writer.uint32(10).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GrantQueueItem { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGrantQueueItem(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.msgTypeUrls.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GrantQueueItem { + const message = createBaseGrantQueueItem(); + message.msgTypeUrls = object.msgTypeUrls?.map((e) => e) || []; + return message; + }, + fromAmino(object: GrantQueueItemAmino): GrantQueueItem { + const message = createBaseGrantQueueItem(); + message.msgTypeUrls = object.msg_type_urls?.map((e) => e) || []; + return message; + }, + toAmino(message: GrantQueueItem): GrantQueueItemAmino { + const obj: any = {}; + if (message.msgTypeUrls) { + obj.msg_type_urls = message.msgTypeUrls.map((e) => e); + } else { + obj.msg_type_urls = message.msgTypeUrls; + } + return obj; + }, + fromAminoMsg(object: GrantQueueItemAminoMsg): GrantQueueItem { + return GrantQueueItem.fromAmino(object.value); + }, + toAminoMsg(message: GrantQueueItem): GrantQueueItemAminoMsg { + return { + type: 'cosmos-sdk/GrantQueueItem', + value: GrantQueueItem.toAmino(message), + }; + }, + fromProtoMsg(message: GrantQueueItemProtoMsg): GrantQueueItem { + return GrantQueueItem.decode(message.value); + }, + toProto(message: GrantQueueItem): Uint8Array { + return GrantQueueItem.encode(message).finish(); + }, + toProtoMsg(message: GrantQueueItem): GrantQueueItemProtoMsg { + return { + typeUrl: '/cosmos.authz.v1beta1.GrantQueueItem', + value: GrantQueueItem.encode(message).finish(), + }; + }, +}; +export const Cosmos_authzv1beta1Authorization_InterfaceDecoder = ( + input: BinaryReader | Uint8Array, +): + | GenericAuthorization + | SendAuthorization + | StakeAuthorization + | StoreCodeAuthorization + | ContractExecutionAuthorization + | ContractMigrationAuthorization + | TransferAuthorization + | Any => { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const data = Any.decode(reader, reader.uint32()); + switch (data.typeUrl) { + case '/cosmos.authz.v1beta1.GenericAuthorization': + return GenericAuthorization.decode(data.value); + case '/cosmos.bank.v1beta1.SendAuthorization': + return SendAuthorization.decode(data.value); + case '/cosmos.staking.v1beta1.StakeAuthorization': + return StakeAuthorization.decode(data.value); + case '/cosmwasm.wasm.v1.StoreCodeAuthorization': + return StoreCodeAuthorization.decode(data.value); + case '/cosmwasm.wasm.v1.ContractExecutionAuthorization': + return ContractExecutionAuthorization.decode(data.value); + case '/cosmwasm.wasm.v1.ContractMigrationAuthorization': + return ContractMigrationAuthorization.decode(data.value); + case '/ibc.applications.transfer.v1.TransferAuthorization': + return TransferAuthorization.decode(data.value); + default: + return data; + } +}; +export const Cosmos_authzv1beta1Authorization_FromAmino = (content: AnyAmino): Any => { + switch (content.type) { + case 'cosmos-sdk/GenericAuthorization': + return Any.fromPartial({ + typeUrl: '/cosmos.authz.v1beta1.GenericAuthorization', + value: GenericAuthorization.encode( + GenericAuthorization.fromPartial(GenericAuthorization.fromAmino(content.value)), + ).finish(), + }); + case 'cosmos-sdk/SendAuthorization': + return Any.fromPartial({ + typeUrl: '/cosmos.bank.v1beta1.SendAuthorization', + value: SendAuthorization.encode( + SendAuthorization.fromPartial(SendAuthorization.fromAmino(content.value)), + ).finish(), + }); + case 'cosmos-sdk/StakeAuthorization': + return Any.fromPartial({ + typeUrl: '/cosmos.staking.v1beta1.StakeAuthorization', + value: StakeAuthorization.encode( + StakeAuthorization.fromPartial(StakeAuthorization.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/StoreCodeAuthorization': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.StoreCodeAuthorization', + value: StoreCodeAuthorization.encode( + StoreCodeAuthorization.fromPartial(StoreCodeAuthorization.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/ContractExecutionAuthorization': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.ContractExecutionAuthorization', + value: ContractExecutionAuthorization.encode( + ContractExecutionAuthorization.fromPartial(ContractExecutionAuthorization.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/ContractMigrationAuthorization': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.ContractMigrationAuthorization', + value: ContractMigrationAuthorization.encode( + ContractMigrationAuthorization.fromPartial(ContractMigrationAuthorization.fromAmino(content.value)), + ).finish(), + }); + case 'cosmos-sdk/TransferAuthorization': + return Any.fromPartial({ + typeUrl: '/ibc.applications.transfer.v1.TransferAuthorization', + value: TransferAuthorization.encode( + TransferAuthorization.fromPartial(TransferAuthorization.fromAmino(content.value)), + ).finish(), + }); + default: + return Any.fromAmino(content); + } +}; +export const Cosmos_authzv1beta1Authorization_ToAmino = (content: Any) => { + switch (content.typeUrl) { + case '/cosmos.authz.v1beta1.GenericAuthorization': + return { + type: 'cosmos-sdk/GenericAuthorization', + value: GenericAuthorization.toAmino(GenericAuthorization.decode(content.value, undefined)), + }; + case '/cosmos.bank.v1beta1.SendAuthorization': + return { + type: 'cosmos-sdk/SendAuthorization', + value: SendAuthorization.toAmino(SendAuthorization.decode(content.value, undefined)), + }; + case '/cosmos.staking.v1beta1.StakeAuthorization': + return { + type: 'cosmos-sdk/StakeAuthorization', + value: StakeAuthorization.toAmino(StakeAuthorization.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.StoreCodeAuthorization': + return { + type: 'wasm/StoreCodeAuthorization', + value: StoreCodeAuthorization.toAmino(StoreCodeAuthorization.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.ContractExecutionAuthorization': + return { + type: 'wasm/ContractExecutionAuthorization', + value: ContractExecutionAuthorization.toAmino(ContractExecutionAuthorization.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.ContractMigrationAuthorization': + return { + type: 'wasm/ContractMigrationAuthorization', + value: ContractMigrationAuthorization.toAmino(ContractMigrationAuthorization.decode(content.value, undefined)), + }; + case '/ibc.applications.transfer.v1.TransferAuthorization': + return { + type: 'cosmos-sdk/TransferAuthorization', + value: TransferAuthorization.toAmino(TransferAuthorization.decode(content.value, undefined)), + }; + default: + return Any.toAmino(content); + } +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/authz/v1beta1/tx.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/authz/v1beta1/tx.ts new file mode 100644 index 00000000..c67c2cca --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/authz/v1beta1/tx.ts @@ -0,0 +1,850 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Any, AnyAmino, AnyProtoMsg, AnySDKType } from 'cosmjs-types/google/protobuf/any'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +import { Grant, GrantAmino, GrantSDKType } from './authz'; +/** + * MsgGrant is a request type for Grant method. It declares authorization to the grantee + * on behalf of the granter with the provided expiration time. + */ +export interface MsgGrant { + granter: string; + grantee: string; + grant: Grant; +} +export interface MsgGrantProtoMsg { + typeUrl: '/cosmos.authz.v1beta1.MsgGrant'; + value: Uint8Array; +} +/** + * MsgGrant is a request type for Grant method. It declares authorization to the grantee + * on behalf of the granter with the provided expiration time. + */ +export interface MsgGrantAmino { + granter?: string; + grantee?: string; + grant: GrantAmino; +} +export interface MsgGrantAminoMsg { + type: 'cosmos-sdk/MsgGrant'; + value: MsgGrantAmino; +} +/** + * MsgGrant is a request type for Grant method. It declares authorization to the grantee + * on behalf of the granter with the provided expiration time. + */ +export interface MsgGrantSDKType { + granter: string; + grantee: string; + grant: GrantSDKType; +} +/** MsgGrantResponse defines the Msg/MsgGrant response type. */ +export interface MsgGrantResponse {} +export interface MsgGrantResponseProtoMsg { + typeUrl: '/cosmos.authz.v1beta1.MsgGrantResponse'; + value: Uint8Array; +} +/** MsgGrantResponse defines the Msg/MsgGrant response type. */ +export interface MsgGrantResponseAmino {} +export interface MsgGrantResponseAminoMsg { + type: 'cosmos-sdk/MsgGrantResponse'; + value: MsgGrantResponseAmino; +} +/** MsgGrantResponse defines the Msg/MsgGrant response type. */ +export interface MsgGrantResponseSDKType {} +/** + * MsgExec attempts to execute the provided messages using + * authorizations granted to the grantee. Each message should have only + * one signer corresponding to the granter of the authorization. + */ +export interface MsgExec { + grantee: string; + /** + * Execute Msg. + * The x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg)) + * triple and validate it. + */ + msgs: Any[] | Any[]; +} +export interface MsgExecProtoMsg { + typeUrl: '/cosmos.authz.v1beta1.MsgExec'; + value: Uint8Array; +} +export type MsgExecEncoded = Omit & { + /** + * Execute Msg. + * The x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg)) + * triple and validate it. + */ + msgs: AnyProtoMsg[]; +}; +/** + * MsgExec attempts to execute the provided messages using + * authorizations granted to the grantee. Each message should have only + * one signer corresponding to the granter of the authorization. + */ +export interface MsgExecAmino { + grantee?: string; + /** + * Execute Msg. + * The x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg)) + * triple and validate it. + */ + msgs?: AnyAmino[]; +} +export interface MsgExecAminoMsg { + type: 'cosmos-sdk/MsgExec'; + value: MsgExecAmino; +} +/** + * MsgExec attempts to execute the provided messages using + * authorizations granted to the grantee. Each message should have only + * one signer corresponding to the granter of the authorization. + */ +export interface MsgExecSDKType { + grantee: string; + msgs: AnySDKType[]; +} +/** MsgExecResponse defines the Msg/MsgExecResponse response type. */ +export interface MsgExecResponse { + results: Uint8Array[]; +} +export interface MsgExecResponseProtoMsg { + typeUrl: '/cosmos.authz.v1beta1.MsgExecResponse'; + value: Uint8Array; +} +/** MsgExecResponse defines the Msg/MsgExecResponse response type. */ +export interface MsgExecResponseAmino { + results?: string[]; +} +export interface MsgExecResponseAminoMsg { + type: 'cosmos-sdk/MsgExecResponse'; + value: MsgExecResponseAmino; +} +/** MsgExecResponse defines the Msg/MsgExecResponse response type. */ +export interface MsgExecResponseSDKType { + results: Uint8Array[]; +} +/** + * MsgRevoke revokes any authorization with the provided sdk.Msg type on the + * granter's account with that has been granted to the grantee. + */ +export interface MsgRevoke { + granter: string; + grantee: string; + msgTypeUrl: string; +} +export interface MsgRevokeProtoMsg { + typeUrl: '/cosmos.authz.v1beta1.MsgRevoke'; + value: Uint8Array; +} +/** + * MsgRevoke revokes any authorization with the provided sdk.Msg type on the + * granter's account with that has been granted to the grantee. + */ +export interface MsgRevokeAmino { + granter?: string; + grantee?: string; + msg_type_url?: string; +} +export interface MsgRevokeAminoMsg { + type: 'cosmos-sdk/MsgRevoke'; + value: MsgRevokeAmino; +} +/** + * MsgRevoke revokes any authorization with the provided sdk.Msg type on the + * granter's account with that has been granted to the grantee. + */ +export interface MsgRevokeSDKType { + granter: string; + grantee: string; + msg_type_url: string; +} +/** MsgRevokeResponse defines the Msg/MsgRevokeResponse response type. */ +export interface MsgRevokeResponse {} +export interface MsgRevokeResponseProtoMsg { + typeUrl: '/cosmos.authz.v1beta1.MsgRevokeResponse'; + value: Uint8Array; +} +/** MsgRevokeResponse defines the Msg/MsgRevokeResponse response type. */ +export interface MsgRevokeResponseAmino {} +export interface MsgRevokeResponseAminoMsg { + type: 'cosmos-sdk/MsgRevokeResponse'; + value: MsgRevokeResponseAmino; +} +/** MsgRevokeResponse defines the Msg/MsgRevokeResponse response type. */ +export interface MsgRevokeResponseSDKType {} +/** MsgExecCompatResponse defines the Msg/MsgExecCompatResponse response type. */ +export interface MsgExecCompatResponse { + results: Uint8Array[]; +} +export interface MsgExecCompatResponseProtoMsg { + typeUrl: '/cosmos.authz.v1beta1.MsgExecCompatResponse'; + value: Uint8Array; +} +/** MsgExecCompatResponse defines the Msg/MsgExecCompatResponse response type. */ +export interface MsgExecCompatResponseAmino { + results?: string[]; +} +export interface MsgExecCompatResponseAminoMsg { + type: 'cosmos-sdk/MsgExecCompatResponse'; + value: MsgExecCompatResponseAmino; +} +/** MsgExecCompatResponse defines the Msg/MsgExecCompatResponse response type. */ +export interface MsgExecCompatResponseSDKType { + results: Uint8Array[]; +} +/** + * MsgExecCompat supports legacy amino codec for frontend metamask signing + * Functions are same as MsgExec, but input for msgs is array of strings + */ +export interface MsgExecCompat { + grantee: string; + msgs: string[]; +} +export interface MsgExecCompatProtoMsg { + typeUrl: '/cosmos.authz.v1beta1.MsgExecCompat'; + value: Uint8Array; +} +/** + * MsgExecCompat supports legacy amino codec for frontend metamask signing + * Functions are same as MsgExec, but input for msgs is array of strings + */ +export interface MsgExecCompatAmino { + grantee?: string; + msgs?: string[]; +} +export interface MsgExecCompatAminoMsg { + type: 'cosmos-sdk/MsgExec'; + value: MsgExecCompatAmino; +} +/** + * MsgExecCompat supports legacy amino codec for frontend metamask signing + * Functions are same as MsgExec, but input for msgs is array of strings + */ +export interface MsgExecCompatSDKType { + grantee: string; + msgs: string[]; +} +function createBaseMsgGrant(): MsgGrant { + return { + granter: '', + grantee: '', + grant: Grant.fromPartial({}), + }; +} +export const MsgGrant = { + typeUrl: '/cosmos.authz.v1beta1.MsgGrant', + encode(message: MsgGrant, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.granter !== '') { + writer.uint32(10).string(message.granter); + } + if (message.grantee !== '') { + writer.uint32(18).string(message.grantee); + } + if (message.grant !== undefined) { + Grant.encode(message.grant, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgGrant { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.granter = reader.string(); + break; + case 2: + message.grantee = reader.string(); + break; + case 3: + message.grant = Grant.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgGrant { + const message = createBaseMsgGrant(); + message.granter = object.granter ?? ''; + message.grantee = object.grantee ?? ''; + message.grant = object.grant !== undefined && object.grant !== null ? Grant.fromPartial(object.grant) : undefined; + return message; + }, + fromAmino(object: MsgGrantAmino): MsgGrant { + const message = createBaseMsgGrant(); + if (object.granter !== undefined && object.granter !== null) { + message.granter = object.granter; + } + if (object.grantee !== undefined && object.grantee !== null) { + message.grantee = object.grantee; + } + if (object.grant !== undefined && object.grant !== null) { + message.grant = Grant.fromAmino(object.grant); + } + return message; + }, + toAmino(message: MsgGrant): MsgGrantAmino { + const obj: any = {}; + obj.granter = message.granter === '' ? undefined : message.granter; + obj.grantee = message.grantee === '' ? undefined : message.grantee; + obj.grant = message.grant ? Grant.toAmino(message.grant) : Grant.toAmino(Grant.fromPartial({})); + return obj; + }, + fromAminoMsg(object: MsgGrantAminoMsg): MsgGrant { + return MsgGrant.fromAmino(object.value); + }, + toAminoMsg(message: MsgGrant): MsgGrantAminoMsg { + return { + type: 'cosmos-sdk/MsgGrant', + value: MsgGrant.toAmino(message), + }; + }, + fromProtoMsg(message: MsgGrantProtoMsg): MsgGrant { + return MsgGrant.decode(message.value); + }, + toProto(message: MsgGrant): Uint8Array { + return MsgGrant.encode(message).finish(); + }, + toProtoMsg(message: MsgGrant): MsgGrantProtoMsg { + return { + typeUrl: '/cosmos.authz.v1beta1.MsgGrant', + value: MsgGrant.encode(message).finish(), + }; + }, +}; +function createBaseMsgGrantResponse(): MsgGrantResponse { + return {}; +} +export const MsgGrantResponse = { + typeUrl: '/cosmos.authz.v1beta1.MsgGrantResponse', + encode(_: MsgGrantResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgGrantResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgGrantResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgGrantResponse { + const message = createBaseMsgGrantResponse(); + return message; + }, + fromAmino(_: MsgGrantResponseAmino): MsgGrantResponse { + const message = createBaseMsgGrantResponse(); + return message; + }, + toAmino(_: MsgGrantResponse): MsgGrantResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgGrantResponseAminoMsg): MsgGrantResponse { + return MsgGrantResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgGrantResponse): MsgGrantResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgGrantResponse', + value: MsgGrantResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgGrantResponseProtoMsg): MsgGrantResponse { + return MsgGrantResponse.decode(message.value); + }, + toProto(message: MsgGrantResponse): Uint8Array { + return MsgGrantResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgGrantResponse): MsgGrantResponseProtoMsg { + return { + typeUrl: '/cosmos.authz.v1beta1.MsgGrantResponse', + value: MsgGrantResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgExec(): MsgExec { + return { + grantee: '', + msgs: [], + }; +} +export const MsgExec = { + typeUrl: '/cosmos.authz.v1beta1.MsgExec', + encode(message: MsgExec, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.grantee !== '') { + writer.uint32(10).string(message.grantee); + } + for (const v of message.msgs) { + Any.encode(v! as Any, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgExec { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExec(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.grantee = reader.string(); + break; + case 2: + message.msgs.push(Any.decode(reader, reader.uint32()) as Any); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgExec { + const message = createBaseMsgExec(); + message.grantee = object.grantee ?? ''; + message.msgs = object.msgs?.map((e) => Any.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgExecAmino): MsgExec { + const message = createBaseMsgExec(); + if (object.grantee !== undefined && object.grantee !== null) { + message.grantee = object.grantee; + } + message.msgs = object.msgs?.map((e) => Cosmos_basev1beta1Msg_FromAmino(e)) || []; + return message; + }, + toAmino(message: MsgExec): MsgExecAmino { + const obj: any = {}; + obj.grantee = message.grantee === '' ? undefined : message.grantee; + if (message.msgs) { + obj.msgs = message.msgs.map((e) => (e ? Cosmos_basev1beta1Msg_ToAmino(e as Any) : undefined)); + } else { + obj.msgs = message.msgs; + } + return obj; + }, + fromAminoMsg(object: MsgExecAminoMsg): MsgExec { + return MsgExec.fromAmino(object.value); + }, + toAminoMsg(message: MsgExec): MsgExecAminoMsg { + return { + type: 'cosmos-sdk/MsgExec', + value: MsgExec.toAmino(message), + }; + }, + fromProtoMsg(message: MsgExecProtoMsg): MsgExec { + return MsgExec.decode(message.value); + }, + toProto(message: MsgExec): Uint8Array { + return MsgExec.encode(message).finish(); + }, + toProtoMsg(message: MsgExec): MsgExecProtoMsg { + return { + typeUrl: '/cosmos.authz.v1beta1.MsgExec', + value: MsgExec.encode(message).finish(), + }; + }, +}; +function createBaseMsgExecResponse(): MsgExecResponse { + return { + results: [], + }; +} +export const MsgExecResponse = { + typeUrl: '/cosmos.authz.v1beta1.MsgExecResponse', + encode(message: MsgExecResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.results) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgExecResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.results.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgExecResponse { + const message = createBaseMsgExecResponse(); + message.results = object.results?.map((e) => e) || []; + return message; + }, + fromAmino(object: MsgExecResponseAmino): MsgExecResponse { + const message = createBaseMsgExecResponse(); + message.results = object.results?.map((e) => bytesFromBase64(e)) || []; + return message; + }, + toAmino(message: MsgExecResponse): MsgExecResponseAmino { + const obj: any = {}; + if (message.results) { + obj.results = message.results.map((e) => base64FromBytes(e)); + } else { + obj.results = message.results; + } + return obj; + }, + fromAminoMsg(object: MsgExecResponseAminoMsg): MsgExecResponse { + return MsgExecResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgExecResponse): MsgExecResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgExecResponse', + value: MsgExecResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgExecResponseProtoMsg): MsgExecResponse { + return MsgExecResponse.decode(message.value); + }, + toProto(message: MsgExecResponse): Uint8Array { + return MsgExecResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgExecResponse): MsgExecResponseProtoMsg { + return { + typeUrl: '/cosmos.authz.v1beta1.MsgExecResponse', + value: MsgExecResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgRevoke(): MsgRevoke { + return { + granter: '', + grantee: '', + msgTypeUrl: '', + }; +} +export const MsgRevoke = { + typeUrl: '/cosmos.authz.v1beta1.MsgRevoke', + encode(message: MsgRevoke, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.granter !== '') { + writer.uint32(10).string(message.granter); + } + if (message.grantee !== '') { + writer.uint32(18).string(message.grantee); + } + if (message.msgTypeUrl !== '') { + writer.uint32(26).string(message.msgTypeUrl); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgRevoke { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRevoke(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.granter = reader.string(); + break; + case 2: + message.grantee = reader.string(); + break; + case 3: + message.msgTypeUrl = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgRevoke { + const message = createBaseMsgRevoke(); + message.granter = object.granter ?? ''; + message.grantee = object.grantee ?? ''; + message.msgTypeUrl = object.msgTypeUrl ?? ''; + return message; + }, + fromAmino(object: MsgRevokeAmino): MsgRevoke { + const message = createBaseMsgRevoke(); + if (object.granter !== undefined && object.granter !== null) { + message.granter = object.granter; + } + if (object.grantee !== undefined && object.grantee !== null) { + message.grantee = object.grantee; + } + if (object.msg_type_url !== undefined && object.msg_type_url !== null) { + message.msgTypeUrl = object.msg_type_url; + } + return message; + }, + toAmino(message: MsgRevoke): MsgRevokeAmino { + const obj: any = {}; + obj.granter = message.granter === '' ? undefined : message.granter; + obj.grantee = message.grantee === '' ? undefined : message.grantee; + obj.msg_type_url = message.msgTypeUrl === '' ? undefined : message.msgTypeUrl; + return obj; + }, + fromAminoMsg(object: MsgRevokeAminoMsg): MsgRevoke { + return MsgRevoke.fromAmino(object.value); + }, + toAminoMsg(message: MsgRevoke): MsgRevokeAminoMsg { + return { + type: 'cosmos-sdk/MsgRevoke', + value: MsgRevoke.toAmino(message), + }; + }, + fromProtoMsg(message: MsgRevokeProtoMsg): MsgRevoke { + return MsgRevoke.decode(message.value); + }, + toProto(message: MsgRevoke): Uint8Array { + return MsgRevoke.encode(message).finish(); + }, + toProtoMsg(message: MsgRevoke): MsgRevokeProtoMsg { + return { + typeUrl: '/cosmos.authz.v1beta1.MsgRevoke', + value: MsgRevoke.encode(message).finish(), + }; + }, +}; +function createBaseMsgRevokeResponse(): MsgRevokeResponse { + return {}; +} +export const MsgRevokeResponse = { + typeUrl: '/cosmos.authz.v1beta1.MsgRevokeResponse', + encode(_: MsgRevokeResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgRevokeResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRevokeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgRevokeResponse { + const message = createBaseMsgRevokeResponse(); + return message; + }, + fromAmino(_: MsgRevokeResponseAmino): MsgRevokeResponse { + const message = createBaseMsgRevokeResponse(); + return message; + }, + toAmino(_: MsgRevokeResponse): MsgRevokeResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgRevokeResponseAminoMsg): MsgRevokeResponse { + return MsgRevokeResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgRevokeResponse): MsgRevokeResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgRevokeResponse', + value: MsgRevokeResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgRevokeResponseProtoMsg): MsgRevokeResponse { + return MsgRevokeResponse.decode(message.value); + }, + toProto(message: MsgRevokeResponse): Uint8Array { + return MsgRevokeResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgRevokeResponse): MsgRevokeResponseProtoMsg { + return { + typeUrl: '/cosmos.authz.v1beta1.MsgRevokeResponse', + value: MsgRevokeResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgExecCompatResponse(): MsgExecCompatResponse { + return { + results: [], + }; +} +export const MsgExecCompatResponse = { + typeUrl: '/cosmos.authz.v1beta1.MsgExecCompatResponse', + encode(message: MsgExecCompatResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.results) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgExecCompatResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecCompatResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.results.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgExecCompatResponse { + const message = createBaseMsgExecCompatResponse(); + message.results = object.results?.map((e) => e) || []; + return message; + }, + fromAmino(object: MsgExecCompatResponseAmino): MsgExecCompatResponse { + const message = createBaseMsgExecCompatResponse(); + message.results = object.results?.map((e) => bytesFromBase64(e)) || []; + return message; + }, + toAmino(message: MsgExecCompatResponse): MsgExecCompatResponseAmino { + const obj: any = {}; + if (message.results) { + obj.results = message.results.map((e) => base64FromBytes(e)); + } else { + obj.results = message.results; + } + return obj; + }, + fromAminoMsg(object: MsgExecCompatResponseAminoMsg): MsgExecCompatResponse { + return MsgExecCompatResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgExecCompatResponse): MsgExecCompatResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgExecCompatResponse', + value: MsgExecCompatResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgExecCompatResponseProtoMsg): MsgExecCompatResponse { + return MsgExecCompatResponse.decode(message.value); + }, + toProto(message: MsgExecCompatResponse): Uint8Array { + return MsgExecCompatResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgExecCompatResponse): MsgExecCompatResponseProtoMsg { + return { + typeUrl: '/cosmos.authz.v1beta1.MsgExecCompatResponse', + value: MsgExecCompatResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgExecCompat(): MsgExecCompat { + return { + grantee: '', + msgs: [], + }; +} +export const MsgExecCompat = { + typeUrl: '/cosmos.authz.v1beta1.MsgExecCompat', + encode(message: MsgExecCompat, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.grantee !== '') { + writer.uint32(10).string(message.grantee); + } + for (const v of message.msgs) { + writer.uint32(18).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgExecCompat { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecCompat(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.grantee = reader.string(); + break; + case 2: + message.msgs.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgExecCompat { + const message = createBaseMsgExecCompat(); + message.grantee = object.grantee ?? ''; + message.msgs = object.msgs?.map((e) => e) || []; + return message; + }, + fromAmino(object: MsgExecCompatAmino): MsgExecCompat { + const message = createBaseMsgExecCompat(); + if (object.grantee !== undefined && object.grantee !== null) { + message.grantee = object.grantee; + } + message.msgs = object.msgs?.map((e) => e) || []; + return message; + }, + toAmino(message: MsgExecCompat): MsgExecCompatAmino { + const obj: any = {}; + obj.grantee = message.grantee === '' ? undefined : message.grantee; + if (message.msgs) { + obj.msgs = message.msgs.map((e) => e); + } else { + obj.msgs = message.msgs; + } + return obj; + }, + fromAminoMsg(object: MsgExecCompatAminoMsg): MsgExecCompat { + return MsgExecCompat.fromAmino(object.value); + }, + toAminoMsg(message: MsgExecCompat): MsgExecCompatAminoMsg { + return { + type: 'cosmos-sdk/MsgExec', + value: MsgExecCompat.toAmino(message), + }; + }, + fromProtoMsg(message: MsgExecCompatProtoMsg): MsgExecCompat { + return MsgExecCompat.decode(message.value); + }, + toProto(message: MsgExecCompat): Uint8Array { + return MsgExecCompat.encode(message).finish(); + }, + toProtoMsg(message: MsgExecCompat): MsgExecCompatProtoMsg { + return { + typeUrl: '/cosmos.authz.v1beta1.MsgExecCompat', + value: MsgExecCompat.encode(message).finish(), + }; + }, +}; +export const Cosmos_basev1beta1Msg_InterfaceDecoder = (input: BinaryReader | Uint8Array): Any => { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const data = Any.decode(reader, reader.uint32()); + switch (data.typeUrl) { + default: + return data; + } +}; +export const Cosmos_basev1beta1Msg_FromAmino = (content: AnyAmino): Any => { + return Any.fromAmino(content); +}; +export const Cosmos_basev1beta1Msg_ToAmino = (content: Any) => { + return Any.toAmino(content); +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/bank/v1beta1/authz.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/bank/v1beta1/authz.ts new file mode 100644 index 00000000..9e2fff17 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/bank/v1beta1/authz.ts @@ -0,0 +1,142 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { Coin, CoinAmino, CoinSDKType } from '../../base/v1beta1/coin'; +/** + * SendAuthorization allows the grantee to spend up to spend_limit coins from + * the granter's account. + * + * Since: cosmos-sdk 0.43 + */ +export interface SendAuthorization { + $typeUrl?: '/cosmos.bank.v1beta1.SendAuthorization'; + spendLimit: Coin[]; + /** + * allow_list specifies an optional list of addresses to whom the grantee can send tokens on behalf of the + * granter. If omitted, any recipient is allowed. + * + * Since: cosmos-sdk 0.47 + */ + allowList: string[]; +} +export interface SendAuthorizationProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.SendAuthorization'; + value: Uint8Array; +} +/** + * SendAuthorization allows the grantee to spend up to spend_limit coins from + * the granter's account. + * + * Since: cosmos-sdk 0.43 + */ +export interface SendAuthorizationAmino { + spend_limit: CoinAmino[]; + /** + * allow_list specifies an optional list of addresses to whom the grantee can send tokens on behalf of the + * granter. If omitted, any recipient is allowed. + * + * Since: cosmos-sdk 0.47 + */ + allow_list?: string[]; +} +export interface SendAuthorizationAminoMsg { + type: 'cosmos-sdk/SendAuthorization'; + value: SendAuthorizationAmino; +} +/** + * SendAuthorization allows the grantee to spend up to spend_limit coins from + * the granter's account. + * + * Since: cosmos-sdk 0.43 + */ +export interface SendAuthorizationSDKType { + $typeUrl?: '/cosmos.bank.v1beta1.SendAuthorization'; + spend_limit: CoinSDKType[]; + allow_list: string[]; +} +function createBaseSendAuthorization(): SendAuthorization { + return { + $typeUrl: '/cosmos.bank.v1beta1.SendAuthorization', + spendLimit: [], + allowList: [], + }; +} +export const SendAuthorization = { + typeUrl: '/cosmos.bank.v1beta1.SendAuthorization', + encode(message: SendAuthorization, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.spendLimit) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.allowList) { + writer.uint32(18).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SendAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSendAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.spendLimit.push(Coin.decode(reader, reader.uint32())); + break; + case 2: + message.allowList.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SendAuthorization { + const message = createBaseSendAuthorization(); + message.spendLimit = object.spendLimit?.map((e) => Coin.fromPartial(e)) || []; + message.allowList = object.allowList?.map((e) => e) || []; + return message; + }, + fromAmino(object: SendAuthorizationAmino): SendAuthorization { + const message = createBaseSendAuthorization(); + message.spendLimit = object.spend_limit?.map((e) => Coin.fromAmino(e)) || []; + message.allowList = object.allow_list?.map((e) => e) || []; + return message; + }, + toAmino(message: SendAuthorization): SendAuthorizationAmino { + const obj: any = {}; + if (message.spendLimit) { + obj.spend_limit = message.spendLimit.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.spend_limit = message.spendLimit; + } + if (message.allowList) { + obj.allow_list = message.allowList.map((e) => e); + } else { + obj.allow_list = message.allowList; + } + return obj; + }, + fromAminoMsg(object: SendAuthorizationAminoMsg): SendAuthorization { + return SendAuthorization.fromAmino(object.value); + }, + toAminoMsg(message: SendAuthorization): SendAuthorizationAminoMsg { + return { + type: 'cosmos-sdk/SendAuthorization', + value: SendAuthorization.toAmino(message), + }; + }, + fromProtoMsg(message: SendAuthorizationProtoMsg): SendAuthorization { + return SendAuthorization.decode(message.value); + }, + toProto(message: SendAuthorization): Uint8Array { + return SendAuthorization.encode(message).finish(); + }, + toProtoMsg(message: SendAuthorization): SendAuthorizationProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.SendAuthorization', + value: SendAuthorization.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/bank/v1beta1/bank.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/bank/v1beta1/bank.ts new file mode 100644 index 00000000..9ac1d6d2 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/bank/v1beta1/bank.ts @@ -0,0 +1,995 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { Coin, CoinAmino, CoinSDKType } from '../../base/v1beta1/coin'; +/** Params defines the parameters for the bank module. */ +export interface Params { + /** + * Deprecated: Use of SendEnabled in params is deprecated. + * For genesis, use the newly added send_enabled field in the genesis object. + * Storage, lookup, and manipulation of this information is now in the keeper. + * + * As of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files. + */ + /** @deprecated */ + sendEnabled: SendEnabled[]; + defaultSendEnabled: boolean; +} +export interface ParamsProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.Params'; + value: Uint8Array; +} +/** Params defines the parameters for the bank module. */ +export interface ParamsAmino { + /** + * Deprecated: Use of SendEnabled in params is deprecated. + * For genesis, use the newly added send_enabled field in the genesis object. + * Storage, lookup, and manipulation of this information is now in the keeper. + * + * As of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files. + */ + /** @deprecated */ + send_enabled?: SendEnabledAmino[]; + default_send_enabled?: boolean; +} +export interface ParamsAminoMsg { + type: 'cosmos-sdk/x/bank/Params'; + value: ParamsAmino; +} +/** Params defines the parameters for the bank module. */ +export interface ParamsSDKType { + /** @deprecated */ + send_enabled: SendEnabledSDKType[]; + default_send_enabled: boolean; +} +/** + * SendEnabled maps coin denom to a send_enabled status (whether a denom is + * sendable). + */ +export interface SendEnabled { + denom: string; + enabled: boolean; +} +export interface SendEnabledProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.SendEnabled'; + value: Uint8Array; +} +/** + * SendEnabled maps coin denom to a send_enabled status (whether a denom is + * sendable). + */ +export interface SendEnabledAmino { + denom?: string; + enabled?: boolean; +} +export interface SendEnabledAminoMsg { + type: 'cosmos-sdk/SendEnabled'; + value: SendEnabledAmino; +} +/** + * SendEnabled maps coin denom to a send_enabled status (whether a denom is + * sendable). + */ +export interface SendEnabledSDKType { + denom: string; + enabled: boolean; +} +/** Input models transaction input. */ +export interface Input { + address: string; + coins: Coin[]; +} +export interface InputProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.Input'; + value: Uint8Array; +} +/** Input models transaction input. */ +export interface InputAmino { + address?: string; + coins: CoinAmino[]; +} +export interface InputAminoMsg { + type: 'cosmos-sdk/Input'; + value: InputAmino; +} +/** Input models transaction input. */ +export interface InputSDKType { + address: string; + coins: CoinSDKType[]; +} +/** Output models transaction outputs. */ +export interface Output { + address: string; + coins: Coin[]; +} +export interface OutputProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.Output'; + value: Uint8Array; +} +/** Output models transaction outputs. */ +export interface OutputAmino { + address?: string; + coins: CoinAmino[]; +} +export interface OutputAminoMsg { + type: 'cosmos-sdk/Output'; + value: OutputAmino; +} +/** Output models transaction outputs. */ +export interface OutputSDKType { + address: string; + coins: CoinSDKType[]; +} +/** + * Supply represents a struct that passively keeps track of the total supply + * amounts in the network. + * This message is deprecated now that supply is indexed by denom. + */ +/** @deprecated */ +export interface Supply { + $typeUrl?: '/cosmos.bank.v1beta1.Supply'; + total: Coin[]; +} +export interface SupplyProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.Supply'; + value: Uint8Array; +} +/** + * Supply represents a struct that passively keeps track of the total supply + * amounts in the network. + * This message is deprecated now that supply is indexed by denom. + */ +/** @deprecated */ +export interface SupplyAmino { + total: CoinAmino[]; +} +export interface SupplyAminoMsg { + type: 'cosmos-sdk/Supply'; + value: SupplyAmino; +} +/** + * Supply represents a struct that passively keeps track of the total supply + * amounts in the network. + * This message is deprecated now that supply is indexed by denom. + */ +/** @deprecated */ +export interface SupplySDKType { + $typeUrl?: '/cosmos.bank.v1beta1.Supply'; + total: CoinSDKType[]; +} +/** + * DenomUnit represents a struct that describes a given + * denomination unit of the basic token. + */ +export interface DenomUnit { + /** denom represents the string name of the given denom unit (e.g uatom). */ + denom: string; + /** + * exponent represents power of 10 exponent that one must + * raise the base_denom to in order to equal the given DenomUnit's denom + * 1 denom = 10^exponent base_denom + * (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with + * exponent = 6, thus: 1 atom = 10^6 uatom). + */ + exponent: number; + /** aliases is a list of string aliases for the given denom */ + aliases: string[]; +} +export interface DenomUnitProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.DenomUnit'; + value: Uint8Array; +} +/** + * DenomUnit represents a struct that describes a given + * denomination unit of the basic token. + */ +export interface DenomUnitAmino { + /** denom represents the string name of the given denom unit (e.g uatom). */ + denom?: string; + /** + * exponent represents power of 10 exponent that one must + * raise the base_denom to in order to equal the given DenomUnit's denom + * 1 denom = 10^exponent base_denom + * (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with + * exponent = 6, thus: 1 atom = 10^6 uatom). + */ + exponent?: number; + /** aliases is a list of string aliases for the given denom */ + aliases?: string[]; +} +export interface DenomUnitAminoMsg { + type: 'cosmos-sdk/DenomUnit'; + value: DenomUnitAmino; +} +/** + * DenomUnit represents a struct that describes a given + * denomination unit of the basic token. + */ +export interface DenomUnitSDKType { + denom: string; + exponent: number; + aliases: string[]; +} +/** + * Metadata represents a struct that describes + * a basic token. + */ +export interface Metadata { + description: string; + /** denom_units represents the list of DenomUnit's for a given coin */ + denomUnits: DenomUnit[]; + /** base represents the base denom (should be the DenomUnit with exponent = 0). */ + base: string; + /** + * display indicates the suggested denom that should be + * displayed in clients. + */ + display: string; + /** + * name defines the name of the token (eg: Cosmos Atom) + * + * Since: cosmos-sdk 0.43 + */ + name: string; + /** + * symbol is the token symbol usually shown on exchanges (eg: ATOM). This can + * be the same as the display. + * + * Since: cosmos-sdk 0.43 + */ + symbol: string; + /** + * URI to a document (on or off-chain) that contains additional information. Optional. + * + * Since: cosmos-sdk 0.46 + */ + uri: string; + /** + * URIHash is a sha256 hash of a document pointed by URI. It's used to verify that + * the document didn't change. Optional. + * + * Since: cosmos-sdk 0.46 + */ + uriHash: string; + /** + * Decimals represent the number of decimals use to represent token amount on chain + * + * Since: cosmos-sdk 0.50 + */ + decimals: number; +} +export interface MetadataProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.Metadata'; + value: Uint8Array; +} +/** + * Metadata represents a struct that describes + * a basic token. + */ +export interface MetadataAmino { + description?: string; + /** denom_units represents the list of DenomUnit's for a given coin */ + denom_units?: DenomUnitAmino[]; + /** base represents the base denom (should be the DenomUnit with exponent = 0). */ + base?: string; + /** + * display indicates the suggested denom that should be + * displayed in clients. + */ + display?: string; + /** + * name defines the name of the token (eg: Cosmos Atom) + * + * Since: cosmos-sdk 0.43 + */ + name?: string; + /** + * symbol is the token symbol usually shown on exchanges (eg: ATOM). This can + * be the same as the display. + * + * Since: cosmos-sdk 0.43 + */ + symbol?: string; + /** + * URI to a document (on or off-chain) that contains additional information. Optional. + * + * Since: cosmos-sdk 0.46 + */ + uri?: string; + /** + * URIHash is a sha256 hash of a document pointed by URI. It's used to verify that + * the document didn't change. Optional. + * + * Since: cosmos-sdk 0.46 + */ + uri_hash?: string; + /** + * Decimals represent the number of decimals use to represent token amount on chain + * + * Since: cosmos-sdk 0.50 + */ + decimals?: number; +} +export interface MetadataAminoMsg { + type: 'cosmos-sdk/Metadata'; + value: MetadataAmino; +} +/** + * Metadata represents a struct that describes + * a basic token. + */ +export interface MetadataSDKType { + description: string; + denom_units: DenomUnitSDKType[]; + base: string; + display: string; + name: string; + symbol: string; + uri: string; + uri_hash: string; + decimals: number; +} +function createBaseParams(): Params { + return { + sendEnabled: [], + defaultSendEnabled: false, + }; +} +export const Params = { + typeUrl: '/cosmos.bank.v1beta1.Params', + encode(message: Params, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.sendEnabled) { + SendEnabled.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.defaultSendEnabled === true) { + writer.uint32(16).bool(message.defaultSendEnabled); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sendEnabled.push(SendEnabled.decode(reader, reader.uint32())); + break; + case 2: + message.defaultSendEnabled = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Params { + const message = createBaseParams(); + message.sendEnabled = object.sendEnabled?.map((e) => SendEnabled.fromPartial(e)) || []; + message.defaultSendEnabled = object.defaultSendEnabled ?? false; + return message; + }, + fromAmino(object: ParamsAmino): Params { + const message = createBaseParams(); + message.sendEnabled = object.send_enabled?.map((e) => SendEnabled.fromAmino(e)) || []; + if (object.default_send_enabled !== undefined && object.default_send_enabled !== null) { + message.defaultSendEnabled = object.default_send_enabled; + } + return message; + }, + toAmino(message: Params): ParamsAmino { + const obj: any = {}; + if (message.sendEnabled) { + obj.send_enabled = message.sendEnabled.map((e) => (e ? SendEnabled.toAmino(e) : undefined)); + } else { + obj.send_enabled = message.sendEnabled; + } + obj.default_send_enabled = message.defaultSendEnabled === false ? undefined : message.defaultSendEnabled; + return obj; + }, + fromAminoMsg(object: ParamsAminoMsg): Params { + return Params.fromAmino(object.value); + }, + toAminoMsg(message: Params): ParamsAminoMsg { + return { + type: 'cosmos-sdk/x/bank/Params', + value: Params.toAmino(message), + }; + }, + fromProtoMsg(message: ParamsProtoMsg): Params { + return Params.decode(message.value); + }, + toProto(message: Params): Uint8Array { + return Params.encode(message).finish(); + }, + toProtoMsg(message: Params): ParamsProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.Params', + value: Params.encode(message).finish(), + }; + }, +}; +function createBaseSendEnabled(): SendEnabled { + return { + denom: '', + enabled: false, + }; +} +export const SendEnabled = { + typeUrl: '/cosmos.bank.v1beta1.SendEnabled', + encode(message: SendEnabled, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.denom !== '') { + writer.uint32(10).string(message.denom); + } + if (message.enabled === true) { + writer.uint32(16).bool(message.enabled); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SendEnabled { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSendEnabled(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): SendEnabled { + const message = createBaseSendEnabled(); + message.denom = object.denom ?? ''; + message.enabled = object.enabled ?? false; + return message; + }, + fromAmino(object: SendEnabledAmino): SendEnabled { + const message = createBaseSendEnabled(); + if (object.denom !== undefined && object.denom !== null) { + message.denom = object.denom; + } + if (object.enabled !== undefined && object.enabled !== null) { + message.enabled = object.enabled; + } + return message; + }, + toAmino(message: SendEnabled): SendEnabledAmino { + const obj: any = {}; + obj.denom = message.denom === '' ? undefined : message.denom; + obj.enabled = message.enabled === false ? undefined : message.enabled; + return obj; + }, + fromAminoMsg(object: SendEnabledAminoMsg): SendEnabled { + return SendEnabled.fromAmino(object.value); + }, + toAminoMsg(message: SendEnabled): SendEnabledAminoMsg { + return { + type: 'cosmos-sdk/SendEnabled', + value: SendEnabled.toAmino(message), + }; + }, + fromProtoMsg(message: SendEnabledProtoMsg): SendEnabled { + return SendEnabled.decode(message.value); + }, + toProto(message: SendEnabled): Uint8Array { + return SendEnabled.encode(message).finish(); + }, + toProtoMsg(message: SendEnabled): SendEnabledProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.SendEnabled', + value: SendEnabled.encode(message).finish(), + }; + }, +}; +function createBaseInput(): Input { + return { + address: '', + coins: [], + }; +} +export const Input = { + typeUrl: '/cosmos.bank.v1beta1.Input', + encode(message: Input, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.address !== '') { + writer.uint32(10).string(message.address); + } + for (const v of message.coins) { + Coin.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Input { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.coins.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Input { + const message = createBaseInput(); + message.address = object.address ?? ''; + message.coins = object.coins?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: InputAmino): Input { + const message = createBaseInput(); + if (object.address !== undefined && object.address !== null) { + message.address = object.address; + } + message.coins = object.coins?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: Input): InputAmino { + const obj: any = {}; + obj.address = message.address === '' ? undefined : message.address; + if (message.coins) { + obj.coins = message.coins.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.coins = message.coins; + } + return obj; + }, + fromAminoMsg(object: InputAminoMsg): Input { + return Input.fromAmino(object.value); + }, + toAminoMsg(message: Input): InputAminoMsg { + return { + type: 'cosmos-sdk/Input', + value: Input.toAmino(message), + }; + }, + fromProtoMsg(message: InputProtoMsg): Input { + return Input.decode(message.value); + }, + toProto(message: Input): Uint8Array { + return Input.encode(message).finish(); + }, + toProtoMsg(message: Input): InputProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.Input', + value: Input.encode(message).finish(), + }; + }, +}; +function createBaseOutput(): Output { + return { + address: '', + coins: [], + }; +} +export const Output = { + typeUrl: '/cosmos.bank.v1beta1.Output', + encode(message: Output, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.address !== '') { + writer.uint32(10).string(message.address); + } + for (const v of message.coins) { + Coin.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Output { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOutput(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.coins.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Output { + const message = createBaseOutput(); + message.address = object.address ?? ''; + message.coins = object.coins?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: OutputAmino): Output { + const message = createBaseOutput(); + if (object.address !== undefined && object.address !== null) { + message.address = object.address; + } + message.coins = object.coins?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: Output): OutputAmino { + const obj: any = {}; + obj.address = message.address === '' ? undefined : message.address; + if (message.coins) { + obj.coins = message.coins.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.coins = message.coins; + } + return obj; + }, + fromAminoMsg(object: OutputAminoMsg): Output { + return Output.fromAmino(object.value); + }, + toAminoMsg(message: Output): OutputAminoMsg { + return { + type: 'cosmos-sdk/Output', + value: Output.toAmino(message), + }; + }, + fromProtoMsg(message: OutputProtoMsg): Output { + return Output.decode(message.value); + }, + toProto(message: Output): Uint8Array { + return Output.encode(message).finish(); + }, + toProtoMsg(message: Output): OutputProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.Output', + value: Output.encode(message).finish(), + }; + }, +}; +function createBaseSupply(): Supply { + return { + $typeUrl: '/cosmos.bank.v1beta1.Supply', + total: [], + }; +} +export const Supply = { + typeUrl: '/cosmos.bank.v1beta1.Supply', + encode(message: Supply, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.total) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Supply { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSupply(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.total.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Supply { + const message = createBaseSupply(); + message.total = object.total?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: SupplyAmino): Supply { + const message = createBaseSupply(); + message.total = object.total?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: Supply): SupplyAmino { + const obj: any = {}; + if (message.total) { + obj.total = message.total.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.total = message.total; + } + return obj; + }, + fromAminoMsg(object: SupplyAminoMsg): Supply { + return Supply.fromAmino(object.value); + }, + toAminoMsg(message: Supply): SupplyAminoMsg { + return { + type: 'cosmos-sdk/Supply', + value: Supply.toAmino(message), + }; + }, + fromProtoMsg(message: SupplyProtoMsg): Supply { + return Supply.decode(message.value); + }, + toProto(message: Supply): Uint8Array { + return Supply.encode(message).finish(); + }, + toProtoMsg(message: Supply): SupplyProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.Supply', + value: Supply.encode(message).finish(), + }; + }, +}; +function createBaseDenomUnit(): DenomUnit { + return { + denom: '', + exponent: 0, + aliases: [], + }; +} +export const DenomUnit = { + typeUrl: '/cosmos.bank.v1beta1.DenomUnit', + encode(message: DenomUnit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.denom !== '') { + writer.uint32(10).string(message.denom); + } + if (message.exponent !== 0) { + writer.uint32(16).uint32(message.exponent); + } + for (const v of message.aliases) { + writer.uint32(26).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DenomUnit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDenomUnit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.denom = reader.string(); + break; + case 2: + message.exponent = reader.uint32(); + break; + case 3: + message.aliases.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DenomUnit { + const message = createBaseDenomUnit(); + message.denom = object.denom ?? ''; + message.exponent = object.exponent ?? 0; + message.aliases = object.aliases?.map((e) => e) || []; + return message; + }, + fromAmino(object: DenomUnitAmino): DenomUnit { + const message = createBaseDenomUnit(); + if (object.denom !== undefined && object.denom !== null) { + message.denom = object.denom; + } + if (object.exponent !== undefined && object.exponent !== null) { + message.exponent = object.exponent; + } + message.aliases = object.aliases?.map((e) => e) || []; + return message; + }, + toAmino(message: DenomUnit): DenomUnitAmino { + const obj: any = {}; + obj.denom = message.denom === '' ? undefined : message.denom; + obj.exponent = message.exponent === 0 ? undefined : message.exponent; + if (message.aliases) { + obj.aliases = message.aliases.map((e) => e); + } else { + obj.aliases = message.aliases; + } + return obj; + }, + fromAminoMsg(object: DenomUnitAminoMsg): DenomUnit { + return DenomUnit.fromAmino(object.value); + }, + toAminoMsg(message: DenomUnit): DenomUnitAminoMsg { + return { + type: 'cosmos-sdk/DenomUnit', + value: DenomUnit.toAmino(message), + }; + }, + fromProtoMsg(message: DenomUnitProtoMsg): DenomUnit { + return DenomUnit.decode(message.value); + }, + toProto(message: DenomUnit): Uint8Array { + return DenomUnit.encode(message).finish(); + }, + toProtoMsg(message: DenomUnit): DenomUnitProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.DenomUnit', + value: DenomUnit.encode(message).finish(), + }; + }, +}; +function createBaseMetadata(): Metadata { + return { + description: '', + denomUnits: [], + base: '', + display: '', + name: '', + symbol: '', + uri: '', + uriHash: '', + decimals: 0, + }; +} +export const Metadata = { + typeUrl: '/cosmos.bank.v1beta1.Metadata', + encode(message: Metadata, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.description !== '') { + writer.uint32(10).string(message.description); + } + for (const v of message.denomUnits) { + DenomUnit.encode(v!, writer.uint32(18).fork()).ldelim(); + } + if (message.base !== '') { + writer.uint32(26).string(message.base); + } + if (message.display !== '') { + writer.uint32(34).string(message.display); + } + if (message.name !== '') { + writer.uint32(42).string(message.name); + } + if (message.symbol !== '') { + writer.uint32(50).string(message.symbol); + } + if (message.uri !== '') { + writer.uint32(58).string(message.uri); + } + if (message.uriHash !== '') { + writer.uint32(66).string(message.uriHash); + } + if (message.decimals !== 0) { + writer.uint32(72).uint32(message.decimals); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Metadata { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.description = reader.string(); + break; + case 2: + message.denomUnits.push(DenomUnit.decode(reader, reader.uint32())); + break; + case 3: + message.base = reader.string(); + break; + case 4: + message.display = reader.string(); + break; + case 5: + message.name = reader.string(); + break; + case 6: + message.symbol = reader.string(); + break; + case 7: + message.uri = reader.string(); + break; + case 8: + message.uriHash = reader.string(); + break; + case 9: + message.decimals = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Metadata { + const message = createBaseMetadata(); + message.description = object.description ?? ''; + message.denomUnits = object.denomUnits?.map((e) => DenomUnit.fromPartial(e)) || []; + message.base = object.base ?? ''; + message.display = object.display ?? ''; + message.name = object.name ?? ''; + message.symbol = object.symbol ?? ''; + message.uri = object.uri ?? ''; + message.uriHash = object.uriHash ?? ''; + message.decimals = object.decimals ?? 0; + return message; + }, + fromAmino(object: MetadataAmino): Metadata { + const message = createBaseMetadata(); + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.denomUnits = object.denom_units?.map((e) => DenomUnit.fromAmino(e)) || []; + if (object.base !== undefined && object.base !== null) { + message.base = object.base; + } + if (object.display !== undefined && object.display !== null) { + message.display = object.display; + } + if (object.name !== undefined && object.name !== null) { + message.name = object.name; + } + if (object.symbol !== undefined && object.symbol !== null) { + message.symbol = object.symbol; + } + if (object.uri !== undefined && object.uri !== null) { + message.uri = object.uri; + } + if (object.uri_hash !== undefined && object.uri_hash !== null) { + message.uriHash = object.uri_hash; + } + if (object.decimals !== undefined && object.decimals !== null) { + message.decimals = object.decimals; + } + return message; + }, + toAmino(message: Metadata): MetadataAmino { + const obj: any = {}; + obj.description = message.description === '' ? undefined : message.description; + if (message.denomUnits) { + obj.denom_units = message.denomUnits.map((e) => (e ? DenomUnit.toAmino(e) : undefined)); + } else { + obj.denom_units = message.denomUnits; + } + obj.base = message.base === '' ? undefined : message.base; + obj.display = message.display === '' ? undefined : message.display; + obj.name = message.name === '' ? undefined : message.name; + obj.symbol = message.symbol === '' ? undefined : message.symbol; + obj.uri = message.uri === '' ? undefined : message.uri; + obj.uri_hash = message.uriHash === '' ? undefined : message.uriHash; + obj.decimals = message.decimals === 0 ? undefined : message.decimals; + return obj; + }, + fromAminoMsg(object: MetadataAminoMsg): Metadata { + return Metadata.fromAmino(object.value); + }, + toAminoMsg(message: Metadata): MetadataAminoMsg { + return { + type: 'cosmos-sdk/Metadata', + value: Metadata.toAmino(message), + }; + }, + fromProtoMsg(message: MetadataProtoMsg): Metadata { + return Metadata.decode(message.value); + }, + toProto(message: Metadata): Uint8Array { + return Metadata.encode(message).finish(); + }, + toProtoMsg(message: Metadata): MetadataProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.Metadata', + value: Metadata.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/bank/v1beta1/tx.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/bank/v1beta1/tx.ts new file mode 100644 index 00000000..b66e585f --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/bank/v1beta1/tx.ts @@ -0,0 +1,854 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { Coin, CoinAmino, CoinSDKType } from '../../base/v1beta1/coin'; +import { + Input, + InputAmino, + InputSDKType, + Output, + OutputAmino, + OutputSDKType, + Params, + ParamsAmino, + ParamsSDKType, + SendEnabled, + SendEnabledAmino, + SendEnabledSDKType, +} from './bank'; +/** MsgSend represents a message to send coins from one account to another. */ +export interface MsgSend { + fromAddress: string; + toAddress: string; + amount: Coin[]; +} +export interface MsgSendProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.MsgSend'; + value: Uint8Array; +} +/** MsgSend represents a message to send coins from one account to another. */ +export interface MsgSendAmino { + from_address?: string; + to_address?: string; + amount: CoinAmino[]; +} +export interface MsgSendAminoMsg { + type: 'cosmos-sdk/MsgSend'; + value: MsgSendAmino; +} +/** MsgSend represents a message to send coins from one account to another. */ +export interface MsgSendSDKType { + from_address: string; + to_address: string; + amount: CoinSDKType[]; +} +/** MsgSendResponse defines the Msg/Send response type. */ +export interface MsgSendResponse {} +export interface MsgSendResponseProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.MsgSendResponse'; + value: Uint8Array; +} +/** MsgSendResponse defines the Msg/Send response type. */ +export interface MsgSendResponseAmino {} +export interface MsgSendResponseAminoMsg { + type: 'cosmos-sdk/MsgSendResponse'; + value: MsgSendResponseAmino; +} +/** MsgSendResponse defines the Msg/Send response type. */ +export interface MsgSendResponseSDKType {} +/** MsgMultiSend represents an arbitrary multi-in, multi-out send message. */ +export interface MsgMultiSend { + /** + * Inputs, despite being `repeated`, only allows one sender input. This is + * checked in MsgMultiSend's ValidateBasic. + */ + inputs: Input[]; + outputs: Output[]; +} +export interface MsgMultiSendProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.MsgMultiSend'; + value: Uint8Array; +} +/** MsgMultiSend represents an arbitrary multi-in, multi-out send message. */ +export interface MsgMultiSendAmino { + /** + * Inputs, despite being `repeated`, only allows one sender input. This is + * checked in MsgMultiSend's ValidateBasic. + */ + inputs: InputAmino[]; + outputs: OutputAmino[]; +} +export interface MsgMultiSendAminoMsg { + type: 'cosmos-sdk/MsgMultiSend'; + value: MsgMultiSendAmino; +} +/** MsgMultiSend represents an arbitrary multi-in, multi-out send message. */ +export interface MsgMultiSendSDKType { + inputs: InputSDKType[]; + outputs: OutputSDKType[]; +} +/** MsgMultiSendResponse defines the Msg/MultiSend response type. */ +export interface MsgMultiSendResponse {} +export interface MsgMultiSendResponseProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.MsgMultiSendResponse'; + value: Uint8Array; +} +/** MsgMultiSendResponse defines the Msg/MultiSend response type. */ +export interface MsgMultiSendResponseAmino {} +export interface MsgMultiSendResponseAminoMsg { + type: 'cosmos-sdk/MsgMultiSendResponse'; + value: MsgMultiSendResponseAmino; +} +/** MsgMultiSendResponse defines the Msg/MultiSend response type. */ +export interface MsgMultiSendResponseSDKType {} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParams { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority: string; + /** + * params defines the x/bank parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params: Params; +} +export interface MsgUpdateParamsProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.MsgUpdateParams'; + value: Uint8Array; +} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsAmino { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority?: string; + /** + * params defines the x/bank parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params: ParamsAmino; +} +export interface MsgUpdateParamsAminoMsg { + type: 'cosmos-sdk/x/bank/MsgUpdateParams'; + value: MsgUpdateParamsAmino; +} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsSDKType { + authority: string; + params: ParamsSDKType; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponse {} +export interface MsgUpdateParamsResponseProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.MsgUpdateParamsResponse'; + value: Uint8Array; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponseAmino {} +export interface MsgUpdateParamsResponseAminoMsg { + type: 'cosmos-sdk/MsgUpdateParamsResponse'; + value: MsgUpdateParamsResponseAmino; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponseSDKType {} +/** + * MsgSetSendEnabled is the Msg/SetSendEnabled request type. + * + * Only entries to add/update/delete need to be included. + * Existing SendEnabled entries that are not included in this + * message are left unchanged. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgSetSendEnabled { + /** authority is the address that controls the module. */ + authority: string; + /** send_enabled is the list of entries to add or update. */ + sendEnabled: SendEnabled[]; + /** + * use_default_for is a list of denoms that should use the params.default_send_enabled value. + * Denoms listed here will have their SendEnabled entries deleted. + * If a denom is included that doesn't have a SendEnabled entry, + * it will be ignored. + */ + useDefaultFor: string[]; +} +export interface MsgSetSendEnabledProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.MsgSetSendEnabled'; + value: Uint8Array; +} +/** + * MsgSetSendEnabled is the Msg/SetSendEnabled request type. + * + * Only entries to add/update/delete need to be included. + * Existing SendEnabled entries that are not included in this + * message are left unchanged. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgSetSendEnabledAmino { + /** authority is the address that controls the module. */ + authority?: string; + /** send_enabled is the list of entries to add or update. */ + send_enabled?: SendEnabledAmino[]; + /** + * use_default_for is a list of denoms that should use the params.default_send_enabled value. + * Denoms listed here will have their SendEnabled entries deleted. + * If a denom is included that doesn't have a SendEnabled entry, + * it will be ignored. + */ + use_default_for?: string[]; +} +export interface MsgSetSendEnabledAminoMsg { + type: 'cosmos-sdk/MsgSetSendEnabled'; + value: MsgSetSendEnabledAmino; +} +/** + * MsgSetSendEnabled is the Msg/SetSendEnabled request type. + * + * Only entries to add/update/delete need to be included. + * Existing SendEnabled entries that are not included in this + * message are left unchanged. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgSetSendEnabledSDKType { + authority: string; + send_enabled: SendEnabledSDKType[]; + use_default_for: string[]; +} +/** + * MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgSetSendEnabledResponse {} +export interface MsgSetSendEnabledResponseProtoMsg { + typeUrl: '/cosmos.bank.v1beta1.MsgSetSendEnabledResponse'; + value: Uint8Array; +} +/** + * MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgSetSendEnabledResponseAmino {} +export interface MsgSetSendEnabledResponseAminoMsg { + type: 'cosmos-sdk/MsgSetSendEnabledResponse'; + value: MsgSetSendEnabledResponseAmino; +} +/** + * MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgSetSendEnabledResponseSDKType {} +function createBaseMsgSend(): MsgSend { + return { + fromAddress: '', + toAddress: '', + amount: [], + }; +} +export const MsgSend = { + typeUrl: '/cosmos.bank.v1beta1.MsgSend', + encode(message: MsgSend, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.fromAddress !== '') { + writer.uint32(10).string(message.fromAddress); + } + if (message.toAddress !== '') { + writer.uint32(18).string(message.toAddress); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSend { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.fromAddress = reader.string(); + break; + case 2: + message.toAddress = reader.string(); + break; + case 3: + message.amount.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgSend { + const message = createBaseMsgSend(); + message.fromAddress = object.fromAddress ?? ''; + message.toAddress = object.toAddress ?? ''; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgSendAmino): MsgSend { + const message = createBaseMsgSend(); + if (object.from_address !== undefined && object.from_address !== null) { + message.fromAddress = object.from_address; + } + if (object.to_address !== undefined && object.to_address !== null) { + message.toAddress = object.to_address; + } + message.amount = object.amount?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgSend): MsgSendAmino { + const obj: any = {}; + obj.from_address = message.fromAddress === '' ? undefined : message.fromAddress; + obj.to_address = message.toAddress === '' ? undefined : message.toAddress; + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amount = message.amount; + } + return obj; + }, + fromAminoMsg(object: MsgSendAminoMsg): MsgSend { + return MsgSend.fromAmino(object.value); + }, + toAminoMsg(message: MsgSend): MsgSendAminoMsg { + return { + type: 'cosmos-sdk/MsgSend', + value: MsgSend.toAmino(message), + }; + }, + fromProtoMsg(message: MsgSendProtoMsg): MsgSend { + return MsgSend.decode(message.value); + }, + toProto(message: MsgSend): Uint8Array { + return MsgSend.encode(message).finish(); + }, + toProtoMsg(message: MsgSend): MsgSendProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.MsgSend', + value: MsgSend.encode(message).finish(), + }; + }, +}; +function createBaseMsgSendResponse(): MsgSendResponse { + return {}; +} +export const MsgSendResponse = { + typeUrl: '/cosmos.bank.v1beta1.MsgSendResponse', + encode(_: MsgSendResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSendResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSendResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgSendResponse { + const message = createBaseMsgSendResponse(); + return message; + }, + fromAmino(_: MsgSendResponseAmino): MsgSendResponse { + const message = createBaseMsgSendResponse(); + return message; + }, + toAmino(_: MsgSendResponse): MsgSendResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgSendResponseAminoMsg): MsgSendResponse { + return MsgSendResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgSendResponse): MsgSendResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgSendResponse', + value: MsgSendResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgSendResponseProtoMsg): MsgSendResponse { + return MsgSendResponse.decode(message.value); + }, + toProto(message: MsgSendResponse): Uint8Array { + return MsgSendResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgSendResponse): MsgSendResponseProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.MsgSendResponse', + value: MsgSendResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgMultiSend(): MsgMultiSend { + return { + inputs: [], + outputs: [], + }; +} +export const MsgMultiSend = { + typeUrl: '/cosmos.bank.v1beta1.MsgMultiSend', + encode(message: MsgMultiSend, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.inputs) { + Input.encode(v!, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.outputs) { + Output.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgMultiSend { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgMultiSend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.inputs.push(Input.decode(reader, reader.uint32())); + break; + case 2: + message.outputs.push(Output.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgMultiSend { + const message = createBaseMsgMultiSend(); + message.inputs = object.inputs?.map((e) => Input.fromPartial(e)) || []; + message.outputs = object.outputs?.map((e) => Output.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgMultiSendAmino): MsgMultiSend { + const message = createBaseMsgMultiSend(); + message.inputs = object.inputs?.map((e) => Input.fromAmino(e)) || []; + message.outputs = object.outputs?.map((e) => Output.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgMultiSend): MsgMultiSendAmino { + const obj: any = {}; + if (message.inputs) { + obj.inputs = message.inputs.map((e) => (e ? Input.toAmino(e) : undefined)); + } else { + obj.inputs = message.inputs; + } + if (message.outputs) { + obj.outputs = message.outputs.map((e) => (e ? Output.toAmino(e) : undefined)); + } else { + obj.outputs = message.outputs; + } + return obj; + }, + fromAminoMsg(object: MsgMultiSendAminoMsg): MsgMultiSend { + return MsgMultiSend.fromAmino(object.value); + }, + toAminoMsg(message: MsgMultiSend): MsgMultiSendAminoMsg { + return { + type: 'cosmos-sdk/MsgMultiSend', + value: MsgMultiSend.toAmino(message), + }; + }, + fromProtoMsg(message: MsgMultiSendProtoMsg): MsgMultiSend { + return MsgMultiSend.decode(message.value); + }, + toProto(message: MsgMultiSend): Uint8Array { + return MsgMultiSend.encode(message).finish(); + }, + toProtoMsg(message: MsgMultiSend): MsgMultiSendProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.MsgMultiSend', + value: MsgMultiSend.encode(message).finish(), + }; + }, +}; +function createBaseMsgMultiSendResponse(): MsgMultiSendResponse { + return {}; +} +export const MsgMultiSendResponse = { + typeUrl: '/cosmos.bank.v1beta1.MsgMultiSendResponse', + encode(_: MsgMultiSendResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgMultiSendResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgMultiSendResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgMultiSendResponse { + const message = createBaseMsgMultiSendResponse(); + return message; + }, + fromAmino(_: MsgMultiSendResponseAmino): MsgMultiSendResponse { + const message = createBaseMsgMultiSendResponse(); + return message; + }, + toAmino(_: MsgMultiSendResponse): MsgMultiSendResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgMultiSendResponseAminoMsg): MsgMultiSendResponse { + return MsgMultiSendResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgMultiSendResponse): MsgMultiSendResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgMultiSendResponse', + value: MsgMultiSendResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgMultiSendResponseProtoMsg): MsgMultiSendResponse { + return MsgMultiSendResponse.decode(message.value); + }, + toProto(message: MsgMultiSendResponse): Uint8Array { + return MsgMultiSendResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgMultiSendResponse): MsgMultiSendResponseProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.MsgMultiSendResponse', + value: MsgMultiSendResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParams(): MsgUpdateParams { + return { + authority: '', + params: Params.fromPartial({}), + }; +} +export const MsgUpdateParams = { + typeUrl: '/cosmos.bank.v1beta1.MsgUpdateParams', + encode(message: MsgUpdateParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.params = Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + message.authority = object.authority ?? ''; + message.params = + object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, + fromAmino(object: MsgUpdateParamsAmino): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + if (object.params !== undefined && object.params !== null) { + message.params = Params.fromAmino(object.params); + } + return message; + }, + toAmino(message: MsgUpdateParams): MsgUpdateParamsAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + obj.params = message.params ? Params.toAmino(message.params) : Params.toAmino(Params.fromPartial({})); + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsAminoMsg): MsgUpdateParams { + return MsgUpdateParams.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateParams): MsgUpdateParamsAminoMsg { + return { + type: 'cosmos-sdk/x/bank/MsgUpdateParams', + value: MsgUpdateParams.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateParamsProtoMsg): MsgUpdateParams { + return MsgUpdateParams.decode(message.value); + }, + toProto(message: MsgUpdateParams): Uint8Array { + return MsgUpdateParams.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParams): MsgUpdateParamsProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.MsgUpdateParams', + value: MsgUpdateParams.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse { + return {}; +} +export const MsgUpdateParamsResponse = { + typeUrl: '/cosmos.bank.v1beta1.MsgUpdateParamsResponse', + encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + fromAmino(_: MsgUpdateParamsResponseAmino): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + toAmino(_: MsgUpdateParamsResponse): MsgUpdateParamsResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsResponseAminoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgUpdateParamsResponse', + value: MsgUpdateParamsResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateParamsResponseProtoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.decode(message.value); + }, + toProto(message: MsgUpdateParamsResponse): Uint8Array { + return MsgUpdateParamsResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.MsgUpdateParamsResponse', + value: MsgUpdateParamsResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgSetSendEnabled(): MsgSetSendEnabled { + return { + authority: '', + sendEnabled: [], + useDefaultFor: [], + }; +} +export const MsgSetSendEnabled = { + typeUrl: '/cosmos.bank.v1beta1.MsgSetSendEnabled', + encode(message: MsgSetSendEnabled, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + for (const v of message.sendEnabled) { + SendEnabled.encode(v!, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.useDefaultFor) { + writer.uint32(26).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSetSendEnabled { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSetSendEnabled(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.sendEnabled.push(SendEnabled.decode(reader, reader.uint32())); + break; + case 3: + message.useDefaultFor.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgSetSendEnabled { + const message = createBaseMsgSetSendEnabled(); + message.authority = object.authority ?? ''; + message.sendEnabled = object.sendEnabled?.map((e) => SendEnabled.fromPartial(e)) || []; + message.useDefaultFor = object.useDefaultFor?.map((e) => e) || []; + return message; + }, + fromAmino(object: MsgSetSendEnabledAmino): MsgSetSendEnabled { + const message = createBaseMsgSetSendEnabled(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + message.sendEnabled = object.send_enabled?.map((e) => SendEnabled.fromAmino(e)) || []; + message.useDefaultFor = object.use_default_for?.map((e) => e) || []; + return message; + }, + toAmino(message: MsgSetSendEnabled): MsgSetSendEnabledAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + if (message.sendEnabled) { + obj.send_enabled = message.sendEnabled.map((e) => (e ? SendEnabled.toAmino(e) : undefined)); + } else { + obj.send_enabled = message.sendEnabled; + } + if (message.useDefaultFor) { + obj.use_default_for = message.useDefaultFor.map((e) => e); + } else { + obj.use_default_for = message.useDefaultFor; + } + return obj; + }, + fromAminoMsg(object: MsgSetSendEnabledAminoMsg): MsgSetSendEnabled { + return MsgSetSendEnabled.fromAmino(object.value); + }, + toAminoMsg(message: MsgSetSendEnabled): MsgSetSendEnabledAminoMsg { + return { + type: 'cosmos-sdk/MsgSetSendEnabled', + value: MsgSetSendEnabled.toAmino(message), + }; + }, + fromProtoMsg(message: MsgSetSendEnabledProtoMsg): MsgSetSendEnabled { + return MsgSetSendEnabled.decode(message.value); + }, + toProto(message: MsgSetSendEnabled): Uint8Array { + return MsgSetSendEnabled.encode(message).finish(); + }, + toProtoMsg(message: MsgSetSendEnabled): MsgSetSendEnabledProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.MsgSetSendEnabled', + value: MsgSetSendEnabled.encode(message).finish(), + }; + }, +}; +function createBaseMsgSetSendEnabledResponse(): MsgSetSendEnabledResponse { + return {}; +} +export const MsgSetSendEnabledResponse = { + typeUrl: '/cosmos.bank.v1beta1.MsgSetSendEnabledResponse', + encode(_: MsgSetSendEnabledResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSetSendEnabledResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSetSendEnabledResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgSetSendEnabledResponse { + const message = createBaseMsgSetSendEnabledResponse(); + return message; + }, + fromAmino(_: MsgSetSendEnabledResponseAmino): MsgSetSendEnabledResponse { + const message = createBaseMsgSetSendEnabledResponse(); + return message; + }, + toAmino(_: MsgSetSendEnabledResponse): MsgSetSendEnabledResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgSetSendEnabledResponseAminoMsg): MsgSetSendEnabledResponse { + return MsgSetSendEnabledResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgSetSendEnabledResponse): MsgSetSendEnabledResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgSetSendEnabledResponse', + value: MsgSetSendEnabledResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgSetSendEnabledResponseProtoMsg): MsgSetSendEnabledResponse { + return MsgSetSendEnabledResponse.decode(message.value); + }, + toProto(message: MsgSetSendEnabledResponse): Uint8Array { + return MsgSetSendEnabledResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgSetSendEnabledResponse): MsgSetSendEnabledResponseProtoMsg { + return { + typeUrl: '/cosmos.bank.v1beta1.MsgSetSendEnabledResponse', + value: MsgSetSendEnabledResponse.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/base/abci/v1beta1/abci.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/base/abci/v1beta1/abci.ts new file mode 100644 index 00000000..7918aa7a --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/base/abci/v1beta1/abci.ts @@ -0,0 +1,1713 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Any, AnyAmino, AnySDKType } from 'cosmjs-types/google/protobuf/any'; + +import { BinaryReader, BinaryWriter } from '../../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../../helpers'; +import { Event, EventAmino, EventSDKType } from '../../../../tendermint/abci/types'; +import { Block, BlockAmino, BlockSDKType } from '../../../../tendermint/types/block'; +/** + * TxResponse defines a structure containing relevant tx data and metadata. The + * tags are stringified and the log is JSON decoded. + */ +export interface TxResponse { + /** The block height */ + height: bigint; + /** The transaction hash. */ + txhash: string; + /** Namespace for the Code */ + codespace: string; + /** Response code. */ + code: number; + /** Result bytes, if any. */ + data: string; + /** + * The output of the application's logger (raw string). May be + * non-deterministic. + */ + rawLog: string; + /** The output of the application's logger (typed). May be non-deterministic. */ + logs: ABCIMessageLog[]; + /** Additional information. May be non-deterministic. */ + info: string; + /** Amount of gas requested for transaction. */ + gasWanted: bigint; + /** Amount of gas consumed by transaction. */ + gasUsed: bigint; + /** The request transaction bytes. */ + tx?: Any; + /** + * Time of the previous block. For heights > 1, it's the weighted median of + * the timestamps of the valid votes in the block.LastCommit. For height == 1, + * it's genesis time. + */ + timestamp: string; + /** + * Events defines all the events emitted by processing a transaction. Note, + * these events include those emitted by processing all the messages and those + * emitted from the ante. Whereas Logs contains the events, with + * additional metadata, emitted only by processing the messages. + * + * Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + */ + events: Event[]; +} +export interface TxResponseProtoMsg { + typeUrl: '/cosmos.base.abci.v1beta1.TxResponse'; + value: Uint8Array; +} +/** + * TxResponse defines a structure containing relevant tx data and metadata. The + * tags are stringified and the log is JSON decoded. + */ +export interface TxResponseAmino { + /** The block height */ + height?: string; + /** The transaction hash. */ + txhash?: string; + /** Namespace for the Code */ + codespace?: string; + /** Response code. */ + code?: number; + /** Result bytes, if any. */ + data?: string; + /** + * The output of the application's logger (raw string). May be + * non-deterministic. + */ + raw_log?: string; + /** The output of the application's logger (typed). May be non-deterministic. */ + logs?: ABCIMessageLogAmino[]; + /** Additional information. May be non-deterministic. */ + info?: string; + /** Amount of gas requested for transaction. */ + gas_wanted?: string; + /** Amount of gas consumed by transaction. */ + gas_used?: string; + /** The request transaction bytes. */ + tx?: AnyAmino; + /** + * Time of the previous block. For heights > 1, it's the weighted median of + * the timestamps of the valid votes in the block.LastCommit. For height == 1, + * it's genesis time. + */ + timestamp?: string; + /** + * Events defines all the events emitted by processing a transaction. Note, + * these events include those emitted by processing all the messages and those + * emitted from the ante. Whereas Logs contains the events, with + * additional metadata, emitted only by processing the messages. + * + * Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + */ + events?: EventAmino[]; +} +export interface TxResponseAminoMsg { + type: 'cosmos-sdk/TxResponse'; + value: TxResponseAmino; +} +/** + * TxResponse defines a structure containing relevant tx data and metadata. The + * tags are stringified and the log is JSON decoded. + */ +export interface TxResponseSDKType { + height: bigint; + txhash: string; + codespace: string; + code: number; + data: string; + raw_log: string; + logs: ABCIMessageLogSDKType[]; + info: string; + gas_wanted: bigint; + gas_used: bigint; + tx?: AnySDKType; + timestamp: string; + events: EventSDKType[]; +} +/** ABCIMessageLog defines a structure containing an indexed tx ABCI message log. */ +export interface ABCIMessageLog { + msgIndex: number; + log: string; + /** + * Events contains a slice of Event objects that were emitted during some + * execution. + */ + events: StringEvent[]; +} +export interface ABCIMessageLogProtoMsg { + typeUrl: '/cosmos.base.abci.v1beta1.ABCIMessageLog'; + value: Uint8Array; +} +/** ABCIMessageLog defines a structure containing an indexed tx ABCI message log. */ +export interface ABCIMessageLogAmino { + msg_index: number; + log?: string; + /** + * Events contains a slice of Event objects that were emitted during some + * execution. + */ + events?: StringEventAmino[]; +} +export interface ABCIMessageLogAminoMsg { + type: 'cosmos-sdk/ABCIMessageLog'; + value: ABCIMessageLogAmino; +} +/** ABCIMessageLog defines a structure containing an indexed tx ABCI message log. */ +export interface ABCIMessageLogSDKType { + msg_index: number; + log: string; + events: StringEventSDKType[]; +} +/** + * StringEvent defines en Event object wrapper where all the attributes + * contain key/value pairs that are strings instead of raw bytes. + */ +export interface StringEvent { + type: string; + attributes: Attribute[]; +} +export interface StringEventProtoMsg { + typeUrl: '/cosmos.base.abci.v1beta1.StringEvent'; + value: Uint8Array; +} +/** + * StringEvent defines en Event object wrapper where all the attributes + * contain key/value pairs that are strings instead of raw bytes. + */ +export interface StringEventAmino { + type?: string; + attributes?: AttributeAmino[]; +} +export interface StringEventAminoMsg { + type: 'cosmos-sdk/StringEvent'; + value: StringEventAmino; +} +/** + * StringEvent defines en Event object wrapper where all the attributes + * contain key/value pairs that are strings instead of raw bytes. + */ +export interface StringEventSDKType { + type: string; + attributes: AttributeSDKType[]; +} +/** + * Attribute defines an attribute wrapper where the key and value are + * strings instead of raw bytes. + */ +export interface Attribute { + key: string; + value: string; +} +export interface AttributeProtoMsg { + typeUrl: '/cosmos.base.abci.v1beta1.Attribute'; + value: Uint8Array; +} +/** + * Attribute defines an attribute wrapper where the key and value are + * strings instead of raw bytes. + */ +export interface AttributeAmino { + key?: string; + value?: string; +} +export interface AttributeAminoMsg { + type: 'cosmos-sdk/Attribute'; + value: AttributeAmino; +} +/** + * Attribute defines an attribute wrapper where the key and value are + * strings instead of raw bytes. + */ +export interface AttributeSDKType { + key: string; + value: string; +} +/** GasInfo defines tx execution gas context. */ +export interface GasInfo { + /** GasWanted is the maximum units of work we allow this tx to perform. */ + gasWanted: bigint; + /** GasUsed is the amount of gas actually consumed. */ + gasUsed: bigint; +} +export interface GasInfoProtoMsg { + typeUrl: '/cosmos.base.abci.v1beta1.GasInfo'; + value: Uint8Array; +} +/** GasInfo defines tx execution gas context. */ +export interface GasInfoAmino { + /** GasWanted is the maximum units of work we allow this tx to perform. */ + gas_wanted?: string; + /** GasUsed is the amount of gas actually consumed. */ + gas_used?: string; +} +export interface GasInfoAminoMsg { + type: 'cosmos-sdk/GasInfo'; + value: GasInfoAmino; +} +/** GasInfo defines tx execution gas context. */ +export interface GasInfoSDKType { + gas_wanted: bigint; + gas_used: bigint; +} +/** Result is the union of ResponseFormat and ResponseCheckTx. */ +export interface Result { + /** + * Data is any data returned from message or handler execution. It MUST be + * length prefixed in order to separate data from multiple message executions. + * Deprecated. This field is still populated, but prefer msg_response instead + * because it also contains the Msg response typeURL. + */ + /** @deprecated */ + data: Uint8Array; + /** Log contains the log information from message or handler execution. */ + log: string; + /** + * Events contains a slice of Event objects that were emitted during message + * or handler execution. + */ + events: Event[]; + /** + * msg_responses contains the Msg handler responses type packed in Anys. + * + * Since: cosmos-sdk 0.46 + */ + msgResponses: Any[]; +} +export interface ResultProtoMsg { + typeUrl: '/cosmos.base.abci.v1beta1.Result'; + value: Uint8Array; +} +/** Result is the union of ResponseFormat and ResponseCheckTx. */ +export interface ResultAmino { + /** + * Data is any data returned from message or handler execution. It MUST be + * length prefixed in order to separate data from multiple message executions. + * Deprecated. This field is still populated, but prefer msg_response instead + * because it also contains the Msg response typeURL. + */ + /** @deprecated */ + data?: string; + /** Log contains the log information from message or handler execution. */ + log?: string; + /** + * Events contains a slice of Event objects that were emitted during message + * or handler execution. + */ + events?: EventAmino[]; + /** + * msg_responses contains the Msg handler responses type packed in Anys. + * + * Since: cosmos-sdk 0.46 + */ + msg_responses?: AnyAmino[]; +} +export interface ResultAminoMsg { + type: 'cosmos-sdk/Result'; + value: ResultAmino; +} +/** Result is the union of ResponseFormat and ResponseCheckTx. */ +export interface ResultSDKType { + /** @deprecated */ + data: Uint8Array; + log: string; + events: EventSDKType[]; + msg_responses: AnySDKType[]; +} +/** + * SimulationResponse defines the response generated when a transaction is + * successfully simulated. + */ +export interface SimulationResponse { + gasInfo: GasInfo; + result?: Result; +} +export interface SimulationResponseProtoMsg { + typeUrl: '/cosmos.base.abci.v1beta1.SimulationResponse'; + value: Uint8Array; +} +/** + * SimulationResponse defines the response generated when a transaction is + * successfully simulated. + */ +export interface SimulationResponseAmino { + gas_info?: GasInfoAmino; + result?: ResultAmino; +} +export interface SimulationResponseAminoMsg { + type: 'cosmos-sdk/SimulationResponse'; + value: SimulationResponseAmino; +} +/** + * SimulationResponse defines the response generated when a transaction is + * successfully simulated. + */ +export interface SimulationResponseSDKType { + gas_info: GasInfoSDKType; + result?: ResultSDKType; +} +/** + * MsgData defines the data returned in a Result object during message + * execution. + */ +/** @deprecated */ +export interface MsgData { + msgType: string; + data: Uint8Array; +} +export interface MsgDataProtoMsg { + typeUrl: '/cosmos.base.abci.v1beta1.MsgData'; + value: Uint8Array; +} +/** + * MsgData defines the data returned in a Result object during message + * execution. + */ +/** @deprecated */ +export interface MsgDataAmino { + msg_type?: string; + data?: string; +} +export interface MsgDataAminoMsg { + type: 'cosmos-sdk/MsgData'; + value: MsgDataAmino; +} +/** + * MsgData defines the data returned in a Result object during message + * execution. + */ +/** @deprecated */ +export interface MsgDataSDKType { + msg_type: string; + data: Uint8Array; +} +/** + * TxMsgData defines a list of MsgData. A transaction will have a MsgData object + * for each message. + */ +export interface TxMsgData { + /** data field is deprecated and not populated. */ + /** @deprecated */ + data: MsgData[]; + /** + * msg_responses contains the Msg handler responses packed into Anys. + * + * Since: cosmos-sdk 0.46 + */ + msgResponses: Any[]; +} +export interface TxMsgDataProtoMsg { + typeUrl: '/cosmos.base.abci.v1beta1.TxMsgData'; + value: Uint8Array; +} +/** + * TxMsgData defines a list of MsgData. A transaction will have a MsgData object + * for each message. + */ +export interface TxMsgDataAmino { + /** data field is deprecated and not populated. */ + /** @deprecated */ + data?: MsgDataAmino[]; + /** + * msg_responses contains the Msg handler responses packed into Anys. + * + * Since: cosmos-sdk 0.46 + */ + msg_responses?: AnyAmino[]; +} +export interface TxMsgDataAminoMsg { + type: 'cosmos-sdk/TxMsgData'; + value: TxMsgDataAmino; +} +/** + * TxMsgData defines a list of MsgData. A transaction will have a MsgData object + * for each message. + */ +export interface TxMsgDataSDKType { + /** @deprecated */ + data: MsgDataSDKType[]; + msg_responses: AnySDKType[]; +} +/** SearchTxsResult defines a structure for querying txs pageable */ +export interface SearchTxsResult { + /** Count of all txs */ + totalCount: bigint; + /** Count of txs in current page */ + count: bigint; + /** Index of current page, start from 1 */ + pageNumber: bigint; + /** Count of total pages */ + pageTotal: bigint; + /** Max count txs per page */ + limit: bigint; + /** List of txs in current page */ + txs: TxResponse[]; +} +export interface SearchTxsResultProtoMsg { + typeUrl: '/cosmos.base.abci.v1beta1.SearchTxsResult'; + value: Uint8Array; +} +/** SearchTxsResult defines a structure for querying txs pageable */ +export interface SearchTxsResultAmino { + /** Count of all txs */ + total_count?: string; + /** Count of txs in current page */ + count?: string; + /** Index of current page, start from 1 */ + page_number?: string; + /** Count of total pages */ + page_total?: string; + /** Max count txs per page */ + limit?: string; + /** List of txs in current page */ + txs?: TxResponseAmino[]; +} +export interface SearchTxsResultAminoMsg { + type: 'cosmos-sdk/SearchTxsResult'; + value: SearchTxsResultAmino; +} +/** SearchTxsResult defines a structure for querying txs pageable */ +export interface SearchTxsResultSDKType { + total_count: bigint; + count: bigint; + page_number: bigint; + page_total: bigint; + limit: bigint; + txs: TxResponseSDKType[]; +} +/** SearchBlocksResult defines a structure for querying blocks pageable */ +export interface SearchBlocksResult { + /** Count of all blocks */ + totalCount: bigint; + /** Count of blocks in current page */ + count: bigint; + /** Index of current page, start from 1 */ + pageNumber: bigint; + /** Count of total pages */ + pageTotal: bigint; + /** Max count blocks per page */ + limit: bigint; + /** List of blocks in current page */ + blocks: Block[]; +} +export interface SearchBlocksResultProtoMsg { + typeUrl: '/cosmos.base.abci.v1beta1.SearchBlocksResult'; + value: Uint8Array; +} +/** SearchBlocksResult defines a structure for querying blocks pageable */ +export interface SearchBlocksResultAmino { + /** Count of all blocks */ + total_count?: string; + /** Count of blocks in current page */ + count?: string; + /** Index of current page, start from 1 */ + page_number?: string; + /** Count of total pages */ + page_total?: string; + /** Max count blocks per page */ + limit?: string; + /** List of blocks in current page */ + blocks?: BlockAmino[]; +} +export interface SearchBlocksResultAminoMsg { + type: 'cosmos-sdk/SearchBlocksResult'; + value: SearchBlocksResultAmino; +} +/** SearchBlocksResult defines a structure for querying blocks pageable */ +export interface SearchBlocksResultSDKType { + total_count: bigint; + count: bigint; + page_number: bigint; + page_total: bigint; + limit: bigint; + blocks: BlockSDKType[]; +} +function createBaseTxResponse(): TxResponse { + return { + height: BigInt(0), + txhash: '', + codespace: '', + code: 0, + data: '', + rawLog: '', + logs: [], + info: '', + gasWanted: BigInt(0), + gasUsed: BigInt(0), + tx: undefined, + timestamp: '', + events: [], + }; +} +export const TxResponse = { + typeUrl: '/cosmos.base.abci.v1beta1.TxResponse', + encode(message: TxResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.height !== BigInt(0)) { + writer.uint32(8).int64(message.height); + } + if (message.txhash !== '') { + writer.uint32(18).string(message.txhash); + } + if (message.codespace !== '') { + writer.uint32(26).string(message.codespace); + } + if (message.code !== 0) { + writer.uint32(32).uint32(message.code); + } + if (message.data !== '') { + writer.uint32(42).string(message.data); + } + if (message.rawLog !== '') { + writer.uint32(50).string(message.rawLog); + } + for (const v of message.logs) { + ABCIMessageLog.encode(v!, writer.uint32(58).fork()).ldelim(); + } + if (message.info !== '') { + writer.uint32(66).string(message.info); + } + if (message.gasWanted !== BigInt(0)) { + writer.uint32(72).int64(message.gasWanted); + } + if (message.gasUsed !== BigInt(0)) { + writer.uint32(80).int64(message.gasUsed); + } + if (message.tx !== undefined) { + Any.encode(message.tx, writer.uint32(90).fork()).ldelim(); + } + if (message.timestamp !== '') { + writer.uint32(98).string(message.timestamp); + } + for (const v of message.events) { + Event.encode(v!, writer.uint32(106).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxResponse(); + while (reader.pos < end) { + const 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: + message.logs.push(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 = Any.decode(reader, reader.uint32()); + break; + case 12: + message.timestamp = reader.string(); + break; + case 13: + message.events.push(Event.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxResponse { + const message = createBaseTxResponse(); + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.txhash = object.txhash ?? ''; + message.codespace = object.codespace ?? ''; + message.code = object.code ?? 0; + message.data = object.data ?? ''; + message.rawLog = object.rawLog ?? ''; + message.logs = object.logs?.map((e) => ABCIMessageLog.fromPartial(e)) || []; + message.info = object.info ?? ''; + message.gasWanted = + object.gasWanted !== undefined && object.gasWanted !== null ? BigInt(object.gasWanted.toString()) : BigInt(0); + message.gasUsed = + object.gasUsed !== undefined && object.gasUsed !== null ? BigInt(object.gasUsed.toString()) : BigInt(0); + message.tx = object.tx !== undefined && object.tx !== null ? Any.fromPartial(object.tx) : undefined; + message.timestamp = object.timestamp ?? ''; + message.events = object.events?.map((e) => Event.fromPartial(e)) || []; + return message; + }, + fromAmino(object: TxResponseAmino): TxResponse { + const message = createBaseTxResponse(); + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.txhash !== undefined && object.txhash !== null) { + message.txhash = object.txhash; + } + if (object.codespace !== undefined && object.codespace !== null) { + message.codespace = object.codespace; + } + if (object.code !== undefined && object.code !== null) { + message.code = object.code; + } + if (object.data !== undefined && object.data !== null) { + message.data = object.data; + } + if (object.raw_log !== undefined && object.raw_log !== null) { + message.rawLog = object.raw_log; + } + message.logs = object.logs?.map((e) => ABCIMessageLog.fromAmino(e)) || []; + if (object.info !== undefined && object.info !== null) { + message.info = object.info; + } + if (object.gas_wanted !== undefined && object.gas_wanted !== null) { + message.gasWanted = BigInt(object.gas_wanted); + } + if (object.gas_used !== undefined && object.gas_used !== null) { + message.gasUsed = BigInt(object.gas_used); + } + if (object.tx !== undefined && object.tx !== null) { + message.tx = Any.fromAmino(object.tx); + } + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = object.timestamp; + } + message.events = object.events?.map((e) => Event.fromAmino(e)) || []; + return message; + }, + toAmino(message: TxResponse): TxResponseAmino { + const obj: any = {}; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.txhash = message.txhash === '' ? undefined : message.txhash; + obj.codespace = message.codespace === '' ? undefined : message.codespace; + obj.code = message.code === 0 ? undefined : message.code; + obj.data = message.data === '' ? undefined : message.data; + obj.raw_log = message.rawLog === '' ? undefined : message.rawLog; + if (message.logs) { + obj.logs = message.logs.map((e) => (e ? ABCIMessageLog.toAmino(e) : undefined)); + } else { + obj.logs = message.logs; + } + obj.info = message.info === '' ? undefined : message.info; + obj.gas_wanted = message.gasWanted !== BigInt(0) ? (message.gasWanted?.toString)() : undefined; + obj.gas_used = message.gasUsed !== BigInt(0) ? (message.gasUsed?.toString)() : undefined; + obj.tx = message.tx ? Any.toAmino(message.tx) : undefined; + obj.timestamp = message.timestamp === '' ? undefined : message.timestamp; + if (message.events) { + obj.events = message.events.map((e) => (e ? Event.toAmino(e) : undefined)); + } else { + obj.events = message.events; + } + return obj; + }, + fromAminoMsg(object: TxResponseAminoMsg): TxResponse { + return TxResponse.fromAmino(object.value); + }, + toAminoMsg(message: TxResponse): TxResponseAminoMsg { + return { + type: 'cosmos-sdk/TxResponse', + value: TxResponse.toAmino(message), + }; + }, + fromProtoMsg(message: TxResponseProtoMsg): TxResponse { + return TxResponse.decode(message.value); + }, + toProto(message: TxResponse): Uint8Array { + return TxResponse.encode(message).finish(); + }, + toProtoMsg(message: TxResponse): TxResponseProtoMsg { + return { + typeUrl: '/cosmos.base.abci.v1beta1.TxResponse', + value: TxResponse.encode(message).finish(), + }; + }, +}; +function createBaseABCIMessageLog(): ABCIMessageLog { + return { + msgIndex: 0, + log: '', + events: [], + }; +} +export const ABCIMessageLog = { + typeUrl: '/cosmos.base.abci.v1beta1.ABCIMessageLog', + encode(message: ABCIMessageLog, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.msgIndex !== 0) { + writer.uint32(8).uint32(message.msgIndex); + } + if (message.log !== '') { + writer.uint32(18).string(message.log); + } + for (const v of message.events) { + StringEvent.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ABCIMessageLog { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseABCIMessageLog(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.msgIndex = reader.uint32(); + break; + case 2: + message.log = reader.string(); + break; + case 3: + message.events.push(StringEvent.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ABCIMessageLog { + const message = createBaseABCIMessageLog(); + message.msgIndex = object.msgIndex ?? 0; + message.log = object.log ?? ''; + message.events = object.events?.map((e) => StringEvent.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ABCIMessageLogAmino): ABCIMessageLog { + const message = createBaseABCIMessageLog(); + if (object.msg_index !== undefined && object.msg_index !== null) { + message.msgIndex = object.msg_index; + } + if (object.log !== undefined && object.log !== null) { + message.log = object.log; + } + message.events = object.events?.map((e) => StringEvent.fromAmino(e)) || []; + return message; + }, + toAmino(message: ABCIMessageLog): ABCIMessageLogAmino { + const obj: any = {}; + obj.msg_index = message.msgIndex ?? 0; + obj.log = message.log === '' ? undefined : message.log; + if (message.events) { + obj.events = message.events.map((e) => (e ? StringEvent.toAmino(e) : undefined)); + } else { + obj.events = message.events; + } + return obj; + }, + fromAminoMsg(object: ABCIMessageLogAminoMsg): ABCIMessageLog { + return ABCIMessageLog.fromAmino(object.value); + }, + toAminoMsg(message: ABCIMessageLog): ABCIMessageLogAminoMsg { + return { + type: 'cosmos-sdk/ABCIMessageLog', + value: ABCIMessageLog.toAmino(message), + }; + }, + fromProtoMsg(message: ABCIMessageLogProtoMsg): ABCIMessageLog { + return ABCIMessageLog.decode(message.value); + }, + toProto(message: ABCIMessageLog): Uint8Array { + return ABCIMessageLog.encode(message).finish(); + }, + toProtoMsg(message: ABCIMessageLog): ABCIMessageLogProtoMsg { + return { + typeUrl: '/cosmos.base.abci.v1beta1.ABCIMessageLog', + value: ABCIMessageLog.encode(message).finish(), + }; + }, +}; +function createBaseStringEvent(): StringEvent { + return { + type: '', + attributes: [], + }; +} +export const StringEvent = { + typeUrl: '/cosmos.base.abci.v1beta1.StringEvent', + encode(message: StringEvent, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.type !== '') { + writer.uint32(10).string(message.type); + } + for (const v of message.attributes) { + Attribute.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): StringEvent { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStringEvent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.string(); + break; + case 2: + message.attributes.push(Attribute.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): StringEvent { + const message = createBaseStringEvent(); + message.type = object.type ?? ''; + message.attributes = object.attributes?.map((e) => Attribute.fromPartial(e)) || []; + return message; + }, + fromAmino(object: StringEventAmino): StringEvent { + const message = createBaseStringEvent(); + if (object.type !== undefined && object.type !== null) { + message.type = object.type; + } + message.attributes = object.attributes?.map((e) => Attribute.fromAmino(e)) || []; + return message; + }, + toAmino(message: StringEvent): StringEventAmino { + const obj: any = {}; + obj.type = message.type === '' ? undefined : message.type; + if (message.attributes) { + obj.attributes = message.attributes.map((e) => (e ? Attribute.toAmino(e) : undefined)); + } else { + obj.attributes = message.attributes; + } + return obj; + }, + fromAminoMsg(object: StringEventAminoMsg): StringEvent { + return StringEvent.fromAmino(object.value); + }, + toAminoMsg(message: StringEvent): StringEventAminoMsg { + return { + type: 'cosmos-sdk/StringEvent', + value: StringEvent.toAmino(message), + }; + }, + fromProtoMsg(message: StringEventProtoMsg): StringEvent { + return StringEvent.decode(message.value); + }, + toProto(message: StringEvent): Uint8Array { + return StringEvent.encode(message).finish(); + }, + toProtoMsg(message: StringEvent): StringEventProtoMsg { + return { + typeUrl: '/cosmos.base.abci.v1beta1.StringEvent', + value: StringEvent.encode(message).finish(), + }; + }, +}; +function createBaseAttribute(): Attribute { + return { + key: '', + value: '', + }; +} +export const Attribute = { + typeUrl: '/cosmos.base.abci.v1beta1.Attribute', + encode(message: Attribute, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.key !== '') { + writer.uint32(10).string(message.key); + } + if (message.value !== '') { + writer.uint32(18).string(message.value); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Attribute { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAttribute(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): Attribute { + const message = createBaseAttribute(); + message.key = object.key ?? ''; + message.value = object.value ?? ''; + return message; + }, + fromAmino(object: AttributeAmino): Attribute { + const message = createBaseAttribute(); + if (object.key !== undefined && object.key !== null) { + message.key = object.key; + } + if (object.value !== undefined && object.value !== null) { + message.value = object.value; + } + return message; + }, + toAmino(message: Attribute): AttributeAmino { + const obj: any = {}; + obj.key = message.key === '' ? undefined : message.key; + obj.value = message.value === '' ? undefined : message.value; + return obj; + }, + fromAminoMsg(object: AttributeAminoMsg): Attribute { + return Attribute.fromAmino(object.value); + }, + toAminoMsg(message: Attribute): AttributeAminoMsg { + return { + type: 'cosmos-sdk/Attribute', + value: Attribute.toAmino(message), + }; + }, + fromProtoMsg(message: AttributeProtoMsg): Attribute { + return Attribute.decode(message.value); + }, + toProto(message: Attribute): Uint8Array { + return Attribute.encode(message).finish(); + }, + toProtoMsg(message: Attribute): AttributeProtoMsg { + return { + typeUrl: '/cosmos.base.abci.v1beta1.Attribute', + value: Attribute.encode(message).finish(), + }; + }, +}; +function createBaseGasInfo(): GasInfo { + return { + gasWanted: BigInt(0), + gasUsed: BigInt(0), + }; +} +export const GasInfo = { + typeUrl: '/cosmos.base.abci.v1beta1.GasInfo', + encode(message: GasInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.gasWanted !== BigInt(0)) { + writer.uint32(8).uint64(message.gasWanted); + } + if (message.gasUsed !== BigInt(0)) { + writer.uint32(16).uint64(message.gasUsed); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GasInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGasInfo(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): GasInfo { + const message = createBaseGasInfo(); + message.gasWanted = + object.gasWanted !== undefined && object.gasWanted !== null ? BigInt(object.gasWanted.toString()) : BigInt(0); + message.gasUsed = + object.gasUsed !== undefined && object.gasUsed !== null ? BigInt(object.gasUsed.toString()) : BigInt(0); + return message; + }, + fromAmino(object: GasInfoAmino): GasInfo { + const message = createBaseGasInfo(); + if (object.gas_wanted !== undefined && object.gas_wanted !== null) { + message.gasWanted = BigInt(object.gas_wanted); + } + if (object.gas_used !== undefined && object.gas_used !== null) { + message.gasUsed = BigInt(object.gas_used); + } + return message; + }, + toAmino(message: GasInfo): GasInfoAmino { + const obj: any = {}; + obj.gas_wanted = message.gasWanted !== BigInt(0) ? (message.gasWanted?.toString)() : undefined; + obj.gas_used = message.gasUsed !== BigInt(0) ? (message.gasUsed?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: GasInfoAminoMsg): GasInfo { + return GasInfo.fromAmino(object.value); + }, + toAminoMsg(message: GasInfo): GasInfoAminoMsg { + return { + type: 'cosmos-sdk/GasInfo', + value: GasInfo.toAmino(message), + }; + }, + fromProtoMsg(message: GasInfoProtoMsg): GasInfo { + return GasInfo.decode(message.value); + }, + toProto(message: GasInfo): Uint8Array { + return GasInfo.encode(message).finish(); + }, + toProtoMsg(message: GasInfo): GasInfoProtoMsg { + return { + typeUrl: '/cosmos.base.abci.v1beta1.GasInfo', + value: GasInfo.encode(message).finish(), + }; + }, +}; +function createBaseResult(): Result { + return { + data: new Uint8Array(), + log: '', + events: [], + msgResponses: [], + }; +} +export const Result = { + typeUrl: '/cosmos.base.abci.v1beta1.Result', + encode(message: Result, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + if (message.log !== '') { + writer.uint32(18).string(message.log); + } + for (const v of message.events) { + Event.encode(v!, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.msgResponses) { + Any.encode(v!, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Result { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + case 2: + message.log = reader.string(); + break; + case 3: + message.events.push(Event.decode(reader, reader.uint32())); + break; + case 4: + message.msgResponses.push(Any.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Result { + const message = createBaseResult(); + message.data = object.data ?? new Uint8Array(); + message.log = object.log ?? ''; + message.events = object.events?.map((e) => Event.fromPartial(e)) || []; + message.msgResponses = object.msgResponses?.map((e) => Any.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ResultAmino): Result { + const message = createBaseResult(); + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + if (object.log !== undefined && object.log !== null) { + message.log = object.log; + } + message.events = object.events?.map((e) => Event.fromAmino(e)) || []; + message.msgResponses = object.msg_responses?.map((e) => Any.fromAmino(e)) || []; + return message; + }, + toAmino(message: Result): ResultAmino { + const obj: any = {}; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + obj.log = message.log === '' ? undefined : message.log; + if (message.events) { + obj.events = message.events.map((e) => (e ? Event.toAmino(e) : undefined)); + } else { + obj.events = message.events; + } + if (message.msgResponses) { + obj.msg_responses = message.msgResponses.map((e) => (e ? Any.toAmino(e) : undefined)); + } else { + obj.msg_responses = message.msgResponses; + } + return obj; + }, + fromAminoMsg(object: ResultAminoMsg): Result { + return Result.fromAmino(object.value); + }, + toAminoMsg(message: Result): ResultAminoMsg { + return { + type: 'cosmos-sdk/Result', + value: Result.toAmino(message), + }; + }, + fromProtoMsg(message: ResultProtoMsg): Result { + return Result.decode(message.value); + }, + toProto(message: Result): Uint8Array { + return Result.encode(message).finish(); + }, + toProtoMsg(message: Result): ResultProtoMsg { + return { + typeUrl: '/cosmos.base.abci.v1beta1.Result', + value: Result.encode(message).finish(), + }; + }, +}; +function createBaseSimulationResponse(): SimulationResponse { + return { + gasInfo: GasInfo.fromPartial({}), + result: undefined, + }; +} +export const SimulationResponse = { + typeUrl: '/cosmos.base.abci.v1beta1.SimulationResponse', + encode(message: SimulationResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.gasInfo !== undefined) { + GasInfo.encode(message.gasInfo, writer.uint32(10).fork()).ldelim(); + } + if (message.result !== undefined) { + Result.encode(message.result, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SimulationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSimulationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gasInfo = GasInfo.decode(reader, reader.uint32()); + break; + case 2: + message.result = Result.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SimulationResponse { + const message = createBaseSimulationResponse(); + message.gasInfo = + object.gasInfo !== undefined && object.gasInfo !== null ? GasInfo.fromPartial(object.gasInfo) : undefined; + message.result = + object.result !== undefined && object.result !== null ? Result.fromPartial(object.result) : undefined; + return message; + }, + fromAmino(object: SimulationResponseAmino): SimulationResponse { + const message = createBaseSimulationResponse(); + if (object.gas_info !== undefined && object.gas_info !== null) { + message.gasInfo = GasInfo.fromAmino(object.gas_info); + } + if (object.result !== undefined && object.result !== null) { + message.result = Result.fromAmino(object.result); + } + return message; + }, + toAmino(message: SimulationResponse): SimulationResponseAmino { + const obj: any = {}; + obj.gas_info = message.gasInfo ? GasInfo.toAmino(message.gasInfo) : undefined; + obj.result = message.result ? Result.toAmino(message.result) : undefined; + return obj; + }, + fromAminoMsg(object: SimulationResponseAminoMsg): SimulationResponse { + return SimulationResponse.fromAmino(object.value); + }, + toAminoMsg(message: SimulationResponse): SimulationResponseAminoMsg { + return { + type: 'cosmos-sdk/SimulationResponse', + value: SimulationResponse.toAmino(message), + }; + }, + fromProtoMsg(message: SimulationResponseProtoMsg): SimulationResponse { + return SimulationResponse.decode(message.value); + }, + toProto(message: SimulationResponse): Uint8Array { + return SimulationResponse.encode(message).finish(); + }, + toProtoMsg(message: SimulationResponse): SimulationResponseProtoMsg { + return { + typeUrl: '/cosmos.base.abci.v1beta1.SimulationResponse', + value: SimulationResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgData(): MsgData { + return { + msgType: '', + data: new Uint8Array(), + }; +} +export const MsgData = { + typeUrl: '/cosmos.base.abci.v1beta1.MsgData', + encode(message: MsgData, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.msgType !== '') { + writer.uint32(10).string(message.msgType); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgData { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgData(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): MsgData { + const message = createBaseMsgData(); + message.msgType = object.msgType ?? ''; + message.data = object.data ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgDataAmino): MsgData { + const message = createBaseMsgData(); + if (object.msg_type !== undefined && object.msg_type !== null) { + message.msgType = object.msg_type; + } + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + return message; + }, + toAmino(message: MsgData): MsgDataAmino { + const obj: any = {}; + obj.msg_type = message.msgType === '' ? undefined : message.msgType; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + return obj; + }, + fromAminoMsg(object: MsgDataAminoMsg): MsgData { + return MsgData.fromAmino(object.value); + }, + toAminoMsg(message: MsgData): MsgDataAminoMsg { + return { + type: 'cosmos-sdk/MsgData', + value: MsgData.toAmino(message), + }; + }, + fromProtoMsg(message: MsgDataProtoMsg): MsgData { + return MsgData.decode(message.value); + }, + toProto(message: MsgData): Uint8Array { + return MsgData.encode(message).finish(); + }, + toProtoMsg(message: MsgData): MsgDataProtoMsg { + return { + typeUrl: '/cosmos.base.abci.v1beta1.MsgData', + value: MsgData.encode(message).finish(), + }; + }, +}; +function createBaseTxMsgData(): TxMsgData { + return { + data: [], + msgResponses: [], + }; +} +export const TxMsgData = { + typeUrl: '/cosmos.base.abci.v1beta1.TxMsgData', + encode(message: TxMsgData, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.data) { + MsgData.encode(v!, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.msgResponses) { + Any.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxMsgData { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxMsgData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data.push(MsgData.decode(reader, reader.uint32())); + break; + case 2: + message.msgResponses.push(Any.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxMsgData { + const message = createBaseTxMsgData(); + message.data = object.data?.map((e) => MsgData.fromPartial(e)) || []; + message.msgResponses = object.msgResponses?.map((e) => Any.fromPartial(e)) || []; + return message; + }, + fromAmino(object: TxMsgDataAmino): TxMsgData { + const message = createBaseTxMsgData(); + message.data = object.data?.map((e) => MsgData.fromAmino(e)) || []; + message.msgResponses = object.msg_responses?.map((e) => Any.fromAmino(e)) || []; + return message; + }, + toAmino(message: TxMsgData): TxMsgDataAmino { + const obj: any = {}; + if (message.data) { + obj.data = message.data.map((e) => (e ? MsgData.toAmino(e) : undefined)); + } else { + obj.data = message.data; + } + if (message.msgResponses) { + obj.msg_responses = message.msgResponses.map((e) => (e ? Any.toAmino(e) : undefined)); + } else { + obj.msg_responses = message.msgResponses; + } + return obj; + }, + fromAminoMsg(object: TxMsgDataAminoMsg): TxMsgData { + return TxMsgData.fromAmino(object.value); + }, + toAminoMsg(message: TxMsgData): TxMsgDataAminoMsg { + return { + type: 'cosmos-sdk/TxMsgData', + value: TxMsgData.toAmino(message), + }; + }, + fromProtoMsg(message: TxMsgDataProtoMsg): TxMsgData { + return TxMsgData.decode(message.value); + }, + toProto(message: TxMsgData): Uint8Array { + return TxMsgData.encode(message).finish(); + }, + toProtoMsg(message: TxMsgData): TxMsgDataProtoMsg { + return { + typeUrl: '/cosmos.base.abci.v1beta1.TxMsgData', + value: TxMsgData.encode(message).finish(), + }; + }, +}; +function createBaseSearchTxsResult(): SearchTxsResult { + return { + totalCount: BigInt(0), + count: BigInt(0), + pageNumber: BigInt(0), + pageTotal: BigInt(0), + limit: BigInt(0), + txs: [], + }; +} +export const SearchTxsResult = { + typeUrl: '/cosmos.base.abci.v1beta1.SearchTxsResult', + encode(message: SearchTxsResult, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.totalCount !== BigInt(0)) { + writer.uint32(8).uint64(message.totalCount); + } + if (message.count !== BigInt(0)) { + writer.uint32(16).uint64(message.count); + } + if (message.pageNumber !== BigInt(0)) { + writer.uint32(24).uint64(message.pageNumber); + } + if (message.pageTotal !== BigInt(0)) { + writer.uint32(32).uint64(message.pageTotal); + } + if (message.limit !== BigInt(0)) { + writer.uint32(40).uint64(message.limit); + } + for (const v of message.txs) { + TxResponse.encode(v!, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SearchTxsResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSearchTxsResult(); + while (reader.pos < end) { + const 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: + message.txs.push(TxResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SearchTxsResult { + const message = createBaseSearchTxsResult(); + message.totalCount = + object.totalCount !== undefined && object.totalCount !== null ? BigInt(object.totalCount.toString()) : BigInt(0); + message.count = object.count !== undefined && object.count !== null ? BigInt(object.count.toString()) : BigInt(0); + message.pageNumber = + object.pageNumber !== undefined && object.pageNumber !== null ? BigInt(object.pageNumber.toString()) : BigInt(0); + message.pageTotal = + object.pageTotal !== undefined && object.pageTotal !== null ? BigInt(object.pageTotal.toString()) : BigInt(0); + message.limit = object.limit !== undefined && object.limit !== null ? BigInt(object.limit.toString()) : BigInt(0); + message.txs = object.txs?.map((e) => TxResponse.fromPartial(e)) || []; + return message; + }, + fromAmino(object: SearchTxsResultAmino): SearchTxsResult { + const message = createBaseSearchTxsResult(); + if (object.total_count !== undefined && object.total_count !== null) { + message.totalCount = BigInt(object.total_count); + } + if (object.count !== undefined && object.count !== null) { + message.count = BigInt(object.count); + } + if (object.page_number !== undefined && object.page_number !== null) { + message.pageNumber = BigInt(object.page_number); + } + if (object.page_total !== undefined && object.page_total !== null) { + message.pageTotal = BigInt(object.page_total); + } + if (object.limit !== undefined && object.limit !== null) { + message.limit = BigInt(object.limit); + } + message.txs = object.txs?.map((e) => TxResponse.fromAmino(e)) || []; + return message; + }, + toAmino(message: SearchTxsResult): SearchTxsResultAmino { + const obj: any = {}; + obj.total_count = message.totalCount !== BigInt(0) ? (message.totalCount?.toString)() : undefined; + obj.count = message.count !== BigInt(0) ? (message.count?.toString)() : undefined; + obj.page_number = message.pageNumber !== BigInt(0) ? (message.pageNumber?.toString)() : undefined; + obj.page_total = message.pageTotal !== BigInt(0) ? (message.pageTotal?.toString)() : undefined; + obj.limit = message.limit !== BigInt(0) ? (message.limit?.toString)() : undefined; + if (message.txs) { + obj.txs = message.txs.map((e) => (e ? TxResponse.toAmino(e) : undefined)); + } else { + obj.txs = message.txs; + } + return obj; + }, + fromAminoMsg(object: SearchTxsResultAminoMsg): SearchTxsResult { + return SearchTxsResult.fromAmino(object.value); + }, + toAminoMsg(message: SearchTxsResult): SearchTxsResultAminoMsg { + return { + type: 'cosmos-sdk/SearchTxsResult', + value: SearchTxsResult.toAmino(message), + }; + }, + fromProtoMsg(message: SearchTxsResultProtoMsg): SearchTxsResult { + return SearchTxsResult.decode(message.value); + }, + toProto(message: SearchTxsResult): Uint8Array { + return SearchTxsResult.encode(message).finish(); + }, + toProtoMsg(message: SearchTxsResult): SearchTxsResultProtoMsg { + return { + typeUrl: '/cosmos.base.abci.v1beta1.SearchTxsResult', + value: SearchTxsResult.encode(message).finish(), + }; + }, +}; +function createBaseSearchBlocksResult(): SearchBlocksResult { + return { + totalCount: BigInt(0), + count: BigInt(0), + pageNumber: BigInt(0), + pageTotal: BigInt(0), + limit: BigInt(0), + blocks: [], + }; +} +export const SearchBlocksResult = { + typeUrl: '/cosmos.base.abci.v1beta1.SearchBlocksResult', + encode(message: SearchBlocksResult, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.totalCount !== BigInt(0)) { + writer.uint32(8).int64(message.totalCount); + } + if (message.count !== BigInt(0)) { + writer.uint32(16).int64(message.count); + } + if (message.pageNumber !== BigInt(0)) { + writer.uint32(24).int64(message.pageNumber); + } + if (message.pageTotal !== BigInt(0)) { + writer.uint32(32).int64(message.pageTotal); + } + if (message.limit !== BigInt(0)) { + writer.uint32(40).int64(message.limit); + } + for (const v of message.blocks) { + Block.encode(v!, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SearchBlocksResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSearchBlocksResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.totalCount = reader.int64(); + break; + case 2: + message.count = reader.int64(); + break; + case 3: + message.pageNumber = reader.int64(); + break; + case 4: + message.pageTotal = reader.int64(); + break; + case 5: + message.limit = reader.int64(); + break; + case 6: + message.blocks.push(Block.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SearchBlocksResult { + const message = createBaseSearchBlocksResult(); + message.totalCount = + object.totalCount !== undefined && object.totalCount !== null ? BigInt(object.totalCount.toString()) : BigInt(0); + message.count = object.count !== undefined && object.count !== null ? BigInt(object.count.toString()) : BigInt(0); + message.pageNumber = + object.pageNumber !== undefined && object.pageNumber !== null ? BigInt(object.pageNumber.toString()) : BigInt(0); + message.pageTotal = + object.pageTotal !== undefined && object.pageTotal !== null ? BigInt(object.pageTotal.toString()) : BigInt(0); + message.limit = object.limit !== undefined && object.limit !== null ? BigInt(object.limit.toString()) : BigInt(0); + message.blocks = object.blocks?.map((e) => Block.fromPartial(e)) || []; + return message; + }, + fromAmino(object: SearchBlocksResultAmino): SearchBlocksResult { + const message = createBaseSearchBlocksResult(); + if (object.total_count !== undefined && object.total_count !== null) { + message.totalCount = BigInt(object.total_count); + } + if (object.count !== undefined && object.count !== null) { + message.count = BigInt(object.count); + } + if (object.page_number !== undefined && object.page_number !== null) { + message.pageNumber = BigInt(object.page_number); + } + if (object.page_total !== undefined && object.page_total !== null) { + message.pageTotal = BigInt(object.page_total); + } + if (object.limit !== undefined && object.limit !== null) { + message.limit = BigInt(object.limit); + } + message.blocks = object.blocks?.map((e) => Block.fromAmino(e)) || []; + return message; + }, + toAmino(message: SearchBlocksResult): SearchBlocksResultAmino { + const obj: any = {}; + obj.total_count = message.totalCount !== BigInt(0) ? (message.totalCount?.toString)() : undefined; + obj.count = message.count !== BigInt(0) ? (message.count?.toString)() : undefined; + obj.page_number = message.pageNumber !== BigInt(0) ? (message.pageNumber?.toString)() : undefined; + obj.page_total = message.pageTotal !== BigInt(0) ? (message.pageTotal?.toString)() : undefined; + obj.limit = message.limit !== BigInt(0) ? (message.limit?.toString)() : undefined; + if (message.blocks) { + obj.blocks = message.blocks.map((e) => (e ? Block.toAmino(e) : undefined)); + } else { + obj.blocks = message.blocks; + } + return obj; + }, + fromAminoMsg(object: SearchBlocksResultAminoMsg): SearchBlocksResult { + return SearchBlocksResult.fromAmino(object.value); + }, + toAminoMsg(message: SearchBlocksResult): SearchBlocksResultAminoMsg { + return { + type: 'cosmos-sdk/SearchBlocksResult', + value: SearchBlocksResult.toAmino(message), + }; + }, + fromProtoMsg(message: SearchBlocksResultProtoMsg): SearchBlocksResult { + return SearchBlocksResult.decode(message.value); + }, + toProto(message: SearchBlocksResult): Uint8Array { + return SearchBlocksResult.encode(message).finish(); + }, + toProtoMsg(message: SearchBlocksResult): SearchBlocksResultProtoMsg { + return { + typeUrl: '/cosmos.base.abci.v1beta1.SearchBlocksResult', + value: SearchBlocksResult.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/base/query/v1beta1/pagination.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/base/query/v1beta1/pagination.ts new file mode 100644 index 00000000..bc6ab719 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/base/query/v1beta1/pagination.ts @@ -0,0 +1,375 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../../helpers'; +/** + * PageRequest is to be embedded in gRPC request messages for efficient + * pagination. Ex: + * + * message SomeRequest { + * Foo some_parameter = 1; + * PageRequest pagination = 2; + * } + */ +export interface PageRequest { + /** + * key is a value returned in PageResponse.next_key to begin + * querying the next page most efficiently. Only one of offset or key + * should be set. + */ + key: Uint8Array; + /** + * offset is a numeric offset that can be used when key is unavailable. + * It is less efficient than using key. Only one of offset or key should + * be set. + */ + offset: bigint; + /** + * limit is the total number of results to be returned in the result page. + * If left empty it will default to a value to be set by each app. + */ + limit: bigint; + /** + * count_total is set to true to indicate that the result set should include + * a count of the total number of items available for pagination in UIs. + * count_total is only respected when offset is used. It is ignored when key + * is set. + */ + countTotal: boolean; + /** + * reverse is set to true if results are to be returned in the descending order. + * + * Since: cosmos-sdk 0.43 + */ + reverse: boolean; +} +export interface PageRequestProtoMsg { + typeUrl: '/cosmos.base.query.v1beta1.PageRequest'; + value: Uint8Array; +} +/** + * PageRequest is to be embedded in gRPC request messages for efficient + * pagination. Ex: + * + * message SomeRequest { + * Foo some_parameter = 1; + * PageRequest pagination = 2; + * } + */ +export interface PageRequestAmino { + /** + * key is a value returned in PageResponse.next_key to begin + * querying the next page most efficiently. Only one of offset or key + * should be set. + */ + key?: string; + /** + * offset is a numeric offset that can be used when key is unavailable. + * It is less efficient than using key. Only one of offset or key should + * be set. + */ + offset?: string; + /** + * limit is the total number of results to be returned in the result page. + * If left empty it will default to a value to be set by each app. + */ + limit?: string; + /** + * count_total is set to true to indicate that the result set should include + * a count of the total number of items available for pagination in UIs. + * count_total is only respected when offset is used. It is ignored when key + * is set. + */ + count_total?: boolean; + /** + * reverse is set to true if results are to be returned in the descending order. + * + * Since: cosmos-sdk 0.43 + */ + reverse?: boolean; +} +export interface PageRequestAminoMsg { + type: 'cosmos-sdk/PageRequest'; + value: PageRequestAmino; +} +/** + * PageRequest is to be embedded in gRPC request messages for efficient + * pagination. Ex: + * + * message SomeRequest { + * Foo some_parameter = 1; + * PageRequest pagination = 2; + * } + */ +export interface PageRequestSDKType { + key: Uint8Array; + offset: bigint; + limit: bigint; + count_total: boolean; + reverse: boolean; +} +/** + * PageResponse is to be embedded in gRPC response messages where the + * corresponding request message has used PageRequest. + * + * message SomeResponse { + * repeated Bar results = 1; + * PageResponse page = 2; + * } + */ +export interface PageResponse { + /** + * next_key is the key to be passed to PageRequest.key to + * query the next page most efficiently. It will be empty if + * there are no more results. + */ + nextKey: Uint8Array; + /** + * total is total number of results available if PageRequest.count_total + * was set, its value is undefined otherwise + */ + total: bigint; +} +export interface PageResponseProtoMsg { + typeUrl: '/cosmos.base.query.v1beta1.PageResponse'; + value: Uint8Array; +} +/** + * PageResponse is to be embedded in gRPC response messages where the + * corresponding request message has used PageRequest. + * + * message SomeResponse { + * repeated Bar results = 1; + * PageResponse page = 2; + * } + */ +export interface PageResponseAmino { + /** + * next_key is the key to be passed to PageRequest.key to + * query the next page most efficiently. It will be empty if + * there are no more results. + */ + next_key?: string; + /** + * total is total number of results available if PageRequest.count_total + * was set, its value is undefined otherwise + */ + total?: string; +} +export interface PageResponseAminoMsg { + type: 'cosmos-sdk/PageResponse'; + value: PageResponseAmino; +} +/** + * PageResponse is to be embedded in gRPC response messages where the + * corresponding request message has used PageRequest. + * + * message SomeResponse { + * repeated Bar results = 1; + * PageResponse page = 2; + * } + */ +export interface PageResponseSDKType { + next_key: Uint8Array; + total: bigint; +} +function createBasePageRequest(): PageRequest { + return { + key: new Uint8Array(), + offset: BigInt(0), + limit: BigInt(0), + countTotal: false, + reverse: false, + }; +} +export const PageRequest = { + typeUrl: '/cosmos.base.query.v1beta1.PageRequest', + encode(message: PageRequest, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.offset !== BigInt(0)) { + writer.uint32(16).uint64(message.offset); + } + if (message.limit !== BigInt(0)) { + writer.uint32(24).uint64(message.limit); + } + if (message.countTotal === true) { + writer.uint32(32).bool(message.countTotal); + } + if (message.reverse === true) { + writer.uint32(40).bool(message.reverse); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PageRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePageRequest(); + while (reader.pos < end) { + const 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; + case 5: + message.reverse = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PageRequest { + const message = createBasePageRequest(); + message.key = object.key ?? new Uint8Array(); + message.offset = + object.offset !== undefined && object.offset !== null ? BigInt(object.offset.toString()) : BigInt(0); + message.limit = object.limit !== undefined && object.limit !== null ? BigInt(object.limit.toString()) : BigInt(0); + message.countTotal = object.countTotal ?? false; + message.reverse = object.reverse ?? false; + return message; + }, + fromAmino(object: PageRequestAmino): PageRequest { + const message = createBasePageRequest(); + if (object.key !== undefined && object.key !== null) { + message.key = bytesFromBase64(object.key); + } + if (object.offset !== undefined && object.offset !== null) { + message.offset = BigInt(object.offset); + } + if (object.limit !== undefined && object.limit !== null) { + message.limit = BigInt(object.limit); + } + if (object.count_total !== undefined && object.count_total !== null) { + message.countTotal = object.count_total; + } + if (object.reverse !== undefined && object.reverse !== null) { + message.reverse = object.reverse; + } + return message; + }, + toAmino(message: PageRequest): PageRequestAmino { + const obj: any = {}; + obj.key = message.key ? base64FromBytes(message.key) : undefined; + obj.offset = message.offset !== BigInt(0) ? (message.offset?.toString)() : undefined; + obj.limit = message.limit !== BigInt(0) ? (message.limit?.toString)() : undefined; + obj.count_total = message.countTotal === false ? undefined : message.countTotal; + obj.reverse = message.reverse === false ? undefined : message.reverse; + return obj; + }, + fromAminoMsg(object: PageRequestAminoMsg): PageRequest { + return PageRequest.fromAmino(object.value); + }, + toAminoMsg(message: PageRequest): PageRequestAminoMsg { + return { + type: 'cosmos-sdk/PageRequest', + value: PageRequest.toAmino(message), + }; + }, + fromProtoMsg(message: PageRequestProtoMsg): PageRequest { + return PageRequest.decode(message.value); + }, + toProto(message: PageRequest): Uint8Array { + return PageRequest.encode(message).finish(); + }, + toProtoMsg(message: PageRequest): PageRequestProtoMsg { + return { + typeUrl: '/cosmos.base.query.v1beta1.PageRequest', + value: PageRequest.encode(message).finish(), + }; + }, +}; +function createBasePageResponse(): PageResponse { + return { + nextKey: new Uint8Array(), + total: BigInt(0), + }; +} +export const PageResponse = { + typeUrl: '/cosmos.base.query.v1beta1.PageResponse', + encode(message: PageResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.nextKey.length !== 0) { + writer.uint32(10).bytes(message.nextKey); + } + if (message.total !== BigInt(0)) { + writer.uint32(16).uint64(message.total); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PageResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePageResponse(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): PageResponse { + const message = createBasePageResponse(); + message.nextKey = object.nextKey ?? new Uint8Array(); + message.total = object.total !== undefined && object.total !== null ? BigInt(object.total.toString()) : BigInt(0); + return message; + }, + fromAmino(object: PageResponseAmino): PageResponse { + const message = createBasePageResponse(); + if (object.next_key !== undefined && object.next_key !== null) { + message.nextKey = bytesFromBase64(object.next_key); + } + if (object.total !== undefined && object.total !== null) { + message.total = BigInt(object.total); + } + return message; + }, + toAmino(message: PageResponse): PageResponseAmino { + const obj: any = {}; + obj.next_key = message.nextKey ? base64FromBytes(message.nextKey) : undefined; + obj.total = message.total !== BigInt(0) ? (message.total?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: PageResponseAminoMsg): PageResponse { + return PageResponse.fromAmino(object.value); + }, + toAminoMsg(message: PageResponse): PageResponseAminoMsg { + return { + type: 'cosmos-sdk/PageResponse', + value: PageResponse.toAmino(message), + }; + }, + fromProtoMsg(message: PageResponseProtoMsg): PageResponse { + return PageResponse.decode(message.value); + }, + toProto(message: PageResponse): Uint8Array { + return PageResponse.encode(message).finish(); + }, + toProtoMsg(message: PageResponse): PageResponseProtoMsg { + return { + typeUrl: '/cosmos.base.query.v1beta1.PageResponse', + value: PageResponse.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/base/v1beta1/coin.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/base/v1beta1/coin.ts new file mode 100644 index 00000000..9a5b99bb --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/base/v1beta1/coin.ts @@ -0,0 +1,451 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Decimal } from '@cosmjs/math'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +/** + * Coin defines a token with a denomination and an amount. + * + * NOTE: The amount field is an Int which implements the custom method + * signatures required by gogoproto. + */ +export interface Coin { + denom: string; + amount: string; +} +export interface CoinProtoMsg { + typeUrl: '/cosmos.base.v1beta1.Coin'; + value: Uint8Array; +} +/** + * Coin defines a token with a denomination and an amount. + * + * NOTE: The amount field is an Int which implements the custom method + * signatures required by gogoproto. + */ +export interface CoinAmino { + denom?: string; + amount: string; +} +export interface CoinAminoMsg { + type: 'cosmos-sdk/Coin'; + value: CoinAmino; +} +/** + * Coin defines a token with a denomination and an amount. + * + * NOTE: The amount field is an Int which implements the custom method + * signatures required by gogoproto. + */ +export interface CoinSDKType { + denom: string; + amount: string; +} +/** + * DecCoin defines a token with a denomination and a decimal amount. + * + * NOTE: The amount field is an Dec which implements the custom method + * signatures required by gogoproto. + */ +export interface DecCoin { + denom: string; + amount: string; +} +export interface DecCoinProtoMsg { + typeUrl: '/cosmos.base.v1beta1.DecCoin'; + value: Uint8Array; +} +/** + * DecCoin defines a token with a denomination and a decimal amount. + * + * NOTE: The amount field is an Dec which implements the custom method + * signatures required by gogoproto. + */ +export interface DecCoinAmino { + denom?: string; + amount?: string; +} +export interface DecCoinAminoMsg { + type: 'cosmos-sdk/DecCoin'; + value: DecCoinAmino; +} +/** + * DecCoin defines a token with a denomination and a decimal amount. + * + * NOTE: The amount field is an Dec which implements the custom method + * signatures required by gogoproto. + */ +export interface DecCoinSDKType { + denom: string; + amount: string; +} +/** + * IntProto defines a Protobuf wrapper around an Int object. + * Deprecated: Prefer to use math.Int directly. It supports binary Marshal and Unmarshal. + */ +export interface IntProto { + int: string; +} +export interface IntProtoProtoMsg { + typeUrl: '/cosmos.base.v1beta1.IntProto'; + value: Uint8Array; +} +/** + * IntProto defines a Protobuf wrapper around an Int object. + * Deprecated: Prefer to use math.Int directly. It supports binary Marshal and Unmarshal. + */ +export interface IntProtoAmino { + int?: string; +} +export interface IntProtoAminoMsg { + type: 'cosmos-sdk/IntProto'; + value: IntProtoAmino; +} +/** + * IntProto defines a Protobuf wrapper around an Int object. + * Deprecated: Prefer to use math.Int directly. It supports binary Marshal and Unmarshal. + */ +export interface IntProtoSDKType { + int: string; +} +/** + * DecProto defines a Protobuf wrapper around a Dec object. + * Deprecated: Prefer to use math.LegacyDec directly. It supports binary Marshal and Unmarshal. + */ +export interface DecProto { + dec: string; +} +export interface DecProtoProtoMsg { + typeUrl: '/cosmos.base.v1beta1.DecProto'; + value: Uint8Array; +} +/** + * DecProto defines a Protobuf wrapper around a Dec object. + * Deprecated: Prefer to use math.LegacyDec directly. It supports binary Marshal and Unmarshal. + */ +export interface DecProtoAmino { + dec?: string; +} +export interface DecProtoAminoMsg { + type: 'cosmos-sdk/DecProto'; + value: DecProtoAmino; +} +/** + * DecProto defines a Protobuf wrapper around a Dec object. + * Deprecated: Prefer to use math.LegacyDec directly. It supports binary Marshal and Unmarshal. + */ +export interface DecProtoSDKType { + dec: string; +} +function createBaseCoin(): Coin { + return { + denom: '', + amount: '', + }; +} +export const Coin = { + typeUrl: '/cosmos.base.v1beta1.Coin', + encode(message: Coin, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.denom !== '') { + writer.uint32(10).string(message.denom); + } + if (message.amount !== '') { + writer.uint32(18).string(message.amount); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Coin { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCoin(); + while (reader.pos < end) { + const 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; + }, + fromJSON(object: any): Coin { + const obj = createBaseCoin(); + if (isSet(object.denom)) obj.denom = String(object.denom); + if (isSet(object.amount)) obj.amount = String(object.amount); + return obj; + }, + toJSON(message: Coin): unknown { + const obj: any = {}; + message.denom !== undefined && (obj.denom = message.denom); + message.amount !== undefined && (obj.amount = message.amount); + return obj; + }, + fromPartial(object: Partial): Coin { + const message = createBaseCoin(); + message.denom = object.denom ?? ''; + message.amount = object.amount ?? ''; + return message; + }, + fromAmino(object: CoinAmino): Coin { + const message = createBaseCoin(); + if (object.denom !== undefined && object.denom !== null) { + message.denom = object.denom; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = object.amount; + } + return message; + }, + toAmino(message: Coin): CoinAmino { + const obj: any = {}; + obj.denom = message.denom === '' ? undefined : message.denom; + obj.amount = message.amount ?? ''; + return obj; + }, + fromAminoMsg(object: CoinAminoMsg): Coin { + return Coin.fromAmino(object.value); + }, + toAminoMsg(message: Coin): CoinAminoMsg { + return { + type: 'cosmos-sdk/Coin', + value: Coin.toAmino(message), + }; + }, + fromProtoMsg(message: CoinProtoMsg): Coin { + return Coin.decode(message.value); + }, + toProto(message: Coin): Uint8Array { + return Coin.encode(message).finish(); + }, + toProtoMsg(message: Coin): CoinProtoMsg { + return { + typeUrl: '/cosmos.base.v1beta1.Coin', + value: Coin.encode(message).finish(), + }; + }, +}; +function createBaseDecCoin(): DecCoin { + return { + denom: '', + amount: '', + }; +} +export const DecCoin = { + typeUrl: '/cosmos.base.v1beta1.DecCoin', + encode(message: DecCoin, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.denom !== '') { + writer.uint32(10).string(message.denom); + } + if (message.amount !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.amount, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DecCoin { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDecCoin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.denom = reader.string(); + break; + case 2: + message.amount = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DecCoin { + const message = createBaseDecCoin(); + message.denom = object.denom ?? ''; + message.amount = object.amount ?? ''; + return message; + }, + fromAmino(object: DecCoinAmino): DecCoin { + const message = createBaseDecCoin(); + if (object.denom !== undefined && object.denom !== null) { + message.denom = object.denom; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = object.amount; + } + return message; + }, + toAmino(message: DecCoin): DecCoinAmino { + const obj: any = {}; + obj.denom = message.denom === '' ? undefined : message.denom; + obj.amount = message.amount === '' ? undefined : message.amount; + return obj; + }, + fromAminoMsg(object: DecCoinAminoMsg): DecCoin { + return DecCoin.fromAmino(object.value); + }, + toAminoMsg(message: DecCoin): DecCoinAminoMsg { + return { + type: 'cosmos-sdk/DecCoin', + value: DecCoin.toAmino(message), + }; + }, + fromProtoMsg(message: DecCoinProtoMsg): DecCoin { + return DecCoin.decode(message.value); + }, + toProto(message: DecCoin): Uint8Array { + return DecCoin.encode(message).finish(); + }, + toProtoMsg(message: DecCoin): DecCoinProtoMsg { + return { + typeUrl: '/cosmos.base.v1beta1.DecCoin', + value: DecCoin.encode(message).finish(), + }; + }, +}; +function createBaseIntProto(): IntProto { + return { + int: '', + }; +} +export const IntProto = { + typeUrl: '/cosmos.base.v1beta1.IntProto', + encode(message: IntProto, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.int !== '') { + writer.uint32(10).string(message.int); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): IntProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseIntProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.int = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): IntProto { + const message = createBaseIntProto(); + message.int = object.int ?? ''; + return message; + }, + fromAmino(object: IntProtoAmino): IntProto { + const message = createBaseIntProto(); + if (object.int !== undefined && object.int !== null) { + message.int = object.int; + } + return message; + }, + toAmino(message: IntProto): IntProtoAmino { + const obj: any = {}; + obj.int = message.int === '' ? undefined : message.int; + return obj; + }, + fromAminoMsg(object: IntProtoAminoMsg): IntProto { + return IntProto.fromAmino(object.value); + }, + toAminoMsg(message: IntProto): IntProtoAminoMsg { + return { + type: 'cosmos-sdk/IntProto', + value: IntProto.toAmino(message), + }; + }, + fromProtoMsg(message: IntProtoProtoMsg): IntProto { + return IntProto.decode(message.value); + }, + toProto(message: IntProto): Uint8Array { + return IntProto.encode(message).finish(); + }, + toProtoMsg(message: IntProto): IntProtoProtoMsg { + return { + typeUrl: '/cosmos.base.v1beta1.IntProto', + value: IntProto.encode(message).finish(), + }; + }, +}; +function createBaseDecProto(): DecProto { + return { + dec: '', + }; +} +export const DecProto = { + typeUrl: '/cosmos.base.v1beta1.DecProto', + encode(message: DecProto, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.dec !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.dec, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DecProto { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDecProto(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.dec = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DecProto { + const message = createBaseDecProto(); + message.dec = object.dec ?? ''; + return message; + }, + fromAmino(object: DecProtoAmino): DecProto { + const message = createBaseDecProto(); + if (object.dec !== undefined && object.dec !== null) { + message.dec = object.dec; + } + return message; + }, + toAmino(message: DecProto): DecProtoAmino { + const obj: any = {}; + obj.dec = message.dec === '' ? undefined : message.dec; + return obj; + }, + fromAminoMsg(object: DecProtoAminoMsg): DecProto { + return DecProto.fromAmino(object.value); + }, + toAminoMsg(message: DecProto): DecProtoAminoMsg { + return { + type: 'cosmos-sdk/DecProto', + value: DecProto.toAmino(message), + }; + }, + fromProtoMsg(message: DecProtoProtoMsg): DecProto { + return DecProto.decode(message.value); + }, + toProto(message: DecProto): Uint8Array { + return DecProto.encode(message).finish(); + }, + toProtoMsg(message: DecProto): DecProtoProtoMsg { + return { + typeUrl: '/cosmos.base.v1beta1.DecProto', + value: DecProto.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/crypto/multisig/v1beta1/multisig.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/crypto/multisig/v1beta1/multisig.ts new file mode 100644 index 00000000..93ea127e --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/crypto/multisig/v1beta1/multisig.ts @@ -0,0 +1,226 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../../helpers'; +/** + * MultiSignature wraps the signatures from a multisig.LegacyAminoPubKey. + * See cosmos.tx.v1betata1.ModeInfo.Multi for how to specify which signers + * signed and with which modes. + */ +export interface MultiSignature { + signatures: Uint8Array[]; +} +export interface MultiSignatureProtoMsg { + typeUrl: '/cosmos.crypto.multisig.v1beta1.MultiSignature'; + value: Uint8Array; +} +/** + * MultiSignature wraps the signatures from a multisig.LegacyAminoPubKey. + * See cosmos.tx.v1betata1.ModeInfo.Multi for how to specify which signers + * signed and with which modes. + */ +export interface MultiSignatureAmino { + signatures?: string[]; +} +export interface MultiSignatureAminoMsg { + type: 'cosmos-sdk/MultiSignature'; + value: MultiSignatureAmino; +} +/** + * MultiSignature wraps the signatures from a multisig.LegacyAminoPubKey. + * See cosmos.tx.v1betata1.ModeInfo.Multi for how to specify which signers + * signed and with which modes. + */ +export interface MultiSignatureSDKType { + signatures: Uint8Array[]; +} +/** + * CompactBitArray is an implementation of a space efficient bit array. + * This is used to ensure that the encoded data takes up a minimal amount of + * space after proto encoding. + * This is not thread safe, and is not intended for concurrent usage. + */ +export interface CompactBitArray { + extraBitsStored: number; + elems: Uint8Array; +} +export interface CompactBitArrayProtoMsg { + typeUrl: '/cosmos.crypto.multisig.v1beta1.CompactBitArray'; + value: Uint8Array; +} +/** + * CompactBitArray is an implementation of a space efficient bit array. + * This is used to ensure that the encoded data takes up a minimal amount of + * space after proto encoding. + * This is not thread safe, and is not intended for concurrent usage. + */ +export interface CompactBitArrayAmino { + extra_bits_stored?: number; + elems?: string; +} +export interface CompactBitArrayAminoMsg { + type: 'cosmos-sdk/CompactBitArray'; + value: CompactBitArrayAmino; +} +/** + * CompactBitArray is an implementation of a space efficient bit array. + * This is used to ensure that the encoded data takes up a minimal amount of + * space after proto encoding. + * This is not thread safe, and is not intended for concurrent usage. + */ +export interface CompactBitArraySDKType { + extra_bits_stored: number; + elems: Uint8Array; +} +function createBaseMultiSignature(): MultiSignature { + return { + signatures: [], + }; +} +export const MultiSignature = { + typeUrl: '/cosmos.crypto.multisig.v1beta1.MultiSignature', + encode(message: MultiSignature, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.signatures) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MultiSignature { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMultiSignature(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signatures.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MultiSignature { + const message = createBaseMultiSignature(); + message.signatures = object.signatures?.map((e) => e) || []; + return message; + }, + fromAmino(object: MultiSignatureAmino): MultiSignature { + const message = createBaseMultiSignature(); + message.signatures = object.signatures?.map((e) => bytesFromBase64(e)) || []; + return message; + }, + toAmino(message: MultiSignature): MultiSignatureAmino { + const obj: any = {}; + if (message.signatures) { + obj.signatures = message.signatures.map((e) => base64FromBytes(e)); + } else { + obj.signatures = message.signatures; + } + return obj; + }, + fromAminoMsg(object: MultiSignatureAminoMsg): MultiSignature { + return MultiSignature.fromAmino(object.value); + }, + toAminoMsg(message: MultiSignature): MultiSignatureAminoMsg { + return { + type: 'cosmos-sdk/MultiSignature', + value: MultiSignature.toAmino(message), + }; + }, + fromProtoMsg(message: MultiSignatureProtoMsg): MultiSignature { + return MultiSignature.decode(message.value); + }, + toProto(message: MultiSignature): Uint8Array { + return MultiSignature.encode(message).finish(); + }, + toProtoMsg(message: MultiSignature): MultiSignatureProtoMsg { + return { + typeUrl: '/cosmos.crypto.multisig.v1beta1.MultiSignature', + value: MultiSignature.encode(message).finish(), + }; + }, +}; +function createBaseCompactBitArray(): CompactBitArray { + return { + extraBitsStored: 0, + elems: new Uint8Array(), + }; +} +export const CompactBitArray = { + typeUrl: '/cosmos.crypto.multisig.v1beta1.CompactBitArray', + encode(message: CompactBitArray, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.extraBitsStored !== 0) { + writer.uint32(8).uint32(message.extraBitsStored); + } + if (message.elems.length !== 0) { + writer.uint32(18).bytes(message.elems); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): CompactBitArray { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCompactBitArray(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): CompactBitArray { + const message = createBaseCompactBitArray(); + message.extraBitsStored = object.extraBitsStored ?? 0; + message.elems = object.elems ?? new Uint8Array(); + return message; + }, + fromAmino(object: CompactBitArrayAmino): CompactBitArray { + const message = createBaseCompactBitArray(); + if (object.extra_bits_stored !== undefined && object.extra_bits_stored !== null) { + message.extraBitsStored = object.extra_bits_stored; + } + if (object.elems !== undefined && object.elems !== null) { + message.elems = bytesFromBase64(object.elems); + } + return message; + }, + toAmino(message: CompactBitArray): CompactBitArrayAmino { + const obj: any = {}; + obj.extra_bits_stored = message.extraBitsStored === 0 ? undefined : message.extraBitsStored; + obj.elems = message.elems ? base64FromBytes(message.elems) : undefined; + return obj; + }, + fromAminoMsg(object: CompactBitArrayAminoMsg): CompactBitArray { + return CompactBitArray.fromAmino(object.value); + }, + toAminoMsg(message: CompactBitArray): CompactBitArrayAminoMsg { + return { + type: 'cosmos-sdk/CompactBitArray', + value: CompactBitArray.toAmino(message), + }; + }, + fromProtoMsg(message: CompactBitArrayProtoMsg): CompactBitArray { + return CompactBitArray.decode(message.value); + }, + toProto(message: CompactBitArray): Uint8Array { + return CompactBitArray.encode(message).finish(); + }, + toProtoMsg(message: CompactBitArray): CompactBitArrayProtoMsg { + return { + typeUrl: '/cosmos.crypto.multisig.v1beta1.CompactBitArray', + value: CompactBitArray.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/crypto/secp256k1/keys.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/crypto/secp256k1/keys.ts new file mode 100644 index 00000000..b34e9643 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/crypto/secp256k1/keys.ts @@ -0,0 +1,200 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +/** + * PubKey defines a secp256k1 public key + * Key is the compressed form of the pubkey. The first byte depends is a 0x02 byte + * if the y-coordinate is the lexicographically largest of the two associated with + * the x-coordinate. Otherwise the first byte is a 0x03. + * This prefix is followed with the x-coordinate. + */ +export interface PubKey { + key: Uint8Array; +} +export interface PubKeyProtoMsg { + typeUrl: '/cosmos.crypto.secp256k1.PubKey'; + value: Uint8Array; +} +/** + * PubKey defines a secp256k1 public key + * Key is the compressed form of the pubkey. The first byte depends is a 0x02 byte + * if the y-coordinate is the lexicographically largest of the two associated with + * the x-coordinate. Otherwise the first byte is a 0x03. + * This prefix is followed with the x-coordinate. + */ +export interface PubKeyAmino { + key?: string; +} +export interface PubKeyAminoMsg { + type: 'tendermint/PubKeySecp256k1'; + value: PubKeyAmino; +} +/** + * PubKey defines a secp256k1 public key + * Key is the compressed form of the pubkey. The first byte depends is a 0x02 byte + * if the y-coordinate is the lexicographically largest of the two associated with + * the x-coordinate. Otherwise the first byte is a 0x03. + * This prefix is followed with the x-coordinate. + */ +export interface PubKeySDKType { + key: Uint8Array; +} +/** PrivKey defines a secp256k1 private key. */ +export interface PrivKey { + key: Uint8Array; +} +export interface PrivKeyProtoMsg { + typeUrl: '/cosmos.crypto.secp256k1.PrivKey'; + value: Uint8Array; +} +/** PrivKey defines a secp256k1 private key. */ +export interface PrivKeyAmino { + key?: string; +} +export interface PrivKeyAminoMsg { + type: 'tendermint/PrivKeySecp256k1'; + value: PrivKeyAmino; +} +/** PrivKey defines a secp256k1 private key. */ +export interface PrivKeySDKType { + key: Uint8Array; +} +function createBasePubKey(): PubKey { + return { + key: new Uint8Array(), + }; +} +export const PubKey = { + typeUrl: '/cosmos.crypto.secp256k1.PubKey', + encode(message: PubKey, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PubKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePubKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PubKey { + const message = createBasePubKey(); + message.key = object.key ?? new Uint8Array(); + return message; + }, + fromAmino(object: PubKeyAmino): PubKey { + const message = createBasePubKey(); + if (object.key !== undefined && object.key !== null) { + message.key = bytesFromBase64(object.key); + } + return message; + }, + toAmino(message: PubKey): PubKeyAmino { + const obj: any = {}; + obj.key = message.key ? base64FromBytes(message.key) : undefined; + return obj; + }, + fromAminoMsg(object: PubKeyAminoMsg): PubKey { + return PubKey.fromAmino(object.value); + }, + toAminoMsg(message: PubKey): PubKeyAminoMsg { + return { + type: 'tendermint/PubKeySecp256k1', + value: PubKey.toAmino(message), + }; + }, + fromProtoMsg(message: PubKeyProtoMsg): PubKey { + return PubKey.decode(message.value); + }, + toProto(message: PubKey): Uint8Array { + return PubKey.encode(message).finish(); + }, + toProtoMsg(message: PubKey): PubKeyProtoMsg { + return { + typeUrl: '/cosmos.crypto.secp256k1.PubKey', + value: PubKey.encode(message).finish(), + }; + }, +}; +function createBasePrivKey(): PrivKey { + return { + key: new Uint8Array(), + }; +} +export const PrivKey = { + typeUrl: '/cosmos.crypto.secp256k1.PrivKey', + encode(message: PrivKey, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PrivKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePrivKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PrivKey { + const message = createBasePrivKey(); + message.key = object.key ?? new Uint8Array(); + return message; + }, + fromAmino(object: PrivKeyAmino): PrivKey { + const message = createBasePrivKey(); + if (object.key !== undefined && object.key !== null) { + message.key = bytesFromBase64(object.key); + } + return message; + }, + toAmino(message: PrivKey): PrivKeyAmino { + const obj: any = {}; + obj.key = message.key ? base64FromBytes(message.key) : undefined; + return obj; + }, + fromAminoMsg(object: PrivKeyAminoMsg): PrivKey { + return PrivKey.fromAmino(object.value); + }, + toAminoMsg(message: PrivKey): PrivKeyAminoMsg { + return { + type: 'tendermint/PrivKeySecp256k1', + value: PrivKey.toAmino(message), + }; + }, + fromProtoMsg(message: PrivKeyProtoMsg): PrivKey { + return PrivKey.decode(message.value); + }, + toProto(message: PrivKey): Uint8Array { + return PrivKey.encode(message).finish(); + }, + toProtoMsg(message: PrivKey): PrivKeyProtoMsg { + return { + typeUrl: '/cosmos.crypto.secp256k1.PrivKey', + value: PrivKey.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/distribution/v1beta1/distribution.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/distribution/v1beta1/distribution.ts new file mode 100644 index 00000000..76420e5c --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/distribution/v1beta1/distribution.ts @@ -0,0 +1,1522 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Decimal } from '@cosmjs/math'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { Coin, CoinAmino, CoinSDKType, DecCoin, DecCoinAmino, DecCoinSDKType } from '../../base/v1beta1/coin'; +/** Params defines the set of params for the distribution module. */ +export interface Params { + communityTax: string; + /** + * Deprecated: The base_proposer_reward field is deprecated and is no longer used + * in the x/distribution module's reward mechanism. + */ + /** @deprecated */ + baseProposerReward: string; + /** + * Deprecated: The bonus_proposer_reward field is deprecated and is no longer used + * in the x/distribution module's reward mechanism. + */ + /** @deprecated */ + bonusProposerReward: string; + withdrawAddrEnabled: boolean; +} +export interface ParamsProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.Params'; + value: Uint8Array; +} +/** Params defines the set of params for the distribution module. */ +export interface ParamsAmino { + community_tax: string; + /** + * Deprecated: The base_proposer_reward field is deprecated and is no longer used + * in the x/distribution module's reward mechanism. + */ + /** @deprecated */ + base_proposer_reward: string; + /** + * Deprecated: The bonus_proposer_reward field is deprecated and is no longer used + * in the x/distribution module's reward mechanism. + */ + /** @deprecated */ + bonus_proposer_reward: string; + withdraw_addr_enabled?: boolean; +} +export interface ParamsAminoMsg { + type: 'cosmos-sdk/x/distribution/Params'; + value: ParamsAmino; +} +/** Params defines the set of params for the distribution module. */ +export interface ParamsSDKType { + community_tax: string; + /** @deprecated */ + base_proposer_reward: string; + /** @deprecated */ + bonus_proposer_reward: string; + withdraw_addr_enabled: boolean; +} +/** + * ValidatorHistoricalRewards represents historical rewards for a validator. + * Height is implicit within the store key. + * Cumulative reward ratio is the sum from the zeroeth period + * until this period of rewards / tokens, per the spec. + * The reference count indicates the number of objects + * which might need to reference this historical entry at any point. + * ReferenceCount = + * number of outstanding delegations which ended the associated period (and + * might need to read that record) + * + number of slashes which ended the associated period (and might need to + * read that record) + * + one per validator for the zeroeth period, set on initialization + */ +export interface ValidatorHistoricalRewards { + cumulativeRewardRatio: DecCoin[]; + referenceCount: number; +} +export interface ValidatorHistoricalRewardsProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorHistoricalRewards'; + value: Uint8Array; +} +/** + * ValidatorHistoricalRewards represents historical rewards for a validator. + * Height is implicit within the store key. + * Cumulative reward ratio is the sum from the zeroeth period + * until this period of rewards / tokens, per the spec. + * The reference count indicates the number of objects + * which might need to reference this historical entry at any point. + * ReferenceCount = + * number of outstanding delegations which ended the associated period (and + * might need to read that record) + * + number of slashes which ended the associated period (and might need to + * read that record) + * + one per validator for the zeroeth period, set on initialization + */ +export interface ValidatorHistoricalRewardsAmino { + cumulative_reward_ratio: DecCoinAmino[]; + reference_count?: number; +} +export interface ValidatorHistoricalRewardsAminoMsg { + type: 'cosmos-sdk/ValidatorHistoricalRewards'; + value: ValidatorHistoricalRewardsAmino; +} +/** + * ValidatorHistoricalRewards represents historical rewards for a validator. + * Height is implicit within the store key. + * Cumulative reward ratio is the sum from the zeroeth period + * until this period of rewards / tokens, per the spec. + * The reference count indicates the number of objects + * which might need to reference this historical entry at any point. + * ReferenceCount = + * number of outstanding delegations which ended the associated period (and + * might need to read that record) + * + number of slashes which ended the associated period (and might need to + * read that record) + * + one per validator for the zeroeth period, set on initialization + */ +export interface ValidatorHistoricalRewardsSDKType { + cumulative_reward_ratio: DecCoinSDKType[]; + reference_count: number; +} +/** + * ValidatorCurrentRewards represents current rewards and current + * period for a validator kept as a running counter and incremented + * each block as long as the validator's tokens remain constant. + */ +export interface ValidatorCurrentRewards { + rewards: DecCoin[]; + period: bigint; +} +export interface ValidatorCurrentRewardsProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorCurrentRewards'; + value: Uint8Array; +} +/** + * ValidatorCurrentRewards represents current rewards and current + * period for a validator kept as a running counter and incremented + * each block as long as the validator's tokens remain constant. + */ +export interface ValidatorCurrentRewardsAmino { + rewards: DecCoinAmino[]; + period?: string; +} +export interface ValidatorCurrentRewardsAminoMsg { + type: 'cosmos-sdk/ValidatorCurrentRewards'; + value: ValidatorCurrentRewardsAmino; +} +/** + * ValidatorCurrentRewards represents current rewards and current + * period for a validator kept as a running counter and incremented + * each block as long as the validator's tokens remain constant. + */ +export interface ValidatorCurrentRewardsSDKType { + rewards: DecCoinSDKType[]; + period: bigint; +} +/** + * ValidatorAccumulatedCommission represents accumulated commission + * for a validator kept as a running counter, can be withdrawn at any time. + */ +export interface ValidatorAccumulatedCommission { + commission: DecCoin[]; +} +export interface ValidatorAccumulatedCommissionProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission'; + value: Uint8Array; +} +/** + * ValidatorAccumulatedCommission represents accumulated commission + * for a validator kept as a running counter, can be withdrawn at any time. + */ +export interface ValidatorAccumulatedCommissionAmino { + commission: DecCoinAmino[]; +} +export interface ValidatorAccumulatedCommissionAminoMsg { + type: 'cosmos-sdk/ValidatorAccumulatedCommission'; + value: ValidatorAccumulatedCommissionAmino; +} +/** + * ValidatorAccumulatedCommission represents accumulated commission + * for a validator kept as a running counter, can be withdrawn at any time. + */ +export interface ValidatorAccumulatedCommissionSDKType { + commission: DecCoinSDKType[]; +} +/** + * ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards + * for a validator inexpensive to track, allows simple sanity checks. + */ +export interface ValidatorOutstandingRewards { + rewards: DecCoin[]; +} +export interface ValidatorOutstandingRewardsProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorOutstandingRewards'; + value: Uint8Array; +} +/** + * ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards + * for a validator inexpensive to track, allows simple sanity checks. + */ +export interface ValidatorOutstandingRewardsAmino { + rewards: DecCoinAmino[]; +} +export interface ValidatorOutstandingRewardsAminoMsg { + type: 'cosmos-sdk/ValidatorOutstandingRewards'; + value: ValidatorOutstandingRewardsAmino; +} +/** + * ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards + * for a validator inexpensive to track, allows simple sanity checks. + */ +export interface ValidatorOutstandingRewardsSDKType { + rewards: DecCoinSDKType[]; +} +/** + * ValidatorSlashEvent represents a validator slash event. + * Height is implicit within the store key. + * This is needed to calculate appropriate amount of staking tokens + * for delegations which are withdrawn after a slash has occurred. + */ +export interface ValidatorSlashEvent { + validatorPeriod: bigint; + fraction: string; +} +export interface ValidatorSlashEventProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorSlashEvent'; + value: Uint8Array; +} +/** + * ValidatorSlashEvent represents a validator slash event. + * Height is implicit within the store key. + * This is needed to calculate appropriate amount of staking tokens + * for delegations which are withdrawn after a slash has occurred. + */ +export interface ValidatorSlashEventAmino { + validator_period?: string; + fraction?: string; +} +export interface ValidatorSlashEventAminoMsg { + type: 'cosmos-sdk/ValidatorSlashEvent'; + value: ValidatorSlashEventAmino; +} +/** + * ValidatorSlashEvent represents a validator slash event. + * Height is implicit within the store key. + * This is needed to calculate appropriate amount of staking tokens + * for delegations which are withdrawn after a slash has occurred. + */ +export interface ValidatorSlashEventSDKType { + validator_period: bigint; + fraction: string; +} +/** ValidatorSlashEvents is a collection of ValidatorSlashEvent messages. */ +export interface ValidatorSlashEvents { + validatorSlashEvents: ValidatorSlashEvent[]; +} +export interface ValidatorSlashEventsProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorSlashEvents'; + value: Uint8Array; +} +/** ValidatorSlashEvents is a collection of ValidatorSlashEvent messages. */ +export interface ValidatorSlashEventsAmino { + validator_slash_events: ValidatorSlashEventAmino[]; +} +export interface ValidatorSlashEventsAminoMsg { + type: 'cosmos-sdk/ValidatorSlashEvents'; + value: ValidatorSlashEventsAmino; +} +/** ValidatorSlashEvents is a collection of ValidatorSlashEvent messages. */ +export interface ValidatorSlashEventsSDKType { + validator_slash_events: ValidatorSlashEventSDKType[]; +} +/** FeePool is the global fee pool for distribution. */ +export interface FeePool { + communityPool: DecCoin[]; +} +export interface FeePoolProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.FeePool'; + value: Uint8Array; +} +/** FeePool is the global fee pool for distribution. */ +export interface FeePoolAmino { + community_pool: DecCoinAmino[]; +} +export interface FeePoolAminoMsg { + type: 'cosmos-sdk/FeePool'; + value: FeePoolAmino; +} +/** FeePool is the global fee pool for distribution. */ +export interface FeePoolSDKType { + community_pool: DecCoinSDKType[]; +} +/** + * CommunityPoolSpendProposal details a proposal for use of community funds, + * together with how many coins are proposed to be spent, and to which + * recipient account. + * + * Deprecated: Do not use. As of the Cosmos SDK release v0.47.x, there is no + * longer a need for an explicit CommunityPoolSpendProposal. To spend community + * pool funds, a simple MsgCommunityPoolSpend can be invoked from the x/gov + * module via a v1 governance proposal. + */ +/** @deprecated */ +export interface CommunityPoolSpendProposal { + $typeUrl?: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposal'; + title: string; + description: string; + recipient: string; + amount: Coin[]; +} +export interface CommunityPoolSpendProposalProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposal'; + value: Uint8Array; +} +/** + * CommunityPoolSpendProposal details a proposal for use of community funds, + * together with how many coins are proposed to be spent, and to which + * recipient account. + * + * Deprecated: Do not use. As of the Cosmos SDK release v0.47.x, there is no + * longer a need for an explicit CommunityPoolSpendProposal. To spend community + * pool funds, a simple MsgCommunityPoolSpend can be invoked from the x/gov + * module via a v1 governance proposal. + */ +/** @deprecated */ +export interface CommunityPoolSpendProposalAmino { + title?: string; + description?: string; + recipient?: string; + amount: CoinAmino[]; +} +export interface CommunityPoolSpendProposalAminoMsg { + type: 'cosmos-sdk/CommunityPoolSpendProposal'; + value: CommunityPoolSpendProposalAmino; +} +/** + * CommunityPoolSpendProposal details a proposal for use of community funds, + * together with how many coins are proposed to be spent, and to which + * recipient account. + * + * Deprecated: Do not use. As of the Cosmos SDK release v0.47.x, there is no + * longer a need for an explicit CommunityPoolSpendProposal. To spend community + * pool funds, a simple MsgCommunityPoolSpend can be invoked from the x/gov + * module via a v1 governance proposal. + */ +/** @deprecated */ +export interface CommunityPoolSpendProposalSDKType { + $typeUrl?: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposal'; + title: string; + description: string; + recipient: string; + amount: CoinSDKType[]; +} +/** + * DelegatorStartingInfo represents the starting info for a delegator reward + * period. It tracks the previous validator period, the delegation's amount of + * staking token, and the creation height (to check later on if any slashes have + * occurred). NOTE: Even though validators are slashed to whole staking tokens, + * the delegators within the validator may be left with less than a full token, + * thus sdk.Dec is used. + */ +export interface DelegatorStartingInfo { + previousPeriod: bigint; + stake: string; + height: bigint; +} +export interface DelegatorStartingInfoProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.DelegatorStartingInfo'; + value: Uint8Array; +} +/** + * DelegatorStartingInfo represents the starting info for a delegator reward + * period. It tracks the previous validator period, the delegation's amount of + * staking token, and the creation height (to check later on if any slashes have + * occurred). NOTE: Even though validators are slashed to whole staking tokens, + * the delegators within the validator may be left with less than a full token, + * thus sdk.Dec is used. + */ +export interface DelegatorStartingInfoAmino { + previous_period?: string; + stake: string; + height: string; +} +export interface DelegatorStartingInfoAminoMsg { + type: 'cosmos-sdk/DelegatorStartingInfo'; + value: DelegatorStartingInfoAmino; +} +/** + * DelegatorStartingInfo represents the starting info for a delegator reward + * period. It tracks the previous validator period, the delegation's amount of + * staking token, and the creation height (to check later on if any slashes have + * occurred). NOTE: Even though validators are slashed to whole staking tokens, + * the delegators within the validator may be left with less than a full token, + * thus sdk.Dec is used. + */ +export interface DelegatorStartingInfoSDKType { + previous_period: bigint; + stake: string; + height: bigint; +} +/** + * DelegationDelegatorReward represents the properties + * of a delegator's delegation reward. + */ +export interface DelegationDelegatorReward { + validatorAddress: string; + reward: DecCoin[]; +} +export interface DelegationDelegatorRewardProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.DelegationDelegatorReward'; + value: Uint8Array; +} +/** + * DelegationDelegatorReward represents the properties + * of a delegator's delegation reward. + */ +export interface DelegationDelegatorRewardAmino { + validator_address?: string; + reward: DecCoinAmino[]; +} +export interface DelegationDelegatorRewardAminoMsg { + type: 'cosmos-sdk/DelegationDelegatorReward'; + value: DelegationDelegatorRewardAmino; +} +/** + * DelegationDelegatorReward represents the properties + * of a delegator's delegation reward. + */ +export interface DelegationDelegatorRewardSDKType { + validator_address: string; + reward: DecCoinSDKType[]; +} +/** + * CommunityPoolSpendProposalWithDeposit defines a CommunityPoolSpendProposal + * with a deposit + */ +export interface CommunityPoolSpendProposalWithDeposit { + $typeUrl?: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit'; + title: string; + description: string; + recipient: string; + amount: string; + deposit: string; +} +export interface CommunityPoolSpendProposalWithDepositProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit'; + value: Uint8Array; +} +/** + * CommunityPoolSpendProposalWithDeposit defines a CommunityPoolSpendProposal + * with a deposit + */ +export interface CommunityPoolSpendProposalWithDepositAmino { + title?: string; + description?: string; + recipient?: string; + amount?: string; + deposit?: string; +} +export interface CommunityPoolSpendProposalWithDepositAminoMsg { + type: 'cosmos-sdk/CommunityPoolSpendProposalWithDeposit'; + value: CommunityPoolSpendProposalWithDepositAmino; +} +/** + * CommunityPoolSpendProposalWithDeposit defines a CommunityPoolSpendProposal + * with a deposit + */ +export interface CommunityPoolSpendProposalWithDepositSDKType { + $typeUrl?: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit'; + title: string; + description: string; + recipient: string; + amount: string; + deposit: string; +} +function createBaseParams(): Params { + return { + communityTax: '', + baseProposerReward: '', + bonusProposerReward: '', + withdrawAddrEnabled: false, + }; +} +export const Params = { + typeUrl: '/cosmos.distribution.v1beta1.Params', + encode(message: Params, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.communityTax !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.communityTax, 18).atomics); + } + if (message.baseProposerReward !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.baseProposerReward, 18).atomics); + } + if (message.bonusProposerReward !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.bonusProposerReward, 18).atomics); + } + if (message.withdrawAddrEnabled === true) { + writer.uint32(32).bool(message.withdrawAddrEnabled); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.communityTax = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.baseProposerReward = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.bonusProposerReward = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.withdrawAddrEnabled = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Params { + const message = createBaseParams(); + message.communityTax = object.communityTax ?? ''; + message.baseProposerReward = object.baseProposerReward ?? ''; + message.bonusProposerReward = object.bonusProposerReward ?? ''; + message.withdrawAddrEnabled = object.withdrawAddrEnabled ?? false; + return message; + }, + fromAmino(object: ParamsAmino): Params { + const message = createBaseParams(); + if (object.community_tax !== undefined && object.community_tax !== null) { + message.communityTax = object.community_tax; + } + if (object.base_proposer_reward !== undefined && object.base_proposer_reward !== null) { + message.baseProposerReward = object.base_proposer_reward; + } + if (object.bonus_proposer_reward !== undefined && object.bonus_proposer_reward !== null) { + message.bonusProposerReward = object.bonus_proposer_reward; + } + if (object.withdraw_addr_enabled !== undefined && object.withdraw_addr_enabled !== null) { + message.withdrawAddrEnabled = object.withdraw_addr_enabled; + } + return message; + }, + toAmino(message: Params): ParamsAmino { + const obj: any = {}; + obj.community_tax = message.communityTax ?? ''; + obj.base_proposer_reward = message.baseProposerReward ?? ''; + obj.bonus_proposer_reward = message.bonusProposerReward ?? ''; + obj.withdraw_addr_enabled = message.withdrawAddrEnabled === false ? undefined : message.withdrawAddrEnabled; + return obj; + }, + fromAminoMsg(object: ParamsAminoMsg): Params { + return Params.fromAmino(object.value); + }, + toAminoMsg(message: Params): ParamsAminoMsg { + return { + type: 'cosmos-sdk/x/distribution/Params', + value: Params.toAmino(message), + }; + }, + fromProtoMsg(message: ParamsProtoMsg): Params { + return Params.decode(message.value); + }, + toProto(message: Params): Uint8Array { + return Params.encode(message).finish(); + }, + toProtoMsg(message: Params): ParamsProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.Params', + value: Params.encode(message).finish(), + }; + }, +}; +function createBaseValidatorHistoricalRewards(): ValidatorHistoricalRewards { + return { + cumulativeRewardRatio: [], + referenceCount: 0, + }; +} +export const ValidatorHistoricalRewards = { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorHistoricalRewards', + encode(message: ValidatorHistoricalRewards, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.cumulativeRewardRatio) { + DecCoin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.referenceCount !== 0) { + writer.uint32(16).uint32(message.referenceCount); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorHistoricalRewards { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorHistoricalRewards(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.cumulativeRewardRatio.push(DecCoin.decode(reader, reader.uint32())); + break; + case 2: + message.referenceCount = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ValidatorHistoricalRewards { + const message = createBaseValidatorHistoricalRewards(); + message.cumulativeRewardRatio = object.cumulativeRewardRatio?.map((e) => DecCoin.fromPartial(e)) || []; + message.referenceCount = object.referenceCount ?? 0; + return message; + }, + fromAmino(object: ValidatorHistoricalRewardsAmino): ValidatorHistoricalRewards { + const message = createBaseValidatorHistoricalRewards(); + message.cumulativeRewardRatio = object.cumulative_reward_ratio?.map((e) => DecCoin.fromAmino(e)) || []; + if (object.reference_count !== undefined && object.reference_count !== null) { + message.referenceCount = object.reference_count; + } + return message; + }, + toAmino(message: ValidatorHistoricalRewards): ValidatorHistoricalRewardsAmino { + const obj: any = {}; + if (message.cumulativeRewardRatio) { + obj.cumulative_reward_ratio = message.cumulativeRewardRatio.map((e) => (e ? DecCoin.toAmino(e) : undefined)); + } else { + obj.cumulative_reward_ratio = message.cumulativeRewardRatio; + } + obj.reference_count = message.referenceCount === 0 ? undefined : message.referenceCount; + return obj; + }, + fromAminoMsg(object: ValidatorHistoricalRewardsAminoMsg): ValidatorHistoricalRewards { + return ValidatorHistoricalRewards.fromAmino(object.value); + }, + toAminoMsg(message: ValidatorHistoricalRewards): ValidatorHistoricalRewardsAminoMsg { + return { + type: 'cosmos-sdk/ValidatorHistoricalRewards', + value: ValidatorHistoricalRewards.toAmino(message), + }; + }, + fromProtoMsg(message: ValidatorHistoricalRewardsProtoMsg): ValidatorHistoricalRewards { + return ValidatorHistoricalRewards.decode(message.value); + }, + toProto(message: ValidatorHistoricalRewards): Uint8Array { + return ValidatorHistoricalRewards.encode(message).finish(); + }, + toProtoMsg(message: ValidatorHistoricalRewards): ValidatorHistoricalRewardsProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorHistoricalRewards', + value: ValidatorHistoricalRewards.encode(message).finish(), + }; + }, +}; +function createBaseValidatorCurrentRewards(): ValidatorCurrentRewards { + return { + rewards: [], + period: BigInt(0), + }; +} +export const ValidatorCurrentRewards = { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorCurrentRewards', + encode(message: ValidatorCurrentRewards, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.rewards) { + DecCoin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.period !== BigInt(0)) { + writer.uint32(16).uint64(message.period); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorCurrentRewards { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorCurrentRewards(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.rewards.push(DecCoin.decode(reader, reader.uint32())); + break; + case 2: + message.period = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ValidatorCurrentRewards { + const message = createBaseValidatorCurrentRewards(); + message.rewards = object.rewards?.map((e) => DecCoin.fromPartial(e)) || []; + message.period = + object.period !== undefined && object.period !== null ? BigInt(object.period.toString()) : BigInt(0); + return message; + }, + fromAmino(object: ValidatorCurrentRewardsAmino): ValidatorCurrentRewards { + const message = createBaseValidatorCurrentRewards(); + message.rewards = object.rewards?.map((e) => DecCoin.fromAmino(e)) || []; + if (object.period !== undefined && object.period !== null) { + message.period = BigInt(object.period); + } + return message; + }, + toAmino(message: ValidatorCurrentRewards): ValidatorCurrentRewardsAmino { + const obj: any = {}; + if (message.rewards) { + obj.rewards = message.rewards.map((e) => (e ? DecCoin.toAmino(e) : undefined)); + } else { + obj.rewards = message.rewards; + } + obj.period = message.period !== BigInt(0) ? (message.period?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: ValidatorCurrentRewardsAminoMsg): ValidatorCurrentRewards { + return ValidatorCurrentRewards.fromAmino(object.value); + }, + toAminoMsg(message: ValidatorCurrentRewards): ValidatorCurrentRewardsAminoMsg { + return { + type: 'cosmos-sdk/ValidatorCurrentRewards', + value: ValidatorCurrentRewards.toAmino(message), + }; + }, + fromProtoMsg(message: ValidatorCurrentRewardsProtoMsg): ValidatorCurrentRewards { + return ValidatorCurrentRewards.decode(message.value); + }, + toProto(message: ValidatorCurrentRewards): Uint8Array { + return ValidatorCurrentRewards.encode(message).finish(); + }, + toProtoMsg(message: ValidatorCurrentRewards): ValidatorCurrentRewardsProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorCurrentRewards', + value: ValidatorCurrentRewards.encode(message).finish(), + }; + }, +}; +function createBaseValidatorAccumulatedCommission(): ValidatorAccumulatedCommission { + return { + commission: [], + }; +} +export const ValidatorAccumulatedCommission = { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission', + encode(message: ValidatorAccumulatedCommission, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.commission) { + DecCoin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorAccumulatedCommission { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorAccumulatedCommission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.commission.push(DecCoin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ValidatorAccumulatedCommission { + const message = createBaseValidatorAccumulatedCommission(); + message.commission = object.commission?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ValidatorAccumulatedCommissionAmino): ValidatorAccumulatedCommission { + const message = createBaseValidatorAccumulatedCommission(); + message.commission = object.commission?.map((e) => DecCoin.fromAmino(e)) || []; + return message; + }, + toAmino(message: ValidatorAccumulatedCommission): ValidatorAccumulatedCommissionAmino { + const obj: any = {}; + if (message.commission) { + obj.commission = message.commission.map((e) => (e ? DecCoin.toAmino(e) : undefined)); + } else { + obj.commission = message.commission; + } + return obj; + }, + fromAminoMsg(object: ValidatorAccumulatedCommissionAminoMsg): ValidatorAccumulatedCommission { + return ValidatorAccumulatedCommission.fromAmino(object.value); + }, + toAminoMsg(message: ValidatorAccumulatedCommission): ValidatorAccumulatedCommissionAminoMsg { + return { + type: 'cosmos-sdk/ValidatorAccumulatedCommission', + value: ValidatorAccumulatedCommission.toAmino(message), + }; + }, + fromProtoMsg(message: ValidatorAccumulatedCommissionProtoMsg): ValidatorAccumulatedCommission { + return ValidatorAccumulatedCommission.decode(message.value); + }, + toProto(message: ValidatorAccumulatedCommission): Uint8Array { + return ValidatorAccumulatedCommission.encode(message).finish(); + }, + toProtoMsg(message: ValidatorAccumulatedCommission): ValidatorAccumulatedCommissionProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission', + value: ValidatorAccumulatedCommission.encode(message).finish(), + }; + }, +}; +function createBaseValidatorOutstandingRewards(): ValidatorOutstandingRewards { + return { + rewards: [], + }; +} +export const ValidatorOutstandingRewards = { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorOutstandingRewards', + encode(message: ValidatorOutstandingRewards, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.rewards) { + DecCoin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorOutstandingRewards { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorOutstandingRewards(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.rewards.push(DecCoin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ValidatorOutstandingRewards { + const message = createBaseValidatorOutstandingRewards(); + message.rewards = object.rewards?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ValidatorOutstandingRewardsAmino): ValidatorOutstandingRewards { + const message = createBaseValidatorOutstandingRewards(); + message.rewards = object.rewards?.map((e) => DecCoin.fromAmino(e)) || []; + return message; + }, + toAmino(message: ValidatorOutstandingRewards): ValidatorOutstandingRewardsAmino { + const obj: any = {}; + if (message.rewards) { + obj.rewards = message.rewards.map((e) => (e ? DecCoin.toAmino(e) : undefined)); + } else { + obj.rewards = message.rewards; + } + return obj; + }, + fromAminoMsg(object: ValidatorOutstandingRewardsAminoMsg): ValidatorOutstandingRewards { + return ValidatorOutstandingRewards.fromAmino(object.value); + }, + toAminoMsg(message: ValidatorOutstandingRewards): ValidatorOutstandingRewardsAminoMsg { + return { + type: 'cosmos-sdk/ValidatorOutstandingRewards', + value: ValidatorOutstandingRewards.toAmino(message), + }; + }, + fromProtoMsg(message: ValidatorOutstandingRewardsProtoMsg): ValidatorOutstandingRewards { + return ValidatorOutstandingRewards.decode(message.value); + }, + toProto(message: ValidatorOutstandingRewards): Uint8Array { + return ValidatorOutstandingRewards.encode(message).finish(); + }, + toProtoMsg(message: ValidatorOutstandingRewards): ValidatorOutstandingRewardsProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorOutstandingRewards', + value: ValidatorOutstandingRewards.encode(message).finish(), + }; + }, +}; +function createBaseValidatorSlashEvent(): ValidatorSlashEvent { + return { + validatorPeriod: BigInt(0), + fraction: '', + }; +} +export const ValidatorSlashEvent = { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorSlashEvent', + encode(message: ValidatorSlashEvent, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.validatorPeriod !== BigInt(0)) { + writer.uint32(8).uint64(message.validatorPeriod); + } + if (message.fraction !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.fraction, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSlashEvent { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorSlashEvent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.validatorPeriod = reader.uint64(); + break; + case 2: + message.fraction = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ValidatorSlashEvent { + const message = createBaseValidatorSlashEvent(); + message.validatorPeriod = + object.validatorPeriod !== undefined && object.validatorPeriod !== null + ? BigInt(object.validatorPeriod.toString()) + : BigInt(0); + message.fraction = object.fraction ?? ''; + return message; + }, + fromAmino(object: ValidatorSlashEventAmino): ValidatorSlashEvent { + const message = createBaseValidatorSlashEvent(); + if (object.validator_period !== undefined && object.validator_period !== null) { + message.validatorPeriod = BigInt(object.validator_period); + } + if (object.fraction !== undefined && object.fraction !== null) { + message.fraction = object.fraction; + } + return message; + }, + toAmino(message: ValidatorSlashEvent): ValidatorSlashEventAmino { + const obj: any = {}; + obj.validator_period = message.validatorPeriod !== BigInt(0) ? (message.validatorPeriod?.toString)() : undefined; + obj.fraction = message.fraction === '' ? undefined : message.fraction; + return obj; + }, + fromAminoMsg(object: ValidatorSlashEventAminoMsg): ValidatorSlashEvent { + return ValidatorSlashEvent.fromAmino(object.value); + }, + toAminoMsg(message: ValidatorSlashEvent): ValidatorSlashEventAminoMsg { + return { + type: 'cosmos-sdk/ValidatorSlashEvent', + value: ValidatorSlashEvent.toAmino(message), + }; + }, + fromProtoMsg(message: ValidatorSlashEventProtoMsg): ValidatorSlashEvent { + return ValidatorSlashEvent.decode(message.value); + }, + toProto(message: ValidatorSlashEvent): Uint8Array { + return ValidatorSlashEvent.encode(message).finish(); + }, + toProtoMsg(message: ValidatorSlashEvent): ValidatorSlashEventProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorSlashEvent', + value: ValidatorSlashEvent.encode(message).finish(), + }; + }, +}; +function createBaseValidatorSlashEvents(): ValidatorSlashEvents { + return { + validatorSlashEvents: [], + }; +} +export const ValidatorSlashEvents = { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorSlashEvents', + encode(message: ValidatorSlashEvents, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.validatorSlashEvents) { + ValidatorSlashEvent.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSlashEvents { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorSlashEvents(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.validatorSlashEvents.push(ValidatorSlashEvent.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ValidatorSlashEvents { + const message = createBaseValidatorSlashEvents(); + message.validatorSlashEvents = object.validatorSlashEvents?.map((e) => ValidatorSlashEvent.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ValidatorSlashEventsAmino): ValidatorSlashEvents { + const message = createBaseValidatorSlashEvents(); + message.validatorSlashEvents = object.validator_slash_events?.map((e) => ValidatorSlashEvent.fromAmino(e)) || []; + return message; + }, + toAmino(message: ValidatorSlashEvents): ValidatorSlashEventsAmino { + const obj: any = {}; + if (message.validatorSlashEvents) { + obj.validator_slash_events = message.validatorSlashEvents.map((e) => + e ? ValidatorSlashEvent.toAmino(e) : undefined, + ); + } else { + obj.validator_slash_events = message.validatorSlashEvents; + } + return obj; + }, + fromAminoMsg(object: ValidatorSlashEventsAminoMsg): ValidatorSlashEvents { + return ValidatorSlashEvents.fromAmino(object.value); + }, + toAminoMsg(message: ValidatorSlashEvents): ValidatorSlashEventsAminoMsg { + return { + type: 'cosmos-sdk/ValidatorSlashEvents', + value: ValidatorSlashEvents.toAmino(message), + }; + }, + fromProtoMsg(message: ValidatorSlashEventsProtoMsg): ValidatorSlashEvents { + return ValidatorSlashEvents.decode(message.value); + }, + toProto(message: ValidatorSlashEvents): Uint8Array { + return ValidatorSlashEvents.encode(message).finish(); + }, + toProtoMsg(message: ValidatorSlashEvents): ValidatorSlashEventsProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.ValidatorSlashEvents', + value: ValidatorSlashEvents.encode(message).finish(), + }; + }, +}; +function createBaseFeePool(): FeePool { + return { + communityPool: [], + }; +} +export const FeePool = { + typeUrl: '/cosmos.distribution.v1beta1.FeePool', + encode(message: FeePool, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.communityPool) { + DecCoin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): FeePool { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeePool(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.communityPool.push(DecCoin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): FeePool { + const message = createBaseFeePool(); + message.communityPool = object.communityPool?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: FeePoolAmino): FeePool { + const message = createBaseFeePool(); + message.communityPool = object.community_pool?.map((e) => DecCoin.fromAmino(e)) || []; + return message; + }, + toAmino(message: FeePool): FeePoolAmino { + const obj: any = {}; + if (message.communityPool) { + obj.community_pool = message.communityPool.map((e) => (e ? DecCoin.toAmino(e) : undefined)); + } else { + obj.community_pool = message.communityPool; + } + return obj; + }, + fromAminoMsg(object: FeePoolAminoMsg): FeePool { + return FeePool.fromAmino(object.value); + }, + toAminoMsg(message: FeePool): FeePoolAminoMsg { + return { + type: 'cosmos-sdk/FeePool', + value: FeePool.toAmino(message), + }; + }, + fromProtoMsg(message: FeePoolProtoMsg): FeePool { + return FeePool.decode(message.value); + }, + toProto(message: FeePool): Uint8Array { + return FeePool.encode(message).finish(); + }, + toProtoMsg(message: FeePool): FeePoolProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.FeePool', + value: FeePool.encode(message).finish(), + }; + }, +}; +function createBaseCommunityPoolSpendProposal(): CommunityPoolSpendProposal { + return { + $typeUrl: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposal', + title: '', + description: '', + recipient: '', + amount: [], + }; +} +export const CommunityPoolSpendProposal = { + typeUrl: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposal', + encode(message: CommunityPoolSpendProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.recipient !== '') { + writer.uint32(26).string(message.recipient); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): CommunityPoolSpendProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommunityPoolSpendProposal(); + while (reader.pos < end) { + const 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.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): CommunityPoolSpendProposal { + const message = createBaseCommunityPoolSpendProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.recipient = object.recipient ?? ''; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: CommunityPoolSpendProposalAmino): CommunityPoolSpendProposal { + const message = createBaseCommunityPoolSpendProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.recipient !== undefined && object.recipient !== null) { + message.recipient = object.recipient; + } + message.amount = object.amount?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: CommunityPoolSpendProposal): CommunityPoolSpendProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.recipient = message.recipient === '' ? undefined : message.recipient; + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amount = message.amount; + } + return obj; + }, + fromAminoMsg(object: CommunityPoolSpendProposalAminoMsg): CommunityPoolSpendProposal { + return CommunityPoolSpendProposal.fromAmino(object.value); + }, + toAminoMsg(message: CommunityPoolSpendProposal): CommunityPoolSpendProposalAminoMsg { + return { + type: 'cosmos-sdk/CommunityPoolSpendProposal', + value: CommunityPoolSpendProposal.toAmino(message), + }; + }, + fromProtoMsg(message: CommunityPoolSpendProposalProtoMsg): CommunityPoolSpendProposal { + return CommunityPoolSpendProposal.decode(message.value); + }, + toProto(message: CommunityPoolSpendProposal): Uint8Array { + return CommunityPoolSpendProposal.encode(message).finish(); + }, + toProtoMsg(message: CommunityPoolSpendProposal): CommunityPoolSpendProposalProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposal', + value: CommunityPoolSpendProposal.encode(message).finish(), + }; + }, +}; +function createBaseDelegatorStartingInfo(): DelegatorStartingInfo { + return { + previousPeriod: BigInt(0), + stake: '', + height: BigInt(0), + }; +} +export const DelegatorStartingInfo = { + typeUrl: '/cosmos.distribution.v1beta1.DelegatorStartingInfo', + encode(message: DelegatorStartingInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.previousPeriod !== BigInt(0)) { + writer.uint32(8).uint64(message.previousPeriod); + } + if (message.stake !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.stake, 18).atomics); + } + if (message.height !== BigInt(0)) { + writer.uint32(24).uint64(message.height); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DelegatorStartingInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDelegatorStartingInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.previousPeriod = reader.uint64(); + break; + case 2: + message.stake = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.height = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DelegatorStartingInfo { + const message = createBaseDelegatorStartingInfo(); + message.previousPeriod = + object.previousPeriod !== undefined && object.previousPeriod !== null + ? BigInt(object.previousPeriod.toString()) + : BigInt(0); + message.stake = object.stake ?? ''; + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + return message; + }, + fromAmino(object: DelegatorStartingInfoAmino): DelegatorStartingInfo { + const message = createBaseDelegatorStartingInfo(); + if (object.previous_period !== undefined && object.previous_period !== null) { + message.previousPeriod = BigInt(object.previous_period); + } + if (object.stake !== undefined && object.stake !== null) { + message.stake = object.stake; + } + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + return message; + }, + toAmino(message: DelegatorStartingInfo): DelegatorStartingInfoAmino { + const obj: any = {}; + obj.previous_period = message.previousPeriod !== BigInt(0) ? (message.previousPeriod?.toString)() : undefined; + obj.stake = message.stake ?? ''; + obj.height = message.height ? (message.height?.toString)() : '0'; + return obj; + }, + fromAminoMsg(object: DelegatorStartingInfoAminoMsg): DelegatorStartingInfo { + return DelegatorStartingInfo.fromAmino(object.value); + }, + toAminoMsg(message: DelegatorStartingInfo): DelegatorStartingInfoAminoMsg { + return { + type: 'cosmos-sdk/DelegatorStartingInfo', + value: DelegatorStartingInfo.toAmino(message), + }; + }, + fromProtoMsg(message: DelegatorStartingInfoProtoMsg): DelegatorStartingInfo { + return DelegatorStartingInfo.decode(message.value); + }, + toProto(message: DelegatorStartingInfo): Uint8Array { + return DelegatorStartingInfo.encode(message).finish(); + }, + toProtoMsg(message: DelegatorStartingInfo): DelegatorStartingInfoProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.DelegatorStartingInfo', + value: DelegatorStartingInfo.encode(message).finish(), + }; + }, +}; +function createBaseDelegationDelegatorReward(): DelegationDelegatorReward { + return { + validatorAddress: '', + reward: [], + }; +} +export const DelegationDelegatorReward = { + typeUrl: '/cosmos.distribution.v1beta1.DelegationDelegatorReward', + encode(message: DelegationDelegatorReward, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.validatorAddress !== '') { + writer.uint32(10).string(message.validatorAddress); + } + for (const v of message.reward) { + DecCoin.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DelegationDelegatorReward { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDelegationDelegatorReward(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.validatorAddress = reader.string(); + break; + case 2: + message.reward.push(DecCoin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DelegationDelegatorReward { + const message = createBaseDelegationDelegatorReward(); + message.validatorAddress = object.validatorAddress ?? ''; + message.reward = object.reward?.map((e) => DecCoin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: DelegationDelegatorRewardAmino): DelegationDelegatorReward { + const message = createBaseDelegationDelegatorReward(); + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = object.validator_address; + } + message.reward = object.reward?.map((e) => DecCoin.fromAmino(e)) || []; + return message; + }, + toAmino(message: DelegationDelegatorReward): DelegationDelegatorRewardAmino { + const obj: any = {}; + obj.validator_address = message.validatorAddress === '' ? undefined : message.validatorAddress; + if (message.reward) { + obj.reward = message.reward.map((e) => (e ? DecCoin.toAmino(e) : undefined)); + } else { + obj.reward = message.reward; + } + return obj; + }, + fromAminoMsg(object: DelegationDelegatorRewardAminoMsg): DelegationDelegatorReward { + return DelegationDelegatorReward.fromAmino(object.value); + }, + toAminoMsg(message: DelegationDelegatorReward): DelegationDelegatorRewardAminoMsg { + return { + type: 'cosmos-sdk/DelegationDelegatorReward', + value: DelegationDelegatorReward.toAmino(message), + }; + }, + fromProtoMsg(message: DelegationDelegatorRewardProtoMsg): DelegationDelegatorReward { + return DelegationDelegatorReward.decode(message.value); + }, + toProto(message: DelegationDelegatorReward): Uint8Array { + return DelegationDelegatorReward.encode(message).finish(); + }, + toProtoMsg(message: DelegationDelegatorReward): DelegationDelegatorRewardProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.DelegationDelegatorReward', + value: DelegationDelegatorReward.encode(message).finish(), + }; + }, +}; +function createBaseCommunityPoolSpendProposalWithDeposit(): CommunityPoolSpendProposalWithDeposit { + return { + $typeUrl: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit', + title: '', + description: '', + recipient: '', + amount: '', + deposit: '', + }; +} +export const CommunityPoolSpendProposalWithDeposit = { + typeUrl: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit', + encode(message: CommunityPoolSpendProposalWithDeposit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.recipient !== '') { + writer.uint32(26).string(message.recipient); + } + if (message.amount !== '') { + writer.uint32(34).string(message.amount); + } + if (message.deposit !== '') { + writer.uint32(42).string(message.deposit); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): CommunityPoolSpendProposalWithDeposit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommunityPoolSpendProposalWithDeposit(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): CommunityPoolSpendProposalWithDeposit { + const message = createBaseCommunityPoolSpendProposalWithDeposit(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.recipient = object.recipient ?? ''; + message.amount = object.amount ?? ''; + message.deposit = object.deposit ?? ''; + return message; + }, + fromAmino(object: CommunityPoolSpendProposalWithDepositAmino): CommunityPoolSpendProposalWithDeposit { + const message = createBaseCommunityPoolSpendProposalWithDeposit(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.recipient !== undefined && object.recipient !== null) { + message.recipient = object.recipient; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = object.amount; + } + if (object.deposit !== undefined && object.deposit !== null) { + message.deposit = object.deposit; + } + return message; + }, + toAmino(message: CommunityPoolSpendProposalWithDeposit): CommunityPoolSpendProposalWithDepositAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.recipient = message.recipient === '' ? undefined : message.recipient; + obj.amount = message.amount === '' ? undefined : message.amount; + obj.deposit = message.deposit === '' ? undefined : message.deposit; + return obj; + }, + fromAminoMsg(object: CommunityPoolSpendProposalWithDepositAminoMsg): CommunityPoolSpendProposalWithDeposit { + return CommunityPoolSpendProposalWithDeposit.fromAmino(object.value); + }, + toAminoMsg(message: CommunityPoolSpendProposalWithDeposit): CommunityPoolSpendProposalWithDepositAminoMsg { + return { + type: 'cosmos-sdk/CommunityPoolSpendProposalWithDeposit', + value: CommunityPoolSpendProposalWithDeposit.toAmino(message), + }; + }, + fromProtoMsg(message: CommunityPoolSpendProposalWithDepositProtoMsg): CommunityPoolSpendProposalWithDeposit { + return CommunityPoolSpendProposalWithDeposit.decode(message.value); + }, + toProto(message: CommunityPoolSpendProposalWithDeposit): Uint8Array { + return CommunityPoolSpendProposalWithDeposit.encode(message).finish(); + }, + toProtoMsg(message: CommunityPoolSpendProposalWithDeposit): CommunityPoolSpendProposalWithDepositProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit', + value: CommunityPoolSpendProposalWithDeposit.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/distribution/v1beta1/tx.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/distribution/v1beta1/tx.ts new file mode 100644 index 00000000..df581cf7 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/distribution/v1beta1/tx.ts @@ -0,0 +1,1458 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { Coin, CoinAmino, CoinSDKType } from '../../base/v1beta1/coin'; +import { Params, ParamsAmino, ParamsSDKType } from './distribution'; +/** + * MsgSetWithdrawAddress sets the withdraw address for + * a delegator (or validator self-delegation). + */ +export interface MsgSetWithdrawAddress { + delegatorAddress: string; + withdrawAddress: string; +} +export interface MsgSetWithdrawAddressProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgSetWithdrawAddress'; + value: Uint8Array; +} +/** + * MsgSetWithdrawAddress sets the withdraw address for + * a delegator (or validator self-delegation). + */ +export interface MsgSetWithdrawAddressAmino { + delegator_address?: string; + withdraw_address?: string; +} +export interface MsgSetWithdrawAddressAminoMsg { + type: 'cosmos-sdk/MsgModifyWithdrawAddress'; + value: MsgSetWithdrawAddressAmino; +} +/** + * MsgSetWithdrawAddress sets the withdraw address for + * a delegator (or validator self-delegation). + */ +export interface MsgSetWithdrawAddressSDKType { + delegator_address: string; + withdraw_address: string; +} +/** + * MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response + * type. + */ +export interface MsgSetWithdrawAddressResponse {} +export interface MsgSetWithdrawAddressResponseProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse'; + value: Uint8Array; +} +/** + * MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response + * type. + */ +export interface MsgSetWithdrawAddressResponseAmino {} +export interface MsgSetWithdrawAddressResponseAminoMsg { + type: 'cosmos-sdk/MsgSetWithdrawAddressResponse'; + value: MsgSetWithdrawAddressResponseAmino; +} +/** + * MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response + * type. + */ +export interface MsgSetWithdrawAddressResponseSDKType {} +/** + * MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator + * from a single validator. + */ +export interface MsgWithdrawDelegatorReward { + delegatorAddress: string; + validatorAddress: string; +} +export interface MsgWithdrawDelegatorRewardProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward'; + value: Uint8Array; +} +/** + * MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator + * from a single validator. + */ +export interface MsgWithdrawDelegatorRewardAmino { + delegator_address?: string; + validator_address?: string; +} +export interface MsgWithdrawDelegatorRewardAminoMsg { + type: 'cosmos-sdk/MsgWithdrawDelegationReward'; + value: MsgWithdrawDelegatorRewardAmino; +} +/** + * MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator + * from a single validator. + */ +export interface MsgWithdrawDelegatorRewardSDKType { + delegator_address: string; + validator_address: string; +} +/** + * MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward + * response type. + */ +export interface MsgWithdrawDelegatorRewardResponse { + /** Since: cosmos-sdk 0.46 */ + amount: Coin[]; +} +export interface MsgWithdrawDelegatorRewardResponseProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse'; + value: Uint8Array; +} +/** + * MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward + * response type. + */ +export interface MsgWithdrawDelegatorRewardResponseAmino { + /** Since: cosmos-sdk 0.46 */ + amount: CoinAmino[]; +} +export interface MsgWithdrawDelegatorRewardResponseAminoMsg { + type: 'cosmos-sdk/MsgWithdrawDelegatorRewardResponse'; + value: MsgWithdrawDelegatorRewardResponseAmino; +} +/** + * MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward + * response type. + */ +export interface MsgWithdrawDelegatorRewardResponseSDKType { + amount: CoinSDKType[]; +} +/** + * MsgWithdrawValidatorCommission withdraws the full commission to the validator + * address. + */ +export interface MsgWithdrawValidatorCommission { + validatorAddress: string; +} +export interface MsgWithdrawValidatorCommissionProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission'; + value: Uint8Array; +} +/** + * MsgWithdrawValidatorCommission withdraws the full commission to the validator + * address. + */ +export interface MsgWithdrawValidatorCommissionAmino { + validator_address?: string; +} +export interface MsgWithdrawValidatorCommissionAminoMsg { + type: 'cosmos-sdk/MsgWithdrawValidatorCommission'; + value: MsgWithdrawValidatorCommissionAmino; +} +/** + * MsgWithdrawValidatorCommission withdraws the full commission to the validator + * address. + */ +export interface MsgWithdrawValidatorCommissionSDKType { + validator_address: string; +} +/** + * MsgWithdrawValidatorCommissionResponse defines the + * Msg/WithdrawValidatorCommission response type. + */ +export interface MsgWithdrawValidatorCommissionResponse { + /** Since: cosmos-sdk 0.46 */ + amount: Coin[]; +} +export interface MsgWithdrawValidatorCommissionResponseProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse'; + value: Uint8Array; +} +/** + * MsgWithdrawValidatorCommissionResponse defines the + * Msg/WithdrawValidatorCommission response type. + */ +export interface MsgWithdrawValidatorCommissionResponseAmino { + /** Since: cosmos-sdk 0.46 */ + amount: CoinAmino[]; +} +export interface MsgWithdrawValidatorCommissionResponseAminoMsg { + type: 'cosmos-sdk/MsgWithdrawValidatorCommissionResponse'; + value: MsgWithdrawValidatorCommissionResponseAmino; +} +/** + * MsgWithdrawValidatorCommissionResponse defines the + * Msg/WithdrawValidatorCommission response type. + */ +export interface MsgWithdrawValidatorCommissionResponseSDKType { + amount: CoinSDKType[]; +} +/** + * MsgFundCommunityPool allows an account to directly + * fund the community pool. + */ +export interface MsgFundCommunityPool { + amount: Coin[]; + depositor: string; +} +export interface MsgFundCommunityPoolProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgFundCommunityPool'; + value: Uint8Array; +} +/** + * MsgFundCommunityPool allows an account to directly + * fund the community pool. + */ +export interface MsgFundCommunityPoolAmino { + amount: CoinAmino[]; + depositor?: string; +} +export interface MsgFundCommunityPoolAminoMsg { + type: 'cosmos-sdk/MsgFundCommunityPool'; + value: MsgFundCommunityPoolAmino; +} +/** + * MsgFundCommunityPool allows an account to directly + * fund the community pool. + */ +export interface MsgFundCommunityPoolSDKType { + amount: CoinSDKType[]; + depositor: string; +} +/** MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type. */ +export interface MsgFundCommunityPoolResponse {} +export interface MsgFundCommunityPoolResponseProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse'; + value: Uint8Array; +} +/** MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type. */ +export interface MsgFundCommunityPoolResponseAmino {} +export interface MsgFundCommunityPoolResponseAminoMsg { + type: 'cosmos-sdk/MsgFundCommunityPoolResponse'; + value: MsgFundCommunityPoolResponseAmino; +} +/** MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type. */ +export interface MsgFundCommunityPoolResponseSDKType {} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParams { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority: string; + /** + * params defines the x/distribution parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params: Params; +} +export interface MsgUpdateParamsProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgUpdateParams'; + value: Uint8Array; +} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsAmino { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority?: string; + /** + * params defines the x/distribution parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params: ParamsAmino; +} +export interface MsgUpdateParamsAminoMsg { + type: 'cosmos-sdk/distribution/MsgUpdateParams'; + value: MsgUpdateParamsAmino; +} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsSDKType { + authority: string; + params: ParamsSDKType; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponse {} +export interface MsgUpdateParamsResponseProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgUpdateParamsResponse'; + value: Uint8Array; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponseAmino {} +export interface MsgUpdateParamsResponseAminoMsg { + type: 'cosmos-sdk/MsgUpdateParamsResponse'; + value: MsgUpdateParamsResponseAmino; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponseSDKType {} +/** + * MsgCommunityPoolSpend defines a message for sending tokens from the community + * pool to another account. This message is typically executed via a governance + * proposal with the governance module being the executing authority. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgCommunityPoolSpend { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority: string; + recipient: string; + amount: Coin[]; +} +export interface MsgCommunityPoolSpendProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgCommunityPoolSpend'; + value: Uint8Array; +} +/** + * MsgCommunityPoolSpend defines a message for sending tokens from the community + * pool to another account. This message is typically executed via a governance + * proposal with the governance module being the executing authority. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgCommunityPoolSpendAmino { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority?: string; + recipient?: string; + amount: CoinAmino[]; +} +export interface MsgCommunityPoolSpendAminoMsg { + type: 'cosmos-sdk/distr/MsgCommunityPoolSpend'; + value: MsgCommunityPoolSpendAmino; +} +/** + * MsgCommunityPoolSpend defines a message for sending tokens from the community + * pool to another account. This message is typically executed via a governance + * proposal with the governance module being the executing authority. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgCommunityPoolSpendSDKType { + authority: string; + recipient: string; + amount: CoinSDKType[]; +} +/** + * MsgCommunityPoolSpendResponse defines the response to executing a + * MsgCommunityPoolSpend message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgCommunityPoolSpendResponse {} +export interface MsgCommunityPoolSpendResponseProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse'; + value: Uint8Array; +} +/** + * MsgCommunityPoolSpendResponse defines the response to executing a + * MsgCommunityPoolSpend message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgCommunityPoolSpendResponseAmino {} +export interface MsgCommunityPoolSpendResponseAminoMsg { + type: 'cosmos-sdk/MsgCommunityPoolSpendResponse'; + value: MsgCommunityPoolSpendResponseAmino; +} +/** + * MsgCommunityPoolSpendResponse defines the response to executing a + * MsgCommunityPoolSpend message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgCommunityPoolSpendResponseSDKType {} +/** + * DepositValidatorRewardsPool defines the request structure to provide + * additional rewards to delegators from a specific validator. + * + * Since: cosmos-sdk 0.50 + */ +export interface MsgDepositValidatorRewardsPool { + depositor: string; + validatorAddress: string; + amount: Coin[]; +} +export interface MsgDepositValidatorRewardsPoolProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool'; + value: Uint8Array; +} +/** + * DepositValidatorRewardsPool defines the request structure to provide + * additional rewards to delegators from a specific validator. + * + * Since: cosmos-sdk 0.50 + */ +export interface MsgDepositValidatorRewardsPoolAmino { + depositor?: string; + validator_address?: string; + amount: CoinAmino[]; +} +export interface MsgDepositValidatorRewardsPoolAminoMsg { + type: 'cosmos-sdk/distr/MsgDepositValRewards'; + value: MsgDepositValidatorRewardsPoolAmino; +} +/** + * DepositValidatorRewardsPool defines the request structure to provide + * additional rewards to delegators from a specific validator. + * + * Since: cosmos-sdk 0.50 + */ +export interface MsgDepositValidatorRewardsPoolSDKType { + depositor: string; + validator_address: string; + amount: CoinSDKType[]; +} +/** + * MsgDepositValidatorRewardsPoolResponse defines the response to executing a + * MsgDepositValidatorRewardsPool message. + * + * Since: cosmos-sdk 0.50 + */ +export interface MsgDepositValidatorRewardsPoolResponse {} +export interface MsgDepositValidatorRewardsPoolResponseProtoMsg { + typeUrl: '/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse'; + value: Uint8Array; +} +/** + * MsgDepositValidatorRewardsPoolResponse defines the response to executing a + * MsgDepositValidatorRewardsPool message. + * + * Since: cosmos-sdk 0.50 + */ +export interface MsgDepositValidatorRewardsPoolResponseAmino {} +export interface MsgDepositValidatorRewardsPoolResponseAminoMsg { + type: 'cosmos-sdk/MsgDepositValidatorRewardsPoolResponse'; + value: MsgDepositValidatorRewardsPoolResponseAmino; +} +/** + * MsgDepositValidatorRewardsPoolResponse defines the response to executing a + * MsgDepositValidatorRewardsPool message. + * + * Since: cosmos-sdk 0.50 + */ +export interface MsgDepositValidatorRewardsPoolResponseSDKType {} +function createBaseMsgSetWithdrawAddress(): MsgSetWithdrawAddress { + return { + delegatorAddress: '', + withdrawAddress: '', + }; +} +export const MsgSetWithdrawAddress = { + typeUrl: '/cosmos.distribution.v1beta1.MsgSetWithdrawAddress', + encode(message: MsgSetWithdrawAddress, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.delegatorAddress !== '') { + writer.uint32(10).string(message.delegatorAddress); + } + if (message.withdrawAddress !== '') { + writer.uint32(18).string(message.withdrawAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSetWithdrawAddress { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSetWithdrawAddress(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): MsgSetWithdrawAddress { + const message = createBaseMsgSetWithdrawAddress(); + message.delegatorAddress = object.delegatorAddress ?? ''; + message.withdrawAddress = object.withdrawAddress ?? ''; + return message; + }, + fromAmino(object: MsgSetWithdrawAddressAmino): MsgSetWithdrawAddress { + const message = createBaseMsgSetWithdrawAddress(); + if (object.delegator_address !== undefined && object.delegator_address !== null) { + message.delegatorAddress = object.delegator_address; + } + if (object.withdraw_address !== undefined && object.withdraw_address !== null) { + message.withdrawAddress = object.withdraw_address; + } + return message; + }, + toAmino(message: MsgSetWithdrawAddress): MsgSetWithdrawAddressAmino { + const obj: any = {}; + obj.delegator_address = message.delegatorAddress === '' ? undefined : message.delegatorAddress; + obj.withdraw_address = message.withdrawAddress === '' ? undefined : message.withdrawAddress; + return obj; + }, + fromAminoMsg(object: MsgSetWithdrawAddressAminoMsg): MsgSetWithdrawAddress { + return MsgSetWithdrawAddress.fromAmino(object.value); + }, + toAminoMsg(message: MsgSetWithdrawAddress): MsgSetWithdrawAddressAminoMsg { + return { + type: 'cosmos-sdk/MsgModifyWithdrawAddress', + value: MsgSetWithdrawAddress.toAmino(message), + }; + }, + fromProtoMsg(message: MsgSetWithdrawAddressProtoMsg): MsgSetWithdrawAddress { + return MsgSetWithdrawAddress.decode(message.value); + }, + toProto(message: MsgSetWithdrawAddress): Uint8Array { + return MsgSetWithdrawAddress.encode(message).finish(); + }, + toProtoMsg(message: MsgSetWithdrawAddress): MsgSetWithdrawAddressProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgSetWithdrawAddress', + value: MsgSetWithdrawAddress.encode(message).finish(), + }; + }, +}; +function createBaseMsgSetWithdrawAddressResponse(): MsgSetWithdrawAddressResponse { + return {}; +} +export const MsgSetWithdrawAddressResponse = { + typeUrl: '/cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse', + encode(_: MsgSetWithdrawAddressResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSetWithdrawAddressResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSetWithdrawAddressResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgSetWithdrawAddressResponse { + const message = createBaseMsgSetWithdrawAddressResponse(); + return message; + }, + fromAmino(_: MsgSetWithdrawAddressResponseAmino): MsgSetWithdrawAddressResponse { + const message = createBaseMsgSetWithdrawAddressResponse(); + return message; + }, + toAmino(_: MsgSetWithdrawAddressResponse): MsgSetWithdrawAddressResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgSetWithdrawAddressResponseAminoMsg): MsgSetWithdrawAddressResponse { + return MsgSetWithdrawAddressResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgSetWithdrawAddressResponse): MsgSetWithdrawAddressResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgSetWithdrawAddressResponse', + value: MsgSetWithdrawAddressResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgSetWithdrawAddressResponseProtoMsg): MsgSetWithdrawAddressResponse { + return MsgSetWithdrawAddressResponse.decode(message.value); + }, + toProto(message: MsgSetWithdrawAddressResponse): Uint8Array { + return MsgSetWithdrawAddressResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgSetWithdrawAddressResponse): MsgSetWithdrawAddressResponseProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse', + value: MsgSetWithdrawAddressResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgWithdrawDelegatorReward(): MsgWithdrawDelegatorReward { + return { + delegatorAddress: '', + validatorAddress: '', + }; +} +export const MsgWithdrawDelegatorReward = { + typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward', + encode(message: MsgWithdrawDelegatorReward, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.delegatorAddress !== '') { + writer.uint32(10).string(message.delegatorAddress); + } + if (message.validatorAddress !== '') { + writer.uint32(18).string(message.validatorAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawDelegatorReward { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdrawDelegatorReward(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): MsgWithdrawDelegatorReward { + const message = createBaseMsgWithdrawDelegatorReward(); + message.delegatorAddress = object.delegatorAddress ?? ''; + message.validatorAddress = object.validatorAddress ?? ''; + return message; + }, + fromAmino(object: MsgWithdrawDelegatorRewardAmino): MsgWithdrawDelegatorReward { + const message = createBaseMsgWithdrawDelegatorReward(); + if (object.delegator_address !== undefined && object.delegator_address !== null) { + message.delegatorAddress = object.delegator_address; + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = object.validator_address; + } + return message; + }, + toAmino(message: MsgWithdrawDelegatorReward): MsgWithdrawDelegatorRewardAmino { + const obj: any = {}; + obj.delegator_address = message.delegatorAddress === '' ? undefined : message.delegatorAddress; + obj.validator_address = message.validatorAddress === '' ? undefined : message.validatorAddress; + return obj; + }, + fromAminoMsg(object: MsgWithdrawDelegatorRewardAminoMsg): MsgWithdrawDelegatorReward { + return MsgWithdrawDelegatorReward.fromAmino(object.value); + }, + toAminoMsg(message: MsgWithdrawDelegatorReward): MsgWithdrawDelegatorRewardAminoMsg { + return { + type: 'cosmos-sdk/MsgWithdrawDelegationReward', + value: MsgWithdrawDelegatorReward.toAmino(message), + }; + }, + fromProtoMsg(message: MsgWithdrawDelegatorRewardProtoMsg): MsgWithdrawDelegatorReward { + return MsgWithdrawDelegatorReward.decode(message.value); + }, + toProto(message: MsgWithdrawDelegatorReward): Uint8Array { + return MsgWithdrawDelegatorReward.encode(message).finish(); + }, + toProtoMsg(message: MsgWithdrawDelegatorReward): MsgWithdrawDelegatorRewardProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward', + value: MsgWithdrawDelegatorReward.encode(message).finish(), + }; + }, +}; +function createBaseMsgWithdrawDelegatorRewardResponse(): MsgWithdrawDelegatorRewardResponse { + return { + amount: [], + }; +} +export const MsgWithdrawDelegatorRewardResponse = { + typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse', + encode(message: MsgWithdrawDelegatorRewardResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawDelegatorRewardResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdrawDelegatorRewardResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.amount.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgWithdrawDelegatorRewardResponse { + const message = createBaseMsgWithdrawDelegatorRewardResponse(); + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgWithdrawDelegatorRewardResponseAmino): MsgWithdrawDelegatorRewardResponse { + const message = createBaseMsgWithdrawDelegatorRewardResponse(); + message.amount = object.amount?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgWithdrawDelegatorRewardResponse): MsgWithdrawDelegatorRewardResponseAmino { + const obj: any = {}; + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amount = message.amount; + } + return obj; + }, + fromAminoMsg(object: MsgWithdrawDelegatorRewardResponseAminoMsg): MsgWithdrawDelegatorRewardResponse { + return MsgWithdrawDelegatorRewardResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgWithdrawDelegatorRewardResponse): MsgWithdrawDelegatorRewardResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgWithdrawDelegatorRewardResponse', + value: MsgWithdrawDelegatorRewardResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgWithdrawDelegatorRewardResponseProtoMsg): MsgWithdrawDelegatorRewardResponse { + return MsgWithdrawDelegatorRewardResponse.decode(message.value); + }, + toProto(message: MsgWithdrawDelegatorRewardResponse): Uint8Array { + return MsgWithdrawDelegatorRewardResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgWithdrawDelegatorRewardResponse): MsgWithdrawDelegatorRewardResponseProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse', + value: MsgWithdrawDelegatorRewardResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgWithdrawValidatorCommission(): MsgWithdrawValidatorCommission { + return { + validatorAddress: '', + }; +} +export const MsgWithdrawValidatorCommission = { + typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission', + encode(message: MsgWithdrawValidatorCommission, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.validatorAddress !== '') { + writer.uint32(10).string(message.validatorAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawValidatorCommission { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdrawValidatorCommission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.validatorAddress = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgWithdrawValidatorCommission { + const message = createBaseMsgWithdrawValidatorCommission(); + message.validatorAddress = object.validatorAddress ?? ''; + return message; + }, + fromAmino(object: MsgWithdrawValidatorCommissionAmino): MsgWithdrawValidatorCommission { + const message = createBaseMsgWithdrawValidatorCommission(); + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = object.validator_address; + } + return message; + }, + toAmino(message: MsgWithdrawValidatorCommission): MsgWithdrawValidatorCommissionAmino { + const obj: any = {}; + obj.validator_address = message.validatorAddress === '' ? undefined : message.validatorAddress; + return obj; + }, + fromAminoMsg(object: MsgWithdrawValidatorCommissionAminoMsg): MsgWithdrawValidatorCommission { + return MsgWithdrawValidatorCommission.fromAmino(object.value); + }, + toAminoMsg(message: MsgWithdrawValidatorCommission): MsgWithdrawValidatorCommissionAminoMsg { + return { + type: 'cosmos-sdk/MsgWithdrawValidatorCommission', + value: MsgWithdrawValidatorCommission.toAmino(message), + }; + }, + fromProtoMsg(message: MsgWithdrawValidatorCommissionProtoMsg): MsgWithdrawValidatorCommission { + return MsgWithdrawValidatorCommission.decode(message.value); + }, + toProto(message: MsgWithdrawValidatorCommission): Uint8Array { + return MsgWithdrawValidatorCommission.encode(message).finish(); + }, + toProtoMsg(message: MsgWithdrawValidatorCommission): MsgWithdrawValidatorCommissionProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission', + value: MsgWithdrawValidatorCommission.encode(message).finish(), + }; + }, +}; +function createBaseMsgWithdrawValidatorCommissionResponse(): MsgWithdrawValidatorCommissionResponse { + return { + amount: [], + }; +} +export const MsgWithdrawValidatorCommissionResponse = { + typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse', + encode(message: MsgWithdrawValidatorCommissionResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawValidatorCommissionResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdrawValidatorCommissionResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.amount.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgWithdrawValidatorCommissionResponse { + const message = createBaseMsgWithdrawValidatorCommissionResponse(); + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgWithdrawValidatorCommissionResponseAmino): MsgWithdrawValidatorCommissionResponse { + const message = createBaseMsgWithdrawValidatorCommissionResponse(); + message.amount = object.amount?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgWithdrawValidatorCommissionResponse): MsgWithdrawValidatorCommissionResponseAmino { + const obj: any = {}; + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amount = message.amount; + } + return obj; + }, + fromAminoMsg(object: MsgWithdrawValidatorCommissionResponseAminoMsg): MsgWithdrawValidatorCommissionResponse { + return MsgWithdrawValidatorCommissionResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgWithdrawValidatorCommissionResponse): MsgWithdrawValidatorCommissionResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgWithdrawValidatorCommissionResponse', + value: MsgWithdrawValidatorCommissionResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgWithdrawValidatorCommissionResponseProtoMsg): MsgWithdrawValidatorCommissionResponse { + return MsgWithdrawValidatorCommissionResponse.decode(message.value); + }, + toProto(message: MsgWithdrawValidatorCommissionResponse): Uint8Array { + return MsgWithdrawValidatorCommissionResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgWithdrawValidatorCommissionResponse): MsgWithdrawValidatorCommissionResponseProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse', + value: MsgWithdrawValidatorCommissionResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgFundCommunityPool(): MsgFundCommunityPool { + return { + amount: [], + depositor: '', + }; +} +export const MsgFundCommunityPool = { + typeUrl: '/cosmos.distribution.v1beta1.MsgFundCommunityPool', + encode(message: MsgFundCommunityPool, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.depositor !== '') { + writer.uint32(18).string(message.depositor); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgFundCommunityPool { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgFundCommunityPool(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.amount.push(Coin.decode(reader, reader.uint32())); + break; + case 2: + message.depositor = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgFundCommunityPool { + const message = createBaseMsgFundCommunityPool(); + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + message.depositor = object.depositor ?? ''; + return message; + }, + fromAmino(object: MsgFundCommunityPoolAmino): MsgFundCommunityPool { + const message = createBaseMsgFundCommunityPool(); + message.amount = object.amount?.map((e) => Coin.fromAmino(e)) || []; + if (object.depositor !== undefined && object.depositor !== null) { + message.depositor = object.depositor; + } + return message; + }, + toAmino(message: MsgFundCommunityPool): MsgFundCommunityPoolAmino { + const obj: any = {}; + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amount = message.amount; + } + obj.depositor = message.depositor === '' ? undefined : message.depositor; + return obj; + }, + fromAminoMsg(object: MsgFundCommunityPoolAminoMsg): MsgFundCommunityPool { + return MsgFundCommunityPool.fromAmino(object.value); + }, + toAminoMsg(message: MsgFundCommunityPool): MsgFundCommunityPoolAminoMsg { + return { + type: 'cosmos-sdk/MsgFundCommunityPool', + value: MsgFundCommunityPool.toAmino(message), + }; + }, + fromProtoMsg(message: MsgFundCommunityPoolProtoMsg): MsgFundCommunityPool { + return MsgFundCommunityPool.decode(message.value); + }, + toProto(message: MsgFundCommunityPool): Uint8Array { + return MsgFundCommunityPool.encode(message).finish(); + }, + toProtoMsg(message: MsgFundCommunityPool): MsgFundCommunityPoolProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgFundCommunityPool', + value: MsgFundCommunityPool.encode(message).finish(), + }; + }, +}; +function createBaseMsgFundCommunityPoolResponse(): MsgFundCommunityPoolResponse { + return {}; +} +export const MsgFundCommunityPoolResponse = { + typeUrl: '/cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse', + encode(_: MsgFundCommunityPoolResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgFundCommunityPoolResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgFundCommunityPoolResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgFundCommunityPoolResponse { + const message = createBaseMsgFundCommunityPoolResponse(); + return message; + }, + fromAmino(_: MsgFundCommunityPoolResponseAmino): MsgFundCommunityPoolResponse { + const message = createBaseMsgFundCommunityPoolResponse(); + return message; + }, + toAmino(_: MsgFundCommunityPoolResponse): MsgFundCommunityPoolResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgFundCommunityPoolResponseAminoMsg): MsgFundCommunityPoolResponse { + return MsgFundCommunityPoolResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgFundCommunityPoolResponse): MsgFundCommunityPoolResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgFundCommunityPoolResponse', + value: MsgFundCommunityPoolResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgFundCommunityPoolResponseProtoMsg): MsgFundCommunityPoolResponse { + return MsgFundCommunityPoolResponse.decode(message.value); + }, + toProto(message: MsgFundCommunityPoolResponse): Uint8Array { + return MsgFundCommunityPoolResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgFundCommunityPoolResponse): MsgFundCommunityPoolResponseProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse', + value: MsgFundCommunityPoolResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParams(): MsgUpdateParams { + return { + authority: '', + params: Params.fromPartial({}), + }; +} +export const MsgUpdateParams = { + typeUrl: '/cosmos.distribution.v1beta1.MsgUpdateParams', + encode(message: MsgUpdateParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.params = Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + message.authority = object.authority ?? ''; + message.params = + object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, + fromAmino(object: MsgUpdateParamsAmino): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + if (object.params !== undefined && object.params !== null) { + message.params = Params.fromAmino(object.params); + } + return message; + }, + toAmino(message: MsgUpdateParams): MsgUpdateParamsAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + obj.params = message.params ? Params.toAmino(message.params) : Params.toAmino(Params.fromPartial({})); + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsAminoMsg): MsgUpdateParams { + return MsgUpdateParams.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateParams): MsgUpdateParamsAminoMsg { + return { + type: 'cosmos-sdk/distribution/MsgUpdateParams', + value: MsgUpdateParams.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateParamsProtoMsg): MsgUpdateParams { + return MsgUpdateParams.decode(message.value); + }, + toProto(message: MsgUpdateParams): Uint8Array { + return MsgUpdateParams.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParams): MsgUpdateParamsProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgUpdateParams', + value: MsgUpdateParams.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse { + return {}; +} +export const MsgUpdateParamsResponse = { + typeUrl: '/cosmos.distribution.v1beta1.MsgUpdateParamsResponse', + encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + fromAmino(_: MsgUpdateParamsResponseAmino): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + toAmino(_: MsgUpdateParamsResponse): MsgUpdateParamsResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsResponseAminoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgUpdateParamsResponse', + value: MsgUpdateParamsResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateParamsResponseProtoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.decode(message.value); + }, + toProto(message: MsgUpdateParamsResponse): Uint8Array { + return MsgUpdateParamsResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgUpdateParamsResponse', + value: MsgUpdateParamsResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgCommunityPoolSpend(): MsgCommunityPoolSpend { + return { + authority: '', + recipient: '', + amount: [], + }; +} +export const MsgCommunityPoolSpend = { + typeUrl: '/cosmos.distribution.v1beta1.MsgCommunityPoolSpend', + encode(message: MsgCommunityPoolSpend, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + if (message.recipient !== '') { + writer.uint32(18).string(message.recipient); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCommunityPoolSpend { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCommunityPoolSpend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.recipient = reader.string(); + break; + case 3: + message.amount.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCommunityPoolSpend { + const message = createBaseMsgCommunityPoolSpend(); + message.authority = object.authority ?? ''; + message.recipient = object.recipient ?? ''; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgCommunityPoolSpendAmino): MsgCommunityPoolSpend { + const message = createBaseMsgCommunityPoolSpend(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + if (object.recipient !== undefined && object.recipient !== null) { + message.recipient = object.recipient; + } + message.amount = object.amount?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgCommunityPoolSpend): MsgCommunityPoolSpendAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + obj.recipient = message.recipient === '' ? undefined : message.recipient; + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amount = message.amount; + } + return obj; + }, + fromAminoMsg(object: MsgCommunityPoolSpendAminoMsg): MsgCommunityPoolSpend { + return MsgCommunityPoolSpend.fromAmino(object.value); + }, + toAminoMsg(message: MsgCommunityPoolSpend): MsgCommunityPoolSpendAminoMsg { + return { + type: 'cosmos-sdk/distr/MsgCommunityPoolSpend', + value: MsgCommunityPoolSpend.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCommunityPoolSpendProtoMsg): MsgCommunityPoolSpend { + return MsgCommunityPoolSpend.decode(message.value); + }, + toProto(message: MsgCommunityPoolSpend): Uint8Array { + return MsgCommunityPoolSpend.encode(message).finish(); + }, + toProtoMsg(message: MsgCommunityPoolSpend): MsgCommunityPoolSpendProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgCommunityPoolSpend', + value: MsgCommunityPoolSpend.encode(message).finish(), + }; + }, +}; +function createBaseMsgCommunityPoolSpendResponse(): MsgCommunityPoolSpendResponse { + return {}; +} +export const MsgCommunityPoolSpendResponse = { + typeUrl: '/cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse', + encode(_: MsgCommunityPoolSpendResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCommunityPoolSpendResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCommunityPoolSpendResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgCommunityPoolSpendResponse { + const message = createBaseMsgCommunityPoolSpendResponse(); + return message; + }, + fromAmino(_: MsgCommunityPoolSpendResponseAmino): MsgCommunityPoolSpendResponse { + const message = createBaseMsgCommunityPoolSpendResponse(); + return message; + }, + toAmino(_: MsgCommunityPoolSpendResponse): MsgCommunityPoolSpendResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgCommunityPoolSpendResponseAminoMsg): MsgCommunityPoolSpendResponse { + return MsgCommunityPoolSpendResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgCommunityPoolSpendResponse): MsgCommunityPoolSpendResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgCommunityPoolSpendResponse', + value: MsgCommunityPoolSpendResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCommunityPoolSpendResponseProtoMsg): MsgCommunityPoolSpendResponse { + return MsgCommunityPoolSpendResponse.decode(message.value); + }, + toProto(message: MsgCommunityPoolSpendResponse): Uint8Array { + return MsgCommunityPoolSpendResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCommunityPoolSpendResponse): MsgCommunityPoolSpendResponseProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse', + value: MsgCommunityPoolSpendResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgDepositValidatorRewardsPool(): MsgDepositValidatorRewardsPool { + return { + depositor: '', + validatorAddress: '', + amount: [], + }; +} +export const MsgDepositValidatorRewardsPool = { + typeUrl: '/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool', + encode(message: MsgDepositValidatorRewardsPool, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.depositor !== '') { + writer.uint32(10).string(message.depositor); + } + if (message.validatorAddress !== '') { + writer.uint32(18).string(message.validatorAddress); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDepositValidatorRewardsPool { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDepositValidatorRewardsPool(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.depositor = reader.string(); + break; + case 2: + message.validatorAddress = reader.string(); + break; + case 3: + message.amount.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgDepositValidatorRewardsPool { + const message = createBaseMsgDepositValidatorRewardsPool(); + message.depositor = object.depositor ?? ''; + message.validatorAddress = object.validatorAddress ?? ''; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgDepositValidatorRewardsPoolAmino): MsgDepositValidatorRewardsPool { + const message = createBaseMsgDepositValidatorRewardsPool(); + if (object.depositor !== undefined && object.depositor !== null) { + message.depositor = object.depositor; + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = object.validator_address; + } + message.amount = object.amount?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgDepositValidatorRewardsPool): MsgDepositValidatorRewardsPoolAmino { + const obj: any = {}; + obj.depositor = message.depositor === '' ? undefined : message.depositor; + obj.validator_address = message.validatorAddress === '' ? undefined : message.validatorAddress; + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amount = message.amount; + } + return obj; + }, + fromAminoMsg(object: MsgDepositValidatorRewardsPoolAminoMsg): MsgDepositValidatorRewardsPool { + return MsgDepositValidatorRewardsPool.fromAmino(object.value); + }, + toAminoMsg(message: MsgDepositValidatorRewardsPool): MsgDepositValidatorRewardsPoolAminoMsg { + return { + type: 'cosmos-sdk/distr/MsgDepositValRewards', + value: MsgDepositValidatorRewardsPool.toAmino(message), + }; + }, + fromProtoMsg(message: MsgDepositValidatorRewardsPoolProtoMsg): MsgDepositValidatorRewardsPool { + return MsgDepositValidatorRewardsPool.decode(message.value); + }, + toProto(message: MsgDepositValidatorRewardsPool): Uint8Array { + return MsgDepositValidatorRewardsPool.encode(message).finish(); + }, + toProtoMsg(message: MsgDepositValidatorRewardsPool): MsgDepositValidatorRewardsPoolProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool', + value: MsgDepositValidatorRewardsPool.encode(message).finish(), + }; + }, +}; +function createBaseMsgDepositValidatorRewardsPoolResponse(): MsgDepositValidatorRewardsPoolResponse { + return {}; +} +export const MsgDepositValidatorRewardsPoolResponse = { + typeUrl: '/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse', + encode(_: MsgDepositValidatorRewardsPoolResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDepositValidatorRewardsPoolResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDepositValidatorRewardsPoolResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgDepositValidatorRewardsPoolResponse { + const message = createBaseMsgDepositValidatorRewardsPoolResponse(); + return message; + }, + fromAmino(_: MsgDepositValidatorRewardsPoolResponseAmino): MsgDepositValidatorRewardsPoolResponse { + const message = createBaseMsgDepositValidatorRewardsPoolResponse(); + return message; + }, + toAmino(_: MsgDepositValidatorRewardsPoolResponse): MsgDepositValidatorRewardsPoolResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgDepositValidatorRewardsPoolResponseAminoMsg): MsgDepositValidatorRewardsPoolResponse { + return MsgDepositValidatorRewardsPoolResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgDepositValidatorRewardsPoolResponse): MsgDepositValidatorRewardsPoolResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgDepositValidatorRewardsPoolResponse', + value: MsgDepositValidatorRewardsPoolResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgDepositValidatorRewardsPoolResponseProtoMsg): MsgDepositValidatorRewardsPoolResponse { + return MsgDepositValidatorRewardsPoolResponse.decode(message.value); + }, + toProto(message: MsgDepositValidatorRewardsPoolResponse): Uint8Array { + return MsgDepositValidatorRewardsPoolResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgDepositValidatorRewardsPoolResponse): MsgDepositValidatorRewardsPoolResponseProtoMsg { + return { + typeUrl: '/cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse', + value: MsgDepositValidatorRewardsPoolResponse.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/gov/v1/gov.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/gov/v1/gov.ts new file mode 100644 index 00000000..06d35efc --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/gov/v1/gov.ts @@ -0,0 +1,1882 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Any, AnyAmino, AnySDKType } from 'cosmjs-types/google/protobuf/any'; +import { Duration, DurationAmino, DurationSDKType } from 'cosmjs-types/google/protobuf/duration'; +import { Timestamp } from 'cosmjs-types/google/protobuf/timestamp'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { fromTimestamp, toTimestamp } from '../../../../../helpers'; +import { Coin, CoinAmino, CoinSDKType } from '../../base/v1beta1/coin'; +/** VoteOption enumerates the valid vote options for a given governance proposal. */ +export enum VoteOption { + /** VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines a no-op vote option. */ + VOTE_OPTION_UNSPECIFIED = 0, + /** VOTE_OPTION_YES - VOTE_OPTION_YES defines a yes vote option. */ + VOTE_OPTION_YES = 1, + /** VOTE_OPTION_ABSTAIN - VOTE_OPTION_ABSTAIN defines an abstain vote option. */ + VOTE_OPTION_ABSTAIN = 2, + /** VOTE_OPTION_NO - VOTE_OPTION_NO defines a no vote option. */ + VOTE_OPTION_NO = 3, + /** VOTE_OPTION_NO_WITH_VETO - VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. */ + VOTE_OPTION_NO_WITH_VETO = 4, + UNRECOGNIZED = -1, +} +export const VoteOptionSDKType = VoteOption; +export const VoteOptionAmino = VoteOption; +export function voteOptionFromJSON(object: any): VoteOption { + switch (object) { + case 0: + case 'VOTE_OPTION_UNSPECIFIED': + return VoteOption.VOTE_OPTION_UNSPECIFIED; + case 1: + case 'VOTE_OPTION_YES': + return VoteOption.VOTE_OPTION_YES; + case 2: + case 'VOTE_OPTION_ABSTAIN': + return VoteOption.VOTE_OPTION_ABSTAIN; + case 3: + case 'VOTE_OPTION_NO': + return VoteOption.VOTE_OPTION_NO; + case 4: + case 'VOTE_OPTION_NO_WITH_VETO': + return VoteOption.VOTE_OPTION_NO_WITH_VETO; + case -1: + case 'UNRECOGNIZED': + default: + return VoteOption.UNRECOGNIZED; + } +} +export function voteOptionToJSON(object: VoteOption): string { + switch (object) { + case VoteOption.VOTE_OPTION_UNSPECIFIED: + return 'VOTE_OPTION_UNSPECIFIED'; + case VoteOption.VOTE_OPTION_YES: + return 'VOTE_OPTION_YES'; + case VoteOption.VOTE_OPTION_ABSTAIN: + return 'VOTE_OPTION_ABSTAIN'; + case VoteOption.VOTE_OPTION_NO: + return 'VOTE_OPTION_NO'; + case VoteOption.VOTE_OPTION_NO_WITH_VETO: + return 'VOTE_OPTION_NO_WITH_VETO'; + case VoteOption.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** ProposalStatus enumerates the valid statuses of a proposal. */ +export enum ProposalStatus { + /** PROPOSAL_STATUS_UNSPECIFIED - PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. */ + PROPOSAL_STATUS_UNSPECIFIED = 0, + /** + * PROPOSAL_STATUS_DEPOSIT_PERIOD - PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + * period. + */ + PROPOSAL_STATUS_DEPOSIT_PERIOD = 1, + /** + * PROPOSAL_STATUS_VOTING_PERIOD - PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + * period. + */ + PROPOSAL_STATUS_VOTING_PERIOD = 2, + /** + * PROPOSAL_STATUS_PASSED - PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + * passed. + */ + PROPOSAL_STATUS_PASSED = 3, + /** + * PROPOSAL_STATUS_REJECTED - PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + * been rejected. + */ + PROPOSAL_STATUS_REJECTED = 4, + /** + * PROPOSAL_STATUS_FAILED - PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + * failed. + */ + PROPOSAL_STATUS_FAILED = 5, + UNRECOGNIZED = -1, +} +export const ProposalStatusSDKType = ProposalStatus; +export const ProposalStatusAmino = ProposalStatus; +export function proposalStatusFromJSON(object: any): ProposalStatus { + switch (object) { + case 0: + case 'PROPOSAL_STATUS_UNSPECIFIED': + return ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED; + case 1: + case 'PROPOSAL_STATUS_DEPOSIT_PERIOD': + return ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD; + case 2: + case 'PROPOSAL_STATUS_VOTING_PERIOD': + return ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD; + case 3: + case 'PROPOSAL_STATUS_PASSED': + return ProposalStatus.PROPOSAL_STATUS_PASSED; + case 4: + case 'PROPOSAL_STATUS_REJECTED': + return ProposalStatus.PROPOSAL_STATUS_REJECTED; + case 5: + case 'PROPOSAL_STATUS_FAILED': + return ProposalStatus.PROPOSAL_STATUS_FAILED; + case -1: + case 'UNRECOGNIZED': + default: + return ProposalStatus.UNRECOGNIZED; + } +} +export function proposalStatusToJSON(object: ProposalStatus): string { + switch (object) { + case ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED: + return 'PROPOSAL_STATUS_UNSPECIFIED'; + case ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD: + return 'PROPOSAL_STATUS_DEPOSIT_PERIOD'; + case ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD: + return 'PROPOSAL_STATUS_VOTING_PERIOD'; + case ProposalStatus.PROPOSAL_STATUS_PASSED: + return 'PROPOSAL_STATUS_PASSED'; + case ProposalStatus.PROPOSAL_STATUS_REJECTED: + return 'PROPOSAL_STATUS_REJECTED'; + case ProposalStatus.PROPOSAL_STATUS_FAILED: + return 'PROPOSAL_STATUS_FAILED'; + case ProposalStatus.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** WeightedVoteOption defines a unit of vote for vote split. */ +export interface WeightedVoteOption { + /** option defines the valid vote options, it must not contain duplicate vote options. */ + option: VoteOption; + /** weight is the vote weight associated with the vote option. */ + weight: string; +} +export interface WeightedVoteOptionProtoMsg { + typeUrl: '/cosmos.gov.v1.WeightedVoteOption'; + value: Uint8Array; +} +/** WeightedVoteOption defines a unit of vote for vote split. */ +export interface WeightedVoteOptionAmino { + /** option defines the valid vote options, it must not contain duplicate vote options. */ + option?: VoteOption; + /** weight is the vote weight associated with the vote option. */ + weight?: string; +} +export interface WeightedVoteOptionAminoMsg { + type: 'cosmos-sdk/v1/WeightedVoteOption'; + value: WeightedVoteOptionAmino; +} +/** WeightedVoteOption defines a unit of vote for vote split. */ +export interface WeightedVoteOptionSDKType { + option: VoteOption; + weight: string; +} +/** + * Deposit defines an amount deposited by an account address to an active + * proposal. + */ +export interface Deposit { + /** proposal_id defines the unique id of the proposal. */ + proposalId: bigint; + /** depositor defines the deposit addresses from the proposals. */ + depositor: string; + /** amount to be deposited by depositor. */ + amount: Coin[]; +} +export interface DepositProtoMsg { + typeUrl: '/cosmos.gov.v1.Deposit'; + value: Uint8Array; +} +/** + * Deposit defines an amount deposited by an account address to an active + * proposal. + */ +export interface DepositAmino { + /** proposal_id defines the unique id of the proposal. */ + proposal_id?: string; + /** depositor defines the deposit addresses from the proposals. */ + depositor?: string; + /** amount to be deposited by depositor. */ + amount: CoinAmino[]; +} +export interface DepositAminoMsg { + type: 'cosmos-sdk/v1/Deposit'; + value: DepositAmino; +} +/** + * Deposit defines an amount deposited by an account address to an active + * proposal. + */ +export interface DepositSDKType { + proposal_id: bigint; + depositor: string; + amount: CoinSDKType[]; +} +/** Proposal defines the core field members of a governance proposal. */ +export interface Proposal { + /** id defines the unique id of the proposal. */ + id: bigint; + /** messages are the arbitrary messages to be executed if the proposal passes. */ + messages: Any[]; + /** status defines the proposal status. */ + status: ProposalStatus; + /** + * final_tally_result is the final tally result of the proposal. When + * querying a proposal via gRPC, this field is not populated until the + * proposal's voting period has ended. + */ + finalTallyResult?: TallyResult; + /** submit_time is the time of proposal submission. */ + submitTime?: Date; + /** deposit_end_time is the end time for deposition. */ + depositEndTime?: Date; + /** total_deposit is the total deposit on the proposal. */ + totalDeposit: Coin[]; + /** voting_start_time is the starting time to vote on a proposal. */ + votingStartTime?: Date; + /** voting_end_time is the end time of voting on a proposal. */ + votingEndTime?: Date; + /** + * metadata is any arbitrary metadata attached to the proposal. + * the recommended format of the metadata is to be found here: + * https://docs.cosmos.network/v0.47/modules/gov#proposal-3 + */ + metadata: string; + /** + * title is the title of the proposal + * + * Since: cosmos-sdk 0.47 + */ + title: string; + /** + * summary is a short summary of the proposal + * + * Since: cosmos-sdk 0.47 + */ + summary: string; + /** + * proposer is the address of the proposal sumbitter + * + * Since: cosmos-sdk 0.47 + */ + proposer: string; + /** + * expedited defines if the proposal is expedited + * + * Since: cosmos-sdk 0.50 + */ + expedited: boolean; + /** + * failed_reason defines the reason why the proposal failed + * + * Since: cosmos-sdk 0.50 + */ + failedReason: string; +} +export interface ProposalProtoMsg { + typeUrl: '/cosmos.gov.v1.Proposal'; + value: Uint8Array; +} +/** Proposal defines the core field members of a governance proposal. */ +export interface ProposalAmino { + /** id defines the unique id of the proposal. */ + id?: string; + /** messages are the arbitrary messages to be executed if the proposal passes. */ + messages?: AnyAmino[]; + /** status defines the proposal status. */ + status?: ProposalStatus; + /** + * final_tally_result is the final tally result of the proposal. When + * querying a proposal via gRPC, this field is not populated until the + * proposal's voting period has ended. + */ + final_tally_result?: TallyResultAmino; + /** submit_time is the time of proposal submission. */ + submit_time?: string; + /** deposit_end_time is the end time for deposition. */ + deposit_end_time?: string; + /** total_deposit is the total deposit on the proposal. */ + total_deposit: CoinAmino[]; + /** voting_start_time is the starting time to vote on a proposal. */ + voting_start_time?: string; + /** voting_end_time is the end time of voting on a proposal. */ + voting_end_time?: string; + /** + * metadata is any arbitrary metadata attached to the proposal. + * the recommended format of the metadata is to be found here: + * https://docs.cosmos.network/v0.47/modules/gov#proposal-3 + */ + metadata?: string; + /** + * title is the title of the proposal + * + * Since: cosmos-sdk 0.47 + */ + title?: string; + /** + * summary is a short summary of the proposal + * + * Since: cosmos-sdk 0.47 + */ + summary?: string; + /** + * proposer is the address of the proposal sumbitter + * + * Since: cosmos-sdk 0.47 + */ + proposer?: string; + /** + * expedited defines if the proposal is expedited + * + * Since: cosmos-sdk 0.50 + */ + expedited?: boolean; + /** + * failed_reason defines the reason why the proposal failed + * + * Since: cosmos-sdk 0.50 + */ + failed_reason?: string; +} +export interface ProposalAminoMsg { + type: 'cosmos-sdk/v1/Proposal'; + value: ProposalAmino; +} +/** Proposal defines the core field members of a governance proposal. */ +export interface ProposalSDKType { + id: bigint; + messages: AnySDKType[]; + status: ProposalStatus; + final_tally_result?: TallyResultSDKType; + submit_time?: Date; + deposit_end_time?: Date; + total_deposit: CoinSDKType[]; + voting_start_time?: Date; + voting_end_time?: Date; + metadata: string; + title: string; + summary: string; + proposer: string; + expedited: boolean; + failed_reason: string; +} +/** TallyResult defines a standard tally for a governance proposal. */ +export interface TallyResult { + /** yes_count is the number of yes votes on a proposal. */ + yesCount: string; + /** abstain_count is the number of abstain votes on a proposal. */ + abstainCount: string; + /** no_count is the number of no votes on a proposal. */ + noCount: string; + /** no_with_veto_count is the number of no with veto votes on a proposal. */ + noWithVetoCount: string; +} +export interface TallyResultProtoMsg { + typeUrl: '/cosmos.gov.v1.TallyResult'; + value: Uint8Array; +} +/** TallyResult defines a standard tally for a governance proposal. */ +export interface TallyResultAmino { + /** yes_count is the number of yes votes on a proposal. */ + yes_count?: string; + /** abstain_count is the number of abstain votes on a proposal. */ + abstain_count?: string; + /** no_count is the number of no votes on a proposal. */ + no_count?: string; + /** no_with_veto_count is the number of no with veto votes on a proposal. */ + no_with_veto_count?: string; +} +export interface TallyResultAminoMsg { + type: 'cosmos-sdk/v1/TallyResult'; + value: TallyResultAmino; +} +/** TallyResult defines a standard tally for a governance proposal. */ +export interface TallyResultSDKType { + yes_count: string; + abstain_count: string; + no_count: string; + no_with_veto_count: string; +} +/** + * Vote defines a vote on a governance proposal. + * A Vote consists of a proposal ID, the voter, and the vote option. + */ +export interface Vote { + /** proposal_id defines the unique id of the proposal. */ + proposalId: bigint; + /** voter is the voter address of the proposal. */ + voter: string; + /** options is the weighted vote options. */ + options: WeightedVoteOption[]; + /** + * metadata is any arbitrary metadata attached to the vote. + * the recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5 + */ + metadata: string; +} +export interface VoteProtoMsg { + typeUrl: '/cosmos.gov.v1.Vote'; + value: Uint8Array; +} +/** + * Vote defines a vote on a governance proposal. + * A Vote consists of a proposal ID, the voter, and the vote option. + */ +export interface VoteAmino { + /** proposal_id defines the unique id of the proposal. */ + proposal_id?: string; + /** voter is the voter address of the proposal. */ + voter?: string; + /** options is the weighted vote options. */ + options?: WeightedVoteOptionAmino[]; + /** + * metadata is any arbitrary metadata attached to the vote. + * the recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5 + */ + metadata?: string; +} +export interface VoteAminoMsg { + type: 'cosmos-sdk/v1/Vote'; + value: VoteAmino; +} +/** + * Vote defines a vote on a governance proposal. + * A Vote consists of a proposal ID, the voter, and the vote option. + */ +export interface VoteSDKType { + proposal_id: bigint; + voter: string; + options: WeightedVoteOptionSDKType[]; + metadata: string; +} +/** DepositParams defines the params for deposits on governance proposals. */ +/** @deprecated */ +export interface DepositParams { + /** Minimum deposit for a proposal to enter voting period. */ + minDeposit: Coin[]; + /** + * Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + * months. + */ + maxDepositPeriod?: Duration; +} +export interface DepositParamsProtoMsg { + typeUrl: '/cosmos.gov.v1.DepositParams'; + value: Uint8Array; +} +/** DepositParams defines the params for deposits on governance proposals. */ +/** @deprecated */ +export interface DepositParamsAmino { + /** Minimum deposit for a proposal to enter voting period. */ + min_deposit?: CoinAmino[]; + /** + * Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + * months. + */ + max_deposit_period?: DurationAmino; +} +export interface DepositParamsAminoMsg { + type: 'cosmos-sdk/v1/DepositParams'; + value: DepositParamsAmino; +} +/** DepositParams defines the params for deposits on governance proposals. */ +/** @deprecated */ +export interface DepositParamsSDKType { + min_deposit: CoinSDKType[]; + max_deposit_period?: DurationSDKType; +} +/** VotingParams defines the params for voting on governance proposals. */ +/** @deprecated */ +export interface VotingParams { + /** Duration of the voting period. */ + votingPeriod?: Duration; +} +export interface VotingParamsProtoMsg { + typeUrl: '/cosmos.gov.v1.VotingParams'; + value: Uint8Array; +} +/** VotingParams defines the params for voting on governance proposals. */ +/** @deprecated */ +export interface VotingParamsAmino { + /** Duration of the voting period. */ + voting_period?: DurationAmino; +} +export interface VotingParamsAminoMsg { + type: 'cosmos-sdk/v1/VotingParams'; + value: VotingParamsAmino; +} +/** VotingParams defines the params for voting on governance proposals. */ +/** @deprecated */ +export interface VotingParamsSDKType { + voting_period?: DurationSDKType; +} +/** TallyParams defines the params for tallying votes on governance proposals. */ +/** @deprecated */ +export interface TallyParams { + /** + * Minimum percentage of total stake needed to vote for a result to be + * considered valid. + */ + quorum: string; + /** Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. */ + threshold: string; + /** + * Minimum value of Veto votes to Total votes ratio for proposal to be + * vetoed. Default value: 1/3. + */ + vetoThreshold: string; +} +export interface TallyParamsProtoMsg { + typeUrl: '/cosmos.gov.v1.TallyParams'; + value: Uint8Array; +} +/** TallyParams defines the params for tallying votes on governance proposals. */ +/** @deprecated */ +export interface TallyParamsAmino { + /** + * Minimum percentage of total stake needed to vote for a result to be + * considered valid. + */ + quorum?: string; + /** Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. */ + threshold?: string; + /** + * Minimum value of Veto votes to Total votes ratio for proposal to be + * vetoed. Default value: 1/3. + */ + veto_threshold?: string; +} +export interface TallyParamsAminoMsg { + type: 'cosmos-sdk/v1/TallyParams'; + value: TallyParamsAmino; +} +/** TallyParams defines the params for tallying votes on governance proposals. */ +/** @deprecated */ +export interface TallyParamsSDKType { + quorum: string; + threshold: string; + veto_threshold: string; +} +/** + * Params defines the parameters for the x/gov module. + * + * Since: cosmos-sdk 0.47 + */ +export interface Params { + /** Minimum deposit for a proposal to enter voting period. */ + minDeposit: Coin[]; + /** + * Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + * months. + */ + maxDepositPeriod?: Duration; + /** Duration of the voting period. */ + votingPeriod?: Duration; + /** + * Minimum percentage of total stake needed to vote for a result to be + * considered valid. + */ + quorum: string; + /** Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. */ + threshold: string; + /** + * Minimum value of Veto votes to Total votes ratio for proposal to be + * vetoed. Default value: 1/3. + */ + vetoThreshold: string; + /** The ratio representing the proportion of the deposit value that must be paid at proposal submission. */ + minInitialDepositRatio: string; + /** + * The cancel ratio which will not be returned back to the depositors when a proposal is cancelled. + * + * Since: cosmos-sdk 0.50 + */ + proposalCancelRatio: string; + /** + * The address which will receive (proposal_cancel_ratio * deposit) proposal deposits. + * If empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned. + * + * Since: cosmos-sdk 0.50 + */ + proposalCancelDest: string; + /** + * Duration of the voting period of an expedited proposal. + * + * Since: cosmos-sdk 0.50 + */ + expeditedVotingPeriod?: Duration; + /** + * Minimum proportion of Yes votes for proposal to pass. Default value: 0.67. + * + * Since: cosmos-sdk 0.50 + */ + expeditedThreshold: string; + /** Minimum expedited deposit for a proposal to enter voting period. */ + expeditedMinDeposit: Coin[]; + /** burn deposits if a proposal does not meet quorum */ + burnVoteQuorum: boolean; + /** burn deposits if the proposal does not enter voting period */ + burnProposalDepositPrevote: boolean; + /** burn deposits if quorum with vote type no_veto is met */ + burnVoteVeto: boolean; + /** + * The ratio representing the proportion of the deposit value minimum that must be met when making a deposit. + * Default value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be + * required. + * + * Since: cosmos-sdk 0.50 + */ + minDepositRatio: string; +} +export interface ParamsProtoMsg { + typeUrl: '/cosmos.gov.v1.Params'; + value: Uint8Array; +} +/** + * Params defines the parameters for the x/gov module. + * + * Since: cosmos-sdk 0.47 + */ +export interface ParamsAmino { + /** Minimum deposit for a proposal to enter voting period. */ + min_deposit: CoinAmino[]; + /** + * Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + * months. + */ + max_deposit_period?: DurationAmino; + /** Duration of the voting period. */ + voting_period?: DurationAmino; + /** + * Minimum percentage of total stake needed to vote for a result to be + * considered valid. + */ + quorum?: string; + /** Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. */ + threshold?: string; + /** + * Minimum value of Veto votes to Total votes ratio for proposal to be + * vetoed. Default value: 1/3. + */ + veto_threshold?: string; + /** The ratio representing the proportion of the deposit value that must be paid at proposal submission. */ + min_initial_deposit_ratio?: string; + /** + * The cancel ratio which will not be returned back to the depositors when a proposal is cancelled. + * + * Since: cosmos-sdk 0.50 + */ + proposal_cancel_ratio?: string; + /** + * The address which will receive (proposal_cancel_ratio * deposit) proposal deposits. + * If empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned. + * + * Since: cosmos-sdk 0.50 + */ + proposal_cancel_dest?: string; + /** + * Duration of the voting period of an expedited proposal. + * + * Since: cosmos-sdk 0.50 + */ + expedited_voting_period?: DurationAmino; + /** + * Minimum proportion of Yes votes for proposal to pass. Default value: 0.67. + * + * Since: cosmos-sdk 0.50 + */ + expedited_threshold?: string; + /** Minimum expedited deposit for a proposal to enter voting period. */ + expedited_min_deposit: CoinAmino[]; + /** burn deposits if a proposal does not meet quorum */ + burn_vote_quorum?: boolean; + /** burn deposits if the proposal does not enter voting period */ + burn_proposal_deposit_prevote?: boolean; + /** burn deposits if quorum with vote type no_veto is met */ + burn_vote_veto?: boolean; + /** + * The ratio representing the proportion of the deposit value minimum that must be met when making a deposit. + * Default value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be + * required. + * + * Since: cosmos-sdk 0.50 + */ + min_deposit_ratio?: string; +} +export interface ParamsAminoMsg { + type: 'cosmos-sdk/v1/Params'; + value: ParamsAmino; +} +/** + * Params defines the parameters for the x/gov module. + * + * Since: cosmos-sdk 0.47 + */ +export interface ParamsSDKType { + min_deposit: CoinSDKType[]; + max_deposit_period?: DurationSDKType; + voting_period?: DurationSDKType; + quorum: string; + threshold: string; + veto_threshold: string; + min_initial_deposit_ratio: string; + proposal_cancel_ratio: string; + proposal_cancel_dest: string; + expedited_voting_period?: DurationSDKType; + expedited_threshold: string; + expedited_min_deposit: CoinSDKType[]; + burn_vote_quorum: boolean; + burn_proposal_deposit_prevote: boolean; + burn_vote_veto: boolean; + min_deposit_ratio: string; +} +function createBaseWeightedVoteOption(): WeightedVoteOption { + return { + option: 0, + weight: '', + }; +} +export const WeightedVoteOption = { + typeUrl: '/cosmos.gov.v1.WeightedVoteOption', + encode(message: WeightedVoteOption, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.option !== 0) { + writer.uint32(8).int32(message.option); + } + if (message.weight !== '') { + writer.uint32(18).string(message.weight); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): WeightedVoteOption { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWeightedVoteOption(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.option = reader.int32() as any; + break; + case 2: + message.weight = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): WeightedVoteOption { + const message = createBaseWeightedVoteOption(); + message.option = object.option ?? 0; + message.weight = object.weight ?? ''; + return message; + }, + fromAmino(object: WeightedVoteOptionAmino): WeightedVoteOption { + const message = createBaseWeightedVoteOption(); + if (object.option !== undefined && object.option !== null) { + message.option = object.option; + } + if (object.weight !== undefined && object.weight !== null) { + message.weight = object.weight; + } + return message; + }, + toAmino(message: WeightedVoteOption): WeightedVoteOptionAmino { + const obj: any = {}; + obj.option = message.option === 0 ? undefined : message.option; + obj.weight = message.weight === '' ? undefined : message.weight; + return obj; + }, + fromAminoMsg(object: WeightedVoteOptionAminoMsg): WeightedVoteOption { + return WeightedVoteOption.fromAmino(object.value); + }, + toAminoMsg(message: WeightedVoteOption): WeightedVoteOptionAminoMsg { + return { + type: 'cosmos-sdk/v1/WeightedVoteOption', + value: WeightedVoteOption.toAmino(message), + }; + }, + fromProtoMsg(message: WeightedVoteOptionProtoMsg): WeightedVoteOption { + return WeightedVoteOption.decode(message.value); + }, + toProto(message: WeightedVoteOption): Uint8Array { + return WeightedVoteOption.encode(message).finish(); + }, + toProtoMsg(message: WeightedVoteOption): WeightedVoteOptionProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.WeightedVoteOption', + value: WeightedVoteOption.encode(message).finish(), + }; + }, +}; +function createBaseDeposit(): Deposit { + return { + proposalId: BigInt(0), + depositor: '', + amount: [], + }; +} +export const Deposit = { + typeUrl: '/cosmos.gov.v1.Deposit', + encode(message: Deposit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.depositor !== '') { + writer.uint32(18).string(message.depositor); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Deposit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.depositor = reader.string(); + break; + case 3: + message.amount.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Deposit { + const message = createBaseDeposit(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null ? BigInt(object.proposalId.toString()) : BigInt(0); + message.depositor = object.depositor ?? ''; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: DepositAmino): Deposit { + const message = createBaseDeposit(); + if (object.proposal_id !== undefined && object.proposal_id !== null) { + message.proposalId = BigInt(object.proposal_id); + } + if (object.depositor !== undefined && object.depositor !== null) { + message.depositor = object.depositor; + } + message.amount = object.amount?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: Deposit): DepositAmino { + const obj: any = {}; + obj.proposal_id = message.proposalId !== BigInt(0) ? (message.proposalId?.toString)() : undefined; + obj.depositor = message.depositor === '' ? undefined : message.depositor; + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amount = message.amount; + } + return obj; + }, + fromAminoMsg(object: DepositAminoMsg): Deposit { + return Deposit.fromAmino(object.value); + }, + toAminoMsg(message: Deposit): DepositAminoMsg { + return { + type: 'cosmos-sdk/v1/Deposit', + value: Deposit.toAmino(message), + }; + }, + fromProtoMsg(message: DepositProtoMsg): Deposit { + return Deposit.decode(message.value); + }, + toProto(message: Deposit): Uint8Array { + return Deposit.encode(message).finish(); + }, + toProtoMsg(message: Deposit): DepositProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.Deposit', + value: Deposit.encode(message).finish(), + }; + }, +}; +function createBaseProposal(): Proposal { + return { + id: BigInt(0), + messages: [], + status: 0, + finalTallyResult: undefined, + submitTime: undefined, + depositEndTime: undefined, + totalDeposit: [], + votingStartTime: undefined, + votingEndTime: undefined, + metadata: '', + title: '', + summary: '', + proposer: '', + expedited: false, + failedReason: '', + }; +} +export const Proposal = { + typeUrl: '/cosmos.gov.v1.Proposal', + encode(message: Proposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.id !== BigInt(0)) { + writer.uint32(8).uint64(message.id); + } + for (const v of message.messages) { + Any.encode(v!, writer.uint32(18).fork()).ldelim(); + } + if (message.status !== 0) { + writer.uint32(24).int32(message.status); + } + if (message.finalTallyResult !== undefined) { + TallyResult.encode(message.finalTallyResult, writer.uint32(34).fork()).ldelim(); + } + if (message.submitTime !== undefined) { + Timestamp.encode(toTimestamp(message.submitTime), writer.uint32(42).fork()).ldelim(); + } + if (message.depositEndTime !== undefined) { + Timestamp.encode(toTimestamp(message.depositEndTime), writer.uint32(50).fork()).ldelim(); + } + for (const v of message.totalDeposit) { + Coin.encode(v!, writer.uint32(58).fork()).ldelim(); + } + if (message.votingStartTime !== undefined) { + Timestamp.encode(toTimestamp(message.votingStartTime), writer.uint32(66).fork()).ldelim(); + } + if (message.votingEndTime !== undefined) { + Timestamp.encode(toTimestamp(message.votingEndTime), writer.uint32(74).fork()).ldelim(); + } + if (message.metadata !== '') { + writer.uint32(82).string(message.metadata); + } + if (message.title !== '') { + writer.uint32(90).string(message.title); + } + if (message.summary !== '') { + writer.uint32(98).string(message.summary); + } + if (message.proposer !== '') { + writer.uint32(106).string(message.proposer); + } + if (message.expedited === true) { + writer.uint32(112).bool(message.expedited); + } + if (message.failedReason !== '') { + writer.uint32(122).string(message.failedReason); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Proposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.id = reader.uint64(); + break; + case 2: + message.messages.push(Any.decode(reader, reader.uint32())); + break; + case 3: + message.status = reader.int32() as any; + break; + case 4: + message.finalTallyResult = TallyResult.decode(reader, reader.uint32()); + break; + case 5: + message.submitTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 6: + message.depositEndTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 7: + message.totalDeposit.push(Coin.decode(reader, reader.uint32())); + break; + case 8: + message.votingStartTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 9: + message.votingEndTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 10: + message.metadata = reader.string(); + break; + case 11: + message.title = reader.string(); + break; + case 12: + message.summary = reader.string(); + break; + case 13: + message.proposer = reader.string(); + break; + case 14: + message.expedited = reader.bool(); + break; + case 15: + message.failedReason = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Proposal { + const message = createBaseProposal(); + message.id = object.id !== undefined && object.id !== null ? BigInt(object.id.toString()) : BigInt(0); + message.messages = object.messages?.map((e) => Any.fromPartial(e)) || []; + message.status = object.status ?? 0; + message.finalTallyResult = + object.finalTallyResult !== undefined && object.finalTallyResult !== null + ? TallyResult.fromPartial(object.finalTallyResult) + : undefined; + message.submitTime = object.submitTime ?? undefined; + message.depositEndTime = object.depositEndTime ?? undefined; + message.totalDeposit = object.totalDeposit?.map((e) => Coin.fromPartial(e)) || []; + message.votingStartTime = object.votingStartTime ?? undefined; + message.votingEndTime = object.votingEndTime ?? undefined; + message.metadata = object.metadata ?? ''; + message.title = object.title ?? ''; + message.summary = object.summary ?? ''; + message.proposer = object.proposer ?? ''; + message.expedited = object.expedited ?? false; + message.failedReason = object.failedReason ?? ''; + return message; + }, + fromAmino(object: ProposalAmino): Proposal { + const message = createBaseProposal(); + if (object.id !== undefined && object.id !== null) { + message.id = BigInt(object.id); + } + message.messages = object.messages?.map((e) => Any.fromAmino(e)) || []; + if (object.status !== undefined && object.status !== null) { + message.status = object.status; + } + if (object.final_tally_result !== undefined && object.final_tally_result !== null) { + message.finalTallyResult = TallyResult.fromAmino(object.final_tally_result); + } + if (object.submit_time !== undefined && object.submit_time !== null) { + message.submitTime = fromTimestamp(Timestamp.fromAmino(object.submit_time)); + } + if (object.deposit_end_time !== undefined && object.deposit_end_time !== null) { + message.depositEndTime = fromTimestamp(Timestamp.fromAmino(object.deposit_end_time)); + } + message.totalDeposit = object.total_deposit?.map((e) => Coin.fromAmino(e)) || []; + if (object.voting_start_time !== undefined && object.voting_start_time !== null) { + message.votingStartTime = fromTimestamp(Timestamp.fromAmino(object.voting_start_time)); + } + if (object.voting_end_time !== undefined && object.voting_end_time !== null) { + message.votingEndTime = fromTimestamp(Timestamp.fromAmino(object.voting_end_time)); + } + if (object.metadata !== undefined && object.metadata !== null) { + message.metadata = object.metadata; + } + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.summary !== undefined && object.summary !== null) { + message.summary = object.summary; + } + if (object.proposer !== undefined && object.proposer !== null) { + message.proposer = object.proposer; + } + if (object.expedited !== undefined && object.expedited !== null) { + message.expedited = object.expedited; + } + if (object.failed_reason !== undefined && object.failed_reason !== null) { + message.failedReason = object.failed_reason; + } + return message; + }, + toAmino(message: Proposal): ProposalAmino { + const obj: any = {}; + obj.id = message.id !== BigInt(0) ? (message.id?.toString)() : undefined; + if (message.messages) { + obj.messages = message.messages.map((e) => (e ? Any.toAmino(e) : undefined)); + } else { + obj.messages = message.messages; + } + obj.status = message.status === 0 ? undefined : message.status; + obj.final_tally_result = message.finalTallyResult ? TallyResult.toAmino(message.finalTallyResult) : undefined; + obj.submit_time = message.submitTime ? Timestamp.toAmino(toTimestamp(message.submitTime)) : undefined; + obj.deposit_end_time = message.depositEndTime ? Timestamp.toAmino(toTimestamp(message.depositEndTime)) : undefined; + if (message.totalDeposit) { + obj.total_deposit = message.totalDeposit.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.total_deposit = message.totalDeposit; + } + obj.voting_start_time = message.votingStartTime + ? Timestamp.toAmino(toTimestamp(message.votingStartTime)) + : undefined; + obj.voting_end_time = message.votingEndTime ? Timestamp.toAmino(toTimestamp(message.votingEndTime)) : undefined; + obj.metadata = message.metadata === '' ? undefined : message.metadata; + obj.title = message.title === '' ? undefined : message.title; + obj.summary = message.summary === '' ? undefined : message.summary; + obj.proposer = message.proposer === '' ? undefined : message.proposer; + obj.expedited = message.expedited === false ? undefined : message.expedited; + obj.failed_reason = message.failedReason === '' ? undefined : message.failedReason; + return obj; + }, + fromAminoMsg(object: ProposalAminoMsg): Proposal { + return Proposal.fromAmino(object.value); + }, + toAminoMsg(message: Proposal): ProposalAminoMsg { + return { + type: 'cosmos-sdk/v1/Proposal', + value: Proposal.toAmino(message), + }; + }, + fromProtoMsg(message: ProposalProtoMsg): Proposal { + return Proposal.decode(message.value); + }, + toProto(message: Proposal): Uint8Array { + return Proposal.encode(message).finish(); + }, + toProtoMsg(message: Proposal): ProposalProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.Proposal', + value: Proposal.encode(message).finish(), + }; + }, +}; +function createBaseTallyResult(): TallyResult { + return { + yesCount: '', + abstainCount: '', + noCount: '', + noWithVetoCount: '', + }; +} +export const TallyResult = { + typeUrl: '/cosmos.gov.v1.TallyResult', + encode(message: TallyResult, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.yesCount !== '') { + writer.uint32(10).string(message.yesCount); + } + if (message.abstainCount !== '') { + writer.uint32(18).string(message.abstainCount); + } + if (message.noCount !== '') { + writer.uint32(26).string(message.noCount); + } + if (message.noWithVetoCount !== '') { + writer.uint32(34).string(message.noWithVetoCount); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TallyResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTallyResult(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.yesCount = reader.string(); + break; + case 2: + message.abstainCount = reader.string(); + break; + case 3: + message.noCount = reader.string(); + break; + case 4: + message.noWithVetoCount = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TallyResult { + const message = createBaseTallyResult(); + message.yesCount = object.yesCount ?? ''; + message.abstainCount = object.abstainCount ?? ''; + message.noCount = object.noCount ?? ''; + message.noWithVetoCount = object.noWithVetoCount ?? ''; + return message; + }, + fromAmino(object: TallyResultAmino): TallyResult { + const message = createBaseTallyResult(); + if (object.yes_count !== undefined && object.yes_count !== null) { + message.yesCount = object.yes_count; + } + if (object.abstain_count !== undefined && object.abstain_count !== null) { + message.abstainCount = object.abstain_count; + } + if (object.no_count !== undefined && object.no_count !== null) { + message.noCount = object.no_count; + } + if (object.no_with_veto_count !== undefined && object.no_with_veto_count !== null) { + message.noWithVetoCount = object.no_with_veto_count; + } + return message; + }, + toAmino(message: TallyResult): TallyResultAmino { + const obj: any = {}; + obj.yes_count = message.yesCount === '' ? undefined : message.yesCount; + obj.abstain_count = message.abstainCount === '' ? undefined : message.abstainCount; + obj.no_count = message.noCount === '' ? undefined : message.noCount; + obj.no_with_veto_count = message.noWithVetoCount === '' ? undefined : message.noWithVetoCount; + return obj; + }, + fromAminoMsg(object: TallyResultAminoMsg): TallyResult { + return TallyResult.fromAmino(object.value); + }, + toAminoMsg(message: TallyResult): TallyResultAminoMsg { + return { + type: 'cosmos-sdk/v1/TallyResult', + value: TallyResult.toAmino(message), + }; + }, + fromProtoMsg(message: TallyResultProtoMsg): TallyResult { + return TallyResult.decode(message.value); + }, + toProto(message: TallyResult): Uint8Array { + return TallyResult.encode(message).finish(); + }, + toProtoMsg(message: TallyResult): TallyResultProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.TallyResult', + value: TallyResult.encode(message).finish(), + }; + }, +}; +function createBaseVote(): Vote { + return { + proposalId: BigInt(0), + voter: '', + options: [], + metadata: '', + }; +} +export const Vote = { + typeUrl: '/cosmos.gov.v1.Vote', + encode(message: Vote, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== '') { + writer.uint32(18).string(message.voter); + } + for (const v of message.options) { + WeightedVoteOption.encode(v!, writer.uint32(34).fork()).ldelim(); + } + if (message.metadata !== '') { + writer.uint32(42).string(message.metadata); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Vote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.voter = reader.string(); + break; + case 4: + message.options.push(WeightedVoteOption.decode(reader, reader.uint32())); + break; + case 5: + message.metadata = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Vote { + const message = createBaseVote(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null ? BigInt(object.proposalId.toString()) : BigInt(0); + message.voter = object.voter ?? ''; + message.options = object.options?.map((e) => WeightedVoteOption.fromPartial(e)) || []; + message.metadata = object.metadata ?? ''; + return message; + }, + fromAmino(object: VoteAmino): Vote { + const message = createBaseVote(); + if (object.proposal_id !== undefined && object.proposal_id !== null) { + message.proposalId = BigInt(object.proposal_id); + } + if (object.voter !== undefined && object.voter !== null) { + message.voter = object.voter; + } + message.options = object.options?.map((e) => WeightedVoteOption.fromAmino(e)) || []; + if (object.metadata !== undefined && object.metadata !== null) { + message.metadata = object.metadata; + } + return message; + }, + toAmino(message: Vote): VoteAmino { + const obj: any = {}; + obj.proposal_id = message.proposalId !== BigInt(0) ? (message.proposalId?.toString)() : undefined; + obj.voter = message.voter === '' ? undefined : message.voter; + if (message.options) { + obj.options = message.options.map((e) => (e ? WeightedVoteOption.toAmino(e) : undefined)); + } else { + obj.options = message.options; + } + obj.metadata = message.metadata === '' ? undefined : message.metadata; + return obj; + }, + fromAminoMsg(object: VoteAminoMsg): Vote { + return Vote.fromAmino(object.value); + }, + toAminoMsg(message: Vote): VoteAminoMsg { + return { + type: 'cosmos-sdk/v1/Vote', + value: Vote.toAmino(message), + }; + }, + fromProtoMsg(message: VoteProtoMsg): Vote { + return Vote.decode(message.value); + }, + toProto(message: Vote): Uint8Array { + return Vote.encode(message).finish(); + }, + toProtoMsg(message: Vote): VoteProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.Vote', + value: Vote.encode(message).finish(), + }; + }, +}; +function createBaseDepositParams(): DepositParams { + return { + minDeposit: [], + maxDepositPeriod: undefined, + }; +} +export const DepositParams = { + typeUrl: '/cosmos.gov.v1.DepositParams', + encode(message: DepositParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.minDeposit) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.maxDepositPeriod !== undefined) { + Duration.encode(message.maxDepositPeriod, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DepositParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDepositParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.minDeposit.push(Coin.decode(reader, reader.uint32())); + break; + case 2: + message.maxDepositPeriod = Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DepositParams { + const message = createBaseDepositParams(); + message.minDeposit = object.minDeposit?.map((e) => Coin.fromPartial(e)) || []; + message.maxDepositPeriod = + object.maxDepositPeriod !== undefined && object.maxDepositPeriod !== null + ? Duration.fromPartial(object.maxDepositPeriod) + : undefined; + return message; + }, + fromAmino(object: DepositParamsAmino): DepositParams { + const message = createBaseDepositParams(); + message.minDeposit = object.min_deposit?.map((e) => Coin.fromAmino(e)) || []; + if (object.max_deposit_period !== undefined && object.max_deposit_period !== null) { + message.maxDepositPeriod = Duration.fromAmino(object.max_deposit_period); + } + return message; + }, + toAmino(message: DepositParams): DepositParamsAmino { + const obj: any = {}; + if (message.minDeposit) { + obj.min_deposit = message.minDeposit.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.min_deposit = message.minDeposit; + } + obj.max_deposit_period = message.maxDepositPeriod ? Duration.toAmino(message.maxDepositPeriod) : undefined; + return obj; + }, + fromAminoMsg(object: DepositParamsAminoMsg): DepositParams { + return DepositParams.fromAmino(object.value); + }, + toAminoMsg(message: DepositParams): DepositParamsAminoMsg { + return { + type: 'cosmos-sdk/v1/DepositParams', + value: DepositParams.toAmino(message), + }; + }, + fromProtoMsg(message: DepositParamsProtoMsg): DepositParams { + return DepositParams.decode(message.value); + }, + toProto(message: DepositParams): Uint8Array { + return DepositParams.encode(message).finish(); + }, + toProtoMsg(message: DepositParams): DepositParamsProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.DepositParams', + value: DepositParams.encode(message).finish(), + }; + }, +}; +function createBaseVotingParams(): VotingParams { + return { + votingPeriod: undefined, + }; +} +export const VotingParams = { + typeUrl: '/cosmos.gov.v1.VotingParams', + encode(message: VotingParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.votingPeriod !== undefined) { + Duration.encode(message.votingPeriod, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): VotingParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVotingParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.votingPeriod = Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): VotingParams { + const message = createBaseVotingParams(); + message.votingPeriod = + object.votingPeriod !== undefined && object.votingPeriod !== null + ? Duration.fromPartial(object.votingPeriod) + : undefined; + return message; + }, + fromAmino(object: VotingParamsAmino): VotingParams { + const message = createBaseVotingParams(); + if (object.voting_period !== undefined && object.voting_period !== null) { + message.votingPeriod = Duration.fromAmino(object.voting_period); + } + return message; + }, + toAmino(message: VotingParams): VotingParamsAmino { + const obj: any = {}; + obj.voting_period = message.votingPeriod ? Duration.toAmino(message.votingPeriod) : undefined; + return obj; + }, + fromAminoMsg(object: VotingParamsAminoMsg): VotingParams { + return VotingParams.fromAmino(object.value); + }, + toAminoMsg(message: VotingParams): VotingParamsAminoMsg { + return { + type: 'cosmos-sdk/v1/VotingParams', + value: VotingParams.toAmino(message), + }; + }, + fromProtoMsg(message: VotingParamsProtoMsg): VotingParams { + return VotingParams.decode(message.value); + }, + toProto(message: VotingParams): Uint8Array { + return VotingParams.encode(message).finish(); + }, + toProtoMsg(message: VotingParams): VotingParamsProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.VotingParams', + value: VotingParams.encode(message).finish(), + }; + }, +}; +function createBaseTallyParams(): TallyParams { + return { + quorum: '', + threshold: '', + vetoThreshold: '', + }; +} +export const TallyParams = { + typeUrl: '/cosmos.gov.v1.TallyParams', + encode(message: TallyParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.quorum !== '') { + writer.uint32(10).string(message.quorum); + } + if (message.threshold !== '') { + writer.uint32(18).string(message.threshold); + } + if (message.vetoThreshold !== '') { + writer.uint32(26).string(message.vetoThreshold); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TallyParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTallyParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.quorum = reader.string(); + break; + case 2: + message.threshold = reader.string(); + break; + case 3: + message.vetoThreshold = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TallyParams { + const message = createBaseTallyParams(); + message.quorum = object.quorum ?? ''; + message.threshold = object.threshold ?? ''; + message.vetoThreshold = object.vetoThreshold ?? ''; + return message; + }, + fromAmino(object: TallyParamsAmino): TallyParams { + const message = createBaseTallyParams(); + if (object.quorum !== undefined && object.quorum !== null) { + message.quorum = object.quorum; + } + if (object.threshold !== undefined && object.threshold !== null) { + message.threshold = object.threshold; + } + if (object.veto_threshold !== undefined && object.veto_threshold !== null) { + message.vetoThreshold = object.veto_threshold; + } + return message; + }, + toAmino(message: TallyParams): TallyParamsAmino { + const obj: any = {}; + obj.quorum = message.quorum === '' ? undefined : message.quorum; + obj.threshold = message.threshold === '' ? undefined : message.threshold; + obj.veto_threshold = message.vetoThreshold === '' ? undefined : message.vetoThreshold; + return obj; + }, + fromAminoMsg(object: TallyParamsAminoMsg): TallyParams { + return TallyParams.fromAmino(object.value); + }, + toAminoMsg(message: TallyParams): TallyParamsAminoMsg { + return { + type: 'cosmos-sdk/v1/TallyParams', + value: TallyParams.toAmino(message), + }; + }, + fromProtoMsg(message: TallyParamsProtoMsg): TallyParams { + return TallyParams.decode(message.value); + }, + toProto(message: TallyParams): Uint8Array { + return TallyParams.encode(message).finish(); + }, + toProtoMsg(message: TallyParams): TallyParamsProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.TallyParams', + value: TallyParams.encode(message).finish(), + }; + }, +}; +function createBaseParams(): Params { + return { + minDeposit: [], + maxDepositPeriod: undefined, + votingPeriod: undefined, + quorum: '', + threshold: '', + vetoThreshold: '', + minInitialDepositRatio: '', + proposalCancelRatio: '', + proposalCancelDest: '', + expeditedVotingPeriod: undefined, + expeditedThreshold: '', + expeditedMinDeposit: [], + burnVoteQuorum: false, + burnProposalDepositPrevote: false, + burnVoteVeto: false, + minDepositRatio: '', + }; +} +export const Params = { + typeUrl: '/cosmos.gov.v1.Params', + encode(message: Params, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.minDeposit) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.maxDepositPeriod !== undefined) { + Duration.encode(message.maxDepositPeriod, writer.uint32(18).fork()).ldelim(); + } + if (message.votingPeriod !== undefined) { + Duration.encode(message.votingPeriod, writer.uint32(26).fork()).ldelim(); + } + if (message.quorum !== '') { + writer.uint32(34).string(message.quorum); + } + if (message.threshold !== '') { + writer.uint32(42).string(message.threshold); + } + if (message.vetoThreshold !== '') { + writer.uint32(50).string(message.vetoThreshold); + } + if (message.minInitialDepositRatio !== '') { + writer.uint32(58).string(message.minInitialDepositRatio); + } + if (message.proposalCancelRatio !== '') { + writer.uint32(66).string(message.proposalCancelRatio); + } + if (message.proposalCancelDest !== '') { + writer.uint32(74).string(message.proposalCancelDest); + } + if (message.expeditedVotingPeriod !== undefined) { + Duration.encode(message.expeditedVotingPeriod, writer.uint32(82).fork()).ldelim(); + } + if (message.expeditedThreshold !== '') { + writer.uint32(90).string(message.expeditedThreshold); + } + for (const v of message.expeditedMinDeposit) { + Coin.encode(v!, writer.uint32(98).fork()).ldelim(); + } + if (message.burnVoteQuorum === true) { + writer.uint32(104).bool(message.burnVoteQuorum); + } + if (message.burnProposalDepositPrevote === true) { + writer.uint32(112).bool(message.burnProposalDepositPrevote); + } + if (message.burnVoteVeto === true) { + writer.uint32(120).bool(message.burnVoteVeto); + } + if (message.minDepositRatio !== '') { + writer.uint32(130).string(message.minDepositRatio); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.minDeposit.push(Coin.decode(reader, reader.uint32())); + break; + case 2: + message.maxDepositPeriod = Duration.decode(reader, reader.uint32()); + break; + case 3: + message.votingPeriod = Duration.decode(reader, reader.uint32()); + break; + case 4: + message.quorum = reader.string(); + break; + case 5: + message.threshold = reader.string(); + break; + case 6: + message.vetoThreshold = reader.string(); + break; + case 7: + message.minInitialDepositRatio = reader.string(); + break; + case 8: + message.proposalCancelRatio = reader.string(); + break; + case 9: + message.proposalCancelDest = reader.string(); + break; + case 10: + message.expeditedVotingPeriod = Duration.decode(reader, reader.uint32()); + break; + case 11: + message.expeditedThreshold = reader.string(); + break; + case 12: + message.expeditedMinDeposit.push(Coin.decode(reader, reader.uint32())); + break; + case 13: + message.burnVoteQuorum = reader.bool(); + break; + case 14: + message.burnProposalDepositPrevote = reader.bool(); + break; + case 15: + message.burnVoteVeto = reader.bool(); + break; + case 16: + message.minDepositRatio = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Params { + const message = createBaseParams(); + message.minDeposit = object.minDeposit?.map((e) => Coin.fromPartial(e)) || []; + message.maxDepositPeriod = + object.maxDepositPeriod !== undefined && object.maxDepositPeriod !== null + ? Duration.fromPartial(object.maxDepositPeriod) + : undefined; + message.votingPeriod = + object.votingPeriod !== undefined && object.votingPeriod !== null + ? Duration.fromPartial(object.votingPeriod) + : undefined; + message.quorum = object.quorum ?? ''; + message.threshold = object.threshold ?? ''; + message.vetoThreshold = object.vetoThreshold ?? ''; + message.minInitialDepositRatio = object.minInitialDepositRatio ?? ''; + message.proposalCancelRatio = object.proposalCancelRatio ?? ''; + message.proposalCancelDest = object.proposalCancelDest ?? ''; + message.expeditedVotingPeriod = + object.expeditedVotingPeriod !== undefined && object.expeditedVotingPeriod !== null + ? Duration.fromPartial(object.expeditedVotingPeriod) + : undefined; + message.expeditedThreshold = object.expeditedThreshold ?? ''; + message.expeditedMinDeposit = object.expeditedMinDeposit?.map((e) => Coin.fromPartial(e)) || []; + message.burnVoteQuorum = object.burnVoteQuorum ?? false; + message.burnProposalDepositPrevote = object.burnProposalDepositPrevote ?? false; + message.burnVoteVeto = object.burnVoteVeto ?? false; + message.minDepositRatio = object.minDepositRatio ?? ''; + return message; + }, + fromAmino(object: ParamsAmino): Params { + const message = createBaseParams(); + message.minDeposit = object.min_deposit?.map((e) => Coin.fromAmino(e)) || []; + if (object.max_deposit_period !== undefined && object.max_deposit_period !== null) { + message.maxDepositPeriod = Duration.fromAmino(object.max_deposit_period); + } + if (object.voting_period !== undefined && object.voting_period !== null) { + message.votingPeriod = Duration.fromAmino(object.voting_period); + } + if (object.quorum !== undefined && object.quorum !== null) { + message.quorum = object.quorum; + } + if (object.threshold !== undefined && object.threshold !== null) { + message.threshold = object.threshold; + } + if (object.veto_threshold !== undefined && object.veto_threshold !== null) { + message.vetoThreshold = object.veto_threshold; + } + if (object.min_initial_deposit_ratio !== undefined && object.min_initial_deposit_ratio !== null) { + message.minInitialDepositRatio = object.min_initial_deposit_ratio; + } + if (object.proposal_cancel_ratio !== undefined && object.proposal_cancel_ratio !== null) { + message.proposalCancelRatio = object.proposal_cancel_ratio; + } + if (object.proposal_cancel_dest !== undefined && object.proposal_cancel_dest !== null) { + message.proposalCancelDest = object.proposal_cancel_dest; + } + if (object.expedited_voting_period !== undefined && object.expedited_voting_period !== null) { + message.expeditedVotingPeriod = Duration.fromAmino(object.expedited_voting_period); + } + if (object.expedited_threshold !== undefined && object.expedited_threshold !== null) { + message.expeditedThreshold = object.expedited_threshold; + } + message.expeditedMinDeposit = object.expedited_min_deposit?.map((e) => Coin.fromAmino(e)) || []; + if (object.burn_vote_quorum !== undefined && object.burn_vote_quorum !== null) { + message.burnVoteQuorum = object.burn_vote_quorum; + } + if (object.burn_proposal_deposit_prevote !== undefined && object.burn_proposal_deposit_prevote !== null) { + message.burnProposalDepositPrevote = object.burn_proposal_deposit_prevote; + } + if (object.burn_vote_veto !== undefined && object.burn_vote_veto !== null) { + message.burnVoteVeto = object.burn_vote_veto; + } + if (object.min_deposit_ratio !== undefined && object.min_deposit_ratio !== null) { + message.minDepositRatio = object.min_deposit_ratio; + } + return message; + }, + toAmino(message: Params): ParamsAmino { + const obj: any = {}; + if (message.minDeposit) { + obj.min_deposit = message.minDeposit.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.min_deposit = message.minDeposit; + } + obj.max_deposit_period = message.maxDepositPeriod ? Duration.toAmino(message.maxDepositPeriod) : undefined; + obj.voting_period = message.votingPeriod ? Duration.toAmino(message.votingPeriod) : undefined; + obj.quorum = message.quorum === '' ? undefined : message.quorum; + obj.threshold = message.threshold === '' ? undefined : message.threshold; + obj.veto_threshold = message.vetoThreshold === '' ? undefined : message.vetoThreshold; + obj.min_initial_deposit_ratio = message.minInitialDepositRatio === '' ? undefined : message.minInitialDepositRatio; + obj.proposal_cancel_ratio = message.proposalCancelRatio === '' ? undefined : message.proposalCancelRatio; + obj.proposal_cancel_dest = message.proposalCancelDest === '' ? undefined : message.proposalCancelDest; + obj.expedited_voting_period = message.expeditedVotingPeriod + ? Duration.toAmino(message.expeditedVotingPeriod) + : undefined; + obj.expedited_threshold = message.expeditedThreshold === '' ? undefined : message.expeditedThreshold; + if (message.expeditedMinDeposit) { + obj.expedited_min_deposit = message.expeditedMinDeposit.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.expedited_min_deposit = message.expeditedMinDeposit; + } + obj.burn_vote_quorum = message.burnVoteQuorum === false ? undefined : message.burnVoteQuorum; + obj.burn_proposal_deposit_prevote = + message.burnProposalDepositPrevote === false ? undefined : message.burnProposalDepositPrevote; + obj.burn_vote_veto = message.burnVoteVeto === false ? undefined : message.burnVoteVeto; + obj.min_deposit_ratio = message.minDepositRatio === '' ? undefined : message.minDepositRatio; + return obj; + }, + fromAminoMsg(object: ParamsAminoMsg): Params { + return Params.fromAmino(object.value); + }, + toAminoMsg(message: Params): ParamsAminoMsg { + return { + type: 'cosmos-sdk/v1/Params', + value: Params.toAmino(message), + }; + }, + fromProtoMsg(message: ParamsProtoMsg): Params { + return Params.decode(message.value); + }, + toProto(message: Params): Uint8Array { + return Params.encode(message).finish(); + }, + toProtoMsg(message: Params): ParamsProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.Params', + value: Params.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/gov/v1/tx.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/gov/v1/tx.ts new file mode 100644 index 00000000..61d97001 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/gov/v1/tx.ts @@ -0,0 +1,2833 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Any, AnyAmino, AnyProtoMsg, AnySDKType } from 'cosmjs-types/google/protobuf/any'; +import { Timestamp } from 'cosmjs-types/google/protobuf/timestamp'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { fromTimestamp, toTimestamp } from '../../../../../helpers'; +import { + ClearAdminProposal, + ClearAdminProposalProtoMsg, + ClearAdminProposalSDKType, + ExecuteContractProposal, + ExecuteContractProposalProtoMsg, + ExecuteContractProposalSDKType, + InstantiateContract2Proposal, + InstantiateContract2ProposalProtoMsg, + InstantiateContract2ProposalSDKType, + InstantiateContractProposal, + InstantiateContractProposalProtoMsg, + InstantiateContractProposalSDKType, + MigrateContractProposal, + MigrateContractProposalProtoMsg, + MigrateContractProposalSDKType, + PinCodesProposal, + PinCodesProposalProtoMsg, + PinCodesProposalSDKType, + StoreAndInstantiateContractProposal, + StoreAndInstantiateContractProposalProtoMsg, + StoreAndInstantiateContractProposalSDKType, + StoreCodeProposal, + StoreCodeProposalProtoMsg, + StoreCodeProposalSDKType, + SudoContractProposal, + SudoContractProposalProtoMsg, + SudoContractProposalSDKType, + UnpinCodesProposal, + UnpinCodesProposalProtoMsg, + UnpinCodesProposalSDKType, + UpdateAdminProposal, + UpdateAdminProposalProtoMsg, + UpdateAdminProposalSDKType, + UpdateInstantiateConfigProposal, + UpdateInstantiateConfigProposalProtoMsg, + UpdateInstantiateConfigProposalSDKType, +} from '../../../cosmwasm/wasm/v1/proposal_legacy'; +import { + AtomicMarketOrderFeeMultiplierScheduleProposal, + AtomicMarketOrderFeeMultiplierScheduleProposalProtoMsg, + AtomicMarketOrderFeeMultiplierScheduleProposalSDKType, + BatchCommunityPoolSpendProposal, + BatchCommunityPoolSpendProposalProtoMsg, + BatchCommunityPoolSpendProposalSDKType, + BatchExchangeModificationProposal, + BatchExchangeModificationProposalProtoMsg, + BatchExchangeModificationProposalSDKType, + BinaryOptionsMarketLaunchProposal, + BinaryOptionsMarketLaunchProposalProtoMsg, + BinaryOptionsMarketLaunchProposalSDKType, + BinaryOptionsMarketParamUpdateProposal, + BinaryOptionsMarketParamUpdateProposalProtoMsg, + BinaryOptionsMarketParamUpdateProposalSDKType, + DerivativeMarketParamUpdateProposal, + DerivativeMarketParamUpdateProposalProtoMsg, + DerivativeMarketParamUpdateProposalSDKType, + ExpiryFuturesMarketLaunchProposal, + ExpiryFuturesMarketLaunchProposalProtoMsg, + ExpiryFuturesMarketLaunchProposalSDKType, + FeeDiscountProposal, + FeeDiscountProposalProtoMsg, + FeeDiscountProposalSDKType, + MarketForcedSettlementProposal, + MarketForcedSettlementProposalProtoMsg, + MarketForcedSettlementProposalSDKType, + PerpetualMarketLaunchProposal, + PerpetualMarketLaunchProposalProtoMsg, + PerpetualMarketLaunchProposalSDKType, + SpotMarketLaunchProposal, + SpotMarketLaunchProposalProtoMsg, + SpotMarketLaunchProposalSDKType, + SpotMarketParamUpdateProposal, + SpotMarketParamUpdateProposalProtoMsg, + SpotMarketParamUpdateProposalSDKType, + TradingRewardCampaignLaunchProposal, + TradingRewardCampaignLaunchProposalProtoMsg, + TradingRewardCampaignLaunchProposalSDKType, + TradingRewardCampaignUpdateProposal, + TradingRewardCampaignUpdateProposalProtoMsg, + TradingRewardCampaignUpdateProposalSDKType, + TradingRewardPendingPointsUpdateProposal, + TradingRewardPendingPointsUpdateProposalProtoMsg, + TradingRewardPendingPointsUpdateProposalSDKType, + UpdateDenomDecimalsProposal, + UpdateDenomDecimalsProposalProtoMsg, + UpdateDenomDecimalsProposalSDKType, +} from '../../../injective/exchange/v1beta1/proposal'; +import { + SetBatchConfigProposal, + SetBatchConfigProposalProtoMsg, + SetBatchConfigProposalSDKType, + SetConfigProposal, + SetConfigProposalProtoMsg, + SetConfigProposalSDKType, +} from '../../../injective/ocr/v1beta1/ocr'; +import { + AuthorizeBandOracleRequestProposal, + AuthorizeBandOracleRequestProposalProtoMsg, + AuthorizeBandOracleRequestProposalSDKType, + EnableBandIBCProposal, + EnableBandIBCProposalProtoMsg, + EnableBandIBCProposalSDKType, + GrantBandOraclePrivilegeProposal, + GrantBandOraclePrivilegeProposalProtoMsg, + GrantBandOraclePrivilegeProposalSDKType, + GrantPriceFeederPrivilegeProposal, + GrantPriceFeederPrivilegeProposalProtoMsg, + GrantPriceFeederPrivilegeProposalSDKType, + GrantProviderPrivilegeProposal, + GrantProviderPrivilegeProposalProtoMsg, + GrantProviderPrivilegeProposalSDKType, + GrantStorkPublisherPrivilegeProposal, + GrantStorkPublisherPrivilegeProposalProtoMsg, + GrantStorkPublisherPrivilegeProposalSDKType, + RevokeBandOraclePrivilegeProposal, + RevokeBandOraclePrivilegeProposalProtoMsg, + RevokeBandOraclePrivilegeProposalSDKType, + RevokePriceFeederPrivilegeProposal, + RevokePriceFeederPrivilegeProposalProtoMsg, + RevokePriceFeederPrivilegeProposalSDKType, + RevokeProviderPrivilegeProposal, + RevokeProviderPrivilegeProposalProtoMsg, + RevokeProviderPrivilegeProposalSDKType, + RevokeStorkPublisherPrivilegeProposal, + RevokeStorkPublisherPrivilegeProposalProtoMsg, + RevokeStorkPublisherPrivilegeProposalSDKType, + UpdateBandOracleRequestProposal, + UpdateBandOracleRequestProposalProtoMsg, + UpdateBandOracleRequestProposalSDKType, +} from '../../../injective/oracle/v1beta1/proposal'; +import { + BatchContractDeregistrationProposal, + BatchContractDeregistrationProposalProtoMsg, + BatchContractDeregistrationProposalSDKType, + BatchContractRegistrationRequestProposal, + BatchContractRegistrationRequestProposalProtoMsg, + BatchContractRegistrationRequestProposalSDKType, + BatchStoreCodeProposal, + BatchStoreCodeProposalProtoMsg, + BatchStoreCodeProposalSDKType, + ContractRegistrationRequest, + ContractRegistrationRequestProposal, + ContractRegistrationRequestProposalProtoMsg, + ContractRegistrationRequestProposalSDKType, + ContractRegistrationRequestProtoMsg, + ContractRegistrationRequestSDKType, +} from '../../../injective/wasmx/v1/proposal'; +import { Coin, CoinAmino, CoinSDKType } from '../../base/v1beta1/coin'; +import { + CommunityPoolSpendProposal, + CommunityPoolSpendProposalProtoMsg, + CommunityPoolSpendProposalSDKType, + CommunityPoolSpendProposalWithDeposit, + CommunityPoolSpendProposalWithDepositProtoMsg, + CommunityPoolSpendProposalWithDepositSDKType, +} from '../../distribution/v1beta1/distribution'; +import { + ParameterChangeProposal, + ParameterChangeProposalProtoMsg, + ParameterChangeProposalSDKType, +} from '../../params/v1beta1/params'; +import { + CancelSoftwareUpgradeProposal, + CancelSoftwareUpgradeProposalProtoMsg, + CancelSoftwareUpgradeProposalSDKType, + SoftwareUpgradeProposal, + SoftwareUpgradeProposalProtoMsg, + SoftwareUpgradeProposalSDKType, +} from '../../upgrade/v1beta1/upgrade'; +import { TextProposal, TextProposalProtoMsg, TextProposalSDKType } from '../v1beta1/gov'; +import { + Params, + ParamsAmino, + ParamsSDKType, + VoteOption, + WeightedVoteOption, + WeightedVoteOptionAmino, + WeightedVoteOptionSDKType, +} from './gov'; +/** + * MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary + * proposal Content. + */ +export interface MsgSubmitProposal { + /** messages are the arbitrary messages to be executed if proposal passes. */ + messages: Any[]; + /** initial_deposit is the deposit value that must be paid at proposal submission. */ + initialDeposit: Coin[]; + /** proposer is the account address of the proposer. */ + proposer: string; + /** metadata is any arbitrary metadata attached to the proposal. */ + metadata: string; + /** + * title is the title of the proposal. + * + * Since: cosmos-sdk 0.47 + */ + title: string; + /** + * summary is the summary of the proposal + * + * Since: cosmos-sdk 0.47 + */ + summary: string; + /** + * expedited defines if the proposal is expedited or not + * + * Since: cosmos-sdk 0.50 + */ + expedited: boolean; +} +export interface MsgSubmitProposalProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgSubmitProposal'; + value: Uint8Array; +} +/** + * MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary + * proposal Content. + */ +export interface MsgSubmitProposalAmino { + /** messages are the arbitrary messages to be executed if proposal passes. */ + messages?: AnyAmino[]; + /** initial_deposit is the deposit value that must be paid at proposal submission. */ + initial_deposit: CoinAmino[]; + /** proposer is the account address of the proposer. */ + proposer?: string; + /** metadata is any arbitrary metadata attached to the proposal. */ + metadata?: string; + /** + * title is the title of the proposal. + * + * Since: cosmos-sdk 0.47 + */ + title?: string; + /** + * summary is the summary of the proposal + * + * Since: cosmos-sdk 0.47 + */ + summary?: string; + /** + * expedited defines if the proposal is expedited or not + * + * Since: cosmos-sdk 0.50 + */ + expedited?: boolean; +} +export interface MsgSubmitProposalAminoMsg { + type: 'cosmos-sdk/v1/MsgSubmitProposal'; + value: MsgSubmitProposalAmino; +} +/** + * MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary + * proposal Content. + */ +export interface MsgSubmitProposalSDKType { + messages: AnySDKType[]; + initial_deposit: CoinSDKType[]; + proposer: string; + metadata: string; + title: string; + summary: string; + expedited: boolean; +} +/** MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. */ +export interface MsgSubmitProposalResponse { + /** proposal_id defines the unique id of the proposal. */ + proposalId: bigint; +} +export interface MsgSubmitProposalResponseProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgSubmitProposalResponse'; + value: Uint8Array; +} +/** MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. */ +export interface MsgSubmitProposalResponseAmino { + /** proposal_id defines the unique id of the proposal. */ + proposal_id?: string; +} +export interface MsgSubmitProposalResponseAminoMsg { + type: 'cosmos-sdk/v1/MsgSubmitProposalResponse'; + value: MsgSubmitProposalResponseAmino; +} +/** MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. */ +export interface MsgSubmitProposalResponseSDKType { + proposal_id: bigint; +} +/** + * MsgExecLegacyContent is used to wrap the legacy content field into a message. + * This ensures backwards compatibility with v1beta1.MsgSubmitProposal. + */ +export interface MsgExecLegacyContent { + /** content is the proposal's content. */ + content?: + | CommunityPoolSpendProposal + | CommunityPoolSpendProposalWithDeposit + | TextProposal + | ParameterChangeProposal + | SoftwareUpgradeProposal + | CancelSoftwareUpgradeProposal + | StoreCodeProposal + | InstantiateContractProposal + | InstantiateContract2Proposal + | MigrateContractProposal + | SudoContractProposal + | ExecuteContractProposal + | UpdateAdminProposal + | ClearAdminProposal + | PinCodesProposal + | UnpinCodesProposal + | UpdateInstantiateConfigProposal + | StoreAndInstantiateContractProposal + | SpotMarketParamUpdateProposal + | BatchExchangeModificationProposal + | SpotMarketLaunchProposal + | PerpetualMarketLaunchProposal + | BinaryOptionsMarketLaunchProposal + | ExpiryFuturesMarketLaunchProposal + | DerivativeMarketParamUpdateProposal + | MarketForcedSettlementProposal + | UpdateDenomDecimalsProposal + | BinaryOptionsMarketParamUpdateProposal + | TradingRewardCampaignLaunchProposal + | TradingRewardCampaignUpdateProposal + | TradingRewardPendingPointsUpdateProposal + | FeeDiscountProposal + | BatchCommunityPoolSpendProposal + | AtomicMarketOrderFeeMultiplierScheduleProposal + | SetConfigProposal + | SetBatchConfigProposal + | GrantBandOraclePrivilegeProposal + | RevokeBandOraclePrivilegeProposal + | GrantPriceFeederPrivilegeProposal + | GrantProviderPrivilegeProposal + | RevokeProviderPrivilegeProposal + | RevokePriceFeederPrivilegeProposal + | AuthorizeBandOracleRequestProposal + | UpdateBandOracleRequestProposal + | EnableBandIBCProposal + | GrantStorkPublisherPrivilegeProposal + | RevokeStorkPublisherPrivilegeProposal + | ContractRegistrationRequestProposal + | BatchContractRegistrationRequestProposal + | BatchContractDeregistrationProposal + | ContractRegistrationRequest + | BatchStoreCodeProposal + | Any + | undefined; + /** authority must be the gov module address. */ + authority: string; +} +export interface MsgExecLegacyContentProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgExecLegacyContent'; + value: Uint8Array; +} +export type MsgExecLegacyContentEncoded = Omit & { + /** content is the proposal's content. */ content?: + | CommunityPoolSpendProposalProtoMsg + | CommunityPoolSpendProposalWithDepositProtoMsg + | TextProposalProtoMsg + | ParameterChangeProposalProtoMsg + | SoftwareUpgradeProposalProtoMsg + | CancelSoftwareUpgradeProposalProtoMsg + | StoreCodeProposalProtoMsg + | InstantiateContractProposalProtoMsg + | InstantiateContract2ProposalProtoMsg + | MigrateContractProposalProtoMsg + | SudoContractProposalProtoMsg + | ExecuteContractProposalProtoMsg + | UpdateAdminProposalProtoMsg + | ClearAdminProposalProtoMsg + | PinCodesProposalProtoMsg + | UnpinCodesProposalProtoMsg + | UpdateInstantiateConfigProposalProtoMsg + | StoreAndInstantiateContractProposalProtoMsg + | SpotMarketParamUpdateProposalProtoMsg + | BatchExchangeModificationProposalProtoMsg + | SpotMarketLaunchProposalProtoMsg + | PerpetualMarketLaunchProposalProtoMsg + | BinaryOptionsMarketLaunchProposalProtoMsg + | ExpiryFuturesMarketLaunchProposalProtoMsg + | DerivativeMarketParamUpdateProposalProtoMsg + | MarketForcedSettlementProposalProtoMsg + | UpdateDenomDecimalsProposalProtoMsg + | BinaryOptionsMarketParamUpdateProposalProtoMsg + | TradingRewardCampaignLaunchProposalProtoMsg + | TradingRewardCampaignUpdateProposalProtoMsg + | TradingRewardPendingPointsUpdateProposalProtoMsg + | FeeDiscountProposalProtoMsg + | BatchCommunityPoolSpendProposalProtoMsg + | AtomicMarketOrderFeeMultiplierScheduleProposalProtoMsg + | SetConfigProposalProtoMsg + | SetBatchConfigProposalProtoMsg + | GrantBandOraclePrivilegeProposalProtoMsg + | RevokeBandOraclePrivilegeProposalProtoMsg + | GrantPriceFeederPrivilegeProposalProtoMsg + | GrantProviderPrivilegeProposalProtoMsg + | RevokeProviderPrivilegeProposalProtoMsg + | RevokePriceFeederPrivilegeProposalProtoMsg + | AuthorizeBandOracleRequestProposalProtoMsg + | UpdateBandOracleRequestProposalProtoMsg + | EnableBandIBCProposalProtoMsg + | GrantStorkPublisherPrivilegeProposalProtoMsg + | RevokeStorkPublisherPrivilegeProposalProtoMsg + | ContractRegistrationRequestProposalProtoMsg + | BatchContractRegistrationRequestProposalProtoMsg + | BatchContractDeregistrationProposalProtoMsg + | ContractRegistrationRequestProtoMsg + | BatchStoreCodeProposalProtoMsg + | AnyProtoMsg + | undefined; +}; +/** + * MsgExecLegacyContent is used to wrap the legacy content field into a message. + * This ensures backwards compatibility with v1beta1.MsgSubmitProposal. + */ +export interface MsgExecLegacyContentAmino { + /** content is the proposal's content. */ + content?: AnyAmino; + /** authority must be the gov module address. */ + authority?: string; +} +export interface MsgExecLegacyContentAminoMsg { + type: 'cosmos-sdk/v1/MsgExecLegacyContent'; + value: MsgExecLegacyContentAmino; +} +/** + * MsgExecLegacyContent is used to wrap the legacy content field into a message. + * This ensures backwards compatibility with v1beta1.MsgSubmitProposal. + */ +export interface MsgExecLegacyContentSDKType { + content?: + | CommunityPoolSpendProposalSDKType + | CommunityPoolSpendProposalWithDepositSDKType + | TextProposalSDKType + | ParameterChangeProposalSDKType + | SoftwareUpgradeProposalSDKType + | CancelSoftwareUpgradeProposalSDKType + | StoreCodeProposalSDKType + | InstantiateContractProposalSDKType + | InstantiateContract2ProposalSDKType + | MigrateContractProposalSDKType + | SudoContractProposalSDKType + | ExecuteContractProposalSDKType + | UpdateAdminProposalSDKType + | ClearAdminProposalSDKType + | PinCodesProposalSDKType + | UnpinCodesProposalSDKType + | UpdateInstantiateConfigProposalSDKType + | StoreAndInstantiateContractProposalSDKType + | SpotMarketParamUpdateProposalSDKType + | BatchExchangeModificationProposalSDKType + | SpotMarketLaunchProposalSDKType + | PerpetualMarketLaunchProposalSDKType + | BinaryOptionsMarketLaunchProposalSDKType + | ExpiryFuturesMarketLaunchProposalSDKType + | DerivativeMarketParamUpdateProposalSDKType + | MarketForcedSettlementProposalSDKType + | UpdateDenomDecimalsProposalSDKType + | BinaryOptionsMarketParamUpdateProposalSDKType + | TradingRewardCampaignLaunchProposalSDKType + | TradingRewardCampaignUpdateProposalSDKType + | TradingRewardPendingPointsUpdateProposalSDKType + | FeeDiscountProposalSDKType + | BatchCommunityPoolSpendProposalSDKType + | AtomicMarketOrderFeeMultiplierScheduleProposalSDKType + | SetConfigProposalSDKType + | SetBatchConfigProposalSDKType + | GrantBandOraclePrivilegeProposalSDKType + | RevokeBandOraclePrivilegeProposalSDKType + | GrantPriceFeederPrivilegeProposalSDKType + | GrantProviderPrivilegeProposalSDKType + | RevokeProviderPrivilegeProposalSDKType + | RevokePriceFeederPrivilegeProposalSDKType + | AuthorizeBandOracleRequestProposalSDKType + | UpdateBandOracleRequestProposalSDKType + | EnableBandIBCProposalSDKType + | GrantStorkPublisherPrivilegeProposalSDKType + | RevokeStorkPublisherPrivilegeProposalSDKType + | ContractRegistrationRequestProposalSDKType + | BatchContractRegistrationRequestProposalSDKType + | BatchContractDeregistrationProposalSDKType + | ContractRegistrationRequestSDKType + | BatchStoreCodeProposalSDKType + | AnySDKType + | undefined; + authority: string; +} +/** MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type. */ +export interface MsgExecLegacyContentResponse {} +export interface MsgExecLegacyContentResponseProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgExecLegacyContentResponse'; + value: Uint8Array; +} +/** MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type. */ +export interface MsgExecLegacyContentResponseAmino {} +export interface MsgExecLegacyContentResponseAminoMsg { + type: 'cosmos-sdk/v1/MsgExecLegacyContentResponse'; + value: MsgExecLegacyContentResponseAmino; +} +/** MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type. */ +export interface MsgExecLegacyContentResponseSDKType {} +/** MsgVote defines a message to cast a vote. */ +export interface MsgVote { + /** proposal_id defines the unique id of the proposal. */ + proposalId: bigint; + /** voter is the voter address for the proposal. */ + voter: string; + /** option defines the vote option. */ + option: VoteOption; + /** metadata is any arbitrary metadata attached to the Vote. */ + metadata: string; +} +export interface MsgVoteProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgVote'; + value: Uint8Array; +} +/** MsgVote defines a message to cast a vote. */ +export interface MsgVoteAmino { + /** proposal_id defines the unique id of the proposal. */ + proposal_id: string; + /** voter is the voter address for the proposal. */ + voter?: string; + /** option defines the vote option. */ + option?: VoteOption; + /** metadata is any arbitrary metadata attached to the Vote. */ + metadata?: string; +} +export interface MsgVoteAminoMsg { + type: 'cosmos-sdk/v1/MsgVote'; + value: MsgVoteAmino; +} +/** MsgVote defines a message to cast a vote. */ +export interface MsgVoteSDKType { + proposal_id: bigint; + voter: string; + option: VoteOption; + metadata: string; +} +/** MsgVoteResponse defines the Msg/Vote response type. */ +export interface MsgVoteResponse {} +export interface MsgVoteResponseProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgVoteResponse'; + value: Uint8Array; +} +/** MsgVoteResponse defines the Msg/Vote response type. */ +export interface MsgVoteResponseAmino {} +export interface MsgVoteResponseAminoMsg { + type: 'cosmos-sdk/v1/MsgVoteResponse'; + value: MsgVoteResponseAmino; +} +/** MsgVoteResponse defines the Msg/Vote response type. */ +export interface MsgVoteResponseSDKType {} +/** MsgVoteWeighted defines a message to cast a vote. */ +export interface MsgVoteWeighted { + /** proposal_id defines the unique id of the proposal. */ + proposalId: bigint; + /** voter is the voter address for the proposal. */ + voter: string; + /** options defines the weighted vote options. */ + options: WeightedVoteOption[]; + /** metadata is any arbitrary metadata attached to the VoteWeighted. */ + metadata: string; +} +export interface MsgVoteWeightedProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgVoteWeighted'; + value: Uint8Array; +} +/** MsgVoteWeighted defines a message to cast a vote. */ +export interface MsgVoteWeightedAmino { + /** proposal_id defines the unique id of the proposal. */ + proposal_id: string; + /** voter is the voter address for the proposal. */ + voter?: string; + /** options defines the weighted vote options. */ + options?: WeightedVoteOptionAmino[]; + /** metadata is any arbitrary metadata attached to the VoteWeighted. */ + metadata?: string; +} +export interface MsgVoteWeightedAminoMsg { + type: 'cosmos-sdk/v1/MsgVoteWeighted'; + value: MsgVoteWeightedAmino; +} +/** MsgVoteWeighted defines a message to cast a vote. */ +export interface MsgVoteWeightedSDKType { + proposal_id: bigint; + voter: string; + options: WeightedVoteOptionSDKType[]; + metadata: string; +} +/** MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. */ +export interface MsgVoteWeightedResponse {} +export interface MsgVoteWeightedResponseProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgVoteWeightedResponse'; + value: Uint8Array; +} +/** MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. */ +export interface MsgVoteWeightedResponseAmino {} +export interface MsgVoteWeightedResponseAminoMsg { + type: 'cosmos-sdk/v1/MsgVoteWeightedResponse'; + value: MsgVoteWeightedResponseAmino; +} +/** MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. */ +export interface MsgVoteWeightedResponseSDKType {} +/** MsgDeposit defines a message to submit a deposit to an existing proposal. */ +export interface MsgDeposit { + /** proposal_id defines the unique id of the proposal. */ + proposalId: bigint; + /** depositor defines the deposit addresses from the proposals. */ + depositor: string; + /** amount to be deposited by depositor. */ + amount: Coin[]; +} +export interface MsgDepositProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgDeposit'; + value: Uint8Array; +} +/** MsgDeposit defines a message to submit a deposit to an existing proposal. */ +export interface MsgDepositAmino { + /** proposal_id defines the unique id of the proposal. */ + proposal_id: string; + /** depositor defines the deposit addresses from the proposals. */ + depositor?: string; + /** amount to be deposited by depositor. */ + amount: CoinAmino[]; +} +export interface MsgDepositAminoMsg { + type: 'cosmos-sdk/v1/MsgDeposit'; + value: MsgDepositAmino; +} +/** MsgDeposit defines a message to submit a deposit to an existing proposal. */ +export interface MsgDepositSDKType { + proposal_id: bigint; + depositor: string; + amount: CoinSDKType[]; +} +/** MsgDepositResponse defines the Msg/Deposit response type. */ +export interface MsgDepositResponse {} +export interface MsgDepositResponseProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgDepositResponse'; + value: Uint8Array; +} +/** MsgDepositResponse defines the Msg/Deposit response type. */ +export interface MsgDepositResponseAmino {} +export interface MsgDepositResponseAminoMsg { + type: 'cosmos-sdk/v1/MsgDepositResponse'; + value: MsgDepositResponseAmino; +} +/** MsgDepositResponse defines the Msg/Deposit response type. */ +export interface MsgDepositResponseSDKType {} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParams { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority: string; + /** + * params defines the x/gov parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params: Params; +} +export interface MsgUpdateParamsProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgUpdateParams'; + value: Uint8Array; +} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsAmino { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority?: string; + /** + * params defines the x/gov parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params: ParamsAmino; +} +export interface MsgUpdateParamsAminoMsg { + type: 'cosmos-sdk/x/gov/v1/MsgUpdateParams'; + value: MsgUpdateParamsAmino; +} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsSDKType { + authority: string; + params: ParamsSDKType; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponse {} +export interface MsgUpdateParamsResponseProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgUpdateParamsResponse'; + value: Uint8Array; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponseAmino {} +export interface MsgUpdateParamsResponseAminoMsg { + type: 'cosmos-sdk/v1/MsgUpdateParamsResponse'; + value: MsgUpdateParamsResponseAmino; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponseSDKType {} +/** + * MsgCancelProposal is the Msg/CancelProposal request type. + * + * Since: cosmos-sdk 0.50 + */ +export interface MsgCancelProposal { + /** proposal_id defines the unique id of the proposal. */ + proposalId: bigint; + /** proposer is the account address of the proposer. */ + proposer: string; +} +export interface MsgCancelProposalProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgCancelProposal'; + value: Uint8Array; +} +/** + * MsgCancelProposal is the Msg/CancelProposal request type. + * + * Since: cosmos-sdk 0.50 + */ +export interface MsgCancelProposalAmino { + /** proposal_id defines the unique id of the proposal. */ + proposal_id: string; + /** proposer is the account address of the proposer. */ + proposer?: string; +} +export interface MsgCancelProposalAminoMsg { + type: 'cosmos-sdk/v1/MsgCancelProposal'; + value: MsgCancelProposalAmino; +} +/** + * MsgCancelProposal is the Msg/CancelProposal request type. + * + * Since: cosmos-sdk 0.50 + */ +export interface MsgCancelProposalSDKType { + proposal_id: bigint; + proposer: string; +} +/** + * MsgCancelProposalResponse defines the response structure for executing a + * MsgCancelProposal message. + * + * Since: cosmos-sdk 0.50 + */ +export interface MsgCancelProposalResponse { + /** proposal_id defines the unique id of the proposal. */ + proposalId: bigint; + /** canceled_time is the time when proposal is canceled. */ + canceledTime: Date; + /** canceled_height defines the block height at which the proposal is canceled. */ + canceledHeight: bigint; +} +export interface MsgCancelProposalResponseProtoMsg { + typeUrl: '/cosmos.gov.v1.MsgCancelProposalResponse'; + value: Uint8Array; +} +/** + * MsgCancelProposalResponse defines the response structure for executing a + * MsgCancelProposal message. + * + * Since: cosmos-sdk 0.50 + */ +export interface MsgCancelProposalResponseAmino { + /** proposal_id defines the unique id of the proposal. */ + proposal_id: string; + /** canceled_time is the time when proposal is canceled. */ + canceled_time?: string; + /** canceled_height defines the block height at which the proposal is canceled. */ + canceled_height?: string; +} +export interface MsgCancelProposalResponseAminoMsg { + type: 'cosmos-sdk/v1/MsgCancelProposalResponse'; + value: MsgCancelProposalResponseAmino; +} +/** + * MsgCancelProposalResponse defines the response structure for executing a + * MsgCancelProposal message. + * + * Since: cosmos-sdk 0.50 + */ +export interface MsgCancelProposalResponseSDKType { + proposal_id: bigint; + canceled_time: Date; + canceled_height: bigint; +} +function createBaseMsgSubmitProposal(): MsgSubmitProposal { + return { + messages: [], + initialDeposit: [], + proposer: '', + metadata: '', + title: '', + summary: '', + expedited: false, + }; +} +export const MsgSubmitProposal = { + typeUrl: '/cosmos.gov.v1.MsgSubmitProposal', + encode(message: MsgSubmitProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.messages) { + Any.encode(v!, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.initialDeposit) { + Coin.encode(v!, writer.uint32(18).fork()).ldelim(); + } + if (message.proposer !== '') { + writer.uint32(26).string(message.proposer); + } + if (message.metadata !== '') { + writer.uint32(34).string(message.metadata); + } + if (message.title !== '') { + writer.uint32(42).string(message.title); + } + if (message.summary !== '') { + writer.uint32(50).string(message.summary); + } + if (message.expedited === true) { + writer.uint32(56).bool(message.expedited); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSubmitProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.messages.push(Any.decode(reader, reader.uint32())); + break; + case 2: + message.initialDeposit.push(Coin.decode(reader, reader.uint32())); + break; + case 3: + message.proposer = reader.string(); + break; + case 4: + message.metadata = reader.string(); + break; + case 5: + message.title = reader.string(); + break; + case 6: + message.summary = reader.string(); + break; + case 7: + message.expedited = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgSubmitProposal { + const message = createBaseMsgSubmitProposal(); + message.messages = object.messages?.map((e) => Any.fromPartial(e)) || []; + message.initialDeposit = object.initialDeposit?.map((e) => Coin.fromPartial(e)) || []; + message.proposer = object.proposer ?? ''; + message.metadata = object.metadata ?? ''; + message.title = object.title ?? ''; + message.summary = object.summary ?? ''; + message.expedited = object.expedited ?? false; + return message; + }, + fromAmino(object: MsgSubmitProposalAmino): MsgSubmitProposal { + const message = createBaseMsgSubmitProposal(); + message.messages = object.messages?.map((e) => Any.fromAmino(e)) || []; + message.initialDeposit = object.initial_deposit?.map((e) => Coin.fromAmino(e)) || []; + if (object.proposer !== undefined && object.proposer !== null) { + message.proposer = object.proposer; + } + if (object.metadata !== undefined && object.metadata !== null) { + message.metadata = object.metadata; + } + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.summary !== undefined && object.summary !== null) { + message.summary = object.summary; + } + if (object.expedited !== undefined && object.expedited !== null) { + message.expedited = object.expedited; + } + return message; + }, + toAmino(message: MsgSubmitProposal): MsgSubmitProposalAmino { + const obj: any = {}; + if (message.messages) { + obj.messages = message.messages.map((e) => (e ? Any.toAmino(e) : undefined)); + } else { + obj.messages = message.messages; + } + if (message.initialDeposit) { + obj.initial_deposit = message.initialDeposit.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.initial_deposit = message.initialDeposit; + } + obj.proposer = message.proposer === '' ? undefined : message.proposer; + obj.metadata = message.metadata === '' ? undefined : message.metadata; + obj.title = message.title === '' ? undefined : message.title; + obj.summary = message.summary === '' ? undefined : message.summary; + obj.expedited = message.expedited === false ? undefined : message.expedited; + return obj; + }, + fromAminoMsg(object: MsgSubmitProposalAminoMsg): MsgSubmitProposal { + return MsgSubmitProposal.fromAmino(object.value); + }, + toAminoMsg(message: MsgSubmitProposal): MsgSubmitProposalAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgSubmitProposal', + value: MsgSubmitProposal.toAmino(message), + }; + }, + fromProtoMsg(message: MsgSubmitProposalProtoMsg): MsgSubmitProposal { + return MsgSubmitProposal.decode(message.value); + }, + toProto(message: MsgSubmitProposal): Uint8Array { + return MsgSubmitProposal.encode(message).finish(); + }, + toProtoMsg(message: MsgSubmitProposal): MsgSubmitProposalProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgSubmitProposal', + value: MsgSubmitProposal.encode(message).finish(), + }; + }, +}; +function createBaseMsgSubmitProposalResponse(): MsgSubmitProposalResponse { + return { + proposalId: BigInt(0), + }; +} +export const MsgSubmitProposalResponse = { + typeUrl: '/cosmos.gov.v1.MsgSubmitProposalResponse', + encode(message: MsgSubmitProposalResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitProposalResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSubmitProposalResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgSubmitProposalResponse { + const message = createBaseMsgSubmitProposalResponse(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null ? BigInt(object.proposalId.toString()) : BigInt(0); + return message; + }, + fromAmino(object: MsgSubmitProposalResponseAmino): MsgSubmitProposalResponse { + const message = createBaseMsgSubmitProposalResponse(); + if (object.proposal_id !== undefined && object.proposal_id !== null) { + message.proposalId = BigInt(object.proposal_id); + } + return message; + }, + toAmino(message: MsgSubmitProposalResponse): MsgSubmitProposalResponseAmino { + const obj: any = {}; + obj.proposal_id = message.proposalId !== BigInt(0) ? (message.proposalId?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: MsgSubmitProposalResponseAminoMsg): MsgSubmitProposalResponse { + return MsgSubmitProposalResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgSubmitProposalResponse): MsgSubmitProposalResponseAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgSubmitProposalResponse', + value: MsgSubmitProposalResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgSubmitProposalResponseProtoMsg): MsgSubmitProposalResponse { + return MsgSubmitProposalResponse.decode(message.value); + }, + toProto(message: MsgSubmitProposalResponse): Uint8Array { + return MsgSubmitProposalResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgSubmitProposalResponse): MsgSubmitProposalResponseProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgSubmitProposalResponse', + value: MsgSubmitProposalResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgExecLegacyContent(): MsgExecLegacyContent { + return { + content: undefined, + authority: '', + }; +} +export const MsgExecLegacyContent = { + typeUrl: '/cosmos.gov.v1.MsgExecLegacyContent', + encode(message: MsgExecLegacyContent, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.content !== undefined) { + Any.encode(message.content as Any, writer.uint32(10).fork()).ldelim(); + } + if (message.authority !== '') { + writer.uint32(18).string(message.authority); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgExecLegacyContent { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecLegacyContent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.content = Cosmos_govv1beta1Content_InterfaceDecoder(reader) as Any; + break; + case 2: + message.authority = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgExecLegacyContent { + const message = createBaseMsgExecLegacyContent(); + message.content = + object.content !== undefined && object.content !== null ? Any.fromPartial(object.content) : undefined; + message.authority = object.authority ?? ''; + return message; + }, + fromAmino(object: MsgExecLegacyContentAmino): MsgExecLegacyContent { + const message = createBaseMsgExecLegacyContent(); + if (object.content !== undefined && object.content !== null) { + message.content = Cosmos_govv1beta1Content_FromAmino(object.content); + } + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + return message; + }, + toAmino(message: MsgExecLegacyContent): MsgExecLegacyContentAmino { + const obj: any = {}; + obj.content = message.content ? Cosmos_govv1beta1Content_ToAmino(message.content as Any) : undefined; + obj.authority = message.authority === '' ? undefined : message.authority; + return obj; + }, + fromAminoMsg(object: MsgExecLegacyContentAminoMsg): MsgExecLegacyContent { + return MsgExecLegacyContent.fromAmino(object.value); + }, + toAminoMsg(message: MsgExecLegacyContent): MsgExecLegacyContentAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgExecLegacyContent', + value: MsgExecLegacyContent.toAmino(message), + }; + }, + fromProtoMsg(message: MsgExecLegacyContentProtoMsg): MsgExecLegacyContent { + return MsgExecLegacyContent.decode(message.value); + }, + toProto(message: MsgExecLegacyContent): Uint8Array { + return MsgExecLegacyContent.encode(message).finish(); + }, + toProtoMsg(message: MsgExecLegacyContent): MsgExecLegacyContentProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgExecLegacyContent', + value: MsgExecLegacyContent.encode(message).finish(), + }; + }, +}; +function createBaseMsgExecLegacyContentResponse(): MsgExecLegacyContentResponse { + return {}; +} +export const MsgExecLegacyContentResponse = { + typeUrl: '/cosmos.gov.v1.MsgExecLegacyContentResponse', + encode(_: MsgExecLegacyContentResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgExecLegacyContentResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecLegacyContentResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgExecLegacyContentResponse { + const message = createBaseMsgExecLegacyContentResponse(); + return message; + }, + fromAmino(_: MsgExecLegacyContentResponseAmino): MsgExecLegacyContentResponse { + const message = createBaseMsgExecLegacyContentResponse(); + return message; + }, + toAmino(_: MsgExecLegacyContentResponse): MsgExecLegacyContentResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgExecLegacyContentResponseAminoMsg): MsgExecLegacyContentResponse { + return MsgExecLegacyContentResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgExecLegacyContentResponse): MsgExecLegacyContentResponseAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgExecLegacyContentResponse', + value: MsgExecLegacyContentResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgExecLegacyContentResponseProtoMsg): MsgExecLegacyContentResponse { + return MsgExecLegacyContentResponse.decode(message.value); + }, + toProto(message: MsgExecLegacyContentResponse): Uint8Array { + return MsgExecLegacyContentResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgExecLegacyContentResponse): MsgExecLegacyContentResponseProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgExecLegacyContentResponse', + value: MsgExecLegacyContentResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgVote(): MsgVote { + return { + proposalId: BigInt(0), + voter: '', + option: 0, + metadata: '', + }; +} +export const MsgVote = { + typeUrl: '/cosmos.gov.v1.MsgVote', + encode(message: MsgVote, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== '') { + writer.uint32(18).string(message.voter); + } + if (message.option !== 0) { + writer.uint32(24).int32(message.option); + } + if (message.metadata !== '') { + writer.uint32(34).string(message.metadata); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgVote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVote(); + while (reader.pos < end) { + const 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() as any; + break; + case 4: + message.metadata = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgVote { + const message = createBaseMsgVote(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null ? BigInt(object.proposalId.toString()) : BigInt(0); + message.voter = object.voter ?? ''; + message.option = object.option ?? 0; + message.metadata = object.metadata ?? ''; + return message; + }, + fromAmino(object: MsgVoteAmino): MsgVote { + const message = createBaseMsgVote(); + if (object.proposal_id !== undefined && object.proposal_id !== null) { + message.proposalId = BigInt(object.proposal_id); + } + if (object.voter !== undefined && object.voter !== null) { + message.voter = object.voter; + } + if (object.option !== undefined && object.option !== null) { + message.option = object.option; + } + if (object.metadata !== undefined && object.metadata !== null) { + message.metadata = object.metadata; + } + return message; + }, + toAmino(message: MsgVote): MsgVoteAmino { + const obj: any = {}; + obj.proposal_id = message.proposalId ? (message.proposalId?.toString)() : '0'; + obj.voter = message.voter === '' ? undefined : message.voter; + obj.option = message.option === 0 ? undefined : message.option; + obj.metadata = message.metadata === '' ? undefined : message.metadata; + return obj; + }, + fromAminoMsg(object: MsgVoteAminoMsg): MsgVote { + return MsgVote.fromAmino(object.value); + }, + toAminoMsg(message: MsgVote): MsgVoteAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgVote', + value: MsgVote.toAmino(message), + }; + }, + fromProtoMsg(message: MsgVoteProtoMsg): MsgVote { + return MsgVote.decode(message.value); + }, + toProto(message: MsgVote): Uint8Array { + return MsgVote.encode(message).finish(); + }, + toProtoMsg(message: MsgVote): MsgVoteProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgVote', + value: MsgVote.encode(message).finish(), + }; + }, +}; +function createBaseMsgVoteResponse(): MsgVoteResponse { + return {}; +} +export const MsgVoteResponse = { + typeUrl: '/cosmos.gov.v1.MsgVoteResponse', + encode(_: MsgVoteResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgVoteResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgVoteResponse { + const message = createBaseMsgVoteResponse(); + return message; + }, + fromAmino(_: MsgVoteResponseAmino): MsgVoteResponse { + const message = createBaseMsgVoteResponse(); + return message; + }, + toAmino(_: MsgVoteResponse): MsgVoteResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgVoteResponseAminoMsg): MsgVoteResponse { + return MsgVoteResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgVoteResponse): MsgVoteResponseAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgVoteResponse', + value: MsgVoteResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgVoteResponseProtoMsg): MsgVoteResponse { + return MsgVoteResponse.decode(message.value); + }, + toProto(message: MsgVoteResponse): Uint8Array { + return MsgVoteResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgVoteResponse): MsgVoteResponseProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgVoteResponse', + value: MsgVoteResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgVoteWeighted(): MsgVoteWeighted { + return { + proposalId: BigInt(0), + voter: '', + options: [], + metadata: '', + }; +} +export const MsgVoteWeighted = { + typeUrl: '/cosmos.gov.v1.MsgVoteWeighted', + encode(message: MsgVoteWeighted, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== '') { + writer.uint32(18).string(message.voter); + } + for (const v of message.options) { + WeightedVoteOption.encode(v!, writer.uint32(26).fork()).ldelim(); + } + if (message.metadata !== '') { + writer.uint32(34).string(message.metadata); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgVoteWeighted { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteWeighted(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.voter = reader.string(); + break; + case 3: + message.options.push(WeightedVoteOption.decode(reader, reader.uint32())); + break; + case 4: + message.metadata = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgVoteWeighted { + const message = createBaseMsgVoteWeighted(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null ? BigInt(object.proposalId.toString()) : BigInt(0); + message.voter = object.voter ?? ''; + message.options = object.options?.map((e) => WeightedVoteOption.fromPartial(e)) || []; + message.metadata = object.metadata ?? ''; + return message; + }, + fromAmino(object: MsgVoteWeightedAmino): MsgVoteWeighted { + const message = createBaseMsgVoteWeighted(); + if (object.proposal_id !== undefined && object.proposal_id !== null) { + message.proposalId = BigInt(object.proposal_id); + } + if (object.voter !== undefined && object.voter !== null) { + message.voter = object.voter; + } + message.options = object.options?.map((e) => WeightedVoteOption.fromAmino(e)) || []; + if (object.metadata !== undefined && object.metadata !== null) { + message.metadata = object.metadata; + } + return message; + }, + toAmino(message: MsgVoteWeighted): MsgVoteWeightedAmino { + const obj: any = {}; + obj.proposal_id = message.proposalId ? (message.proposalId?.toString)() : '0'; + obj.voter = message.voter === '' ? undefined : message.voter; + if (message.options) { + obj.options = message.options.map((e) => (e ? WeightedVoteOption.toAmino(e) : undefined)); + } else { + obj.options = message.options; + } + obj.metadata = message.metadata === '' ? undefined : message.metadata; + return obj; + }, + fromAminoMsg(object: MsgVoteWeightedAminoMsg): MsgVoteWeighted { + return MsgVoteWeighted.fromAmino(object.value); + }, + toAminoMsg(message: MsgVoteWeighted): MsgVoteWeightedAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgVoteWeighted', + value: MsgVoteWeighted.toAmino(message), + }; + }, + fromProtoMsg(message: MsgVoteWeightedProtoMsg): MsgVoteWeighted { + return MsgVoteWeighted.decode(message.value); + }, + toProto(message: MsgVoteWeighted): Uint8Array { + return MsgVoteWeighted.encode(message).finish(); + }, + toProtoMsg(message: MsgVoteWeighted): MsgVoteWeightedProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgVoteWeighted', + value: MsgVoteWeighted.encode(message).finish(), + }; + }, +}; +function createBaseMsgVoteWeightedResponse(): MsgVoteWeightedResponse { + return {}; +} +export const MsgVoteWeightedResponse = { + typeUrl: '/cosmos.gov.v1.MsgVoteWeightedResponse', + encode(_: MsgVoteWeightedResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgVoteWeightedResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgVoteWeightedResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgVoteWeightedResponse { + const message = createBaseMsgVoteWeightedResponse(); + return message; + }, + fromAmino(_: MsgVoteWeightedResponseAmino): MsgVoteWeightedResponse { + const message = createBaseMsgVoteWeightedResponse(); + return message; + }, + toAmino(_: MsgVoteWeightedResponse): MsgVoteWeightedResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgVoteWeightedResponseAminoMsg): MsgVoteWeightedResponse { + return MsgVoteWeightedResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgVoteWeightedResponse): MsgVoteWeightedResponseAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgVoteWeightedResponse', + value: MsgVoteWeightedResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgVoteWeightedResponseProtoMsg): MsgVoteWeightedResponse { + return MsgVoteWeightedResponse.decode(message.value); + }, + toProto(message: MsgVoteWeightedResponse): Uint8Array { + return MsgVoteWeightedResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgVoteWeightedResponse): MsgVoteWeightedResponseProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgVoteWeightedResponse', + value: MsgVoteWeightedResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgDeposit(): MsgDeposit { + return { + proposalId: BigInt(0), + depositor: '', + amount: [], + }; +} +export const MsgDeposit = { + typeUrl: '/cosmos.gov.v1.MsgDeposit', + encode(message: MsgDeposit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.depositor !== '') { + writer.uint32(18).string(message.depositor); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDeposit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.depositor = reader.string(); + break; + case 3: + message.amount.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgDeposit { + const message = createBaseMsgDeposit(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null ? BigInt(object.proposalId.toString()) : BigInt(0); + message.depositor = object.depositor ?? ''; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgDepositAmino): MsgDeposit { + const message = createBaseMsgDeposit(); + if (object.proposal_id !== undefined && object.proposal_id !== null) { + message.proposalId = BigInt(object.proposal_id); + } + if (object.depositor !== undefined && object.depositor !== null) { + message.depositor = object.depositor; + } + message.amount = object.amount?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgDeposit): MsgDepositAmino { + const obj: any = {}; + obj.proposal_id = message.proposalId ? (message.proposalId?.toString)() : '0'; + obj.depositor = message.depositor === '' ? undefined : message.depositor; + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amount = message.amount; + } + return obj; + }, + fromAminoMsg(object: MsgDepositAminoMsg): MsgDeposit { + return MsgDeposit.fromAmino(object.value); + }, + toAminoMsg(message: MsgDeposit): MsgDepositAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgDeposit', + value: MsgDeposit.toAmino(message), + }; + }, + fromProtoMsg(message: MsgDepositProtoMsg): MsgDeposit { + return MsgDeposit.decode(message.value); + }, + toProto(message: MsgDeposit): Uint8Array { + return MsgDeposit.encode(message).finish(); + }, + toProtoMsg(message: MsgDeposit): MsgDepositProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgDeposit', + value: MsgDeposit.encode(message).finish(), + }; + }, +}; +function createBaseMsgDepositResponse(): MsgDepositResponse { + return {}; +} +export const MsgDepositResponse = { + typeUrl: '/cosmos.gov.v1.MsgDepositResponse', + encode(_: MsgDepositResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDepositResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDepositResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgDepositResponse { + const message = createBaseMsgDepositResponse(); + return message; + }, + fromAmino(_: MsgDepositResponseAmino): MsgDepositResponse { + const message = createBaseMsgDepositResponse(); + return message; + }, + toAmino(_: MsgDepositResponse): MsgDepositResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgDepositResponseAminoMsg): MsgDepositResponse { + return MsgDepositResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgDepositResponse): MsgDepositResponseAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgDepositResponse', + value: MsgDepositResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgDepositResponseProtoMsg): MsgDepositResponse { + return MsgDepositResponse.decode(message.value); + }, + toProto(message: MsgDepositResponse): Uint8Array { + return MsgDepositResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgDepositResponse): MsgDepositResponseProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgDepositResponse', + value: MsgDepositResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParams(): MsgUpdateParams { + return { + authority: '', + params: Params.fromPartial({}), + }; +} +export const MsgUpdateParams = { + typeUrl: '/cosmos.gov.v1.MsgUpdateParams', + encode(message: MsgUpdateParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.params = Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + message.authority = object.authority ?? ''; + message.params = + object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, + fromAmino(object: MsgUpdateParamsAmino): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + if (object.params !== undefined && object.params !== null) { + message.params = Params.fromAmino(object.params); + } + return message; + }, + toAmino(message: MsgUpdateParams): MsgUpdateParamsAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + obj.params = message.params ? Params.toAmino(message.params) : Params.toAmino(Params.fromPartial({})); + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsAminoMsg): MsgUpdateParams { + return MsgUpdateParams.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateParams): MsgUpdateParamsAminoMsg { + return { + type: 'cosmos-sdk/x/gov/v1/MsgUpdateParams', + value: MsgUpdateParams.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateParamsProtoMsg): MsgUpdateParams { + return MsgUpdateParams.decode(message.value); + }, + toProto(message: MsgUpdateParams): Uint8Array { + return MsgUpdateParams.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParams): MsgUpdateParamsProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgUpdateParams', + value: MsgUpdateParams.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse { + return {}; +} +export const MsgUpdateParamsResponse = { + typeUrl: '/cosmos.gov.v1.MsgUpdateParamsResponse', + encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + fromAmino(_: MsgUpdateParamsResponseAmino): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + toAmino(_: MsgUpdateParamsResponse): MsgUpdateParamsResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsResponseAminoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgUpdateParamsResponse', + value: MsgUpdateParamsResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateParamsResponseProtoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.decode(message.value); + }, + toProto(message: MsgUpdateParamsResponse): Uint8Array { + return MsgUpdateParamsResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgUpdateParamsResponse', + value: MsgUpdateParamsResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgCancelProposal(): MsgCancelProposal { + return { + proposalId: BigInt(0), + proposer: '', + }; +} +export const MsgCancelProposal = { + typeUrl: '/cosmos.gov.v1.MsgCancelProposal', + encode(message: MsgCancelProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.proposer !== '') { + writer.uint32(18).string(message.proposer); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCancelProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.proposer = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCancelProposal { + const message = createBaseMsgCancelProposal(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null ? BigInt(object.proposalId.toString()) : BigInt(0); + message.proposer = object.proposer ?? ''; + return message; + }, + fromAmino(object: MsgCancelProposalAmino): MsgCancelProposal { + const message = createBaseMsgCancelProposal(); + if (object.proposal_id !== undefined && object.proposal_id !== null) { + message.proposalId = BigInt(object.proposal_id); + } + if (object.proposer !== undefined && object.proposer !== null) { + message.proposer = object.proposer; + } + return message; + }, + toAmino(message: MsgCancelProposal): MsgCancelProposalAmino { + const obj: any = {}; + obj.proposal_id = message.proposalId ? (message.proposalId?.toString)() : '0'; + obj.proposer = message.proposer === '' ? undefined : message.proposer; + return obj; + }, + fromAminoMsg(object: MsgCancelProposalAminoMsg): MsgCancelProposal { + return MsgCancelProposal.fromAmino(object.value); + }, + toAminoMsg(message: MsgCancelProposal): MsgCancelProposalAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgCancelProposal', + value: MsgCancelProposal.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCancelProposalProtoMsg): MsgCancelProposal { + return MsgCancelProposal.decode(message.value); + }, + toProto(message: MsgCancelProposal): Uint8Array { + return MsgCancelProposal.encode(message).finish(); + }, + toProtoMsg(message: MsgCancelProposal): MsgCancelProposalProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgCancelProposal', + value: MsgCancelProposal.encode(message).finish(), + }; + }, +}; +function createBaseMsgCancelProposalResponse(): MsgCancelProposalResponse { + return { + proposalId: BigInt(0), + canceledTime: new Date(), + canceledHeight: BigInt(0), + }; +} +export const MsgCancelProposalResponse = { + typeUrl: '/cosmos.gov.v1.MsgCancelProposalResponse', + encode(message: MsgCancelProposalResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.canceledTime !== undefined) { + Timestamp.encode(toTimestamp(message.canceledTime), writer.uint32(18).fork()).ldelim(); + } + if (message.canceledHeight !== BigInt(0)) { + writer.uint32(24).uint64(message.canceledHeight); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelProposalResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCancelProposalResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.canceledTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 3: + message.canceledHeight = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCancelProposalResponse { + const message = createBaseMsgCancelProposalResponse(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null ? BigInt(object.proposalId.toString()) : BigInt(0); + message.canceledTime = object.canceledTime ?? undefined; + message.canceledHeight = + object.canceledHeight !== undefined && object.canceledHeight !== null + ? BigInt(object.canceledHeight.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: MsgCancelProposalResponseAmino): MsgCancelProposalResponse { + const message = createBaseMsgCancelProposalResponse(); + if (object.proposal_id !== undefined && object.proposal_id !== null) { + message.proposalId = BigInt(object.proposal_id); + } + if (object.canceled_time !== undefined && object.canceled_time !== null) { + message.canceledTime = fromTimestamp(Timestamp.fromAmino(object.canceled_time)); + } + if (object.canceled_height !== undefined && object.canceled_height !== null) { + message.canceledHeight = BigInt(object.canceled_height); + } + return message; + }, + toAmino(message: MsgCancelProposalResponse): MsgCancelProposalResponseAmino { + const obj: any = {}; + obj.proposal_id = message.proposalId ? (message.proposalId?.toString)() : '0'; + obj.canceled_time = message.canceledTime ? Timestamp.toAmino(toTimestamp(message.canceledTime)) : undefined; + obj.canceled_height = message.canceledHeight !== BigInt(0) ? (message.canceledHeight?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: MsgCancelProposalResponseAminoMsg): MsgCancelProposalResponse { + return MsgCancelProposalResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgCancelProposalResponse): MsgCancelProposalResponseAminoMsg { + return { + type: 'cosmos-sdk/v1/MsgCancelProposalResponse', + value: MsgCancelProposalResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCancelProposalResponseProtoMsg): MsgCancelProposalResponse { + return MsgCancelProposalResponse.decode(message.value); + }, + toProto(message: MsgCancelProposalResponse): Uint8Array { + return MsgCancelProposalResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCancelProposalResponse): MsgCancelProposalResponseProtoMsg { + return { + typeUrl: '/cosmos.gov.v1.MsgCancelProposalResponse', + value: MsgCancelProposalResponse.encode(message).finish(), + }; + }, +}; +export const Cosmos_govv1beta1Content_InterfaceDecoder = ( + input: BinaryReader | Uint8Array, +): + | CommunityPoolSpendProposal + | CommunityPoolSpendProposalWithDeposit + | TextProposal + | ParameterChangeProposal + | SoftwareUpgradeProposal + | CancelSoftwareUpgradeProposal + | StoreCodeProposal + | InstantiateContractProposal + | InstantiateContract2Proposal + | MigrateContractProposal + | SudoContractProposal + | ExecuteContractProposal + | UpdateAdminProposal + | ClearAdminProposal + | PinCodesProposal + | UnpinCodesProposal + | UpdateInstantiateConfigProposal + | StoreAndInstantiateContractProposal + | SpotMarketParamUpdateProposal + | BatchExchangeModificationProposal + | SpotMarketLaunchProposal + | PerpetualMarketLaunchProposal + | BinaryOptionsMarketLaunchProposal + | ExpiryFuturesMarketLaunchProposal + | DerivativeMarketParamUpdateProposal + | MarketForcedSettlementProposal + | UpdateDenomDecimalsProposal + | BinaryOptionsMarketParamUpdateProposal + | TradingRewardCampaignLaunchProposal + | TradingRewardCampaignUpdateProposal + | TradingRewardPendingPointsUpdateProposal + | FeeDiscountProposal + | BatchCommunityPoolSpendProposal + | AtomicMarketOrderFeeMultiplierScheduleProposal + | SetConfigProposal + | SetBatchConfigProposal + | GrantBandOraclePrivilegeProposal + | RevokeBandOraclePrivilegeProposal + | GrantPriceFeederPrivilegeProposal + | GrantProviderPrivilegeProposal + | RevokeProviderPrivilegeProposal + | RevokePriceFeederPrivilegeProposal + | AuthorizeBandOracleRequestProposal + | UpdateBandOracleRequestProposal + | EnableBandIBCProposal + | GrantStorkPublisherPrivilegeProposal + | RevokeStorkPublisherPrivilegeProposal + | ContractRegistrationRequestProposal + | BatchContractRegistrationRequestProposal + | BatchContractDeregistrationProposal + | ContractRegistrationRequest + | BatchStoreCodeProposal + | Any => { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const data = Any.decode(reader, reader.uint32()); + switch (data.typeUrl) { + case '/cosmos.distribution.v1beta1.CommunityPoolSpendProposal': + return CommunityPoolSpendProposal.decode(data.value); + case '/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit': + return CommunityPoolSpendProposalWithDeposit.decode(data.value); + case '/cosmos.gov.v1beta1.TextProposal': + return TextProposal.decode(data.value); + case '/cosmos.params.v1beta1.ParameterChangeProposal': + return ParameterChangeProposal.decode(data.value); + case '/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal': + return SoftwareUpgradeProposal.decode(data.value); + case '/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal': + return CancelSoftwareUpgradeProposal.decode(data.value); + case '/cosmwasm.wasm.v1.StoreCodeProposal': + return StoreCodeProposal.decode(data.value); + case '/cosmwasm.wasm.v1.InstantiateContractProposal': + return InstantiateContractProposal.decode(data.value); + case '/cosmwasm.wasm.v1.InstantiateContract2Proposal': + return InstantiateContract2Proposal.decode(data.value); + case '/cosmwasm.wasm.v1.MigrateContractProposal': + return MigrateContractProposal.decode(data.value); + case '/cosmwasm.wasm.v1.SudoContractProposal': + return SudoContractProposal.decode(data.value); + case '/cosmwasm.wasm.v1.ExecuteContractProposal': + return ExecuteContractProposal.decode(data.value); + case '/cosmwasm.wasm.v1.UpdateAdminProposal': + return UpdateAdminProposal.decode(data.value); + case '/cosmwasm.wasm.v1.ClearAdminProposal': + return ClearAdminProposal.decode(data.value); + case '/cosmwasm.wasm.v1.PinCodesProposal': + return PinCodesProposal.decode(data.value); + case '/cosmwasm.wasm.v1.UnpinCodesProposal': + return UnpinCodesProposal.decode(data.value); + case '/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal': + return UpdateInstantiateConfigProposal.decode(data.value); + case '/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal': + return StoreAndInstantiateContractProposal.decode(data.value); + case '/injective.exchange.v1beta1.SpotMarketParamUpdateProposal': + return SpotMarketParamUpdateProposal.decode(data.value); + case '/injective.exchange.v1beta1.BatchExchangeModificationProposal': + return BatchExchangeModificationProposal.decode(data.value); + case '/injective.exchange.v1beta1.SpotMarketLaunchProposal': + return SpotMarketLaunchProposal.decode(data.value); + case '/injective.exchange.v1beta1.PerpetualMarketLaunchProposal': + return PerpetualMarketLaunchProposal.decode(data.value); + case '/injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal': + return BinaryOptionsMarketLaunchProposal.decode(data.value); + case '/injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal': + return ExpiryFuturesMarketLaunchProposal.decode(data.value); + case '/injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal': + return DerivativeMarketParamUpdateProposal.decode(data.value); + case '/injective.exchange.v1beta1.MarketForcedSettlementProposal': + return MarketForcedSettlementProposal.decode(data.value); + case '/injective.exchange.v1beta1.UpdateDenomDecimalsProposal': + return UpdateDenomDecimalsProposal.decode(data.value); + case '/injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal': + return BinaryOptionsMarketParamUpdateProposal.decode(data.value); + case '/injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal': + return TradingRewardCampaignLaunchProposal.decode(data.value); + case '/injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal': + return TradingRewardCampaignUpdateProposal.decode(data.value); + case '/injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal': + return TradingRewardPendingPointsUpdateProposal.decode(data.value); + case '/injective.exchange.v1beta1.FeeDiscountProposal': + return FeeDiscountProposal.decode(data.value); + case '/injective.exchange.v1beta1.BatchCommunityPoolSpendProposal': + return BatchCommunityPoolSpendProposal.decode(data.value); + case '/injective.exchange.v1beta1.AtomicMarketOrderFeeMultiplierScheduleProposal': + return AtomicMarketOrderFeeMultiplierScheduleProposal.decode(data.value); + case '/injective.ocr.v1beta1.SetConfigProposal': + return SetConfigProposal.decode(data.value); + case '/injective.ocr.v1beta1.SetBatchConfigProposal': + return SetBatchConfigProposal.decode(data.value); + case '/injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal': + return GrantBandOraclePrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal': + return RevokeBandOraclePrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.GrantPriceFeederPrivilegeProposal': + return GrantPriceFeederPrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.GrantProviderPrivilegeProposal': + return GrantProviderPrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.RevokeProviderPrivilegeProposal': + return RevokeProviderPrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.RevokePriceFeederPrivilegeProposal': + return RevokePriceFeederPrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal': + return AuthorizeBandOracleRequestProposal.decode(data.value); + case '/injective.oracle.v1beta1.UpdateBandOracleRequestProposal': + return UpdateBandOracleRequestProposal.decode(data.value); + case '/injective.oracle.v1beta1.EnableBandIBCProposal': + return EnableBandIBCProposal.decode(data.value); + case '/injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal': + return GrantStorkPublisherPrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal': + return RevokeStorkPublisherPrivilegeProposal.decode(data.value); + case '/injective.wasmx.v1.ContractRegistrationRequestProposal': + return ContractRegistrationRequestProposal.decode(data.value); + case '/injective.wasmx.v1.BatchContractRegistrationRequestProposal': + return BatchContractRegistrationRequestProposal.decode(data.value); + case '/injective.wasmx.v1.BatchContractDeregistrationProposal': + return BatchContractDeregistrationProposal.decode(data.value); + case '/injective.wasmx.v1.ContractRegistrationRequest': + return ContractRegistrationRequest.decode(data.value); + case '/injective.wasmx.v1.BatchStoreCodeProposal': + return BatchStoreCodeProposal.decode(data.value); + default: + return data; + } +}; +export const Cosmos_govv1beta1Content_FromAmino = (content: AnyAmino): Any => { + switch (content.type) { + case 'cosmos-sdk/v1/CommunityPoolSpendProposal': + return Any.fromPartial({ + typeUrl: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposal', + value: CommunityPoolSpendProposal.encode( + CommunityPoolSpendProposal.fromPartial(CommunityPoolSpendProposal.fromAmino(content.value)), + ).finish(), + }); + case 'cosmos-sdk/v1/CommunityPoolSpendProposalWithDeposit': + return Any.fromPartial({ + typeUrl: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit', + value: CommunityPoolSpendProposalWithDeposit.encode( + CommunityPoolSpendProposalWithDeposit.fromPartial( + CommunityPoolSpendProposalWithDeposit.fromAmino(content.value), + ), + ).finish(), + }); + case 'cosmos-sdk/TextProposal': + return Any.fromPartial({ + typeUrl: '/cosmos.gov.v1beta1.TextProposal', + value: TextProposal.encode(TextProposal.fromPartial(TextProposal.fromAmino(content.value))).finish(), + }); + case 'cosmos-sdk/ParameterChangeProposal': + return Any.fromPartial({ + typeUrl: '/cosmos.params.v1beta1.ParameterChangeProposal', + value: ParameterChangeProposal.encode( + ParameterChangeProposal.fromPartial(ParameterChangeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'cosmos-sdk/SoftwareUpgradeProposal': + return Any.fromPartial({ + typeUrl: '/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal', + value: SoftwareUpgradeProposal.encode( + SoftwareUpgradeProposal.fromPartial(SoftwareUpgradeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'cosmos-sdk/CancelSoftwareUpgradeProposal': + return Any.fromPartial({ + typeUrl: '/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal', + value: CancelSoftwareUpgradeProposal.encode( + CancelSoftwareUpgradeProposal.fromPartial(CancelSoftwareUpgradeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/StoreCodeProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.StoreCodeProposal', + value: StoreCodeProposal.encode( + StoreCodeProposal.fromPartial(StoreCodeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/InstantiateContractProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.InstantiateContractProposal', + value: InstantiateContractProposal.encode( + InstantiateContractProposal.fromPartial(InstantiateContractProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/InstantiateContract2Proposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.InstantiateContract2Proposal', + value: InstantiateContract2Proposal.encode( + InstantiateContract2Proposal.fromPartial(InstantiateContract2Proposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/MigrateContractProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.MigrateContractProposal', + value: MigrateContractProposal.encode( + MigrateContractProposal.fromPartial(MigrateContractProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/SudoContractProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.SudoContractProposal', + value: SudoContractProposal.encode( + SudoContractProposal.fromPartial(SudoContractProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/ExecuteContractProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.ExecuteContractProposal', + value: ExecuteContractProposal.encode( + ExecuteContractProposal.fromPartial(ExecuteContractProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/UpdateAdminProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.UpdateAdminProposal', + value: UpdateAdminProposal.encode( + UpdateAdminProposal.fromPartial(UpdateAdminProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/ClearAdminProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.ClearAdminProposal', + value: ClearAdminProposal.encode( + ClearAdminProposal.fromPartial(ClearAdminProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/PinCodesProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.PinCodesProposal', + value: PinCodesProposal.encode( + PinCodesProposal.fromPartial(PinCodesProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/UnpinCodesProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.UnpinCodesProposal', + value: UnpinCodesProposal.encode( + UnpinCodesProposal.fromPartial(UnpinCodesProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/UpdateInstantiateConfigProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal', + value: UpdateInstantiateConfigProposal.encode( + UpdateInstantiateConfigProposal.fromPartial(UpdateInstantiateConfigProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/StoreAndInstantiateContractProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal', + value: StoreAndInstantiateContractProposal.encode( + StoreAndInstantiateContractProposal.fromPartial(StoreAndInstantiateContractProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/SpotMarketParamUpdateProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.SpotMarketParamUpdateProposal', + value: SpotMarketParamUpdateProposal.encode( + SpotMarketParamUpdateProposal.fromPartial(SpotMarketParamUpdateProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/BatchExchangeModificationProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.BatchExchangeModificationProposal', + value: BatchExchangeModificationProposal.encode( + BatchExchangeModificationProposal.fromPartial(BatchExchangeModificationProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/SpotMarketLaunchProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.SpotMarketLaunchProposal', + value: SpotMarketLaunchProposal.encode( + SpotMarketLaunchProposal.fromPartial(SpotMarketLaunchProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/PerpetualMarketLaunchProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.PerpetualMarketLaunchProposal', + value: PerpetualMarketLaunchProposal.encode( + PerpetualMarketLaunchProposal.fromPartial(PerpetualMarketLaunchProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/BinaryOptionsMarketLaunchProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal', + value: BinaryOptionsMarketLaunchProposal.encode( + BinaryOptionsMarketLaunchProposal.fromPartial(BinaryOptionsMarketLaunchProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/ExpiryFuturesMarketLaunchProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal', + value: ExpiryFuturesMarketLaunchProposal.encode( + ExpiryFuturesMarketLaunchProposal.fromPartial(ExpiryFuturesMarketLaunchProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/DerivativeMarketParamUpdateProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal', + value: DerivativeMarketParamUpdateProposal.encode( + DerivativeMarketParamUpdateProposal.fromPartial(DerivativeMarketParamUpdateProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/MarketForcedSettlementProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.MarketForcedSettlementProposal', + value: MarketForcedSettlementProposal.encode( + MarketForcedSettlementProposal.fromPartial(MarketForcedSettlementProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/UpdateDenomDecimalsProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.UpdateDenomDecimalsProposal', + value: UpdateDenomDecimalsProposal.encode( + UpdateDenomDecimalsProposal.fromPartial(UpdateDenomDecimalsProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/BinaryOptionsMarketParamUpdateProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal', + value: BinaryOptionsMarketParamUpdateProposal.encode( + BinaryOptionsMarketParamUpdateProposal.fromPartial( + BinaryOptionsMarketParamUpdateProposal.fromAmino(content.value), + ), + ).finish(), + }); + case 'exchange/TradingRewardCampaignLaunchProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal', + value: TradingRewardCampaignLaunchProposal.encode( + TradingRewardCampaignLaunchProposal.fromPartial(TradingRewardCampaignLaunchProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/TradingRewardCampaignUpdateProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal', + value: TradingRewardCampaignUpdateProposal.encode( + TradingRewardCampaignUpdateProposal.fromPartial(TradingRewardCampaignUpdateProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/TradingRewardPendingPointsUpdateProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal', + value: TradingRewardPendingPointsUpdateProposal.encode( + TradingRewardPendingPointsUpdateProposal.fromPartial( + TradingRewardPendingPointsUpdateProposal.fromAmino(content.value), + ), + ).finish(), + }); + case 'exchange/FeeDiscountProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.FeeDiscountProposal', + value: FeeDiscountProposal.encode( + FeeDiscountProposal.fromPartial(FeeDiscountProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/BatchCommunityPoolSpendProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.BatchCommunityPoolSpendProposal', + value: BatchCommunityPoolSpendProposal.encode( + BatchCommunityPoolSpendProposal.fromPartial(BatchCommunityPoolSpendProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/AtomicMarketOrderFeeMultiplierScheduleProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.AtomicMarketOrderFeeMultiplierScheduleProposal', + value: AtomicMarketOrderFeeMultiplierScheduleProposal.encode( + AtomicMarketOrderFeeMultiplierScheduleProposal.fromPartial( + AtomicMarketOrderFeeMultiplierScheduleProposal.fromAmino(content.value), + ), + ).finish(), + }); + case 'ocr/SetConfigProposal': + return Any.fromPartial({ + typeUrl: '/injective.ocr.v1beta1.SetConfigProposal', + value: SetConfigProposal.encode( + SetConfigProposal.fromPartial(SetConfigProposal.fromAmino(content.value)), + ).finish(), + }); + case 'ocr/SetBatchConfigProposal': + return Any.fromPartial({ + typeUrl: '/injective.ocr.v1beta1.SetBatchConfigProposal', + value: SetBatchConfigProposal.encode( + SetBatchConfigProposal.fromPartial(SetBatchConfigProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/GrantBandOraclePrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal', + value: GrantBandOraclePrivilegeProposal.encode( + GrantBandOraclePrivilegeProposal.fromPartial(GrantBandOraclePrivilegeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/RevokeBandOraclePrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal', + value: RevokeBandOraclePrivilegeProposal.encode( + RevokeBandOraclePrivilegeProposal.fromPartial(RevokeBandOraclePrivilegeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/GrantPriceFeederPrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.GrantPriceFeederPrivilegeProposal', + value: GrantPriceFeederPrivilegeProposal.encode( + GrantPriceFeederPrivilegeProposal.fromPartial(GrantPriceFeederPrivilegeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/GrantProviderPrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.GrantProviderPrivilegeProposal', + value: GrantProviderPrivilegeProposal.encode( + GrantProviderPrivilegeProposal.fromPartial(GrantProviderPrivilegeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/RevokeProviderPrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.RevokeProviderPrivilegeProposal', + value: RevokeProviderPrivilegeProposal.encode( + RevokeProviderPrivilegeProposal.fromPartial(RevokeProviderPrivilegeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/RevokePriceFeederPrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.RevokePriceFeederPrivilegeProposal', + value: RevokePriceFeederPrivilegeProposal.encode( + RevokePriceFeederPrivilegeProposal.fromPartial(RevokePriceFeederPrivilegeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/AuthorizeBandOracleRequestProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal', + value: AuthorizeBandOracleRequestProposal.encode( + AuthorizeBandOracleRequestProposal.fromPartial(AuthorizeBandOracleRequestProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/UpdateBandOracleRequestProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.UpdateBandOracleRequestProposal', + value: UpdateBandOracleRequestProposal.encode( + UpdateBandOracleRequestProposal.fromPartial(UpdateBandOracleRequestProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/EnableBandIBCProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.EnableBandIBCProposal', + value: EnableBandIBCProposal.encode( + EnableBandIBCProposal.fromPartial(EnableBandIBCProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/GrantStorkPublisherPrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal', + value: GrantStorkPublisherPrivilegeProposal.encode( + GrantStorkPublisherPrivilegeProposal.fromPartial( + GrantStorkPublisherPrivilegeProposal.fromAmino(content.value), + ), + ).finish(), + }); + case 'oracle/RevokeStorkPublisherPrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal', + value: RevokeStorkPublisherPrivilegeProposal.encode( + RevokeStorkPublisherPrivilegeProposal.fromPartial( + RevokeStorkPublisherPrivilegeProposal.fromAmino(content.value), + ), + ).finish(), + }); + case 'wasmx/ContractRegistrationRequestProposal': + return Any.fromPartial({ + typeUrl: '/injective.wasmx.v1.ContractRegistrationRequestProposal', + value: ContractRegistrationRequestProposal.encode( + ContractRegistrationRequestProposal.fromPartial(ContractRegistrationRequestProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasmx/BatchContractRegistrationRequestProposal': + return Any.fromPartial({ + typeUrl: '/injective.wasmx.v1.BatchContractRegistrationRequestProposal', + value: BatchContractRegistrationRequestProposal.encode( + BatchContractRegistrationRequestProposal.fromPartial( + BatchContractRegistrationRequestProposal.fromAmino(content.value), + ), + ).finish(), + }); + case 'wasmx/BatchContractDeregistrationProposal': + return Any.fromPartial({ + typeUrl: '/injective.wasmx.v1.BatchContractDeregistrationProposal', + value: BatchContractDeregistrationProposal.encode( + BatchContractDeregistrationProposal.fromPartial(BatchContractDeregistrationProposal.fromAmino(content.value)), + ).finish(), + }); + case '/injective.wasmx.v1.ContractRegistrationRequest': + return Any.fromPartial({ + typeUrl: '/injective.wasmx.v1.ContractRegistrationRequest', + value: ContractRegistrationRequest.encode( + ContractRegistrationRequest.fromPartial(ContractRegistrationRequest.fromAmino(content.value)), + ).finish(), + }); + case 'wasmx/BatchStoreCodeProposal': + return Any.fromPartial({ + typeUrl: '/injective.wasmx.v1.BatchStoreCodeProposal', + value: BatchStoreCodeProposal.encode( + BatchStoreCodeProposal.fromPartial(BatchStoreCodeProposal.fromAmino(content.value)), + ).finish(), + }); + default: + return Any.fromAmino(content); + } +}; +export const Cosmos_govv1beta1Content_ToAmino = (content: Any) => { + switch (content.typeUrl) { + case '/cosmos.distribution.v1beta1.CommunityPoolSpendProposal': + return { + type: 'cosmos-sdk/v1/CommunityPoolSpendProposal', + value: CommunityPoolSpendProposal.toAmino(CommunityPoolSpendProposal.decode(content.value, undefined)), + }; + case '/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit': + return { + type: 'cosmos-sdk/v1/CommunityPoolSpendProposalWithDeposit', + value: CommunityPoolSpendProposalWithDeposit.toAmino( + CommunityPoolSpendProposalWithDeposit.decode(content.value, undefined), + ), + }; + case '/cosmos.gov.v1beta1.TextProposal': + return { + type: 'cosmos-sdk/TextProposal', + value: TextProposal.toAmino(TextProposal.decode(content.value, undefined)), + }; + case '/cosmos.params.v1beta1.ParameterChangeProposal': + return { + type: 'cosmos-sdk/ParameterChangeProposal', + value: ParameterChangeProposal.toAmino(ParameterChangeProposal.decode(content.value, undefined)), + }; + case '/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal': + return { + type: 'cosmos-sdk/SoftwareUpgradeProposal', + value: SoftwareUpgradeProposal.toAmino(SoftwareUpgradeProposal.decode(content.value, undefined)), + }; + case '/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal': + return { + type: 'cosmos-sdk/CancelSoftwareUpgradeProposal', + value: CancelSoftwareUpgradeProposal.toAmino(CancelSoftwareUpgradeProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.StoreCodeProposal': + return { + type: 'wasm/StoreCodeProposal', + value: StoreCodeProposal.toAmino(StoreCodeProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.InstantiateContractProposal': + return { + type: 'wasm/InstantiateContractProposal', + value: InstantiateContractProposal.toAmino(InstantiateContractProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.InstantiateContract2Proposal': + return { + type: 'wasm/InstantiateContract2Proposal', + value: InstantiateContract2Proposal.toAmino(InstantiateContract2Proposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.MigrateContractProposal': + return { + type: 'wasm/MigrateContractProposal', + value: MigrateContractProposal.toAmino(MigrateContractProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.SudoContractProposal': + return { + type: 'wasm/SudoContractProposal', + value: SudoContractProposal.toAmino(SudoContractProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.ExecuteContractProposal': + return { + type: 'wasm/ExecuteContractProposal', + value: ExecuteContractProposal.toAmino(ExecuteContractProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.UpdateAdminProposal': + return { + type: 'wasm/UpdateAdminProposal', + value: UpdateAdminProposal.toAmino(UpdateAdminProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.ClearAdminProposal': + return { + type: 'wasm/ClearAdminProposal', + value: ClearAdminProposal.toAmino(ClearAdminProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.PinCodesProposal': + return { + type: 'wasm/PinCodesProposal', + value: PinCodesProposal.toAmino(PinCodesProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.UnpinCodesProposal': + return { + type: 'wasm/UnpinCodesProposal', + value: UnpinCodesProposal.toAmino(UnpinCodesProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal': + return { + type: 'wasm/UpdateInstantiateConfigProposal', + value: UpdateInstantiateConfigProposal.toAmino( + UpdateInstantiateConfigProposal.decode(content.value, undefined), + ), + }; + case '/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal': + return { + type: 'wasm/StoreAndInstantiateContractProposal', + value: StoreAndInstantiateContractProposal.toAmino( + StoreAndInstantiateContractProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.SpotMarketParamUpdateProposal': + return { + type: 'exchange/SpotMarketParamUpdateProposal', + value: SpotMarketParamUpdateProposal.toAmino(SpotMarketParamUpdateProposal.decode(content.value, undefined)), + }; + case '/injective.exchange.v1beta1.BatchExchangeModificationProposal': + return { + type: 'exchange/BatchExchangeModificationProposal', + value: BatchExchangeModificationProposal.toAmino( + BatchExchangeModificationProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.SpotMarketLaunchProposal': + return { + type: 'exchange/SpotMarketLaunchProposal', + value: SpotMarketLaunchProposal.toAmino(SpotMarketLaunchProposal.decode(content.value, undefined)), + }; + case '/injective.exchange.v1beta1.PerpetualMarketLaunchProposal': + return { + type: 'exchange/PerpetualMarketLaunchProposal', + value: PerpetualMarketLaunchProposal.toAmino(PerpetualMarketLaunchProposal.decode(content.value, undefined)), + }; + case '/injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal': + return { + type: 'exchange/BinaryOptionsMarketLaunchProposal', + value: BinaryOptionsMarketLaunchProposal.toAmino( + BinaryOptionsMarketLaunchProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal': + return { + type: 'exchange/ExpiryFuturesMarketLaunchProposal', + value: ExpiryFuturesMarketLaunchProposal.toAmino( + ExpiryFuturesMarketLaunchProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal': + return { + type: 'exchange/DerivativeMarketParamUpdateProposal', + value: DerivativeMarketParamUpdateProposal.toAmino( + DerivativeMarketParamUpdateProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.MarketForcedSettlementProposal': + return { + type: 'exchange/MarketForcedSettlementProposal', + value: MarketForcedSettlementProposal.toAmino(MarketForcedSettlementProposal.decode(content.value, undefined)), + }; + case '/injective.exchange.v1beta1.UpdateDenomDecimalsProposal': + return { + type: 'exchange/UpdateDenomDecimalsProposal', + value: UpdateDenomDecimalsProposal.toAmino(UpdateDenomDecimalsProposal.decode(content.value, undefined)), + }; + case '/injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal': + return { + type: 'exchange/BinaryOptionsMarketParamUpdateProposal', + value: BinaryOptionsMarketParamUpdateProposal.toAmino( + BinaryOptionsMarketParamUpdateProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal': + return { + type: 'exchange/TradingRewardCampaignLaunchProposal', + value: TradingRewardCampaignLaunchProposal.toAmino( + TradingRewardCampaignLaunchProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal': + return { + type: 'exchange/TradingRewardCampaignUpdateProposal', + value: TradingRewardCampaignUpdateProposal.toAmino( + TradingRewardCampaignUpdateProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal': + return { + type: 'exchange/TradingRewardPendingPointsUpdateProposal', + value: TradingRewardPendingPointsUpdateProposal.toAmino( + TradingRewardPendingPointsUpdateProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.FeeDiscountProposal': + return { + type: 'exchange/FeeDiscountProposal', + value: FeeDiscountProposal.toAmino(FeeDiscountProposal.decode(content.value, undefined)), + }; + case '/injective.exchange.v1beta1.BatchCommunityPoolSpendProposal': + return { + type: 'exchange/BatchCommunityPoolSpendProposal', + value: BatchCommunityPoolSpendProposal.toAmino( + BatchCommunityPoolSpendProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.AtomicMarketOrderFeeMultiplierScheduleProposal': + return { + type: 'exchange/AtomicMarketOrderFeeMultiplierScheduleProposal', + value: AtomicMarketOrderFeeMultiplierScheduleProposal.toAmino( + AtomicMarketOrderFeeMultiplierScheduleProposal.decode(content.value, undefined), + ), + }; + case '/injective.ocr.v1beta1.SetConfigProposal': + return { + type: 'ocr/SetConfigProposal', + value: SetConfigProposal.toAmino(SetConfigProposal.decode(content.value, undefined)), + }; + case '/injective.ocr.v1beta1.SetBatchConfigProposal': + return { + type: 'ocr/SetBatchConfigProposal', + value: SetBatchConfigProposal.toAmino(SetBatchConfigProposal.decode(content.value, undefined)), + }; + case '/injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal': + return { + type: 'oracle/GrantBandOraclePrivilegeProposal', + value: GrantBandOraclePrivilegeProposal.toAmino( + GrantBandOraclePrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal': + return { + type: 'oracle/RevokeBandOraclePrivilegeProposal', + value: RevokeBandOraclePrivilegeProposal.toAmino( + RevokeBandOraclePrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.GrantPriceFeederPrivilegeProposal': + return { + type: 'oracle/GrantPriceFeederPrivilegeProposal', + value: GrantPriceFeederPrivilegeProposal.toAmino( + GrantPriceFeederPrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.GrantProviderPrivilegeProposal': + return { + type: 'oracle/GrantProviderPrivilegeProposal', + value: GrantProviderPrivilegeProposal.toAmino(GrantProviderPrivilegeProposal.decode(content.value, undefined)), + }; + case '/injective.oracle.v1beta1.RevokeProviderPrivilegeProposal': + return { + type: 'oracle/RevokeProviderPrivilegeProposal', + value: RevokeProviderPrivilegeProposal.toAmino( + RevokeProviderPrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.RevokePriceFeederPrivilegeProposal': + return { + type: 'oracle/RevokePriceFeederPrivilegeProposal', + value: RevokePriceFeederPrivilegeProposal.toAmino( + RevokePriceFeederPrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal': + return { + type: 'oracle/AuthorizeBandOracleRequestProposal', + value: AuthorizeBandOracleRequestProposal.toAmino( + AuthorizeBandOracleRequestProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.UpdateBandOracleRequestProposal': + return { + type: 'oracle/UpdateBandOracleRequestProposal', + value: UpdateBandOracleRequestProposal.toAmino( + UpdateBandOracleRequestProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.EnableBandIBCProposal': + return { + type: 'oracle/EnableBandIBCProposal', + value: EnableBandIBCProposal.toAmino(EnableBandIBCProposal.decode(content.value, undefined)), + }; + case '/injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal': + return { + type: 'oracle/GrantStorkPublisherPrivilegeProposal', + value: GrantStorkPublisherPrivilegeProposal.toAmino( + GrantStorkPublisherPrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal': + return { + type: 'oracle/RevokeStorkPublisherPrivilegeProposal', + value: RevokeStorkPublisherPrivilegeProposal.toAmino( + RevokeStorkPublisherPrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.wasmx.v1.ContractRegistrationRequestProposal': + return { + type: 'wasmx/ContractRegistrationRequestProposal', + value: ContractRegistrationRequestProposal.toAmino( + ContractRegistrationRequestProposal.decode(content.value, undefined), + ), + }; + case '/injective.wasmx.v1.BatchContractRegistrationRequestProposal': + return { + type: 'wasmx/BatchContractRegistrationRequestProposal', + value: BatchContractRegistrationRequestProposal.toAmino( + BatchContractRegistrationRequestProposal.decode(content.value, undefined), + ), + }; + case '/injective.wasmx.v1.BatchContractDeregistrationProposal': + return { + type: 'wasmx/BatchContractDeregistrationProposal', + value: BatchContractDeregistrationProposal.toAmino( + BatchContractDeregistrationProposal.decode(content.value, undefined), + ), + }; + case '/injective.wasmx.v1.ContractRegistrationRequest': + return { + type: '/injective.wasmx.v1.ContractRegistrationRequest', + value: ContractRegistrationRequest.toAmino(ContractRegistrationRequest.decode(content.value, undefined)), + }; + case '/injective.wasmx.v1.BatchStoreCodeProposal': + return { + type: 'wasmx/BatchStoreCodeProposal', + value: BatchStoreCodeProposal.toAmino(BatchStoreCodeProposal.decode(content.value, undefined)), + }; + default: + return Any.toAmino(content); + } +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/gov/v1beta1/gov.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/gov/v1beta1/gov.ts new file mode 100644 index 00000000..ae8162f3 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/gov/v1beta1/gov.ts @@ -0,0 +1,2632 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Decimal } from '@cosmjs/math'; +import { Any, AnyAmino, AnyProtoMsg, AnySDKType } from 'cosmjs-types/google/protobuf/any'; +import { Duration, DurationAmino, DurationSDKType } from 'cosmjs-types/google/protobuf/duration'; +import { Timestamp } from 'cosmjs-types/google/protobuf/timestamp'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64, fromTimestamp, toTimestamp } from '../../../../../helpers'; +import { + ClearAdminProposal, + ClearAdminProposalProtoMsg, + ClearAdminProposalSDKType, + ExecuteContractProposal, + ExecuteContractProposalProtoMsg, + ExecuteContractProposalSDKType, + InstantiateContract2Proposal, + InstantiateContract2ProposalProtoMsg, + InstantiateContract2ProposalSDKType, + InstantiateContractProposal, + InstantiateContractProposalProtoMsg, + InstantiateContractProposalSDKType, + MigrateContractProposal, + MigrateContractProposalProtoMsg, + MigrateContractProposalSDKType, + PinCodesProposal, + PinCodesProposalProtoMsg, + PinCodesProposalSDKType, + StoreAndInstantiateContractProposal, + StoreAndInstantiateContractProposalProtoMsg, + StoreAndInstantiateContractProposalSDKType, + StoreCodeProposal, + StoreCodeProposalProtoMsg, + StoreCodeProposalSDKType, + SudoContractProposal, + SudoContractProposalProtoMsg, + SudoContractProposalSDKType, + UnpinCodesProposal, + UnpinCodesProposalProtoMsg, + UnpinCodesProposalSDKType, + UpdateAdminProposal, + UpdateAdminProposalProtoMsg, + UpdateAdminProposalSDKType, + UpdateInstantiateConfigProposal, + UpdateInstantiateConfigProposalProtoMsg, + UpdateInstantiateConfigProposalSDKType, +} from '../../../cosmwasm/wasm/v1/proposal_legacy'; +import { + AtomicMarketOrderFeeMultiplierScheduleProposal, + AtomicMarketOrderFeeMultiplierScheduleProposalProtoMsg, + AtomicMarketOrderFeeMultiplierScheduleProposalSDKType, + BatchCommunityPoolSpendProposal, + BatchCommunityPoolSpendProposalProtoMsg, + BatchCommunityPoolSpendProposalSDKType, + BatchExchangeModificationProposal, + BatchExchangeModificationProposalProtoMsg, + BatchExchangeModificationProposalSDKType, + BinaryOptionsMarketLaunchProposal, + BinaryOptionsMarketLaunchProposalProtoMsg, + BinaryOptionsMarketLaunchProposalSDKType, + BinaryOptionsMarketParamUpdateProposal, + BinaryOptionsMarketParamUpdateProposalProtoMsg, + BinaryOptionsMarketParamUpdateProposalSDKType, + DerivativeMarketParamUpdateProposal, + DerivativeMarketParamUpdateProposalProtoMsg, + DerivativeMarketParamUpdateProposalSDKType, + ExpiryFuturesMarketLaunchProposal, + ExpiryFuturesMarketLaunchProposalProtoMsg, + ExpiryFuturesMarketLaunchProposalSDKType, + FeeDiscountProposal, + FeeDiscountProposalProtoMsg, + FeeDiscountProposalSDKType, + MarketForcedSettlementProposal, + MarketForcedSettlementProposalProtoMsg, + MarketForcedSettlementProposalSDKType, + PerpetualMarketLaunchProposal, + PerpetualMarketLaunchProposalProtoMsg, + PerpetualMarketLaunchProposalSDKType, + SpotMarketLaunchProposal, + SpotMarketLaunchProposalProtoMsg, + SpotMarketLaunchProposalSDKType, + SpotMarketParamUpdateProposal, + SpotMarketParamUpdateProposalProtoMsg, + SpotMarketParamUpdateProposalSDKType, + TradingRewardCampaignLaunchProposal, + TradingRewardCampaignLaunchProposalProtoMsg, + TradingRewardCampaignLaunchProposalSDKType, + TradingRewardCampaignUpdateProposal, + TradingRewardCampaignUpdateProposalProtoMsg, + TradingRewardCampaignUpdateProposalSDKType, + TradingRewardPendingPointsUpdateProposal, + TradingRewardPendingPointsUpdateProposalProtoMsg, + TradingRewardPendingPointsUpdateProposalSDKType, + UpdateDenomDecimalsProposal, + UpdateDenomDecimalsProposalProtoMsg, + UpdateDenomDecimalsProposalSDKType, +} from '../../../injective/exchange/v1beta1/proposal'; +import { + SetBatchConfigProposal, + SetBatchConfigProposalProtoMsg, + SetBatchConfigProposalSDKType, + SetConfigProposal, + SetConfigProposalProtoMsg, + SetConfigProposalSDKType, +} from '../../../injective/ocr/v1beta1/ocr'; +import { + AuthorizeBandOracleRequestProposal, + AuthorizeBandOracleRequestProposalProtoMsg, + AuthorizeBandOracleRequestProposalSDKType, + EnableBandIBCProposal, + EnableBandIBCProposalProtoMsg, + EnableBandIBCProposalSDKType, + GrantBandOraclePrivilegeProposal, + GrantBandOraclePrivilegeProposalProtoMsg, + GrantBandOraclePrivilegeProposalSDKType, + GrantPriceFeederPrivilegeProposal, + GrantPriceFeederPrivilegeProposalProtoMsg, + GrantPriceFeederPrivilegeProposalSDKType, + GrantProviderPrivilegeProposal, + GrantProviderPrivilegeProposalProtoMsg, + GrantProviderPrivilegeProposalSDKType, + GrantStorkPublisherPrivilegeProposal, + GrantStorkPublisherPrivilegeProposalProtoMsg, + GrantStorkPublisherPrivilegeProposalSDKType, + RevokeBandOraclePrivilegeProposal, + RevokeBandOraclePrivilegeProposalProtoMsg, + RevokeBandOraclePrivilegeProposalSDKType, + RevokePriceFeederPrivilegeProposal, + RevokePriceFeederPrivilegeProposalProtoMsg, + RevokePriceFeederPrivilegeProposalSDKType, + RevokeProviderPrivilegeProposal, + RevokeProviderPrivilegeProposalProtoMsg, + RevokeProviderPrivilegeProposalSDKType, + RevokeStorkPublisherPrivilegeProposal, + RevokeStorkPublisherPrivilegeProposalProtoMsg, + RevokeStorkPublisherPrivilegeProposalSDKType, + UpdateBandOracleRequestProposal, + UpdateBandOracleRequestProposalProtoMsg, + UpdateBandOracleRequestProposalSDKType, +} from '../../../injective/oracle/v1beta1/proposal'; +import { + BatchContractDeregistrationProposal, + BatchContractDeregistrationProposalProtoMsg, + BatchContractDeregistrationProposalSDKType, + BatchContractRegistrationRequestProposal, + BatchContractRegistrationRequestProposalProtoMsg, + BatchContractRegistrationRequestProposalSDKType, + BatchStoreCodeProposal, + BatchStoreCodeProposalProtoMsg, + BatchStoreCodeProposalSDKType, + ContractRegistrationRequest, + ContractRegistrationRequestProposal, + ContractRegistrationRequestProposalProtoMsg, + ContractRegistrationRequestProposalSDKType, + ContractRegistrationRequestProtoMsg, + ContractRegistrationRequestSDKType, +} from '../../../injective/wasmx/v1/proposal'; +import { Coin, CoinAmino, CoinSDKType } from '../../base/v1beta1/coin'; +import { + CommunityPoolSpendProposal, + CommunityPoolSpendProposalProtoMsg, + CommunityPoolSpendProposalSDKType, + CommunityPoolSpendProposalWithDeposit, + CommunityPoolSpendProposalWithDepositProtoMsg, + CommunityPoolSpendProposalWithDepositSDKType, +} from '../../distribution/v1beta1/distribution'; +import { + ParameterChangeProposal, + ParameterChangeProposalProtoMsg, + ParameterChangeProposalSDKType, +} from '../../params/v1beta1/params'; +import { + CancelSoftwareUpgradeProposal, + CancelSoftwareUpgradeProposalProtoMsg, + CancelSoftwareUpgradeProposalSDKType, + SoftwareUpgradeProposal, + SoftwareUpgradeProposalProtoMsg, + SoftwareUpgradeProposalSDKType, +} from '../../upgrade/v1beta1/upgrade'; +/** VoteOption enumerates the valid vote options for a given governance proposal. */ +export enum VoteOption { + /** VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines a no-op vote option. */ + VOTE_OPTION_UNSPECIFIED = 0, + /** VOTE_OPTION_YES - VOTE_OPTION_YES defines a yes vote option. */ + VOTE_OPTION_YES = 1, + /** VOTE_OPTION_ABSTAIN - VOTE_OPTION_ABSTAIN defines an abstain vote option. */ + VOTE_OPTION_ABSTAIN = 2, + /** VOTE_OPTION_NO - VOTE_OPTION_NO defines a no vote option. */ + VOTE_OPTION_NO = 3, + /** VOTE_OPTION_NO_WITH_VETO - VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. */ + VOTE_OPTION_NO_WITH_VETO = 4, + UNRECOGNIZED = -1, +} +export const VoteOptionSDKType = VoteOption; +export const VoteOptionAmino = VoteOption; +export function voteOptionFromJSON(object: any): VoteOption { + switch (object) { + case 0: + case 'VOTE_OPTION_UNSPECIFIED': + return VoteOption.VOTE_OPTION_UNSPECIFIED; + case 1: + case 'VOTE_OPTION_YES': + return VoteOption.VOTE_OPTION_YES; + case 2: + case 'VOTE_OPTION_ABSTAIN': + return VoteOption.VOTE_OPTION_ABSTAIN; + case 3: + case 'VOTE_OPTION_NO': + return VoteOption.VOTE_OPTION_NO; + case 4: + case 'VOTE_OPTION_NO_WITH_VETO': + return VoteOption.VOTE_OPTION_NO_WITH_VETO; + case -1: + case 'UNRECOGNIZED': + default: + return VoteOption.UNRECOGNIZED; + } +} +export function voteOptionToJSON(object: VoteOption): string { + switch (object) { + case VoteOption.VOTE_OPTION_UNSPECIFIED: + return 'VOTE_OPTION_UNSPECIFIED'; + case VoteOption.VOTE_OPTION_YES: + return 'VOTE_OPTION_YES'; + case VoteOption.VOTE_OPTION_ABSTAIN: + return 'VOTE_OPTION_ABSTAIN'; + case VoteOption.VOTE_OPTION_NO: + return 'VOTE_OPTION_NO'; + case VoteOption.VOTE_OPTION_NO_WITH_VETO: + return 'VOTE_OPTION_NO_WITH_VETO'; + case VoteOption.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** ProposalStatus enumerates the valid statuses of a proposal. */ +export enum ProposalStatus { + /** PROPOSAL_STATUS_UNSPECIFIED - PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. */ + PROPOSAL_STATUS_UNSPECIFIED = 0, + /** + * PROPOSAL_STATUS_DEPOSIT_PERIOD - PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + * period. + */ + PROPOSAL_STATUS_DEPOSIT_PERIOD = 1, + /** + * PROPOSAL_STATUS_VOTING_PERIOD - PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + * period. + */ + PROPOSAL_STATUS_VOTING_PERIOD = 2, + /** + * PROPOSAL_STATUS_PASSED - PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + * passed. + */ + PROPOSAL_STATUS_PASSED = 3, + /** + * PROPOSAL_STATUS_REJECTED - PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + * been rejected. + */ + PROPOSAL_STATUS_REJECTED = 4, + /** + * PROPOSAL_STATUS_FAILED - PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + * failed. + */ + PROPOSAL_STATUS_FAILED = 5, + UNRECOGNIZED = -1, +} +export const ProposalStatusSDKType = ProposalStatus; +export const ProposalStatusAmino = ProposalStatus; +export function proposalStatusFromJSON(object: any): ProposalStatus { + switch (object) { + case 0: + case 'PROPOSAL_STATUS_UNSPECIFIED': + return ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED; + case 1: + case 'PROPOSAL_STATUS_DEPOSIT_PERIOD': + return ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD; + case 2: + case 'PROPOSAL_STATUS_VOTING_PERIOD': + return ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD; + case 3: + case 'PROPOSAL_STATUS_PASSED': + return ProposalStatus.PROPOSAL_STATUS_PASSED; + case 4: + case 'PROPOSAL_STATUS_REJECTED': + return ProposalStatus.PROPOSAL_STATUS_REJECTED; + case 5: + case 'PROPOSAL_STATUS_FAILED': + return ProposalStatus.PROPOSAL_STATUS_FAILED; + case -1: + case 'UNRECOGNIZED': + default: + return ProposalStatus.UNRECOGNIZED; + } +} +export function proposalStatusToJSON(object: ProposalStatus): string { + switch (object) { + case ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED: + return 'PROPOSAL_STATUS_UNSPECIFIED'; + case ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD: + return 'PROPOSAL_STATUS_DEPOSIT_PERIOD'; + case ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD: + return 'PROPOSAL_STATUS_VOTING_PERIOD'; + case ProposalStatus.PROPOSAL_STATUS_PASSED: + return 'PROPOSAL_STATUS_PASSED'; + case ProposalStatus.PROPOSAL_STATUS_REJECTED: + return 'PROPOSAL_STATUS_REJECTED'; + case ProposalStatus.PROPOSAL_STATUS_FAILED: + return 'PROPOSAL_STATUS_FAILED'; + case ProposalStatus.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** + * WeightedVoteOption defines a unit of vote for vote split. + * + * Since: cosmos-sdk 0.43 + */ +export interface WeightedVoteOption { + /** option defines the valid vote options, it must not contain duplicate vote options. */ + option: VoteOption; + /** weight is the vote weight associated with the vote option. */ + weight: string; +} +export interface WeightedVoteOptionProtoMsg { + typeUrl: '/cosmos.gov.v1beta1.WeightedVoteOption'; + value: Uint8Array; +} +/** + * WeightedVoteOption defines a unit of vote for vote split. + * + * Since: cosmos-sdk 0.43 + */ +export interface WeightedVoteOptionAmino { + /** option defines the valid vote options, it must not contain duplicate vote options. */ + option?: VoteOption; + /** weight is the vote weight associated with the vote option. */ + weight: string; +} +export interface WeightedVoteOptionAminoMsg { + type: 'cosmos-sdk/WeightedVoteOption'; + value: WeightedVoteOptionAmino; +} +/** + * WeightedVoteOption defines a unit of vote for vote split. + * + * Since: cosmos-sdk 0.43 + */ +export interface WeightedVoteOptionSDKType { + option: VoteOption; + weight: string; +} +/** + * TextProposal defines a standard text proposal whose changes need to be + * manually updated in case of approval. + */ +export interface TextProposal { + $typeUrl?: '/cosmos.gov.v1beta1.TextProposal'; + /** title of the proposal. */ + title: string; + /** description associated with the proposal. */ + description: string; +} +export interface TextProposalProtoMsg { + typeUrl: '/cosmos.gov.v1beta1.TextProposal'; + value: Uint8Array; +} +/** + * TextProposal defines a standard text proposal whose changes need to be + * manually updated in case of approval. + */ +export interface TextProposalAmino { + /** title of the proposal. */ + title?: string; + /** description associated with the proposal. */ + description?: string; +} +export interface TextProposalAminoMsg { + type: 'cosmos-sdk/TextProposal'; + value: TextProposalAmino; +} +/** + * TextProposal defines a standard text proposal whose changes need to be + * manually updated in case of approval. + */ +export interface TextProposalSDKType { + $typeUrl?: '/cosmos.gov.v1beta1.TextProposal'; + title: string; + description: string; +} +/** + * Deposit defines an amount deposited by an account address to an active + * proposal. + */ +export interface Deposit { + /** proposal_id defines the unique id of the proposal. */ + proposalId: bigint; + /** depositor defines the deposit addresses from the proposals. */ + depositor: string; + /** amount to be deposited by depositor. */ + amount: Coin[]; +} +export interface DepositProtoMsg { + typeUrl: '/cosmos.gov.v1beta1.Deposit'; + value: Uint8Array; +} +/** + * Deposit defines an amount deposited by an account address to an active + * proposal. + */ +export interface DepositAmino { + /** proposal_id defines the unique id of the proposal. */ + proposal_id?: string; + /** depositor defines the deposit addresses from the proposals. */ + depositor?: string; + /** amount to be deposited by depositor. */ + amount: CoinAmino[]; +} +export interface DepositAminoMsg { + type: 'cosmos-sdk/Deposit'; + value: DepositAmino; +} +/** + * Deposit defines an amount deposited by an account address to an active + * proposal. + */ +export interface DepositSDKType { + proposal_id: bigint; + depositor: string; + amount: CoinSDKType[]; +} +/** Proposal defines the core field members of a governance proposal. */ +export interface Proposal { + /** proposal_id defines the unique id of the proposal. */ + proposalId: bigint; + /** content is the proposal's content. */ + content?: + | TextProposal + | CommunityPoolSpendProposal + | CommunityPoolSpendProposalWithDeposit + | ParameterChangeProposal + | SoftwareUpgradeProposal + | CancelSoftwareUpgradeProposal + | StoreCodeProposal + | InstantiateContractProposal + | InstantiateContract2Proposal + | MigrateContractProposal + | SudoContractProposal + | ExecuteContractProposal + | UpdateAdminProposal + | ClearAdminProposal + | PinCodesProposal + | UnpinCodesProposal + | UpdateInstantiateConfigProposal + | StoreAndInstantiateContractProposal + | SpotMarketParamUpdateProposal + | BatchExchangeModificationProposal + | SpotMarketLaunchProposal + | PerpetualMarketLaunchProposal + | BinaryOptionsMarketLaunchProposal + | ExpiryFuturesMarketLaunchProposal + | DerivativeMarketParamUpdateProposal + | MarketForcedSettlementProposal + | UpdateDenomDecimalsProposal + | BinaryOptionsMarketParamUpdateProposal + | TradingRewardCampaignLaunchProposal + | TradingRewardCampaignUpdateProposal + | TradingRewardPendingPointsUpdateProposal + | FeeDiscountProposal + | BatchCommunityPoolSpendProposal + | AtomicMarketOrderFeeMultiplierScheduleProposal + | SetConfigProposal + | SetBatchConfigProposal + | GrantBandOraclePrivilegeProposal + | RevokeBandOraclePrivilegeProposal + | GrantPriceFeederPrivilegeProposal + | GrantProviderPrivilegeProposal + | RevokeProviderPrivilegeProposal + | RevokePriceFeederPrivilegeProposal + | AuthorizeBandOracleRequestProposal + | UpdateBandOracleRequestProposal + | EnableBandIBCProposal + | GrantStorkPublisherPrivilegeProposal + | RevokeStorkPublisherPrivilegeProposal + | ContractRegistrationRequestProposal + | BatchContractRegistrationRequestProposal + | BatchContractDeregistrationProposal + | ContractRegistrationRequest + | BatchStoreCodeProposal + | Any + | undefined; + /** status defines the proposal status. */ + status: ProposalStatus; + /** + * final_tally_result is the final tally result of the proposal. When + * querying a proposal via gRPC, this field is not populated until the + * proposal's voting period has ended. + */ + finalTallyResult: TallyResult; + /** submit_time is the time of proposal submission. */ + submitTime: Date; + /** deposit_end_time is the end time for deposition. */ + depositEndTime: Date; + /** total_deposit is the total deposit on the proposal. */ + totalDeposit: Coin[]; + /** voting_start_time is the starting time to vote on a proposal. */ + votingStartTime: Date; + /** voting_end_time is the end time of voting on a proposal. */ + votingEndTime: Date; +} +export interface ProposalProtoMsg { + typeUrl: '/cosmos.gov.v1beta1.Proposal'; + value: Uint8Array; +} +export type ProposalEncoded = Omit & { + /** content is the proposal's content. */ content?: + | TextProposalProtoMsg + | CommunityPoolSpendProposalProtoMsg + | CommunityPoolSpendProposalWithDepositProtoMsg + | ParameterChangeProposalProtoMsg + | SoftwareUpgradeProposalProtoMsg + | CancelSoftwareUpgradeProposalProtoMsg + | StoreCodeProposalProtoMsg + | InstantiateContractProposalProtoMsg + | InstantiateContract2ProposalProtoMsg + | MigrateContractProposalProtoMsg + | SudoContractProposalProtoMsg + | ExecuteContractProposalProtoMsg + | UpdateAdminProposalProtoMsg + | ClearAdminProposalProtoMsg + | PinCodesProposalProtoMsg + | UnpinCodesProposalProtoMsg + | UpdateInstantiateConfigProposalProtoMsg + | StoreAndInstantiateContractProposalProtoMsg + | SpotMarketParamUpdateProposalProtoMsg + | BatchExchangeModificationProposalProtoMsg + | SpotMarketLaunchProposalProtoMsg + | PerpetualMarketLaunchProposalProtoMsg + | BinaryOptionsMarketLaunchProposalProtoMsg + | ExpiryFuturesMarketLaunchProposalProtoMsg + | DerivativeMarketParamUpdateProposalProtoMsg + | MarketForcedSettlementProposalProtoMsg + | UpdateDenomDecimalsProposalProtoMsg + | BinaryOptionsMarketParamUpdateProposalProtoMsg + | TradingRewardCampaignLaunchProposalProtoMsg + | TradingRewardCampaignUpdateProposalProtoMsg + | TradingRewardPendingPointsUpdateProposalProtoMsg + | FeeDiscountProposalProtoMsg + | BatchCommunityPoolSpendProposalProtoMsg + | AtomicMarketOrderFeeMultiplierScheduleProposalProtoMsg + | SetConfigProposalProtoMsg + | SetBatchConfigProposalProtoMsg + | GrantBandOraclePrivilegeProposalProtoMsg + | RevokeBandOraclePrivilegeProposalProtoMsg + | GrantPriceFeederPrivilegeProposalProtoMsg + | GrantProviderPrivilegeProposalProtoMsg + | RevokeProviderPrivilegeProposalProtoMsg + | RevokePriceFeederPrivilegeProposalProtoMsg + | AuthorizeBandOracleRequestProposalProtoMsg + | UpdateBandOracleRequestProposalProtoMsg + | EnableBandIBCProposalProtoMsg + | GrantStorkPublisherPrivilegeProposalProtoMsg + | RevokeStorkPublisherPrivilegeProposalProtoMsg + | ContractRegistrationRequestProposalProtoMsg + | BatchContractRegistrationRequestProposalProtoMsg + | BatchContractDeregistrationProposalProtoMsg + | ContractRegistrationRequestProtoMsg + | BatchStoreCodeProposalProtoMsg + | AnyProtoMsg + | undefined; +}; +/** Proposal defines the core field members of a governance proposal. */ +export interface ProposalAmino { + /** proposal_id defines the unique id of the proposal. */ + proposal_id?: string; + /** content is the proposal's content. */ + content?: AnyAmino; + /** status defines the proposal status. */ + status?: ProposalStatus; + /** + * final_tally_result is the final tally result of the proposal. When + * querying a proposal via gRPC, this field is not populated until the + * proposal's voting period has ended. + */ + final_tally_result: TallyResultAmino; + /** submit_time is the time of proposal submission. */ + submit_time: string; + /** deposit_end_time is the end time for deposition. */ + deposit_end_time: string; + /** total_deposit is the total deposit on the proposal. */ + total_deposit: CoinAmino[]; + /** voting_start_time is the starting time to vote on a proposal. */ + voting_start_time: string; + /** voting_end_time is the end time of voting on a proposal. */ + voting_end_time: string; +} +export interface ProposalAminoMsg { + type: 'cosmos-sdk/Proposal'; + value: ProposalAmino; +} +/** Proposal defines the core field members of a governance proposal. */ +export interface ProposalSDKType { + proposal_id: bigint; + content?: + | TextProposalSDKType + | CommunityPoolSpendProposalSDKType + | CommunityPoolSpendProposalWithDepositSDKType + | ParameterChangeProposalSDKType + | SoftwareUpgradeProposalSDKType + | CancelSoftwareUpgradeProposalSDKType + | StoreCodeProposalSDKType + | InstantiateContractProposalSDKType + | InstantiateContract2ProposalSDKType + | MigrateContractProposalSDKType + | SudoContractProposalSDKType + | ExecuteContractProposalSDKType + | UpdateAdminProposalSDKType + | ClearAdminProposalSDKType + | PinCodesProposalSDKType + | UnpinCodesProposalSDKType + | UpdateInstantiateConfigProposalSDKType + | StoreAndInstantiateContractProposalSDKType + | SpotMarketParamUpdateProposalSDKType + | BatchExchangeModificationProposalSDKType + | SpotMarketLaunchProposalSDKType + | PerpetualMarketLaunchProposalSDKType + | BinaryOptionsMarketLaunchProposalSDKType + | ExpiryFuturesMarketLaunchProposalSDKType + | DerivativeMarketParamUpdateProposalSDKType + | MarketForcedSettlementProposalSDKType + | UpdateDenomDecimalsProposalSDKType + | BinaryOptionsMarketParamUpdateProposalSDKType + | TradingRewardCampaignLaunchProposalSDKType + | TradingRewardCampaignUpdateProposalSDKType + | TradingRewardPendingPointsUpdateProposalSDKType + | FeeDiscountProposalSDKType + | BatchCommunityPoolSpendProposalSDKType + | AtomicMarketOrderFeeMultiplierScheduleProposalSDKType + | SetConfigProposalSDKType + | SetBatchConfigProposalSDKType + | GrantBandOraclePrivilegeProposalSDKType + | RevokeBandOraclePrivilegeProposalSDKType + | GrantPriceFeederPrivilegeProposalSDKType + | GrantProviderPrivilegeProposalSDKType + | RevokeProviderPrivilegeProposalSDKType + | RevokePriceFeederPrivilegeProposalSDKType + | AuthorizeBandOracleRequestProposalSDKType + | UpdateBandOracleRequestProposalSDKType + | EnableBandIBCProposalSDKType + | GrantStorkPublisherPrivilegeProposalSDKType + | RevokeStorkPublisherPrivilegeProposalSDKType + | ContractRegistrationRequestProposalSDKType + | BatchContractRegistrationRequestProposalSDKType + | BatchContractDeregistrationProposalSDKType + | ContractRegistrationRequestSDKType + | BatchStoreCodeProposalSDKType + | AnySDKType + | undefined; + status: ProposalStatus; + final_tally_result: TallyResultSDKType; + submit_time: Date; + deposit_end_time: Date; + total_deposit: CoinSDKType[]; + voting_start_time: Date; + voting_end_time: Date; +} +/** TallyResult defines a standard tally for a governance proposal. */ +export interface TallyResult { + /** yes is the number of yes votes on a proposal. */ + yes: string; + /** abstain is the number of abstain votes on a proposal. */ + abstain: string; + /** no is the number of no votes on a proposal. */ + no: string; + /** no_with_veto is the number of no with veto votes on a proposal. */ + noWithVeto: string; +} +export interface TallyResultProtoMsg { + typeUrl: '/cosmos.gov.v1beta1.TallyResult'; + value: Uint8Array; +} +/** TallyResult defines a standard tally for a governance proposal. */ +export interface TallyResultAmino { + /** yes is the number of yes votes on a proposal. */ + yes?: string; + /** abstain is the number of abstain votes on a proposal. */ + abstain?: string; + /** no is the number of no votes on a proposal. */ + no?: string; + /** no_with_veto is the number of no with veto votes on a proposal. */ + no_with_veto?: string; +} +export interface TallyResultAminoMsg { + type: 'cosmos-sdk/TallyResult'; + value: TallyResultAmino; +} +/** TallyResult defines a standard tally for a governance proposal. */ +export interface TallyResultSDKType { + yes: string; + abstain: string; + no: string; + no_with_veto: string; +} +/** + * Vote defines a vote on a governance proposal. + * A Vote consists of a proposal ID, the voter, and the vote option. + */ +export interface Vote { + /** proposal_id defines the unique id of the proposal. */ + proposalId: bigint; + /** voter is the voter address of the proposal. */ + voter: string; + /** + * Deprecated: Prefer to use `options` instead. This field is set in queries + * if and only if `len(options) == 1` and that option has weight 1. In all + * other cases, this field will default to VOTE_OPTION_UNSPECIFIED. + */ + /** @deprecated */ + option: VoteOption; + /** + * options is the weighted vote options. + * + * Since: cosmos-sdk 0.43 + */ + options: WeightedVoteOption[]; +} +export interface VoteProtoMsg { + typeUrl: '/cosmos.gov.v1beta1.Vote'; + value: Uint8Array; +} +/** + * Vote defines a vote on a governance proposal. + * A Vote consists of a proposal ID, the voter, and the vote option. + */ +export interface VoteAmino { + /** proposal_id defines the unique id of the proposal. */ + proposal_id: string; + /** voter is the voter address of the proposal. */ + voter?: string; + /** + * Deprecated: Prefer to use `options` instead. This field is set in queries + * if and only if `len(options) == 1` and that option has weight 1. In all + * other cases, this field will default to VOTE_OPTION_UNSPECIFIED. + */ + /** @deprecated */ + option?: VoteOption; + /** + * options is the weighted vote options. + * + * Since: cosmos-sdk 0.43 + */ + options: WeightedVoteOptionAmino[]; +} +export interface VoteAminoMsg { + type: 'cosmos-sdk/Vote'; + value: VoteAmino; +} +/** + * Vote defines a vote on a governance proposal. + * A Vote consists of a proposal ID, the voter, and the vote option. + */ +export interface VoteSDKType { + proposal_id: bigint; + voter: string; + /** @deprecated */ + option: VoteOption; + options: WeightedVoteOptionSDKType[]; +} +/** DepositParams defines the params for deposits on governance proposals. */ +export interface DepositParams { + /** Minimum deposit for a proposal to enter voting period. */ + minDeposit: Coin[]; + /** + * Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + * months. + */ + maxDepositPeriod: Duration; +} +export interface DepositParamsProtoMsg { + typeUrl: '/cosmos.gov.v1beta1.DepositParams'; + value: Uint8Array; +} +/** DepositParams defines the params for deposits on governance proposals. */ +export interface DepositParamsAmino { + /** Minimum deposit for a proposal to enter voting period. */ + min_deposit?: CoinAmino[]; + /** + * Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + * months. + */ + max_deposit_period?: DurationAmino; +} +export interface DepositParamsAminoMsg { + type: 'cosmos-sdk/DepositParams'; + value: DepositParamsAmino; +} +/** DepositParams defines the params for deposits on governance proposals. */ +export interface DepositParamsSDKType { + min_deposit: CoinSDKType[]; + max_deposit_period: DurationSDKType; +} +/** VotingParams defines the params for voting on governance proposals. */ +export interface VotingParams { + /** Duration of the voting period. */ + votingPeriod: Duration; +} +export interface VotingParamsProtoMsg { + typeUrl: '/cosmos.gov.v1beta1.VotingParams'; + value: Uint8Array; +} +/** VotingParams defines the params for voting on governance proposals. */ +export interface VotingParamsAmino { + /** Duration of the voting period. */ + voting_period?: DurationAmino; +} +export interface VotingParamsAminoMsg { + type: 'cosmos-sdk/VotingParams'; + value: VotingParamsAmino; +} +/** VotingParams defines the params for voting on governance proposals. */ +export interface VotingParamsSDKType { + voting_period: DurationSDKType; +} +/** TallyParams defines the params for tallying votes on governance proposals. */ +export interface TallyParams { + /** + * Minimum percentage of total stake needed to vote for a result to be + * considered valid. + */ + quorum: Uint8Array; + /** Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. */ + threshold: Uint8Array; + /** + * Minimum value of Veto votes to Total votes ratio for proposal to be + * vetoed. Default value: 1/3. + */ + vetoThreshold: Uint8Array; +} +export interface TallyParamsProtoMsg { + typeUrl: '/cosmos.gov.v1beta1.TallyParams'; + value: Uint8Array; +} +/** TallyParams defines the params for tallying votes on governance proposals. */ +export interface TallyParamsAmino { + /** + * Minimum percentage of total stake needed to vote for a result to be + * considered valid. + */ + quorum?: string; + /** Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. */ + threshold?: string; + /** + * Minimum value of Veto votes to Total votes ratio for proposal to be + * vetoed. Default value: 1/3. + */ + veto_threshold?: string; +} +export interface TallyParamsAminoMsg { + type: 'cosmos-sdk/TallyParams'; + value: TallyParamsAmino; +} +/** TallyParams defines the params for tallying votes on governance proposals. */ +export interface TallyParamsSDKType { + quorum: Uint8Array; + threshold: Uint8Array; + veto_threshold: Uint8Array; +} +function createBaseWeightedVoteOption(): WeightedVoteOption { + return { + option: 0, + weight: '', + }; +} +export const WeightedVoteOption = { + typeUrl: '/cosmos.gov.v1beta1.WeightedVoteOption', + encode(message: WeightedVoteOption, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.option !== 0) { + writer.uint32(8).int32(message.option); + } + if (message.weight !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.weight, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): WeightedVoteOption { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWeightedVoteOption(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.option = reader.int32() as any; + break; + case 2: + message.weight = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): WeightedVoteOption { + const message = createBaseWeightedVoteOption(); + message.option = object.option ?? 0; + message.weight = object.weight ?? ''; + return message; + }, + fromAmino(object: WeightedVoteOptionAmino): WeightedVoteOption { + const message = createBaseWeightedVoteOption(); + if (object.option !== undefined && object.option !== null) { + message.option = object.option; + } + if (object.weight !== undefined && object.weight !== null) { + message.weight = object.weight; + } + return message; + }, + toAmino(message: WeightedVoteOption): WeightedVoteOptionAmino { + const obj: any = {}; + obj.option = message.option === 0 ? undefined : message.option; + obj.weight = message.weight ?? ''; + return obj; + }, + fromAminoMsg(object: WeightedVoteOptionAminoMsg): WeightedVoteOption { + return WeightedVoteOption.fromAmino(object.value); + }, + toAminoMsg(message: WeightedVoteOption): WeightedVoteOptionAminoMsg { + return { + type: 'cosmos-sdk/WeightedVoteOption', + value: WeightedVoteOption.toAmino(message), + }; + }, + fromProtoMsg(message: WeightedVoteOptionProtoMsg): WeightedVoteOption { + return WeightedVoteOption.decode(message.value); + }, + toProto(message: WeightedVoteOption): Uint8Array { + return WeightedVoteOption.encode(message).finish(); + }, + toProtoMsg(message: WeightedVoteOption): WeightedVoteOptionProtoMsg { + return { + typeUrl: '/cosmos.gov.v1beta1.WeightedVoteOption', + value: WeightedVoteOption.encode(message).finish(), + }; + }, +}; +function createBaseTextProposal(): TextProposal { + return { + $typeUrl: '/cosmos.gov.v1beta1.TextProposal', + title: '', + description: '', + }; +} +export const TextProposal = { + typeUrl: '/cosmos.gov.v1beta1.TextProposal', + encode(message: TextProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TextProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTextProposal(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): TextProposal { + const message = createBaseTextProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + return message; + }, + fromAmino(object: TextProposalAmino): TextProposal { + const message = createBaseTextProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + return message; + }, + toAmino(message: TextProposal): TextProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + return obj; + }, + fromAminoMsg(object: TextProposalAminoMsg): TextProposal { + return TextProposal.fromAmino(object.value); + }, + toAminoMsg(message: TextProposal): TextProposalAminoMsg { + return { + type: 'cosmos-sdk/TextProposal', + value: TextProposal.toAmino(message), + }; + }, + fromProtoMsg(message: TextProposalProtoMsg): TextProposal { + return TextProposal.decode(message.value); + }, + toProto(message: TextProposal): Uint8Array { + return TextProposal.encode(message).finish(); + }, + toProtoMsg(message: TextProposal): TextProposalProtoMsg { + return { + typeUrl: '/cosmos.gov.v1beta1.TextProposal', + value: TextProposal.encode(message).finish(), + }; + }, +}; +function createBaseDeposit(): Deposit { + return { + proposalId: BigInt(0), + depositor: '', + amount: [], + }; +} +export const Deposit = { + typeUrl: '/cosmos.gov.v1beta1.Deposit', + encode(message: Deposit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.depositor !== '') { + writer.uint32(18).string(message.depositor); + } + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Deposit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.depositor = reader.string(); + break; + case 3: + message.amount.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Deposit { + const message = createBaseDeposit(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null ? BigInt(object.proposalId.toString()) : BigInt(0); + message.depositor = object.depositor ?? ''; + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: DepositAmino): Deposit { + const message = createBaseDeposit(); + if (object.proposal_id !== undefined && object.proposal_id !== null) { + message.proposalId = BigInt(object.proposal_id); + } + if (object.depositor !== undefined && object.depositor !== null) { + message.depositor = object.depositor; + } + message.amount = object.amount?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: Deposit): DepositAmino { + const obj: any = {}; + obj.proposal_id = message.proposalId !== BigInt(0) ? (message.proposalId?.toString)() : undefined; + obj.depositor = message.depositor === '' ? undefined : message.depositor; + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amount = message.amount; + } + return obj; + }, + fromAminoMsg(object: DepositAminoMsg): Deposit { + return Deposit.fromAmino(object.value); + }, + toAminoMsg(message: Deposit): DepositAminoMsg { + return { + type: 'cosmos-sdk/Deposit', + value: Deposit.toAmino(message), + }; + }, + fromProtoMsg(message: DepositProtoMsg): Deposit { + return Deposit.decode(message.value); + }, + toProto(message: Deposit): Uint8Array { + return Deposit.encode(message).finish(); + }, + toProtoMsg(message: Deposit): DepositProtoMsg { + return { + typeUrl: '/cosmos.gov.v1beta1.Deposit', + value: Deposit.encode(message).finish(), + }; + }, +}; +function createBaseProposal(): Proposal { + return { + proposalId: BigInt(0), + content: undefined, + status: 0, + finalTallyResult: TallyResult.fromPartial({}), + submitTime: new Date(), + depositEndTime: new Date(), + totalDeposit: [], + votingStartTime: new Date(), + votingEndTime: new Date(), + }; +} +export const Proposal = { + typeUrl: '/cosmos.gov.v1beta1.Proposal', + encode(message: Proposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.content !== undefined) { + Any.encode(message.content as Any, writer.uint32(18).fork()).ldelim(); + } + if (message.status !== 0) { + writer.uint32(24).int32(message.status); + } + if (message.finalTallyResult !== undefined) { + TallyResult.encode(message.finalTallyResult, writer.uint32(34).fork()).ldelim(); + } + if (message.submitTime !== undefined) { + Timestamp.encode(toTimestamp(message.submitTime), writer.uint32(42).fork()).ldelim(); + } + if (message.depositEndTime !== undefined) { + Timestamp.encode(toTimestamp(message.depositEndTime), writer.uint32(50).fork()).ldelim(); + } + for (const v of message.totalDeposit) { + Coin.encode(v!, writer.uint32(58).fork()).ldelim(); + } + if (message.votingStartTime !== undefined) { + Timestamp.encode(toTimestamp(message.votingStartTime), writer.uint32(66).fork()).ldelim(); + } + if (message.votingEndTime !== undefined) { + Timestamp.encode(toTimestamp(message.votingEndTime), writer.uint32(74).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Proposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.proposalId = reader.uint64(); + break; + case 2: + message.content = Cosmos_govv1beta1Content_InterfaceDecoder(reader) as Any; + break; + case 3: + message.status = reader.int32() as any; + break; + case 4: + message.finalTallyResult = TallyResult.decode(reader, reader.uint32()); + break; + case 5: + message.submitTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 6: + message.depositEndTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 7: + message.totalDeposit.push(Coin.decode(reader, reader.uint32())); + break; + case 8: + message.votingStartTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 9: + message.votingEndTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Proposal { + const message = createBaseProposal(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null ? BigInt(object.proposalId.toString()) : BigInt(0); + message.content = + object.content !== undefined && object.content !== null ? Any.fromPartial(object.content) : undefined; + message.status = object.status ?? 0; + message.finalTallyResult = + object.finalTallyResult !== undefined && object.finalTallyResult !== null + ? TallyResult.fromPartial(object.finalTallyResult) + : undefined; + message.submitTime = object.submitTime ?? undefined; + message.depositEndTime = object.depositEndTime ?? undefined; + message.totalDeposit = object.totalDeposit?.map((e) => Coin.fromPartial(e)) || []; + message.votingStartTime = object.votingStartTime ?? undefined; + message.votingEndTime = object.votingEndTime ?? undefined; + return message; + }, + fromAmino(object: ProposalAmino): Proposal { + const message = createBaseProposal(); + if (object.proposal_id !== undefined && object.proposal_id !== null) { + message.proposalId = BigInt(object.proposal_id); + } + if (object.content !== undefined && object.content !== null) { + message.content = Cosmos_govv1beta1Content_FromAmino(object.content); + } + if (object.status !== undefined && object.status !== null) { + message.status = object.status; + } + if (object.final_tally_result !== undefined && object.final_tally_result !== null) { + message.finalTallyResult = TallyResult.fromAmino(object.final_tally_result); + } + if (object.submit_time !== undefined && object.submit_time !== null) { + message.submitTime = fromTimestamp(Timestamp.fromAmino(object.submit_time)); + } + if (object.deposit_end_time !== undefined && object.deposit_end_time !== null) { + message.depositEndTime = fromTimestamp(Timestamp.fromAmino(object.deposit_end_time)); + } + message.totalDeposit = object.total_deposit?.map((e) => Coin.fromAmino(e)) || []; + if (object.voting_start_time !== undefined && object.voting_start_time !== null) { + message.votingStartTime = fromTimestamp(Timestamp.fromAmino(object.voting_start_time)); + } + if (object.voting_end_time !== undefined && object.voting_end_time !== null) { + message.votingEndTime = fromTimestamp(Timestamp.fromAmino(object.voting_end_time)); + } + return message; + }, + toAmino(message: Proposal): ProposalAmino { + const obj: any = {}; + obj.proposal_id = message.proposalId !== BigInt(0) ? (message.proposalId?.toString)() : undefined; + obj.content = message.content ? Cosmos_govv1beta1Content_ToAmino(message.content as Any) : undefined; + obj.status = message.status === 0 ? undefined : message.status; + obj.final_tally_result = message.finalTallyResult + ? TallyResult.toAmino(message.finalTallyResult) + : TallyResult.toAmino(TallyResult.fromPartial({})); + obj.submit_time = message.submitTime ? Timestamp.toAmino(toTimestamp(message.submitTime)) : new Date(); + obj.deposit_end_time = message.depositEndTime ? Timestamp.toAmino(toTimestamp(message.depositEndTime)) : new Date(); + if (message.totalDeposit) { + obj.total_deposit = message.totalDeposit.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.total_deposit = message.totalDeposit; + } + obj.voting_start_time = message.votingStartTime + ? Timestamp.toAmino(toTimestamp(message.votingStartTime)) + : new Date(); + obj.voting_end_time = message.votingEndTime ? Timestamp.toAmino(toTimestamp(message.votingEndTime)) : new Date(); + return obj; + }, + fromAminoMsg(object: ProposalAminoMsg): Proposal { + return Proposal.fromAmino(object.value); + }, + toAminoMsg(message: Proposal): ProposalAminoMsg { + return { + type: 'cosmos-sdk/Proposal', + value: Proposal.toAmino(message), + }; + }, + fromProtoMsg(message: ProposalProtoMsg): Proposal { + return Proposal.decode(message.value); + }, + toProto(message: Proposal): Uint8Array { + return Proposal.encode(message).finish(); + }, + toProtoMsg(message: Proposal): ProposalProtoMsg { + return { + typeUrl: '/cosmos.gov.v1beta1.Proposal', + value: Proposal.encode(message).finish(), + }; + }, +}; +function createBaseTallyResult(): TallyResult { + return { + yes: '', + abstain: '', + no: '', + noWithVeto: '', + }; +} +export const TallyResult = { + typeUrl: '/cosmos.gov.v1beta1.TallyResult', + encode(message: TallyResult, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.yes !== '') { + writer.uint32(10).string(message.yes); + } + if (message.abstain !== '') { + writer.uint32(18).string(message.abstain); + } + if (message.no !== '') { + writer.uint32(26).string(message.no); + } + if (message.noWithVeto !== '') { + writer.uint32(34).string(message.noWithVeto); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TallyResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTallyResult(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): TallyResult { + const message = createBaseTallyResult(); + message.yes = object.yes ?? ''; + message.abstain = object.abstain ?? ''; + message.no = object.no ?? ''; + message.noWithVeto = object.noWithVeto ?? ''; + return message; + }, + fromAmino(object: TallyResultAmino): TallyResult { + const message = createBaseTallyResult(); + if (object.yes !== undefined && object.yes !== null) { + message.yes = object.yes; + } + if (object.abstain !== undefined && object.abstain !== null) { + message.abstain = object.abstain; + } + if (object.no !== undefined && object.no !== null) { + message.no = object.no; + } + if (object.no_with_veto !== undefined && object.no_with_veto !== null) { + message.noWithVeto = object.no_with_veto; + } + return message; + }, + toAmino(message: TallyResult): TallyResultAmino { + const obj: any = {}; + obj.yes = message.yes === '' ? undefined : message.yes; + obj.abstain = message.abstain === '' ? undefined : message.abstain; + obj.no = message.no === '' ? undefined : message.no; + obj.no_with_veto = message.noWithVeto === '' ? undefined : message.noWithVeto; + return obj; + }, + fromAminoMsg(object: TallyResultAminoMsg): TallyResult { + return TallyResult.fromAmino(object.value); + }, + toAminoMsg(message: TallyResult): TallyResultAminoMsg { + return { + type: 'cosmos-sdk/TallyResult', + value: TallyResult.toAmino(message), + }; + }, + fromProtoMsg(message: TallyResultProtoMsg): TallyResult { + return TallyResult.decode(message.value); + }, + toProto(message: TallyResult): Uint8Array { + return TallyResult.encode(message).finish(); + }, + toProtoMsg(message: TallyResult): TallyResultProtoMsg { + return { + typeUrl: '/cosmos.gov.v1beta1.TallyResult', + value: TallyResult.encode(message).finish(), + }; + }, +}; +function createBaseVote(): Vote { + return { + proposalId: BigInt(0), + voter: '', + option: 0, + options: [], + }; +} +export const Vote = { + typeUrl: '/cosmos.gov.v1beta1.Vote', + encode(message: Vote, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.proposalId !== BigInt(0)) { + writer.uint32(8).uint64(message.proposalId); + } + if (message.voter !== '') { + writer.uint32(18).string(message.voter); + } + if (message.option !== 0) { + writer.uint32(24).int32(message.option); + } + for (const v of message.options) { + WeightedVoteOption.encode(v!, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Vote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVote(); + while (reader.pos < end) { + const 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() as any; + break; + case 4: + message.options.push(WeightedVoteOption.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Vote { + const message = createBaseVote(); + message.proposalId = + object.proposalId !== undefined && object.proposalId !== null ? BigInt(object.proposalId.toString()) : BigInt(0); + message.voter = object.voter ?? ''; + message.option = object.option ?? 0; + message.options = object.options?.map((e) => WeightedVoteOption.fromPartial(e)) || []; + return message; + }, + fromAmino(object: VoteAmino): Vote { + const message = createBaseVote(); + if (object.proposal_id !== undefined && object.proposal_id !== null) { + message.proposalId = BigInt(object.proposal_id); + } + if (object.voter !== undefined && object.voter !== null) { + message.voter = object.voter; + } + if (object.option !== undefined && object.option !== null) { + message.option = object.option; + } + message.options = object.options?.map((e) => WeightedVoteOption.fromAmino(e)) || []; + return message; + }, + toAmino(message: Vote): VoteAmino { + const obj: any = {}; + obj.proposal_id = message.proposalId ? (message.proposalId?.toString)() : '0'; + obj.voter = message.voter === '' ? undefined : message.voter; + obj.option = message.option === 0 ? undefined : message.option; + if (message.options) { + obj.options = message.options.map((e) => (e ? WeightedVoteOption.toAmino(e) : undefined)); + } else { + obj.options = message.options; + } + return obj; + }, + fromAminoMsg(object: VoteAminoMsg): Vote { + return Vote.fromAmino(object.value); + }, + toAminoMsg(message: Vote): VoteAminoMsg { + return { + type: 'cosmos-sdk/Vote', + value: Vote.toAmino(message), + }; + }, + fromProtoMsg(message: VoteProtoMsg): Vote { + return Vote.decode(message.value); + }, + toProto(message: Vote): Uint8Array { + return Vote.encode(message).finish(); + }, + toProtoMsg(message: Vote): VoteProtoMsg { + return { + typeUrl: '/cosmos.gov.v1beta1.Vote', + value: Vote.encode(message).finish(), + }; + }, +}; +function createBaseDepositParams(): DepositParams { + return { + minDeposit: [], + maxDepositPeriod: Duration.fromPartial({}), + }; +} +export const DepositParams = { + typeUrl: '/cosmos.gov.v1beta1.DepositParams', + encode(message: DepositParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.minDeposit) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.maxDepositPeriod !== undefined) { + Duration.encode(message.maxDepositPeriod, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DepositParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDepositParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.minDeposit.push(Coin.decode(reader, reader.uint32())); + break; + case 2: + message.maxDepositPeriod = Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DepositParams { + const message = createBaseDepositParams(); + message.minDeposit = object.minDeposit?.map((e) => Coin.fromPartial(e)) || []; + message.maxDepositPeriod = + object.maxDepositPeriod !== undefined && object.maxDepositPeriod !== null + ? Duration.fromPartial(object.maxDepositPeriod) + : undefined; + return message; + }, + fromAmino(object: DepositParamsAmino): DepositParams { + const message = createBaseDepositParams(); + message.minDeposit = object.min_deposit?.map((e) => Coin.fromAmino(e)) || []; + if (object.max_deposit_period !== undefined && object.max_deposit_period !== null) { + message.maxDepositPeriod = Duration.fromAmino(object.max_deposit_period); + } + return message; + }, + toAmino(message: DepositParams): DepositParamsAmino { + const obj: any = {}; + if (message.minDeposit) { + obj.min_deposit = message.minDeposit.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.min_deposit = message.minDeposit; + } + obj.max_deposit_period = message.maxDepositPeriod ? Duration.toAmino(message.maxDepositPeriod) : undefined; + return obj; + }, + fromAminoMsg(object: DepositParamsAminoMsg): DepositParams { + return DepositParams.fromAmino(object.value); + }, + toAminoMsg(message: DepositParams): DepositParamsAminoMsg { + return { + type: 'cosmos-sdk/DepositParams', + value: DepositParams.toAmino(message), + }; + }, + fromProtoMsg(message: DepositParamsProtoMsg): DepositParams { + return DepositParams.decode(message.value); + }, + toProto(message: DepositParams): Uint8Array { + return DepositParams.encode(message).finish(); + }, + toProtoMsg(message: DepositParams): DepositParamsProtoMsg { + return { + typeUrl: '/cosmos.gov.v1beta1.DepositParams', + value: DepositParams.encode(message).finish(), + }; + }, +}; +function createBaseVotingParams(): VotingParams { + return { + votingPeriod: Duration.fromPartial({}), + }; +} +export const VotingParams = { + typeUrl: '/cosmos.gov.v1beta1.VotingParams', + encode(message: VotingParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.votingPeriod !== undefined) { + Duration.encode(message.votingPeriod, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): VotingParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVotingParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.votingPeriod = Duration.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): VotingParams { + const message = createBaseVotingParams(); + message.votingPeriod = + object.votingPeriod !== undefined && object.votingPeriod !== null + ? Duration.fromPartial(object.votingPeriod) + : undefined; + return message; + }, + fromAmino(object: VotingParamsAmino): VotingParams { + const message = createBaseVotingParams(); + if (object.voting_period !== undefined && object.voting_period !== null) { + message.votingPeriod = Duration.fromAmino(object.voting_period); + } + return message; + }, + toAmino(message: VotingParams): VotingParamsAmino { + const obj: any = {}; + obj.voting_period = message.votingPeriod ? Duration.toAmino(message.votingPeriod) : undefined; + return obj; + }, + fromAminoMsg(object: VotingParamsAminoMsg): VotingParams { + return VotingParams.fromAmino(object.value); + }, + toAminoMsg(message: VotingParams): VotingParamsAminoMsg { + return { + type: 'cosmos-sdk/VotingParams', + value: VotingParams.toAmino(message), + }; + }, + fromProtoMsg(message: VotingParamsProtoMsg): VotingParams { + return VotingParams.decode(message.value); + }, + toProto(message: VotingParams): Uint8Array { + return VotingParams.encode(message).finish(); + }, + toProtoMsg(message: VotingParams): VotingParamsProtoMsg { + return { + typeUrl: '/cosmos.gov.v1beta1.VotingParams', + value: VotingParams.encode(message).finish(), + }; + }, +}; +function createBaseTallyParams(): TallyParams { + return { + quorum: new Uint8Array(), + threshold: new Uint8Array(), + vetoThreshold: new Uint8Array(), + }; +} +export const TallyParams = { + typeUrl: '/cosmos.gov.v1beta1.TallyParams', + encode(message: TallyParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.quorum.length !== 0) { + writer.uint32(10).bytes(message.quorum); + } + if (message.threshold.length !== 0) { + writer.uint32(18).bytes(message.threshold); + } + if (message.vetoThreshold.length !== 0) { + writer.uint32(26).bytes(message.vetoThreshold); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TallyParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTallyParams(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): TallyParams { + const message = createBaseTallyParams(); + message.quorum = object.quorum ?? new Uint8Array(); + message.threshold = object.threshold ?? new Uint8Array(); + message.vetoThreshold = object.vetoThreshold ?? new Uint8Array(); + return message; + }, + fromAmino(object: TallyParamsAmino): TallyParams { + const message = createBaseTallyParams(); + if (object.quorum !== undefined && object.quorum !== null) { + message.quorum = bytesFromBase64(object.quorum); + } + if (object.threshold !== undefined && object.threshold !== null) { + message.threshold = bytesFromBase64(object.threshold); + } + if (object.veto_threshold !== undefined && object.veto_threshold !== null) { + message.vetoThreshold = bytesFromBase64(object.veto_threshold); + } + return message; + }, + toAmino(message: TallyParams): TallyParamsAmino { + const obj: any = {}; + obj.quorum = message.quorum ? base64FromBytes(message.quorum) : undefined; + obj.threshold = message.threshold ? base64FromBytes(message.threshold) : undefined; + obj.veto_threshold = message.vetoThreshold ? base64FromBytes(message.vetoThreshold) : undefined; + return obj; + }, + fromAminoMsg(object: TallyParamsAminoMsg): TallyParams { + return TallyParams.fromAmino(object.value); + }, + toAminoMsg(message: TallyParams): TallyParamsAminoMsg { + return { + type: 'cosmos-sdk/TallyParams', + value: TallyParams.toAmino(message), + }; + }, + fromProtoMsg(message: TallyParamsProtoMsg): TallyParams { + return TallyParams.decode(message.value); + }, + toProto(message: TallyParams): Uint8Array { + return TallyParams.encode(message).finish(); + }, + toProtoMsg(message: TallyParams): TallyParamsProtoMsg { + return { + typeUrl: '/cosmos.gov.v1beta1.TallyParams', + value: TallyParams.encode(message).finish(), + }; + }, +}; +export const Cosmos_govv1beta1Content_InterfaceDecoder = ( + input: BinaryReader | Uint8Array, +): + | CommunityPoolSpendProposal + | CommunityPoolSpendProposalWithDeposit + | TextProposal + | ParameterChangeProposal + | SoftwareUpgradeProposal + | CancelSoftwareUpgradeProposal + | StoreCodeProposal + | InstantiateContractProposal + | InstantiateContract2Proposal + | MigrateContractProposal + | SudoContractProposal + | ExecuteContractProposal + | UpdateAdminProposal + | ClearAdminProposal + | PinCodesProposal + | UnpinCodesProposal + | UpdateInstantiateConfigProposal + | StoreAndInstantiateContractProposal + | SpotMarketParamUpdateProposal + | BatchExchangeModificationProposal + | SpotMarketLaunchProposal + | PerpetualMarketLaunchProposal + | BinaryOptionsMarketLaunchProposal + | ExpiryFuturesMarketLaunchProposal + | DerivativeMarketParamUpdateProposal + | MarketForcedSettlementProposal + | UpdateDenomDecimalsProposal + | BinaryOptionsMarketParamUpdateProposal + | TradingRewardCampaignLaunchProposal + | TradingRewardCampaignUpdateProposal + | TradingRewardPendingPointsUpdateProposal + | FeeDiscountProposal + | BatchCommunityPoolSpendProposal + | AtomicMarketOrderFeeMultiplierScheduleProposal + | SetConfigProposal + | SetBatchConfigProposal + | GrantBandOraclePrivilegeProposal + | RevokeBandOraclePrivilegeProposal + | GrantPriceFeederPrivilegeProposal + | GrantProviderPrivilegeProposal + | RevokeProviderPrivilegeProposal + | RevokePriceFeederPrivilegeProposal + | AuthorizeBandOracleRequestProposal + | UpdateBandOracleRequestProposal + | EnableBandIBCProposal + | GrantStorkPublisherPrivilegeProposal + | RevokeStorkPublisherPrivilegeProposal + | ContractRegistrationRequestProposal + | BatchContractRegistrationRequestProposal + | BatchContractDeregistrationProposal + | ContractRegistrationRequest + | BatchStoreCodeProposal + | Any => { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const data = Any.decode(reader, reader.uint32()); + switch (data.typeUrl) { + case '/cosmos.distribution.v1beta1.CommunityPoolSpendProposal': + return CommunityPoolSpendProposal.decode(data.value); + case '/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit': + return CommunityPoolSpendProposalWithDeposit.decode(data.value); + case '/cosmos.gov.v1beta1.TextProposal': + return TextProposal.decode(data.value); + case '/cosmos.params.v1beta1.ParameterChangeProposal': + return ParameterChangeProposal.decode(data.value); + case '/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal': + return SoftwareUpgradeProposal.decode(data.value); + case '/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal': + return CancelSoftwareUpgradeProposal.decode(data.value); + case '/cosmwasm.wasm.v1.StoreCodeProposal': + return StoreCodeProposal.decode(data.value); + case '/cosmwasm.wasm.v1.InstantiateContractProposal': + return InstantiateContractProposal.decode(data.value); + case '/cosmwasm.wasm.v1.InstantiateContract2Proposal': + return InstantiateContract2Proposal.decode(data.value); + case '/cosmwasm.wasm.v1.MigrateContractProposal': + return MigrateContractProposal.decode(data.value); + case '/cosmwasm.wasm.v1.SudoContractProposal': + return SudoContractProposal.decode(data.value); + case '/cosmwasm.wasm.v1.ExecuteContractProposal': + return ExecuteContractProposal.decode(data.value); + case '/cosmwasm.wasm.v1.UpdateAdminProposal': + return UpdateAdminProposal.decode(data.value); + case '/cosmwasm.wasm.v1.ClearAdminProposal': + return ClearAdminProposal.decode(data.value); + case '/cosmwasm.wasm.v1.PinCodesProposal': + return PinCodesProposal.decode(data.value); + case '/cosmwasm.wasm.v1.UnpinCodesProposal': + return UnpinCodesProposal.decode(data.value); + case '/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal': + return UpdateInstantiateConfigProposal.decode(data.value); + case '/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal': + return StoreAndInstantiateContractProposal.decode(data.value); + case '/injective.exchange.v1beta1.SpotMarketParamUpdateProposal': + return SpotMarketParamUpdateProposal.decode(data.value); + case '/injective.exchange.v1beta1.BatchExchangeModificationProposal': + return BatchExchangeModificationProposal.decode(data.value); + case '/injective.exchange.v1beta1.SpotMarketLaunchProposal': + return SpotMarketLaunchProposal.decode(data.value); + case '/injective.exchange.v1beta1.PerpetualMarketLaunchProposal': + return PerpetualMarketLaunchProposal.decode(data.value); + case '/injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal': + return BinaryOptionsMarketLaunchProposal.decode(data.value); + case '/injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal': + return ExpiryFuturesMarketLaunchProposal.decode(data.value); + case '/injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal': + return DerivativeMarketParamUpdateProposal.decode(data.value); + case '/injective.exchange.v1beta1.MarketForcedSettlementProposal': + return MarketForcedSettlementProposal.decode(data.value); + case '/injective.exchange.v1beta1.UpdateDenomDecimalsProposal': + return UpdateDenomDecimalsProposal.decode(data.value); + case '/injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal': + return BinaryOptionsMarketParamUpdateProposal.decode(data.value); + case '/injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal': + return TradingRewardCampaignLaunchProposal.decode(data.value); + case '/injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal': + return TradingRewardCampaignUpdateProposal.decode(data.value); + case '/injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal': + return TradingRewardPendingPointsUpdateProposal.decode(data.value); + case '/injective.exchange.v1beta1.FeeDiscountProposal': + return FeeDiscountProposal.decode(data.value); + case '/injective.exchange.v1beta1.BatchCommunityPoolSpendProposal': + return BatchCommunityPoolSpendProposal.decode(data.value); + case '/injective.exchange.v1beta1.AtomicMarketOrderFeeMultiplierScheduleProposal': + return AtomicMarketOrderFeeMultiplierScheduleProposal.decode(data.value); + case '/injective.ocr.v1beta1.SetConfigProposal': + return SetConfigProposal.decode(data.value); + case '/injective.ocr.v1beta1.SetBatchConfigProposal': + return SetBatchConfigProposal.decode(data.value); + case '/injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal': + return GrantBandOraclePrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal': + return RevokeBandOraclePrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.GrantPriceFeederPrivilegeProposal': + return GrantPriceFeederPrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.GrantProviderPrivilegeProposal': + return GrantProviderPrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.RevokeProviderPrivilegeProposal': + return RevokeProviderPrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.RevokePriceFeederPrivilegeProposal': + return RevokePriceFeederPrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal': + return AuthorizeBandOracleRequestProposal.decode(data.value); + case '/injective.oracle.v1beta1.UpdateBandOracleRequestProposal': + return UpdateBandOracleRequestProposal.decode(data.value); + case '/injective.oracle.v1beta1.EnableBandIBCProposal': + return EnableBandIBCProposal.decode(data.value); + case '/injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal': + return GrantStorkPublisherPrivilegeProposal.decode(data.value); + case '/injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal': + return RevokeStorkPublisherPrivilegeProposal.decode(data.value); + case '/injective.wasmx.v1.ContractRegistrationRequestProposal': + return ContractRegistrationRequestProposal.decode(data.value); + case '/injective.wasmx.v1.BatchContractRegistrationRequestProposal': + return BatchContractRegistrationRequestProposal.decode(data.value); + case '/injective.wasmx.v1.BatchContractDeregistrationProposal': + return BatchContractDeregistrationProposal.decode(data.value); + case '/injective.wasmx.v1.ContractRegistrationRequest': + return ContractRegistrationRequest.decode(data.value); + case '/injective.wasmx.v1.BatchStoreCodeProposal': + return BatchStoreCodeProposal.decode(data.value); + default: + return data; + } +}; +export const Cosmos_govv1beta1Content_FromAmino = (content: AnyAmino): Any => { + switch (content.type) { + case 'cosmos-sdk/CommunityPoolSpendProposal': + return Any.fromPartial({ + typeUrl: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposal', + value: CommunityPoolSpendProposal.encode( + CommunityPoolSpendProposal.fromPartial(CommunityPoolSpendProposal.fromAmino(content.value)), + ).finish(), + }); + case 'cosmos-sdk/CommunityPoolSpendProposalWithDeposit': + return Any.fromPartial({ + typeUrl: '/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit', + value: CommunityPoolSpendProposalWithDeposit.encode( + CommunityPoolSpendProposalWithDeposit.fromPartial( + CommunityPoolSpendProposalWithDeposit.fromAmino(content.value), + ), + ).finish(), + }); + case 'cosmos-sdk/TextProposal': + return Any.fromPartial({ + typeUrl: '/cosmos.gov.v1beta1.TextProposal', + value: TextProposal.encode(TextProposal.fromPartial(TextProposal.fromAmino(content.value))).finish(), + }); + case 'cosmos-sdk/ParameterChangeProposal': + return Any.fromPartial({ + typeUrl: '/cosmos.params.v1beta1.ParameterChangeProposal', + value: ParameterChangeProposal.encode( + ParameterChangeProposal.fromPartial(ParameterChangeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'cosmos-sdk/SoftwareUpgradeProposal': + return Any.fromPartial({ + typeUrl: '/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal', + value: SoftwareUpgradeProposal.encode( + SoftwareUpgradeProposal.fromPartial(SoftwareUpgradeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'cosmos-sdk/CancelSoftwareUpgradeProposal': + return Any.fromPartial({ + typeUrl: '/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal', + value: CancelSoftwareUpgradeProposal.encode( + CancelSoftwareUpgradeProposal.fromPartial(CancelSoftwareUpgradeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/StoreCodeProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.StoreCodeProposal', + value: StoreCodeProposal.encode( + StoreCodeProposal.fromPartial(StoreCodeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/InstantiateContractProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.InstantiateContractProposal', + value: InstantiateContractProposal.encode( + InstantiateContractProposal.fromPartial(InstantiateContractProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/InstantiateContract2Proposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.InstantiateContract2Proposal', + value: InstantiateContract2Proposal.encode( + InstantiateContract2Proposal.fromPartial(InstantiateContract2Proposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/MigrateContractProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.MigrateContractProposal', + value: MigrateContractProposal.encode( + MigrateContractProposal.fromPartial(MigrateContractProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/SudoContractProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.SudoContractProposal', + value: SudoContractProposal.encode( + SudoContractProposal.fromPartial(SudoContractProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/ExecuteContractProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.ExecuteContractProposal', + value: ExecuteContractProposal.encode( + ExecuteContractProposal.fromPartial(ExecuteContractProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/UpdateAdminProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.UpdateAdminProposal', + value: UpdateAdminProposal.encode( + UpdateAdminProposal.fromPartial(UpdateAdminProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/ClearAdminProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.ClearAdminProposal', + value: ClearAdminProposal.encode( + ClearAdminProposal.fromPartial(ClearAdminProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/PinCodesProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.PinCodesProposal', + value: PinCodesProposal.encode( + PinCodesProposal.fromPartial(PinCodesProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/UnpinCodesProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.UnpinCodesProposal', + value: UnpinCodesProposal.encode( + UnpinCodesProposal.fromPartial(UnpinCodesProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/UpdateInstantiateConfigProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal', + value: UpdateInstantiateConfigProposal.encode( + UpdateInstantiateConfigProposal.fromPartial(UpdateInstantiateConfigProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/StoreAndInstantiateContractProposal': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal', + value: StoreAndInstantiateContractProposal.encode( + StoreAndInstantiateContractProposal.fromPartial(StoreAndInstantiateContractProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/SpotMarketParamUpdateProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.SpotMarketParamUpdateProposal', + value: SpotMarketParamUpdateProposal.encode( + SpotMarketParamUpdateProposal.fromPartial(SpotMarketParamUpdateProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/BatchExchangeModificationProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.BatchExchangeModificationProposal', + value: BatchExchangeModificationProposal.encode( + BatchExchangeModificationProposal.fromPartial(BatchExchangeModificationProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/SpotMarketLaunchProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.SpotMarketLaunchProposal', + value: SpotMarketLaunchProposal.encode( + SpotMarketLaunchProposal.fromPartial(SpotMarketLaunchProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/PerpetualMarketLaunchProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.PerpetualMarketLaunchProposal', + value: PerpetualMarketLaunchProposal.encode( + PerpetualMarketLaunchProposal.fromPartial(PerpetualMarketLaunchProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/BinaryOptionsMarketLaunchProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal', + value: BinaryOptionsMarketLaunchProposal.encode( + BinaryOptionsMarketLaunchProposal.fromPartial(BinaryOptionsMarketLaunchProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/ExpiryFuturesMarketLaunchProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal', + value: ExpiryFuturesMarketLaunchProposal.encode( + ExpiryFuturesMarketLaunchProposal.fromPartial(ExpiryFuturesMarketLaunchProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/DerivativeMarketParamUpdateProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal', + value: DerivativeMarketParamUpdateProposal.encode( + DerivativeMarketParamUpdateProposal.fromPartial(DerivativeMarketParamUpdateProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/MarketForcedSettlementProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.MarketForcedSettlementProposal', + value: MarketForcedSettlementProposal.encode( + MarketForcedSettlementProposal.fromPartial(MarketForcedSettlementProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/UpdateDenomDecimalsProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.UpdateDenomDecimalsProposal', + value: UpdateDenomDecimalsProposal.encode( + UpdateDenomDecimalsProposal.fromPartial(UpdateDenomDecimalsProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/BinaryOptionsMarketParamUpdateProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal', + value: BinaryOptionsMarketParamUpdateProposal.encode( + BinaryOptionsMarketParamUpdateProposal.fromPartial( + BinaryOptionsMarketParamUpdateProposal.fromAmino(content.value), + ), + ).finish(), + }); + case 'exchange/TradingRewardCampaignLaunchProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal', + value: TradingRewardCampaignLaunchProposal.encode( + TradingRewardCampaignLaunchProposal.fromPartial(TradingRewardCampaignLaunchProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/TradingRewardCampaignUpdateProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal', + value: TradingRewardCampaignUpdateProposal.encode( + TradingRewardCampaignUpdateProposal.fromPartial(TradingRewardCampaignUpdateProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/TradingRewardPendingPointsUpdateProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal', + value: TradingRewardPendingPointsUpdateProposal.encode( + TradingRewardPendingPointsUpdateProposal.fromPartial( + TradingRewardPendingPointsUpdateProposal.fromAmino(content.value), + ), + ).finish(), + }); + case 'exchange/FeeDiscountProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.FeeDiscountProposal', + value: FeeDiscountProposal.encode( + FeeDiscountProposal.fromPartial(FeeDiscountProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/BatchCommunityPoolSpendProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.BatchCommunityPoolSpendProposal', + value: BatchCommunityPoolSpendProposal.encode( + BatchCommunityPoolSpendProposal.fromPartial(BatchCommunityPoolSpendProposal.fromAmino(content.value)), + ).finish(), + }); + case 'exchange/AtomicMarketOrderFeeMultiplierScheduleProposal': + return Any.fromPartial({ + typeUrl: '/injective.exchange.v1beta1.AtomicMarketOrderFeeMultiplierScheduleProposal', + value: AtomicMarketOrderFeeMultiplierScheduleProposal.encode( + AtomicMarketOrderFeeMultiplierScheduleProposal.fromPartial( + AtomicMarketOrderFeeMultiplierScheduleProposal.fromAmino(content.value), + ), + ).finish(), + }); + case 'ocr/SetConfigProposal': + return Any.fromPartial({ + typeUrl: '/injective.ocr.v1beta1.SetConfigProposal', + value: SetConfigProposal.encode( + SetConfigProposal.fromPartial(SetConfigProposal.fromAmino(content.value)), + ).finish(), + }); + case 'ocr/SetBatchConfigProposal': + return Any.fromPartial({ + typeUrl: '/injective.ocr.v1beta1.SetBatchConfigProposal', + value: SetBatchConfigProposal.encode( + SetBatchConfigProposal.fromPartial(SetBatchConfigProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/GrantBandOraclePrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal', + value: GrantBandOraclePrivilegeProposal.encode( + GrantBandOraclePrivilegeProposal.fromPartial(GrantBandOraclePrivilegeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/RevokeBandOraclePrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal', + value: RevokeBandOraclePrivilegeProposal.encode( + RevokeBandOraclePrivilegeProposal.fromPartial(RevokeBandOraclePrivilegeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/GrantPriceFeederPrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.GrantPriceFeederPrivilegeProposal', + value: GrantPriceFeederPrivilegeProposal.encode( + GrantPriceFeederPrivilegeProposal.fromPartial(GrantPriceFeederPrivilegeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/GrantProviderPrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.GrantProviderPrivilegeProposal', + value: GrantProviderPrivilegeProposal.encode( + GrantProviderPrivilegeProposal.fromPartial(GrantProviderPrivilegeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/RevokeProviderPrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.RevokeProviderPrivilegeProposal', + value: RevokeProviderPrivilegeProposal.encode( + RevokeProviderPrivilegeProposal.fromPartial(RevokeProviderPrivilegeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/RevokePriceFeederPrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.RevokePriceFeederPrivilegeProposal', + value: RevokePriceFeederPrivilegeProposal.encode( + RevokePriceFeederPrivilegeProposal.fromPartial(RevokePriceFeederPrivilegeProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/AuthorizeBandOracleRequestProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal', + value: AuthorizeBandOracleRequestProposal.encode( + AuthorizeBandOracleRequestProposal.fromPartial(AuthorizeBandOracleRequestProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/UpdateBandOracleRequestProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.UpdateBandOracleRequestProposal', + value: UpdateBandOracleRequestProposal.encode( + UpdateBandOracleRequestProposal.fromPartial(UpdateBandOracleRequestProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/EnableBandIBCProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.EnableBandIBCProposal', + value: EnableBandIBCProposal.encode( + EnableBandIBCProposal.fromPartial(EnableBandIBCProposal.fromAmino(content.value)), + ).finish(), + }); + case 'oracle/GrantStorkPublisherPrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal', + value: GrantStorkPublisherPrivilegeProposal.encode( + GrantStorkPublisherPrivilegeProposal.fromPartial( + GrantStorkPublisherPrivilegeProposal.fromAmino(content.value), + ), + ).finish(), + }); + case 'oracle/RevokeStorkPublisherPrivilegeProposal': + return Any.fromPartial({ + typeUrl: '/injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal', + value: RevokeStorkPublisherPrivilegeProposal.encode( + RevokeStorkPublisherPrivilegeProposal.fromPartial( + RevokeStorkPublisherPrivilegeProposal.fromAmino(content.value), + ), + ).finish(), + }); + case 'wasmx/ContractRegistrationRequestProposal': + return Any.fromPartial({ + typeUrl: '/injective.wasmx.v1.ContractRegistrationRequestProposal', + value: ContractRegistrationRequestProposal.encode( + ContractRegistrationRequestProposal.fromPartial(ContractRegistrationRequestProposal.fromAmino(content.value)), + ).finish(), + }); + case 'wasmx/BatchContractRegistrationRequestProposal': + return Any.fromPartial({ + typeUrl: '/injective.wasmx.v1.BatchContractRegistrationRequestProposal', + value: BatchContractRegistrationRequestProposal.encode( + BatchContractRegistrationRequestProposal.fromPartial( + BatchContractRegistrationRequestProposal.fromAmino(content.value), + ), + ).finish(), + }); + case 'wasmx/BatchContractDeregistrationProposal': + return Any.fromPartial({ + typeUrl: '/injective.wasmx.v1.BatchContractDeregistrationProposal', + value: BatchContractDeregistrationProposal.encode( + BatchContractDeregistrationProposal.fromPartial(BatchContractDeregistrationProposal.fromAmino(content.value)), + ).finish(), + }); + case '/injective.wasmx.v1.ContractRegistrationRequest': + return Any.fromPartial({ + typeUrl: '/injective.wasmx.v1.ContractRegistrationRequest', + value: ContractRegistrationRequest.encode( + ContractRegistrationRequest.fromPartial(ContractRegistrationRequest.fromAmino(content.value)), + ).finish(), + }); + case 'wasmx/BatchStoreCodeProposal': + return Any.fromPartial({ + typeUrl: '/injective.wasmx.v1.BatchStoreCodeProposal', + value: BatchStoreCodeProposal.encode( + BatchStoreCodeProposal.fromPartial(BatchStoreCodeProposal.fromAmino(content.value)), + ).finish(), + }); + default: + return Any.fromAmino(content); + } +}; +export const Cosmos_govv1beta1Content_ToAmino = (content: Any) => { + switch (content.typeUrl) { + case '/cosmos.distribution.v1beta1.CommunityPoolSpendProposal': + return { + type: 'cosmos-sdk/CommunityPoolSpendProposal', + value: CommunityPoolSpendProposal.toAmino(CommunityPoolSpendProposal.decode(content.value, undefined)), + }; + case '/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit': + return { + type: 'cosmos-sdk/CommunityPoolSpendProposalWithDeposit', + value: CommunityPoolSpendProposalWithDeposit.toAmino( + CommunityPoolSpendProposalWithDeposit.decode(content.value, undefined), + ), + }; + case '/cosmos.gov.v1beta1.TextProposal': + return { + type: 'cosmos-sdk/TextProposal', + value: TextProposal.toAmino(TextProposal.decode(content.value, undefined)), + }; + case '/cosmos.params.v1beta1.ParameterChangeProposal': + return { + type: 'cosmos-sdk/ParameterChangeProposal', + value: ParameterChangeProposal.toAmino(ParameterChangeProposal.decode(content.value, undefined)), + }; + case '/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal': + return { + type: 'cosmos-sdk/SoftwareUpgradeProposal', + value: SoftwareUpgradeProposal.toAmino(SoftwareUpgradeProposal.decode(content.value, undefined)), + }; + case '/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal': + return { + type: 'cosmos-sdk/CancelSoftwareUpgradeProposal', + value: CancelSoftwareUpgradeProposal.toAmino(CancelSoftwareUpgradeProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.StoreCodeProposal': + return { + type: 'wasm/StoreCodeProposal', + value: StoreCodeProposal.toAmino(StoreCodeProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.InstantiateContractProposal': + return { + type: 'wasm/InstantiateContractProposal', + value: InstantiateContractProposal.toAmino(InstantiateContractProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.InstantiateContract2Proposal': + return { + type: 'wasm/InstantiateContract2Proposal', + value: InstantiateContract2Proposal.toAmino(InstantiateContract2Proposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.MigrateContractProposal': + return { + type: 'wasm/MigrateContractProposal', + value: MigrateContractProposal.toAmino(MigrateContractProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.SudoContractProposal': + return { + type: 'wasm/SudoContractProposal', + value: SudoContractProposal.toAmino(SudoContractProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.ExecuteContractProposal': + return { + type: 'wasm/ExecuteContractProposal', + value: ExecuteContractProposal.toAmino(ExecuteContractProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.UpdateAdminProposal': + return { + type: 'wasm/UpdateAdminProposal', + value: UpdateAdminProposal.toAmino(UpdateAdminProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.ClearAdminProposal': + return { + type: 'wasm/ClearAdminProposal', + value: ClearAdminProposal.toAmino(ClearAdminProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.PinCodesProposal': + return { + type: 'wasm/PinCodesProposal', + value: PinCodesProposal.toAmino(PinCodesProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.UnpinCodesProposal': + return { + type: 'wasm/UnpinCodesProposal', + value: UnpinCodesProposal.toAmino(UnpinCodesProposal.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal': + return { + type: 'wasm/UpdateInstantiateConfigProposal', + value: UpdateInstantiateConfigProposal.toAmino( + UpdateInstantiateConfigProposal.decode(content.value, undefined), + ), + }; + case '/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal': + return { + type: 'wasm/StoreAndInstantiateContractProposal', + value: StoreAndInstantiateContractProposal.toAmino( + StoreAndInstantiateContractProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.SpotMarketParamUpdateProposal': + return { + type: 'exchange/SpotMarketParamUpdateProposal', + value: SpotMarketParamUpdateProposal.toAmino(SpotMarketParamUpdateProposal.decode(content.value, undefined)), + }; + case '/injective.exchange.v1beta1.BatchExchangeModificationProposal': + return { + type: 'exchange/BatchExchangeModificationProposal', + value: BatchExchangeModificationProposal.toAmino( + BatchExchangeModificationProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.SpotMarketLaunchProposal': + return { + type: 'exchange/SpotMarketLaunchProposal', + value: SpotMarketLaunchProposal.toAmino(SpotMarketLaunchProposal.decode(content.value, undefined)), + }; + case '/injective.exchange.v1beta1.PerpetualMarketLaunchProposal': + return { + type: 'exchange/PerpetualMarketLaunchProposal', + value: PerpetualMarketLaunchProposal.toAmino(PerpetualMarketLaunchProposal.decode(content.value, undefined)), + }; + case '/injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal': + return { + type: 'exchange/BinaryOptionsMarketLaunchProposal', + value: BinaryOptionsMarketLaunchProposal.toAmino( + BinaryOptionsMarketLaunchProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal': + return { + type: 'exchange/ExpiryFuturesMarketLaunchProposal', + value: ExpiryFuturesMarketLaunchProposal.toAmino( + ExpiryFuturesMarketLaunchProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal': + return { + type: 'exchange/DerivativeMarketParamUpdateProposal', + value: DerivativeMarketParamUpdateProposal.toAmino( + DerivativeMarketParamUpdateProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.MarketForcedSettlementProposal': + return { + type: 'exchange/MarketForcedSettlementProposal', + value: MarketForcedSettlementProposal.toAmino(MarketForcedSettlementProposal.decode(content.value, undefined)), + }; + case '/injective.exchange.v1beta1.UpdateDenomDecimalsProposal': + return { + type: 'exchange/UpdateDenomDecimalsProposal', + value: UpdateDenomDecimalsProposal.toAmino(UpdateDenomDecimalsProposal.decode(content.value, undefined)), + }; + case '/injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal': + return { + type: 'exchange/BinaryOptionsMarketParamUpdateProposal', + value: BinaryOptionsMarketParamUpdateProposal.toAmino( + BinaryOptionsMarketParamUpdateProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal': + return { + type: 'exchange/TradingRewardCampaignLaunchProposal', + value: TradingRewardCampaignLaunchProposal.toAmino( + TradingRewardCampaignLaunchProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal': + return { + type: 'exchange/TradingRewardCampaignUpdateProposal', + value: TradingRewardCampaignUpdateProposal.toAmino( + TradingRewardCampaignUpdateProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal': + return { + type: 'exchange/TradingRewardPendingPointsUpdateProposal', + value: TradingRewardPendingPointsUpdateProposal.toAmino( + TradingRewardPendingPointsUpdateProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.FeeDiscountProposal': + return { + type: 'exchange/FeeDiscountProposal', + value: FeeDiscountProposal.toAmino(FeeDiscountProposal.decode(content.value, undefined)), + }; + case '/injective.exchange.v1beta1.BatchCommunityPoolSpendProposal': + return { + type: 'exchange/BatchCommunityPoolSpendProposal', + value: BatchCommunityPoolSpendProposal.toAmino( + BatchCommunityPoolSpendProposal.decode(content.value, undefined), + ), + }; + case '/injective.exchange.v1beta1.AtomicMarketOrderFeeMultiplierScheduleProposal': + return { + type: 'exchange/AtomicMarketOrderFeeMultiplierScheduleProposal', + value: AtomicMarketOrderFeeMultiplierScheduleProposal.toAmino( + AtomicMarketOrderFeeMultiplierScheduleProposal.decode(content.value, undefined), + ), + }; + case '/injective.ocr.v1beta1.SetConfigProposal': + return { + type: 'ocr/SetConfigProposal', + value: SetConfigProposal.toAmino(SetConfigProposal.decode(content.value, undefined)), + }; + case '/injective.ocr.v1beta1.SetBatchConfigProposal': + return { + type: 'ocr/SetBatchConfigProposal', + value: SetBatchConfigProposal.toAmino(SetBatchConfigProposal.decode(content.value, undefined)), + }; + case '/injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal': + return { + type: 'oracle/GrantBandOraclePrivilegeProposal', + value: GrantBandOraclePrivilegeProposal.toAmino( + GrantBandOraclePrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal': + return { + type: 'oracle/RevokeBandOraclePrivilegeProposal', + value: RevokeBandOraclePrivilegeProposal.toAmino( + RevokeBandOraclePrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.GrantPriceFeederPrivilegeProposal': + return { + type: 'oracle/GrantPriceFeederPrivilegeProposal', + value: GrantPriceFeederPrivilegeProposal.toAmino( + GrantPriceFeederPrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.GrantProviderPrivilegeProposal': + return { + type: 'oracle/GrantProviderPrivilegeProposal', + value: GrantProviderPrivilegeProposal.toAmino(GrantProviderPrivilegeProposal.decode(content.value, undefined)), + }; + case '/injective.oracle.v1beta1.RevokeProviderPrivilegeProposal': + return { + type: 'oracle/RevokeProviderPrivilegeProposal', + value: RevokeProviderPrivilegeProposal.toAmino( + RevokeProviderPrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.RevokePriceFeederPrivilegeProposal': + return { + type: 'oracle/RevokePriceFeederPrivilegeProposal', + value: RevokePriceFeederPrivilegeProposal.toAmino( + RevokePriceFeederPrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal': + return { + type: 'oracle/AuthorizeBandOracleRequestProposal', + value: AuthorizeBandOracleRequestProposal.toAmino( + AuthorizeBandOracleRequestProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.UpdateBandOracleRequestProposal': + return { + type: 'oracle/UpdateBandOracleRequestProposal', + value: UpdateBandOracleRequestProposal.toAmino( + UpdateBandOracleRequestProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.EnableBandIBCProposal': + return { + type: 'oracle/EnableBandIBCProposal', + value: EnableBandIBCProposal.toAmino(EnableBandIBCProposal.decode(content.value, undefined)), + }; + case '/injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal': + return { + type: 'oracle/GrantStorkPublisherPrivilegeProposal', + value: GrantStorkPublisherPrivilegeProposal.toAmino( + GrantStorkPublisherPrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal': + return { + type: 'oracle/RevokeStorkPublisherPrivilegeProposal', + value: RevokeStorkPublisherPrivilegeProposal.toAmino( + RevokeStorkPublisherPrivilegeProposal.decode(content.value, undefined), + ), + }; + case '/injective.wasmx.v1.ContractRegistrationRequestProposal': + return { + type: 'wasmx/ContractRegistrationRequestProposal', + value: ContractRegistrationRequestProposal.toAmino( + ContractRegistrationRequestProposal.decode(content.value, undefined), + ), + }; + case '/injective.wasmx.v1.BatchContractRegistrationRequestProposal': + return { + type: 'wasmx/BatchContractRegistrationRequestProposal', + value: BatchContractRegistrationRequestProposal.toAmino( + BatchContractRegistrationRequestProposal.decode(content.value, undefined), + ), + }; + case '/injective.wasmx.v1.BatchContractDeregistrationProposal': + return { + type: 'wasmx/BatchContractDeregistrationProposal', + value: BatchContractDeregistrationProposal.toAmino( + BatchContractDeregistrationProposal.decode(content.value, undefined), + ), + }; + case '/injective.wasmx.v1.ContractRegistrationRequest': + return { + type: '/injective.wasmx.v1.ContractRegistrationRequest', + value: ContractRegistrationRequest.toAmino(ContractRegistrationRequest.decode(content.value, undefined)), + }; + case '/injective.wasmx.v1.BatchStoreCodeProposal': + return { + type: 'wasmx/BatchStoreCodeProposal', + value: BatchStoreCodeProposal.toAmino(BatchStoreCodeProposal.decode(content.value, undefined)), + }; + default: + return Any.toAmino(content); + } +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/params/v1beta1/params.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/params/v1beta1/params.ts new file mode 100644 index 00000000..e389cfac --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/params/v1beta1/params.ts @@ -0,0 +1,255 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +/** ParameterChangeProposal defines a proposal to change one or more parameters. */ +export interface ParameterChangeProposal { + $typeUrl?: '/cosmos.params.v1beta1.ParameterChangeProposal'; + title: string; + description: string; + changes: ParamChange[]; +} +export interface ParameterChangeProposalProtoMsg { + typeUrl: '/cosmos.params.v1beta1.ParameterChangeProposal'; + value: Uint8Array; +} +/** ParameterChangeProposal defines a proposal to change one or more parameters. */ +export interface ParameterChangeProposalAmino { + title?: string; + description?: string; + changes: ParamChangeAmino[]; +} +export interface ParameterChangeProposalAminoMsg { + type: 'cosmos-sdk/ParameterChangeProposal'; + value: ParameterChangeProposalAmino; +} +/** ParameterChangeProposal defines a proposal to change one or more parameters. */ +export interface ParameterChangeProposalSDKType { + $typeUrl?: '/cosmos.params.v1beta1.ParameterChangeProposal'; + title: string; + description: string; + changes: ParamChangeSDKType[]; +} +/** + * ParamChange defines an individual parameter change, for use in + * ParameterChangeProposal. + */ +export interface ParamChange { + subspace: string; + key: string; + value: string; +} +export interface ParamChangeProtoMsg { + typeUrl: '/cosmos.params.v1beta1.ParamChange'; + value: Uint8Array; +} +/** + * ParamChange defines an individual parameter change, for use in + * ParameterChangeProposal. + */ +export interface ParamChangeAmino { + subspace?: string; + key?: string; + value?: string; +} +export interface ParamChangeAminoMsg { + type: 'cosmos-sdk/ParamChange'; + value: ParamChangeAmino; +} +/** + * ParamChange defines an individual parameter change, for use in + * ParameterChangeProposal. + */ +export interface ParamChangeSDKType { + subspace: string; + key: string; + value: string; +} +function createBaseParameterChangeProposal(): ParameterChangeProposal { + return { + $typeUrl: '/cosmos.params.v1beta1.ParameterChangeProposal', + title: '', + description: '', + changes: [], + }; +} +export const ParameterChangeProposal = { + typeUrl: '/cosmos.params.v1beta1.ParameterChangeProposal', + encode(message: ParameterChangeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.changes) { + ParamChange.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ParameterChangeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParameterChangeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.changes.push(ParamChange.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ParameterChangeProposal { + const message = createBaseParameterChangeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.changes = object.changes?.map((e) => ParamChange.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ParameterChangeProposalAmino): ParameterChangeProposal { + const message = createBaseParameterChangeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.changes = object.changes?.map((e) => ParamChange.fromAmino(e)) || []; + return message; + }, + toAmino(message: ParameterChangeProposal): ParameterChangeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.changes) { + obj.changes = message.changes.map((e) => (e ? ParamChange.toAmino(e) : undefined)); + } else { + obj.changes = message.changes; + } + return obj; + }, + fromAminoMsg(object: ParameterChangeProposalAminoMsg): ParameterChangeProposal { + return ParameterChangeProposal.fromAmino(object.value); + }, + toAminoMsg(message: ParameterChangeProposal): ParameterChangeProposalAminoMsg { + return { + type: 'cosmos-sdk/ParameterChangeProposal', + value: ParameterChangeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: ParameterChangeProposalProtoMsg): ParameterChangeProposal { + return ParameterChangeProposal.decode(message.value); + }, + toProto(message: ParameterChangeProposal): Uint8Array { + return ParameterChangeProposal.encode(message).finish(); + }, + toProtoMsg(message: ParameterChangeProposal): ParameterChangeProposalProtoMsg { + return { + typeUrl: '/cosmos.params.v1beta1.ParameterChangeProposal', + value: ParameterChangeProposal.encode(message).finish(), + }; + }, +}; +function createBaseParamChange(): ParamChange { + return { + subspace: '', + key: '', + value: '', + }; +} +export const ParamChange = { + typeUrl: '/cosmos.params.v1beta1.ParamChange', + encode(message: ParamChange, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.subspace !== '') { + writer.uint32(10).string(message.subspace); + } + if (message.key !== '') { + writer.uint32(18).string(message.key); + } + if (message.value !== '') { + writer.uint32(26).string(message.value); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ParamChange { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParamChange(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): ParamChange { + const message = createBaseParamChange(); + message.subspace = object.subspace ?? ''; + message.key = object.key ?? ''; + message.value = object.value ?? ''; + return message; + }, + fromAmino(object: ParamChangeAmino): ParamChange { + const message = createBaseParamChange(); + if (object.subspace !== undefined && object.subspace !== null) { + message.subspace = object.subspace; + } + if (object.key !== undefined && object.key !== null) { + message.key = object.key; + } + if (object.value !== undefined && object.value !== null) { + message.value = object.value; + } + return message; + }, + toAmino(message: ParamChange): ParamChangeAmino { + const obj: any = {}; + obj.subspace = message.subspace === '' ? undefined : message.subspace; + obj.key = message.key === '' ? undefined : message.key; + obj.value = message.value === '' ? undefined : message.value; + return obj; + }, + fromAminoMsg(object: ParamChangeAminoMsg): ParamChange { + return ParamChange.fromAmino(object.value); + }, + toAminoMsg(message: ParamChange): ParamChangeAminoMsg { + return { + type: 'cosmos-sdk/ParamChange', + value: ParamChange.toAmino(message), + }; + }, + fromProtoMsg(message: ParamChangeProtoMsg): ParamChange { + return ParamChange.decode(message.value); + }, + toProto(message: ParamChange): Uint8Array { + return ParamChange.encode(message).finish(); + }, + toProtoMsg(message: ParamChange): ParamChangeProtoMsg { + return { + typeUrl: '/cosmos.params.v1beta1.ParamChange', + value: ParamChange.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/staking/v1beta1/authz.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/staking/v1beta1/authz.ts new file mode 100644 index 00000000..3b69718b --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/staking/v1beta1/authz.ts @@ -0,0 +1,331 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { Coin, CoinAmino, CoinSDKType } from '../../base/v1beta1/coin'; +/** + * AuthorizationType defines the type of staking module authorization type + * + * Since: cosmos-sdk 0.43 + */ +export enum AuthorizationType { + /** AUTHORIZATION_TYPE_UNSPECIFIED - AUTHORIZATION_TYPE_UNSPECIFIED specifies an unknown authorization type */ + AUTHORIZATION_TYPE_UNSPECIFIED = 0, + /** AUTHORIZATION_TYPE_DELEGATE - AUTHORIZATION_TYPE_DELEGATE defines an authorization type for Msg/Delegate */ + AUTHORIZATION_TYPE_DELEGATE = 1, + /** AUTHORIZATION_TYPE_UNDELEGATE - AUTHORIZATION_TYPE_UNDELEGATE defines an authorization type for Msg/Undelegate */ + AUTHORIZATION_TYPE_UNDELEGATE = 2, + /** AUTHORIZATION_TYPE_REDELEGATE - AUTHORIZATION_TYPE_REDELEGATE defines an authorization type for Msg/BeginRedelegate */ + AUTHORIZATION_TYPE_REDELEGATE = 3, + /** AUTHORIZATION_TYPE_CANCEL_UNBONDING_DELEGATION - AUTHORIZATION_TYPE_CANCEL_UNBONDING_DELEGATION defines an authorization type for Msg/MsgCancelUnbondingDelegation */ + AUTHORIZATION_TYPE_CANCEL_UNBONDING_DELEGATION = 4, + UNRECOGNIZED = -1, +} +export const AuthorizationTypeSDKType = AuthorizationType; +export const AuthorizationTypeAmino = AuthorizationType; +export function authorizationTypeFromJSON(object: any): AuthorizationType { + switch (object) { + case 0: + case 'AUTHORIZATION_TYPE_UNSPECIFIED': + return AuthorizationType.AUTHORIZATION_TYPE_UNSPECIFIED; + case 1: + case 'AUTHORIZATION_TYPE_DELEGATE': + return AuthorizationType.AUTHORIZATION_TYPE_DELEGATE; + case 2: + case 'AUTHORIZATION_TYPE_UNDELEGATE': + return AuthorizationType.AUTHORIZATION_TYPE_UNDELEGATE; + case 3: + case 'AUTHORIZATION_TYPE_REDELEGATE': + return AuthorizationType.AUTHORIZATION_TYPE_REDELEGATE; + case 4: + case 'AUTHORIZATION_TYPE_CANCEL_UNBONDING_DELEGATION': + return AuthorizationType.AUTHORIZATION_TYPE_CANCEL_UNBONDING_DELEGATION; + case -1: + case 'UNRECOGNIZED': + default: + return AuthorizationType.UNRECOGNIZED; + } +} +export function authorizationTypeToJSON(object: AuthorizationType): string { + switch (object) { + case AuthorizationType.AUTHORIZATION_TYPE_UNSPECIFIED: + return 'AUTHORIZATION_TYPE_UNSPECIFIED'; + case AuthorizationType.AUTHORIZATION_TYPE_DELEGATE: + return 'AUTHORIZATION_TYPE_DELEGATE'; + case AuthorizationType.AUTHORIZATION_TYPE_UNDELEGATE: + return 'AUTHORIZATION_TYPE_UNDELEGATE'; + case AuthorizationType.AUTHORIZATION_TYPE_REDELEGATE: + return 'AUTHORIZATION_TYPE_REDELEGATE'; + case AuthorizationType.AUTHORIZATION_TYPE_CANCEL_UNBONDING_DELEGATION: + return 'AUTHORIZATION_TYPE_CANCEL_UNBONDING_DELEGATION'; + case AuthorizationType.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** + * StakeAuthorization defines authorization for delegate/undelegate/redelegate. + * + * Since: cosmos-sdk 0.43 + */ +export interface StakeAuthorization { + $typeUrl?: '/cosmos.staking.v1beta1.StakeAuthorization'; + /** + * max_tokens specifies the maximum amount of tokens can be delegate to a validator. If it is + * empty, there is no spend limit and any amount of coins can be delegated. + */ + maxTokens?: Coin; + /** + * allow_list specifies list of validator addresses to whom grantee can delegate tokens on behalf of granter's + * account. + */ + allowList?: StakeAuthorization_Validators; + /** deny_list specifies list of validator addresses to whom grantee can not delegate tokens. */ + denyList?: StakeAuthorization_Validators; + /** authorization_type defines one of AuthorizationType. */ + authorizationType: AuthorizationType; +} +export interface StakeAuthorizationProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.StakeAuthorization'; + value: Uint8Array; +} +/** + * StakeAuthorization defines authorization for delegate/undelegate/redelegate. + * + * Since: cosmos-sdk 0.43 + */ +export interface StakeAuthorizationAmino { + /** + * max_tokens specifies the maximum amount of tokens can be delegate to a validator. If it is + * empty, there is no spend limit and any amount of coins can be delegated. + */ + max_tokens?: CoinAmino; + /** + * allow_list specifies list of validator addresses to whom grantee can delegate tokens on behalf of granter's + * account. + */ + allow_list?: StakeAuthorization_ValidatorsAmino; + /** deny_list specifies list of validator addresses to whom grantee can not delegate tokens. */ + deny_list?: StakeAuthorization_ValidatorsAmino; + /** authorization_type defines one of AuthorizationType. */ + authorization_type?: AuthorizationType; +} +export interface StakeAuthorizationAminoMsg { + type: 'cosmos-sdk/StakeAuthorization'; + value: StakeAuthorizationAmino; +} +/** + * StakeAuthorization defines authorization for delegate/undelegate/redelegate. + * + * Since: cosmos-sdk 0.43 + */ +export interface StakeAuthorizationSDKType { + $typeUrl?: '/cosmos.staking.v1beta1.StakeAuthorization'; + max_tokens?: CoinSDKType; + allow_list?: StakeAuthorization_ValidatorsSDKType; + deny_list?: StakeAuthorization_ValidatorsSDKType; + authorization_type: AuthorizationType; +} +/** Validators defines list of validator addresses. */ +export interface StakeAuthorization_Validators { + address: string[]; +} +export interface StakeAuthorization_ValidatorsProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.Validators'; + value: Uint8Array; +} +/** Validators defines list of validator addresses. */ +export interface StakeAuthorization_ValidatorsAmino { + address?: string[]; +} +export interface StakeAuthorization_ValidatorsAminoMsg { + type: 'cosmos-sdk/Validators'; + value: StakeAuthorization_ValidatorsAmino; +} +/** Validators defines list of validator addresses. */ +export interface StakeAuthorization_ValidatorsSDKType { + address: string[]; +} +function createBaseStakeAuthorization(): StakeAuthorization { + return { + $typeUrl: '/cosmos.staking.v1beta1.StakeAuthorization', + maxTokens: undefined, + allowList: undefined, + denyList: undefined, + authorizationType: 0, + }; +} +export const StakeAuthorization = { + typeUrl: '/cosmos.staking.v1beta1.StakeAuthorization', + encode(message: StakeAuthorization, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.maxTokens !== undefined) { + Coin.encode(message.maxTokens, writer.uint32(10).fork()).ldelim(); + } + if (message.allowList !== undefined) { + StakeAuthorization_Validators.encode(message.allowList, writer.uint32(18).fork()).ldelim(); + } + if (message.denyList !== undefined) { + StakeAuthorization_Validators.encode(message.denyList, writer.uint32(26).fork()).ldelim(); + } + if (message.authorizationType !== 0) { + writer.uint32(32).int32(message.authorizationType); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): StakeAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStakeAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.maxTokens = Coin.decode(reader, reader.uint32()); + break; + case 2: + message.allowList = StakeAuthorization_Validators.decode(reader, reader.uint32()); + break; + case 3: + message.denyList = StakeAuthorization_Validators.decode(reader, reader.uint32()); + break; + case 4: + message.authorizationType = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): StakeAuthorization { + const message = createBaseStakeAuthorization(); + message.maxTokens = + object.maxTokens !== undefined && object.maxTokens !== null ? Coin.fromPartial(object.maxTokens) : undefined; + message.allowList = + object.allowList !== undefined && object.allowList !== null + ? StakeAuthorization_Validators.fromPartial(object.allowList) + : undefined; + message.denyList = + object.denyList !== undefined && object.denyList !== null + ? StakeAuthorization_Validators.fromPartial(object.denyList) + : undefined; + message.authorizationType = object.authorizationType ?? 0; + return message; + }, + fromAmino(object: StakeAuthorizationAmino): StakeAuthorization { + const message = createBaseStakeAuthorization(); + if (object.max_tokens !== undefined && object.max_tokens !== null) { + message.maxTokens = Coin.fromAmino(object.max_tokens); + } + if (object.allow_list !== undefined && object.allow_list !== null) { + message.allowList = StakeAuthorization_Validators.fromAmino(object.allow_list); + } + if (object.deny_list !== undefined && object.deny_list !== null) { + message.denyList = StakeAuthorization_Validators.fromAmino(object.deny_list); + } + if (object.authorization_type !== undefined && object.authorization_type !== null) { + message.authorizationType = object.authorization_type; + } + return message; + }, + toAmino(message: StakeAuthorization): StakeAuthorizationAmino { + const obj: any = {}; + obj.max_tokens = message.maxTokens ? Coin.toAmino(message.maxTokens) : undefined; + obj.allow_list = message.allowList ? StakeAuthorization_Validators.toAmino(message.allowList) : undefined; + obj.deny_list = message.denyList ? StakeAuthorization_Validators.toAmino(message.denyList) : undefined; + obj.authorization_type = message.authorizationType === 0 ? undefined : message.authorizationType; + return obj; + }, + fromAminoMsg(object: StakeAuthorizationAminoMsg): StakeAuthorization { + return StakeAuthorization.fromAmino(object.value); + }, + toAminoMsg(message: StakeAuthorization): StakeAuthorizationAminoMsg { + return { + type: 'cosmos-sdk/StakeAuthorization', + value: StakeAuthorization.toAmino(message), + }; + }, + fromProtoMsg(message: StakeAuthorizationProtoMsg): StakeAuthorization { + return StakeAuthorization.decode(message.value); + }, + toProto(message: StakeAuthorization): Uint8Array { + return StakeAuthorization.encode(message).finish(); + }, + toProtoMsg(message: StakeAuthorization): StakeAuthorizationProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.StakeAuthorization', + value: StakeAuthorization.encode(message).finish(), + }; + }, +}; +function createBaseStakeAuthorization_Validators(): StakeAuthorization_Validators { + return { + address: [], + }; +} +export const StakeAuthorization_Validators = { + typeUrl: '/cosmos.staking.v1beta1.Validators', + encode(message: StakeAuthorization_Validators, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.address) { + writer.uint32(10).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): StakeAuthorization_Validators { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStakeAuthorization_Validators(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): StakeAuthorization_Validators { + const message = createBaseStakeAuthorization_Validators(); + message.address = object.address?.map((e) => e) || []; + return message; + }, + fromAmino(object: StakeAuthorization_ValidatorsAmino): StakeAuthorization_Validators { + const message = createBaseStakeAuthorization_Validators(); + message.address = object.address?.map((e) => e) || []; + return message; + }, + toAmino(message: StakeAuthorization_Validators): StakeAuthorization_ValidatorsAmino { + const obj: any = {}; + if (message.address) { + obj.address = message.address.map((e) => e); + } else { + obj.address = message.address; + } + return obj; + }, + fromAminoMsg(object: StakeAuthorization_ValidatorsAminoMsg): StakeAuthorization_Validators { + return StakeAuthorization_Validators.fromAmino(object.value); + }, + toAminoMsg(message: StakeAuthorization_Validators): StakeAuthorization_ValidatorsAminoMsg { + return { + type: 'cosmos-sdk/Validators', + value: StakeAuthorization_Validators.toAmino(message), + }; + }, + fromProtoMsg(message: StakeAuthorization_ValidatorsProtoMsg): StakeAuthorization_Validators { + return StakeAuthorization_Validators.decode(message.value); + }, + toProto(message: StakeAuthorization_Validators): Uint8Array { + return StakeAuthorization_Validators.encode(message).finish(); + }, + toProtoMsg(message: StakeAuthorization_Validators): StakeAuthorization_ValidatorsProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.Validators', + value: StakeAuthorization_Validators.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/staking/v1beta1/staking.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/staking/v1beta1/staking.ts new file mode 100644 index 00000000..91a90fe6 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/staking/v1beta1/staking.ts @@ -0,0 +1,3092 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Pubkey } from '@cosmjs/amino'; +import { Decimal } from '@cosmjs/math'; +import { decodePubkey, encodePubkey } from '@cosmjs/proto-signing'; +import { Any, AnyAmino, AnyProtoMsg, AnySDKType } from 'cosmjs-types/google/protobuf/any'; +import { Duration, DurationAmino, DurationSDKType } from 'cosmjs-types/google/protobuf/duration'; +import { Timestamp } from 'cosmjs-types/google/protobuf/timestamp'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { fromTimestamp, toTimestamp } from '../../../../../helpers'; +import { ValidatorUpdate, ValidatorUpdateAmino, ValidatorUpdateSDKType } from '../../../tendermint/abci/types'; +import { Header, HeaderAmino, HeaderSDKType } from '../../../tendermint/types/types'; +import { Coin, CoinAmino, CoinSDKType } from '../../base/v1beta1/coin'; +/** BondStatus is the status of a validator. */ +export enum BondStatus { + /** BOND_STATUS_UNSPECIFIED - UNSPECIFIED defines an invalid validator status. */ + BOND_STATUS_UNSPECIFIED = 0, + /** BOND_STATUS_UNBONDED - UNBONDED defines a validator that is not bonded. */ + BOND_STATUS_UNBONDED = 1, + /** BOND_STATUS_UNBONDING - UNBONDING defines a validator that is unbonding. */ + BOND_STATUS_UNBONDING = 2, + /** BOND_STATUS_BONDED - BONDED defines a validator that is bonded. */ + BOND_STATUS_BONDED = 3, + UNRECOGNIZED = -1, +} +export const BondStatusSDKType = BondStatus; +export const BondStatusAmino = BondStatus; +export function bondStatusFromJSON(object: any): BondStatus { + switch (object) { + case 0: + case 'BOND_STATUS_UNSPECIFIED': + return BondStatus.BOND_STATUS_UNSPECIFIED; + case 1: + case 'BOND_STATUS_UNBONDED': + return BondStatus.BOND_STATUS_UNBONDED; + case 2: + case 'BOND_STATUS_UNBONDING': + return BondStatus.BOND_STATUS_UNBONDING; + case 3: + case 'BOND_STATUS_BONDED': + return BondStatus.BOND_STATUS_BONDED; + case -1: + case 'UNRECOGNIZED': + default: + return BondStatus.UNRECOGNIZED; + } +} +export function bondStatusToJSON(object: BondStatus): string { + switch (object) { + case BondStatus.BOND_STATUS_UNSPECIFIED: + return 'BOND_STATUS_UNSPECIFIED'; + case BondStatus.BOND_STATUS_UNBONDED: + return 'BOND_STATUS_UNBONDED'; + case BondStatus.BOND_STATUS_UNBONDING: + return 'BOND_STATUS_UNBONDING'; + case BondStatus.BOND_STATUS_BONDED: + return 'BOND_STATUS_BONDED'; + case BondStatus.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** Infraction indicates the infraction a validator commited. */ +export enum Infraction { + /** INFRACTION_UNSPECIFIED - UNSPECIFIED defines an empty infraction. */ + INFRACTION_UNSPECIFIED = 0, + /** INFRACTION_DOUBLE_SIGN - DOUBLE_SIGN defines a validator that double-signs a block. */ + INFRACTION_DOUBLE_SIGN = 1, + /** INFRACTION_DOWNTIME - DOWNTIME defines a validator that missed signing too many blocks. */ + INFRACTION_DOWNTIME = 2, + UNRECOGNIZED = -1, +} +export const InfractionSDKType = Infraction; +export const InfractionAmino = Infraction; +export function infractionFromJSON(object: any): Infraction { + switch (object) { + case 0: + case 'INFRACTION_UNSPECIFIED': + return Infraction.INFRACTION_UNSPECIFIED; + case 1: + case 'INFRACTION_DOUBLE_SIGN': + return Infraction.INFRACTION_DOUBLE_SIGN; + case 2: + case 'INFRACTION_DOWNTIME': + return Infraction.INFRACTION_DOWNTIME; + case -1: + case 'UNRECOGNIZED': + default: + return Infraction.UNRECOGNIZED; + } +} +export function infractionToJSON(object: Infraction): string { + switch (object) { + case Infraction.INFRACTION_UNSPECIFIED: + return 'INFRACTION_UNSPECIFIED'; + case Infraction.INFRACTION_DOUBLE_SIGN: + return 'INFRACTION_DOUBLE_SIGN'; + case Infraction.INFRACTION_DOWNTIME: + return 'INFRACTION_DOWNTIME'; + case Infraction.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** + * HistoricalInfo contains header and validator information for a given block. + * It is stored as part of staking module's state, which persists the `n` most + * recent HistoricalInfo + * (`n` is set by the staking module's `historical_entries` parameter). + */ +export interface HistoricalInfo { + header: Header; + valset: Validator[]; +} +export interface HistoricalInfoProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.HistoricalInfo'; + value: Uint8Array; +} +/** + * HistoricalInfo contains header and validator information for a given block. + * It is stored as part of staking module's state, which persists the `n` most + * recent HistoricalInfo + * (`n` is set by the staking module's `historical_entries` parameter). + */ +export interface HistoricalInfoAmino { + header: HeaderAmino; + valset: ValidatorAmino[]; +} +export interface HistoricalInfoAminoMsg { + type: 'cosmos-sdk/HistoricalInfo'; + value: HistoricalInfoAmino; +} +/** + * HistoricalInfo contains header and validator information for a given block. + * It is stored as part of staking module's state, which persists the `n` most + * recent HistoricalInfo + * (`n` is set by the staking module's `historical_entries` parameter). + */ +export interface HistoricalInfoSDKType { + header: HeaderSDKType; + valset: ValidatorSDKType[]; +} +/** + * CommissionRates defines the initial commission rates to be used for creating + * a validator. + */ +export interface CommissionRates { + /** rate is the commission rate charged to delegators, as a fraction. */ + rate: string; + /** max_rate defines the maximum commission rate which validator can ever charge, as a fraction. */ + maxRate: string; + /** max_change_rate defines the maximum daily increase of the validator commission, as a fraction. */ + maxChangeRate: string; +} +export interface CommissionRatesProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.CommissionRates'; + value: Uint8Array; +} +/** + * CommissionRates defines the initial commission rates to be used for creating + * a validator. + */ +export interface CommissionRatesAmino { + /** rate is the commission rate charged to delegators, as a fraction. */ + rate: string; + /** max_rate defines the maximum commission rate which validator can ever charge, as a fraction. */ + max_rate: string; + /** max_change_rate defines the maximum daily increase of the validator commission, as a fraction. */ + max_change_rate: string; +} +export interface CommissionRatesAminoMsg { + type: 'cosmos-sdk/CommissionRates'; + value: CommissionRatesAmino; +} +/** + * CommissionRates defines the initial commission rates to be used for creating + * a validator. + */ +export interface CommissionRatesSDKType { + rate: string; + max_rate: string; + max_change_rate: string; +} +/** Commission defines commission parameters for a given validator. */ +export interface Commission { + /** commission_rates defines the initial commission rates to be used for creating a validator. */ + commissionRates: CommissionRates; + /** update_time is the last time the commission rate was changed. */ + updateTime: Date; +} +export interface CommissionProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.Commission'; + value: Uint8Array; +} +/** Commission defines commission parameters for a given validator. */ +export interface CommissionAmino { + /** commission_rates defines the initial commission rates to be used for creating a validator. */ + commission_rates: CommissionRatesAmino; + /** update_time is the last time the commission rate was changed. */ + update_time: string; +} +export interface CommissionAminoMsg { + type: 'cosmos-sdk/Commission'; + value: CommissionAmino; +} +/** Commission defines commission parameters for a given validator. */ +export interface CommissionSDKType { + commission_rates: CommissionRatesSDKType; + update_time: Date; +} +/** Description defines a validator description. */ +export interface Description { + /** moniker defines a human-readable name for the validator. */ + moniker: string; + /** identity defines an optional identity signature (ex. UPort or Keybase). */ + identity: string; + /** website defines an optional website link. */ + website: string; + /** security_contact defines an optional email for security contact. */ + securityContact: string; + /** details define other optional details. */ + details: string; +} +export interface DescriptionProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.Description'; + value: Uint8Array; +} +/** Description defines a validator description. */ +export interface DescriptionAmino { + /** moniker defines a human-readable name for the validator. */ + moniker?: string; + /** identity defines an optional identity signature (ex. UPort or Keybase). */ + identity?: string; + /** website defines an optional website link. */ + website?: string; + /** security_contact defines an optional email for security contact. */ + security_contact?: string; + /** details define other optional details. */ + details?: string; +} +export interface DescriptionAminoMsg { + type: 'cosmos-sdk/Description'; + value: DescriptionAmino; +} +/** Description defines a validator description. */ +export interface DescriptionSDKType { + moniker: string; + identity: string; + website: string; + security_contact: string; + details: string; +} +/** + * Validator defines a validator, together with the total amount of the + * Validator's bond shares and their exchange rate to coins. Slashing results in + * a decrease in the exchange rate, allowing correct calculation of future + * undelegations without iterating over delegators. When coins are delegated to + * this validator, the validator is credited with a delegation whose number of + * bond shares is based on the amount of coins delegated divided by the current + * exchange rate. Voting power can be calculated as total bonded shares + * multiplied by exchange rate. + */ +export interface Validator { + /** operator_address defines the address of the validator's operator; bech encoded in JSON. */ + operatorAddress: string; + /** consensus_pubkey is the consensus public key of the validator, as a Protobuf Any. */ + consensusPubkey?: Any | undefined; + /** jailed defined whether the validator has been jailed from bonded status or not. */ + jailed: boolean; + /** status is the validator status (bonded/unbonding/unbonded). */ + status: BondStatus; + /** tokens define the delegated tokens (incl. self-delegation). */ + tokens: string; + /** delegator_shares defines total shares issued to a validator's delegators. */ + delegatorShares: string; + /** description defines the description terms for the validator. */ + description: Description; + /** unbonding_height defines, if unbonding, the height at which this validator has begun unbonding. */ + unbondingHeight: bigint; + /** unbonding_time defines, if unbonding, the min time for the validator to complete unbonding. */ + unbondingTime: Date; + /** commission defines the commission parameters. */ + commission: Commission; + /** + * min_self_delegation is the validator's self declared minimum self delegation. + * + * Since: cosmos-sdk 0.46 + */ + minSelfDelegation: string; + /** strictly positive if this validator's unbonding has been stopped by external modules */ + unbondingOnHoldRefCount: bigint; + /** list of unbonding ids, each uniquely identifing an unbonding of this validator */ + unbondingIds: bigint[]; +} +export interface ValidatorProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.Validator'; + value: Uint8Array; +} +export type ValidatorEncoded = Omit & { + /** consensus_pubkey is the consensus public key of the validator, as a Protobuf Any. */ consensusPubkey?: + | AnyProtoMsg + | undefined; +}; +/** + * Validator defines a validator, together with the total amount of the + * Validator's bond shares and their exchange rate to coins. Slashing results in + * a decrease in the exchange rate, allowing correct calculation of future + * undelegations without iterating over delegators. When coins are delegated to + * this validator, the validator is credited with a delegation whose number of + * bond shares is based on the amount of coins delegated divided by the current + * exchange rate. Voting power can be calculated as total bonded shares + * multiplied by exchange rate. + */ +export interface ValidatorAmino { + /** operator_address defines the address of the validator's operator; bech encoded in JSON. */ + operator_address?: string; + /** consensus_pubkey is the consensus public key of the validator, as a Protobuf Any. */ + consensus_pubkey?: AnyAmino; + /** jailed defined whether the validator has been jailed from bonded status or not. */ + jailed?: boolean; + /** status is the validator status (bonded/unbonding/unbonded). */ + status?: BondStatus; + /** tokens define the delegated tokens (incl. self-delegation). */ + tokens?: string; + /** delegator_shares defines total shares issued to a validator's delegators. */ + delegator_shares?: string; + /** description defines the description terms for the validator. */ + description: DescriptionAmino; + /** unbonding_height defines, if unbonding, the height at which this validator has begun unbonding. */ + unbonding_height?: string; + /** unbonding_time defines, if unbonding, the min time for the validator to complete unbonding. */ + unbonding_time: string; + /** commission defines the commission parameters. */ + commission: CommissionAmino; + /** + * min_self_delegation is the validator's self declared minimum self delegation. + * + * Since: cosmos-sdk 0.46 + */ + min_self_delegation?: string; + /** strictly positive if this validator's unbonding has been stopped by external modules */ + unbonding_on_hold_ref_count?: string; + /** list of unbonding ids, each uniquely identifing an unbonding of this validator */ + unbonding_ids?: string[]; +} +export interface ValidatorAminoMsg { + type: 'cosmos-sdk/Validator'; + value: ValidatorAmino; +} +/** + * Validator defines a validator, together with the total amount of the + * Validator's bond shares and their exchange rate to coins. Slashing results in + * a decrease in the exchange rate, allowing correct calculation of future + * undelegations without iterating over delegators. When coins are delegated to + * this validator, the validator is credited with a delegation whose number of + * bond shares is based on the amount of coins delegated divided by the current + * exchange rate. Voting power can be calculated as total bonded shares + * multiplied by exchange rate. + */ +export interface ValidatorSDKType { + operator_address: string; + consensus_pubkey?: AnySDKType | undefined; + jailed: boolean; + status: BondStatus; + tokens: string; + delegator_shares: string; + description: DescriptionSDKType; + unbonding_height: bigint; + unbonding_time: Date; + commission: CommissionSDKType; + min_self_delegation: string; + unbonding_on_hold_ref_count: bigint; + unbonding_ids: bigint[]; +} +/** ValAddresses defines a repeated set of validator addresses. */ +export interface ValAddresses { + addresses: string[]; +} +export interface ValAddressesProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.ValAddresses'; + value: Uint8Array; +} +/** ValAddresses defines a repeated set of validator addresses. */ +export interface ValAddressesAmino { + addresses?: string[]; +} +export interface ValAddressesAminoMsg { + type: 'cosmos-sdk/ValAddresses'; + value: ValAddressesAmino; +} +/** ValAddresses defines a repeated set of validator addresses. */ +export interface ValAddressesSDKType { + addresses: string[]; +} +/** + * DVPair is struct that just has a delegator-validator pair with no other data. + * It is intended to be used as a marshalable pointer. For example, a DVPair can + * be used to construct the key to getting an UnbondingDelegation from state. + */ +export interface DVPair { + delegatorAddress: string; + validatorAddress: string; +} +export interface DVPairProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.DVPair'; + value: Uint8Array; +} +/** + * DVPair is struct that just has a delegator-validator pair with no other data. + * It is intended to be used as a marshalable pointer. For example, a DVPair can + * be used to construct the key to getting an UnbondingDelegation from state. + */ +export interface DVPairAmino { + delegator_address?: string; + validator_address?: string; +} +export interface DVPairAminoMsg { + type: 'cosmos-sdk/DVPair'; + value: DVPairAmino; +} +/** + * DVPair is struct that just has a delegator-validator pair with no other data. + * It is intended to be used as a marshalable pointer. For example, a DVPair can + * be used to construct the key to getting an UnbondingDelegation from state. + */ +export interface DVPairSDKType { + delegator_address: string; + validator_address: string; +} +/** DVPairs defines an array of DVPair objects. */ +export interface DVPairs { + pairs: DVPair[]; +} +export interface DVPairsProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.DVPairs'; + value: Uint8Array; +} +/** DVPairs defines an array of DVPair objects. */ +export interface DVPairsAmino { + pairs: DVPairAmino[]; +} +export interface DVPairsAminoMsg { + type: 'cosmos-sdk/DVPairs'; + value: DVPairsAmino; +} +/** DVPairs defines an array of DVPair objects. */ +export interface DVPairsSDKType { + pairs: DVPairSDKType[]; +} +/** + * DVVTriplet is struct that just has a delegator-validator-validator triplet + * with no other data. It is intended to be used as a marshalable pointer. For + * example, a DVVTriplet can be used to construct the key to getting a + * Redelegation from state. + */ +export interface DVVTriplet { + delegatorAddress: string; + validatorSrcAddress: string; + validatorDstAddress: string; +} +export interface DVVTripletProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.DVVTriplet'; + value: Uint8Array; +} +/** + * DVVTriplet is struct that just has a delegator-validator-validator triplet + * with no other data. It is intended to be used as a marshalable pointer. For + * example, a DVVTriplet can be used to construct the key to getting a + * Redelegation from state. + */ +export interface DVVTripletAmino { + delegator_address?: string; + validator_src_address?: string; + validator_dst_address?: string; +} +export interface DVVTripletAminoMsg { + type: 'cosmos-sdk/DVVTriplet'; + value: DVVTripletAmino; +} +/** + * DVVTriplet is struct that just has a delegator-validator-validator triplet + * with no other data. It is intended to be used as a marshalable pointer. For + * example, a DVVTriplet can be used to construct the key to getting a + * Redelegation from state. + */ +export interface DVVTripletSDKType { + delegator_address: string; + validator_src_address: string; + validator_dst_address: string; +} +/** DVVTriplets defines an array of DVVTriplet objects. */ +export interface DVVTriplets { + triplets: DVVTriplet[]; +} +export interface DVVTripletsProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.DVVTriplets'; + value: Uint8Array; +} +/** DVVTriplets defines an array of DVVTriplet objects. */ +export interface DVVTripletsAmino { + triplets: DVVTripletAmino[]; +} +export interface DVVTripletsAminoMsg { + type: 'cosmos-sdk/DVVTriplets'; + value: DVVTripletsAmino; +} +/** DVVTriplets defines an array of DVVTriplet objects. */ +export interface DVVTripletsSDKType { + triplets: DVVTripletSDKType[]; +} +/** + * Delegation represents the bond with tokens held by an account. It is + * owned by one delegator, and is associated with the voting power of one + * validator. + */ +export interface Delegation { + /** delegator_address is the encoded address of the delegator. */ + delegatorAddress: string; + /** validator_address is the encoded address of the validator. */ + validatorAddress: string; + /** shares define the delegation shares received. */ + shares: string; +} +export interface DelegationProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.Delegation'; + value: Uint8Array; +} +/** + * Delegation represents the bond with tokens held by an account. It is + * owned by one delegator, and is associated with the voting power of one + * validator. + */ +export interface DelegationAmino { + /** delegator_address is the encoded address of the delegator. */ + delegator_address?: string; + /** validator_address is the encoded address of the validator. */ + validator_address?: string; + /** shares define the delegation shares received. */ + shares?: string; +} +export interface DelegationAminoMsg { + type: 'cosmos-sdk/Delegation'; + value: DelegationAmino; +} +/** + * Delegation represents the bond with tokens held by an account. It is + * owned by one delegator, and is associated with the voting power of one + * validator. + */ +export interface DelegationSDKType { + delegator_address: string; + validator_address: string; + shares: string; +} +/** + * UnbondingDelegation stores all of a single delegator's unbonding bonds + * for a single validator in an time-ordered list. + */ +export interface UnbondingDelegation { + /** delegator_address is the encoded address of the delegator. */ + delegatorAddress: string; + /** validator_address is the encoded address of the validator. */ + validatorAddress: string; + /** entries are the unbonding delegation entries. */ + entries: UnbondingDelegationEntry[]; +} +export interface UnbondingDelegationProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.UnbondingDelegation'; + value: Uint8Array; +} +/** + * UnbondingDelegation stores all of a single delegator's unbonding bonds + * for a single validator in an time-ordered list. + */ +export interface UnbondingDelegationAmino { + /** delegator_address is the encoded address of the delegator. */ + delegator_address?: string; + /** validator_address is the encoded address of the validator. */ + validator_address?: string; + /** entries are the unbonding delegation entries. */ + entries: UnbondingDelegationEntryAmino[]; +} +export interface UnbondingDelegationAminoMsg { + type: 'cosmos-sdk/UnbondingDelegation'; + value: UnbondingDelegationAmino; +} +/** + * UnbondingDelegation stores all of a single delegator's unbonding bonds + * for a single validator in an time-ordered list. + */ +export interface UnbondingDelegationSDKType { + delegator_address: string; + validator_address: string; + entries: UnbondingDelegationEntrySDKType[]; +} +/** UnbondingDelegationEntry defines an unbonding object with relevant metadata. */ +export interface UnbondingDelegationEntry { + /** creation_height is the height which the unbonding took place. */ + creationHeight: bigint; + /** completion_time is the unix time for unbonding completion. */ + completionTime: Date; + /** initial_balance defines the tokens initially scheduled to receive at completion. */ + initialBalance: string; + /** balance defines the tokens to receive at completion. */ + balance: string; + /** Incrementing id that uniquely identifies this entry */ + unbondingId: bigint; + /** Strictly positive if this entry's unbonding has been stopped by external modules */ + unbondingOnHoldRefCount: bigint; +} +export interface UnbondingDelegationEntryProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.UnbondingDelegationEntry'; + value: Uint8Array; +} +/** UnbondingDelegationEntry defines an unbonding object with relevant metadata. */ +export interface UnbondingDelegationEntryAmino { + /** creation_height is the height which the unbonding took place. */ + creation_height?: string; + /** completion_time is the unix time for unbonding completion. */ + completion_time: string; + /** initial_balance defines the tokens initially scheduled to receive at completion. */ + initial_balance?: string; + /** balance defines the tokens to receive at completion. */ + balance?: string; + /** Incrementing id that uniquely identifies this entry */ + unbonding_id?: string; + /** Strictly positive if this entry's unbonding has been stopped by external modules */ + unbonding_on_hold_ref_count?: string; +} +export interface UnbondingDelegationEntryAminoMsg { + type: 'cosmos-sdk/UnbondingDelegationEntry'; + value: UnbondingDelegationEntryAmino; +} +/** UnbondingDelegationEntry defines an unbonding object with relevant metadata. */ +export interface UnbondingDelegationEntrySDKType { + creation_height: bigint; + completion_time: Date; + initial_balance: string; + balance: string; + unbonding_id: bigint; + unbonding_on_hold_ref_count: bigint; +} +/** RedelegationEntry defines a redelegation object with relevant metadata. */ +export interface RedelegationEntry { + /** creation_height defines the height which the redelegation took place. */ + creationHeight: bigint; + /** completion_time defines the unix time for redelegation completion. */ + completionTime: Date; + /** initial_balance defines the initial balance when redelegation started. */ + initialBalance: string; + /** shares_dst is the amount of destination-validator shares created by redelegation. */ + sharesDst: string; + /** Incrementing id that uniquely identifies this entry */ + unbondingId: bigint; + /** Strictly positive if this entry's unbonding has been stopped by external modules */ + unbondingOnHoldRefCount: bigint; +} +export interface RedelegationEntryProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.RedelegationEntry'; + value: Uint8Array; +} +/** RedelegationEntry defines a redelegation object with relevant metadata. */ +export interface RedelegationEntryAmino { + /** creation_height defines the height which the redelegation took place. */ + creation_height?: string; + /** completion_time defines the unix time for redelegation completion. */ + completion_time: string; + /** initial_balance defines the initial balance when redelegation started. */ + initial_balance?: string; + /** shares_dst is the amount of destination-validator shares created by redelegation. */ + shares_dst?: string; + /** Incrementing id that uniquely identifies this entry */ + unbonding_id?: string; + /** Strictly positive if this entry's unbonding has been stopped by external modules */ + unbonding_on_hold_ref_count?: string; +} +export interface RedelegationEntryAminoMsg { + type: 'cosmos-sdk/RedelegationEntry'; + value: RedelegationEntryAmino; +} +/** RedelegationEntry defines a redelegation object with relevant metadata. */ +export interface RedelegationEntrySDKType { + creation_height: bigint; + completion_time: Date; + initial_balance: string; + shares_dst: string; + unbonding_id: bigint; + unbonding_on_hold_ref_count: bigint; +} +/** + * Redelegation contains the list of a particular delegator's redelegating bonds + * from a particular source validator to a particular destination validator. + */ +export interface Redelegation { + /** delegator_address is the bech32-encoded address of the delegator. */ + delegatorAddress: string; + /** validator_src_address is the validator redelegation source operator address. */ + validatorSrcAddress: string; + /** validator_dst_address is the validator redelegation destination operator address. */ + validatorDstAddress: string; + /** entries are the redelegation entries. */ + entries: RedelegationEntry[]; +} +export interface RedelegationProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.Redelegation'; + value: Uint8Array; +} +/** + * Redelegation contains the list of a particular delegator's redelegating bonds + * from a particular source validator to a particular destination validator. + */ +export interface RedelegationAmino { + /** delegator_address is the bech32-encoded address of the delegator. */ + delegator_address?: string; + /** validator_src_address is the validator redelegation source operator address. */ + validator_src_address?: string; + /** validator_dst_address is the validator redelegation destination operator address. */ + validator_dst_address?: string; + /** entries are the redelegation entries. */ + entries: RedelegationEntryAmino[]; +} +export interface RedelegationAminoMsg { + type: 'cosmos-sdk/Redelegation'; + value: RedelegationAmino; +} +/** + * Redelegation contains the list of a particular delegator's redelegating bonds + * from a particular source validator to a particular destination validator. + */ +export interface RedelegationSDKType { + delegator_address: string; + validator_src_address: string; + validator_dst_address: string; + entries: RedelegationEntrySDKType[]; +} +/** Params defines the parameters for the x/staking module. */ +export interface Params { + /** unbonding_time is the time duration of unbonding. */ + unbondingTime: Duration; + /** max_validators is the maximum number of validators. */ + maxValidators: number; + /** max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio). */ + maxEntries: number; + /** historical_entries is the number of historical entries to persist. */ + historicalEntries: number; + /** bond_denom defines the bondable coin denomination. */ + bondDenom: string; + /** min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators */ + minCommissionRate: string; +} +export interface ParamsProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.Params'; + value: Uint8Array; +} +/** Params defines the parameters for the x/staking module. */ +export interface ParamsAmino { + /** unbonding_time is the time duration of unbonding. */ + unbonding_time: DurationAmino; + /** max_validators is the maximum number of validators. */ + max_validators?: number; + /** max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio). */ + max_entries?: number; + /** historical_entries is the number of historical entries to persist. */ + historical_entries?: number; + /** bond_denom defines the bondable coin denomination. */ + bond_denom?: string; + /** min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators */ + min_commission_rate: string; +} +export interface ParamsAminoMsg { + type: 'cosmos-sdk/x/staking/Params'; + value: ParamsAmino; +} +/** Params defines the parameters for the x/staking module. */ +export interface ParamsSDKType { + unbonding_time: DurationSDKType; + max_validators: number; + max_entries: number; + historical_entries: number; + bond_denom: string; + min_commission_rate: string; +} +/** + * DelegationResponse is equivalent to Delegation except that it contains a + * balance in addition to shares which is more suitable for client responses. + */ +export interface DelegationResponse { + delegation: Delegation; + balance: Coin; +} +export interface DelegationResponseProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.DelegationResponse'; + value: Uint8Array; +} +/** + * DelegationResponse is equivalent to Delegation except that it contains a + * balance in addition to shares which is more suitable for client responses. + */ +export interface DelegationResponseAmino { + delegation: DelegationAmino; + balance: CoinAmino; +} +export interface DelegationResponseAminoMsg { + type: 'cosmos-sdk/DelegationResponse'; + value: DelegationResponseAmino; +} +/** + * DelegationResponse is equivalent to Delegation except that it contains a + * balance in addition to shares which is more suitable for client responses. + */ +export interface DelegationResponseSDKType { + delegation: DelegationSDKType; + balance: CoinSDKType; +} +/** + * RedelegationEntryResponse is equivalent to a RedelegationEntry except that it + * contains a balance in addition to shares which is more suitable for client + * responses. + */ +export interface RedelegationEntryResponse { + redelegationEntry: RedelegationEntry; + balance: string; +} +export interface RedelegationEntryResponseProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.RedelegationEntryResponse'; + value: Uint8Array; +} +/** + * RedelegationEntryResponse is equivalent to a RedelegationEntry except that it + * contains a balance in addition to shares which is more suitable for client + * responses. + */ +export interface RedelegationEntryResponseAmino { + redelegation_entry: RedelegationEntryAmino; + balance?: string; +} +export interface RedelegationEntryResponseAminoMsg { + type: 'cosmos-sdk/RedelegationEntryResponse'; + value: RedelegationEntryResponseAmino; +} +/** + * RedelegationEntryResponse is equivalent to a RedelegationEntry except that it + * contains a balance in addition to shares which is more suitable for client + * responses. + */ +export interface RedelegationEntryResponseSDKType { + redelegation_entry: RedelegationEntrySDKType; + balance: string; +} +/** + * RedelegationResponse is equivalent to a Redelegation except that its entries + * contain a balance in addition to shares which is more suitable for client + * responses. + */ +export interface RedelegationResponse { + redelegation: Redelegation; + entries: RedelegationEntryResponse[]; +} +export interface RedelegationResponseProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.RedelegationResponse'; + value: Uint8Array; +} +/** + * RedelegationResponse is equivalent to a Redelegation except that its entries + * contain a balance in addition to shares which is more suitable for client + * responses. + */ +export interface RedelegationResponseAmino { + redelegation: RedelegationAmino; + entries: RedelegationEntryResponseAmino[]; +} +export interface RedelegationResponseAminoMsg { + type: 'cosmos-sdk/RedelegationResponse'; + value: RedelegationResponseAmino; +} +/** + * RedelegationResponse is equivalent to a Redelegation except that its entries + * contain a balance in addition to shares which is more suitable for client + * responses. + */ +export interface RedelegationResponseSDKType { + redelegation: RedelegationSDKType; + entries: RedelegationEntryResponseSDKType[]; +} +/** + * Pool is used for tracking bonded and not-bonded token supply of the bond + * denomination. + */ +export interface Pool { + notBondedTokens: string; + bondedTokens: string; +} +export interface PoolProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.Pool'; + value: Uint8Array; +} +/** + * Pool is used for tracking bonded and not-bonded token supply of the bond + * denomination. + */ +export interface PoolAmino { + not_bonded_tokens: string; + bonded_tokens: string; +} +export interface PoolAminoMsg { + type: 'cosmos-sdk/Pool'; + value: PoolAmino; +} +/** + * Pool is used for tracking bonded and not-bonded token supply of the bond + * denomination. + */ +export interface PoolSDKType { + not_bonded_tokens: string; + bonded_tokens: string; +} +/** + * ValidatorUpdates defines an array of abci.ValidatorUpdate objects. + * TODO: explore moving this to proto/cosmos/base to separate modules from tendermint dependence + */ +export interface ValidatorUpdates { + updates: ValidatorUpdate[]; +} +export interface ValidatorUpdatesProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.ValidatorUpdates'; + value: Uint8Array; +} +/** + * ValidatorUpdates defines an array of abci.ValidatorUpdate objects. + * TODO: explore moving this to proto/cosmos/base to separate modules from tendermint dependence + */ +export interface ValidatorUpdatesAmino { + updates: ValidatorUpdateAmino[]; +} +export interface ValidatorUpdatesAminoMsg { + type: 'cosmos-sdk/ValidatorUpdates'; + value: ValidatorUpdatesAmino; +} +/** + * ValidatorUpdates defines an array of abci.ValidatorUpdate objects. + * TODO: explore moving this to proto/cosmos/base to separate modules from tendermint dependence + */ +export interface ValidatorUpdatesSDKType { + updates: ValidatorUpdateSDKType[]; +} +function createBaseHistoricalInfo(): HistoricalInfo { + return { + header: Header.fromPartial({}), + valset: [], + }; +} +export const HistoricalInfo = { + typeUrl: '/cosmos.staking.v1beta1.HistoricalInfo', + encode(message: HistoricalInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.header !== undefined) { + Header.encode(message.header, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.valset) { + Validator.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): HistoricalInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHistoricalInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.header = Header.decode(reader, reader.uint32()); + break; + case 2: + message.valset.push(Validator.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): HistoricalInfo { + const message = createBaseHistoricalInfo(); + message.header = + object.header !== undefined && object.header !== null ? Header.fromPartial(object.header) : undefined; + message.valset = object.valset?.map((e) => Validator.fromPartial(e)) || []; + return message; + }, + fromAmino(object: HistoricalInfoAmino): HistoricalInfo { + const message = createBaseHistoricalInfo(); + if (object.header !== undefined && object.header !== null) { + message.header = Header.fromAmino(object.header); + } + message.valset = object.valset?.map((e) => Validator.fromAmino(e)) || []; + return message; + }, + toAmino(message: HistoricalInfo): HistoricalInfoAmino { + const obj: any = {}; + obj.header = message.header ? Header.toAmino(message.header) : Header.toAmino(Header.fromPartial({})); + if (message.valset) { + obj.valset = message.valset.map((e) => (e ? Validator.toAmino(e) : undefined)); + } else { + obj.valset = message.valset; + } + return obj; + }, + fromAminoMsg(object: HistoricalInfoAminoMsg): HistoricalInfo { + return HistoricalInfo.fromAmino(object.value); + }, + toAminoMsg(message: HistoricalInfo): HistoricalInfoAminoMsg { + return { + type: 'cosmos-sdk/HistoricalInfo', + value: HistoricalInfo.toAmino(message), + }; + }, + fromProtoMsg(message: HistoricalInfoProtoMsg): HistoricalInfo { + return HistoricalInfo.decode(message.value); + }, + toProto(message: HistoricalInfo): Uint8Array { + return HistoricalInfo.encode(message).finish(); + }, + toProtoMsg(message: HistoricalInfo): HistoricalInfoProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.HistoricalInfo', + value: HistoricalInfo.encode(message).finish(), + }; + }, +}; +function createBaseCommissionRates(): CommissionRates { + return { + rate: '', + maxRate: '', + maxChangeRate: '', + }; +} +export const CommissionRates = { + typeUrl: '/cosmos.staking.v1beta1.CommissionRates', + encode(message: CommissionRates, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.rate !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.rate, 18).atomics); + } + if (message.maxRate !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.maxRate, 18).atomics); + } + if (message.maxChangeRate !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.maxChangeRate, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): CommissionRates { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommissionRates(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.rate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.maxRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.maxChangeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): CommissionRates { + const message = createBaseCommissionRates(); + message.rate = object.rate ?? ''; + message.maxRate = object.maxRate ?? ''; + message.maxChangeRate = object.maxChangeRate ?? ''; + return message; + }, + fromAmino(object: CommissionRatesAmino): CommissionRates { + const message = createBaseCommissionRates(); + if (object.rate !== undefined && object.rate !== null) { + message.rate = object.rate; + } + if (object.max_rate !== undefined && object.max_rate !== null) { + message.maxRate = object.max_rate; + } + if (object.max_change_rate !== undefined && object.max_change_rate !== null) { + message.maxChangeRate = object.max_change_rate; + } + return message; + }, + toAmino(message: CommissionRates): CommissionRatesAmino { + const obj: any = {}; + obj.rate = message.rate ?? ''; + obj.max_rate = message.maxRate ?? ''; + obj.max_change_rate = message.maxChangeRate ?? ''; + return obj; + }, + fromAminoMsg(object: CommissionRatesAminoMsg): CommissionRates { + return CommissionRates.fromAmino(object.value); + }, + toAminoMsg(message: CommissionRates): CommissionRatesAminoMsg { + return { + type: 'cosmos-sdk/CommissionRates', + value: CommissionRates.toAmino(message), + }; + }, + fromProtoMsg(message: CommissionRatesProtoMsg): CommissionRates { + return CommissionRates.decode(message.value); + }, + toProto(message: CommissionRates): Uint8Array { + return CommissionRates.encode(message).finish(); + }, + toProtoMsg(message: CommissionRates): CommissionRatesProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.CommissionRates', + value: CommissionRates.encode(message).finish(), + }; + }, +}; +function createBaseCommission(): Commission { + return { + commissionRates: CommissionRates.fromPartial({}), + updateTime: new Date(), + }; +} +export const Commission = { + typeUrl: '/cosmos.staking.v1beta1.Commission', + encode(message: Commission, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.commissionRates !== undefined) { + CommissionRates.encode(message.commissionRates, writer.uint32(10).fork()).ldelim(); + } + if (message.updateTime !== undefined) { + Timestamp.encode(toTimestamp(message.updateTime), writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Commission { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.commissionRates = CommissionRates.decode(reader, reader.uint32()); + break; + case 2: + message.updateTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Commission { + const message = createBaseCommission(); + message.commissionRates = + object.commissionRates !== undefined && object.commissionRates !== null + ? CommissionRates.fromPartial(object.commissionRates) + : undefined; + message.updateTime = object.updateTime ?? undefined; + return message; + }, + fromAmino(object: CommissionAmino): Commission { + const message = createBaseCommission(); + if (object.commission_rates !== undefined && object.commission_rates !== null) { + message.commissionRates = CommissionRates.fromAmino(object.commission_rates); + } + if (object.update_time !== undefined && object.update_time !== null) { + message.updateTime = fromTimestamp(Timestamp.fromAmino(object.update_time)); + } + return message; + }, + toAmino(message: Commission): CommissionAmino { + const obj: any = {}; + obj.commission_rates = message.commissionRates + ? CommissionRates.toAmino(message.commissionRates) + : CommissionRates.toAmino(CommissionRates.fromPartial({})); + obj.update_time = message.updateTime ? Timestamp.toAmino(toTimestamp(message.updateTime)) : new Date(); + return obj; + }, + fromAminoMsg(object: CommissionAminoMsg): Commission { + return Commission.fromAmino(object.value); + }, + toAminoMsg(message: Commission): CommissionAminoMsg { + return { + type: 'cosmos-sdk/Commission', + value: Commission.toAmino(message), + }; + }, + fromProtoMsg(message: CommissionProtoMsg): Commission { + return Commission.decode(message.value); + }, + toProto(message: Commission): Uint8Array { + return Commission.encode(message).finish(); + }, + toProtoMsg(message: Commission): CommissionProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.Commission', + value: Commission.encode(message).finish(), + }; + }, +}; +function createBaseDescription(): Description { + return { + moniker: '', + identity: '', + website: '', + securityContact: '', + details: '', + }; +} +export const Description = { + typeUrl: '/cosmos.staking.v1beta1.Description', + encode(message: Description, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.moniker !== '') { + writer.uint32(10).string(message.moniker); + } + if (message.identity !== '') { + writer.uint32(18).string(message.identity); + } + if (message.website !== '') { + writer.uint32(26).string(message.website); + } + if (message.securityContact !== '') { + writer.uint32(34).string(message.securityContact); + } + if (message.details !== '') { + writer.uint32(42).string(message.details); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Description { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDescription(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): Description { + const message = createBaseDescription(); + message.moniker = object.moniker ?? ''; + message.identity = object.identity ?? ''; + message.website = object.website ?? ''; + message.securityContact = object.securityContact ?? ''; + message.details = object.details ?? ''; + return message; + }, + fromAmino(object: DescriptionAmino): Description { + const message = createBaseDescription(); + if (object.moniker !== undefined && object.moniker !== null) { + message.moniker = object.moniker; + } + if (object.identity !== undefined && object.identity !== null) { + message.identity = object.identity; + } + if (object.website !== undefined && object.website !== null) { + message.website = object.website; + } + if (object.security_contact !== undefined && object.security_contact !== null) { + message.securityContact = object.security_contact; + } + if (object.details !== undefined && object.details !== null) { + message.details = object.details; + } + return message; + }, + toAmino(message: Description): DescriptionAmino { + const obj: any = {}; + obj.moniker = message.moniker === '' ? undefined : message.moniker; + obj.identity = message.identity === '' ? undefined : message.identity; + obj.website = message.website === '' ? undefined : message.website; + obj.security_contact = message.securityContact === '' ? undefined : message.securityContact; + obj.details = message.details === '' ? undefined : message.details; + return obj; + }, + fromAminoMsg(object: DescriptionAminoMsg): Description { + return Description.fromAmino(object.value); + }, + toAminoMsg(message: Description): DescriptionAminoMsg { + return { + type: 'cosmos-sdk/Description', + value: Description.toAmino(message), + }; + }, + fromProtoMsg(message: DescriptionProtoMsg): Description { + return Description.decode(message.value); + }, + toProto(message: Description): Uint8Array { + return Description.encode(message).finish(); + }, + toProtoMsg(message: Description): DescriptionProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.Description', + value: Description.encode(message).finish(), + }; + }, +}; +function createBaseValidator(): Validator { + return { + operatorAddress: '', + consensusPubkey: undefined, + jailed: false, + status: 0, + tokens: '', + delegatorShares: '', + description: Description.fromPartial({}), + unbondingHeight: BigInt(0), + unbondingTime: new Date(), + commission: Commission.fromPartial({}), + minSelfDelegation: '', + unbondingOnHoldRefCount: BigInt(0), + unbondingIds: [], + }; +} +export const Validator = { + typeUrl: '/cosmos.staking.v1beta1.Validator', + encode(message: Validator, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.operatorAddress !== '') { + writer.uint32(10).string(message.operatorAddress); + } + if (message.consensusPubkey !== undefined) { + Any.encode(message.consensusPubkey as Any, writer.uint32(18).fork()).ldelim(); + } + if (message.jailed === true) { + writer.uint32(24).bool(message.jailed); + } + if (message.status !== 0) { + writer.uint32(32).int32(message.status); + } + if (message.tokens !== '') { + writer.uint32(42).string(message.tokens); + } + if (message.delegatorShares !== '') { + writer.uint32(50).string(Decimal.fromUserInput(message.delegatorShares, 18).atomics); + } + if (message.description !== undefined) { + Description.encode(message.description, writer.uint32(58).fork()).ldelim(); + } + if (message.unbondingHeight !== BigInt(0)) { + writer.uint32(64).int64(message.unbondingHeight); + } + if (message.unbondingTime !== undefined) { + Timestamp.encode(toTimestamp(message.unbondingTime), writer.uint32(74).fork()).ldelim(); + } + if (message.commission !== undefined) { + Commission.encode(message.commission, writer.uint32(82).fork()).ldelim(); + } + if (message.minSelfDelegation !== '') { + writer.uint32(90).string(message.minSelfDelegation); + } + if (message.unbondingOnHoldRefCount !== BigInt(0)) { + writer.uint32(96).int64(message.unbondingOnHoldRefCount); + } + writer.uint32(106).fork(); + for (const v of message.unbondingIds) { + writer.uint64(v); + } + writer.ldelim(); + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Validator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.operatorAddress = reader.string(); + break; + case 2: + message.consensusPubkey = Cosmos_cryptoPubKey_InterfaceDecoder(reader) as Any; + break; + case 3: + message.jailed = reader.bool(); + break; + case 4: + message.status = reader.int32() as any; + break; + case 5: + message.tokens = reader.string(); + break; + case 6: + message.delegatorShares = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 7: + message.description = Description.decode(reader, reader.uint32()); + break; + case 8: + message.unbondingHeight = reader.int64(); + break; + case 9: + message.unbondingTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 10: + message.commission = Commission.decode(reader, reader.uint32()); + break; + case 11: + message.minSelfDelegation = reader.string(); + break; + case 12: + message.unbondingOnHoldRefCount = reader.int64(); + break; + case 13: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.unbondingIds.push(reader.uint64()); + } + } else { + message.unbondingIds.push(reader.uint64()); + } + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Validator { + const message = createBaseValidator(); + message.operatorAddress = object.operatorAddress ?? ''; + message.consensusPubkey = + object.consensusPubkey !== undefined && object.consensusPubkey !== null + ? Any.fromPartial(object.consensusPubkey) + : undefined; + message.jailed = object.jailed ?? false; + message.status = object.status ?? 0; + message.tokens = object.tokens ?? ''; + message.delegatorShares = object.delegatorShares ?? ''; + message.description = + object.description !== undefined && object.description !== null + ? Description.fromPartial(object.description) + : undefined; + message.unbondingHeight = + object.unbondingHeight !== undefined && object.unbondingHeight !== null + ? BigInt(object.unbondingHeight.toString()) + : BigInt(0); + message.unbondingTime = object.unbondingTime ?? undefined; + message.commission = + object.commission !== undefined && object.commission !== null + ? Commission.fromPartial(object.commission) + : undefined; + message.minSelfDelegation = object.minSelfDelegation ?? ''; + message.unbondingOnHoldRefCount = + object.unbondingOnHoldRefCount !== undefined && object.unbondingOnHoldRefCount !== null + ? BigInt(object.unbondingOnHoldRefCount.toString()) + : BigInt(0); + message.unbondingIds = object.unbondingIds?.map((e) => BigInt(e.toString())) || []; + return message; + }, + fromAmino(object: ValidatorAmino): Validator { + const message = createBaseValidator(); + if (object.operator_address !== undefined && object.operator_address !== null) { + message.operatorAddress = object.operator_address; + } + if (object.consensus_pubkey !== undefined && object.consensus_pubkey !== null) { + message.consensusPubkey = encodePubkey(object.consensus_pubkey); + } + if (object.jailed !== undefined && object.jailed !== null) { + message.jailed = object.jailed; + } + if (object.status !== undefined && object.status !== null) { + message.status = object.status; + } + if (object.tokens !== undefined && object.tokens !== null) { + message.tokens = object.tokens; + } + if (object.delegator_shares !== undefined && object.delegator_shares !== null) { + message.delegatorShares = object.delegator_shares; + } + if (object.description !== undefined && object.description !== null) { + message.description = Description.fromAmino(object.description); + } + if (object.unbonding_height !== undefined && object.unbonding_height !== null) { + message.unbondingHeight = BigInt(object.unbonding_height); + } + if (object.unbonding_time !== undefined && object.unbonding_time !== null) { + message.unbondingTime = fromTimestamp(Timestamp.fromAmino(object.unbonding_time)); + } + if (object.commission !== undefined && object.commission !== null) { + message.commission = Commission.fromAmino(object.commission); + } + if (object.min_self_delegation !== undefined && object.min_self_delegation !== null) { + message.minSelfDelegation = object.min_self_delegation; + } + if (object.unbonding_on_hold_ref_count !== undefined && object.unbonding_on_hold_ref_count !== null) { + message.unbondingOnHoldRefCount = BigInt(object.unbonding_on_hold_ref_count); + } + message.unbondingIds = object.unbonding_ids?.map((e) => BigInt(e)) || []; + return message; + }, + toAmino(message: Validator): ValidatorAmino { + const obj: any = {}; + obj.operator_address = message.operatorAddress === '' ? undefined : message.operatorAddress; + obj.consensus_pubkey = message.consensusPubkey ? decodePubkey(message.consensusPubkey) : undefined; + obj.jailed = message.jailed === false ? undefined : message.jailed; + obj.status = message.status === 0 ? undefined : message.status; + obj.tokens = message.tokens === '' ? undefined : message.tokens; + obj.delegator_shares = message.delegatorShares === '' ? undefined : message.delegatorShares; + obj.description = message.description + ? Description.toAmino(message.description) + : Description.toAmino(Description.fromPartial({})); + obj.unbonding_height = message.unbondingHeight !== BigInt(0) ? (message.unbondingHeight?.toString)() : undefined; + obj.unbonding_time = message.unbondingTime ? Timestamp.toAmino(toTimestamp(message.unbondingTime)) : new Date(); + obj.commission = message.commission + ? Commission.toAmino(message.commission) + : Commission.toAmino(Commission.fromPartial({})); + obj.min_self_delegation = message.minSelfDelegation === '' ? undefined : message.minSelfDelegation; + obj.unbonding_on_hold_ref_count = + message.unbondingOnHoldRefCount !== BigInt(0) ? (message.unbondingOnHoldRefCount?.toString)() : undefined; + if (message.unbondingIds) { + obj.unbonding_ids = message.unbondingIds.map((e) => e.toString()); + } else { + obj.unbonding_ids = message.unbondingIds; + } + return obj; + }, + fromAminoMsg(object: ValidatorAminoMsg): Validator { + return Validator.fromAmino(object.value); + }, + toAminoMsg(message: Validator): ValidatorAminoMsg { + return { + type: 'cosmos-sdk/Validator', + value: Validator.toAmino(message), + }; + }, + fromProtoMsg(message: ValidatorProtoMsg): Validator { + return Validator.decode(message.value); + }, + toProto(message: Validator): Uint8Array { + return Validator.encode(message).finish(); + }, + toProtoMsg(message: Validator): ValidatorProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.Validator', + value: Validator.encode(message).finish(), + }; + }, +}; +function createBaseValAddresses(): ValAddresses { + return { + addresses: [], + }; +} +export const ValAddresses = { + typeUrl: '/cosmos.staking.v1beta1.ValAddresses', + encode(message: ValAddresses, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.addresses) { + writer.uint32(10).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ValAddresses { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValAddresses(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.addresses.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ValAddresses { + const message = createBaseValAddresses(); + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, + fromAmino(object: ValAddressesAmino): ValAddresses { + const message = createBaseValAddresses(); + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, + toAmino(message: ValAddresses): ValAddressesAmino { + const obj: any = {}; + if (message.addresses) { + obj.addresses = message.addresses.map((e) => e); + } else { + obj.addresses = message.addresses; + } + return obj; + }, + fromAminoMsg(object: ValAddressesAminoMsg): ValAddresses { + return ValAddresses.fromAmino(object.value); + }, + toAminoMsg(message: ValAddresses): ValAddressesAminoMsg { + return { + type: 'cosmos-sdk/ValAddresses', + value: ValAddresses.toAmino(message), + }; + }, + fromProtoMsg(message: ValAddressesProtoMsg): ValAddresses { + return ValAddresses.decode(message.value); + }, + toProto(message: ValAddresses): Uint8Array { + return ValAddresses.encode(message).finish(); + }, + toProtoMsg(message: ValAddresses): ValAddressesProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.ValAddresses', + value: ValAddresses.encode(message).finish(), + }; + }, +}; +function createBaseDVPair(): DVPair { + return { + delegatorAddress: '', + validatorAddress: '', + }; +} +export const DVPair = { + typeUrl: '/cosmos.staking.v1beta1.DVPair', + encode(message: DVPair, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.delegatorAddress !== '') { + writer.uint32(10).string(message.delegatorAddress); + } + if (message.validatorAddress !== '') { + writer.uint32(18).string(message.validatorAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DVPair { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDVPair(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): DVPair { + const message = createBaseDVPair(); + message.delegatorAddress = object.delegatorAddress ?? ''; + message.validatorAddress = object.validatorAddress ?? ''; + return message; + }, + fromAmino(object: DVPairAmino): DVPair { + const message = createBaseDVPair(); + if (object.delegator_address !== undefined && object.delegator_address !== null) { + message.delegatorAddress = object.delegator_address; + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = object.validator_address; + } + return message; + }, + toAmino(message: DVPair): DVPairAmino { + const obj: any = {}; + obj.delegator_address = message.delegatorAddress === '' ? undefined : message.delegatorAddress; + obj.validator_address = message.validatorAddress === '' ? undefined : message.validatorAddress; + return obj; + }, + fromAminoMsg(object: DVPairAminoMsg): DVPair { + return DVPair.fromAmino(object.value); + }, + toAminoMsg(message: DVPair): DVPairAminoMsg { + return { + type: 'cosmos-sdk/DVPair', + value: DVPair.toAmino(message), + }; + }, + fromProtoMsg(message: DVPairProtoMsg): DVPair { + return DVPair.decode(message.value); + }, + toProto(message: DVPair): Uint8Array { + return DVPair.encode(message).finish(); + }, + toProtoMsg(message: DVPair): DVPairProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.DVPair', + value: DVPair.encode(message).finish(), + }; + }, +}; +function createBaseDVPairs(): DVPairs { + return { + pairs: [], + }; +} +export const DVPairs = { + typeUrl: '/cosmos.staking.v1beta1.DVPairs', + encode(message: DVPairs, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.pairs) { + DVPair.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DVPairs { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDVPairs(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pairs.push(DVPair.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DVPairs { + const message = createBaseDVPairs(); + message.pairs = object.pairs?.map((e) => DVPair.fromPartial(e)) || []; + return message; + }, + fromAmino(object: DVPairsAmino): DVPairs { + const message = createBaseDVPairs(); + message.pairs = object.pairs?.map((e) => DVPair.fromAmino(e)) || []; + return message; + }, + toAmino(message: DVPairs): DVPairsAmino { + const obj: any = {}; + if (message.pairs) { + obj.pairs = message.pairs.map((e) => (e ? DVPair.toAmino(e) : undefined)); + } else { + obj.pairs = message.pairs; + } + return obj; + }, + fromAminoMsg(object: DVPairsAminoMsg): DVPairs { + return DVPairs.fromAmino(object.value); + }, + toAminoMsg(message: DVPairs): DVPairsAminoMsg { + return { + type: 'cosmos-sdk/DVPairs', + value: DVPairs.toAmino(message), + }; + }, + fromProtoMsg(message: DVPairsProtoMsg): DVPairs { + return DVPairs.decode(message.value); + }, + toProto(message: DVPairs): Uint8Array { + return DVPairs.encode(message).finish(); + }, + toProtoMsg(message: DVPairs): DVPairsProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.DVPairs', + value: DVPairs.encode(message).finish(), + }; + }, +}; +function createBaseDVVTriplet(): DVVTriplet { + return { + delegatorAddress: '', + validatorSrcAddress: '', + validatorDstAddress: '', + }; +} +export const DVVTriplet = { + typeUrl: '/cosmos.staking.v1beta1.DVVTriplet', + encode(message: DVVTriplet, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.delegatorAddress !== '') { + writer.uint32(10).string(message.delegatorAddress); + } + if (message.validatorSrcAddress !== '') { + writer.uint32(18).string(message.validatorSrcAddress); + } + if (message.validatorDstAddress !== '') { + writer.uint32(26).string(message.validatorDstAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DVVTriplet { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDVVTriplet(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): DVVTriplet { + const message = createBaseDVVTriplet(); + message.delegatorAddress = object.delegatorAddress ?? ''; + message.validatorSrcAddress = object.validatorSrcAddress ?? ''; + message.validatorDstAddress = object.validatorDstAddress ?? ''; + return message; + }, + fromAmino(object: DVVTripletAmino): DVVTriplet { + const message = createBaseDVVTriplet(); + if (object.delegator_address !== undefined && object.delegator_address !== null) { + message.delegatorAddress = object.delegator_address; + } + if (object.validator_src_address !== undefined && object.validator_src_address !== null) { + message.validatorSrcAddress = object.validator_src_address; + } + if (object.validator_dst_address !== undefined && object.validator_dst_address !== null) { + message.validatorDstAddress = object.validator_dst_address; + } + return message; + }, + toAmino(message: DVVTriplet): DVVTripletAmino { + const obj: any = {}; + obj.delegator_address = message.delegatorAddress === '' ? undefined : message.delegatorAddress; + obj.validator_src_address = message.validatorSrcAddress === '' ? undefined : message.validatorSrcAddress; + obj.validator_dst_address = message.validatorDstAddress === '' ? undefined : message.validatorDstAddress; + return obj; + }, + fromAminoMsg(object: DVVTripletAminoMsg): DVVTriplet { + return DVVTriplet.fromAmino(object.value); + }, + toAminoMsg(message: DVVTriplet): DVVTripletAminoMsg { + return { + type: 'cosmos-sdk/DVVTriplet', + value: DVVTriplet.toAmino(message), + }; + }, + fromProtoMsg(message: DVVTripletProtoMsg): DVVTriplet { + return DVVTriplet.decode(message.value); + }, + toProto(message: DVVTriplet): Uint8Array { + return DVVTriplet.encode(message).finish(); + }, + toProtoMsg(message: DVVTriplet): DVVTripletProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.DVVTriplet', + value: DVVTriplet.encode(message).finish(), + }; + }, +}; +function createBaseDVVTriplets(): DVVTriplets { + return { + triplets: [], + }; +} +export const DVVTriplets = { + typeUrl: '/cosmos.staking.v1beta1.DVVTriplets', + encode(message: DVVTriplets, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.triplets) { + DVVTriplet.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DVVTriplets { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDVVTriplets(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.triplets.push(DVVTriplet.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DVVTriplets { + const message = createBaseDVVTriplets(); + message.triplets = object.triplets?.map((e) => DVVTriplet.fromPartial(e)) || []; + return message; + }, + fromAmino(object: DVVTripletsAmino): DVVTriplets { + const message = createBaseDVVTriplets(); + message.triplets = object.triplets?.map((e) => DVVTriplet.fromAmino(e)) || []; + return message; + }, + toAmino(message: DVVTriplets): DVVTripletsAmino { + const obj: any = {}; + if (message.triplets) { + obj.triplets = message.triplets.map((e) => (e ? DVVTriplet.toAmino(e) : undefined)); + } else { + obj.triplets = message.triplets; + } + return obj; + }, + fromAminoMsg(object: DVVTripletsAminoMsg): DVVTriplets { + return DVVTriplets.fromAmino(object.value); + }, + toAminoMsg(message: DVVTriplets): DVVTripletsAminoMsg { + return { + type: 'cosmos-sdk/DVVTriplets', + value: DVVTriplets.toAmino(message), + }; + }, + fromProtoMsg(message: DVVTripletsProtoMsg): DVVTriplets { + return DVVTriplets.decode(message.value); + }, + toProto(message: DVVTriplets): Uint8Array { + return DVVTriplets.encode(message).finish(); + }, + toProtoMsg(message: DVVTriplets): DVVTripletsProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.DVVTriplets', + value: DVVTriplets.encode(message).finish(), + }; + }, +}; +function createBaseDelegation(): Delegation { + return { + delegatorAddress: '', + validatorAddress: '', + shares: '', + }; +} +export const Delegation = { + typeUrl: '/cosmos.staking.v1beta1.Delegation', + encode(message: Delegation, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.delegatorAddress !== '') { + writer.uint32(10).string(message.delegatorAddress); + } + if (message.validatorAddress !== '') { + writer.uint32(18).string(message.validatorAddress); + } + if (message.shares !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.shares, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Delegation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDelegation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.delegatorAddress = reader.string(); + break; + case 2: + message.validatorAddress = reader.string(); + break; + case 3: + message.shares = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Delegation { + const message = createBaseDelegation(); + message.delegatorAddress = object.delegatorAddress ?? ''; + message.validatorAddress = object.validatorAddress ?? ''; + message.shares = object.shares ?? ''; + return message; + }, + fromAmino(object: DelegationAmino): Delegation { + const message = createBaseDelegation(); + if (object.delegator_address !== undefined && object.delegator_address !== null) { + message.delegatorAddress = object.delegator_address; + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = object.validator_address; + } + if (object.shares !== undefined && object.shares !== null) { + message.shares = object.shares; + } + return message; + }, + toAmino(message: Delegation): DelegationAmino { + const obj: any = {}; + obj.delegator_address = message.delegatorAddress === '' ? undefined : message.delegatorAddress; + obj.validator_address = message.validatorAddress === '' ? undefined : message.validatorAddress; + obj.shares = message.shares === '' ? undefined : message.shares; + return obj; + }, + fromAminoMsg(object: DelegationAminoMsg): Delegation { + return Delegation.fromAmino(object.value); + }, + toAminoMsg(message: Delegation): DelegationAminoMsg { + return { + type: 'cosmos-sdk/Delegation', + value: Delegation.toAmino(message), + }; + }, + fromProtoMsg(message: DelegationProtoMsg): Delegation { + return Delegation.decode(message.value); + }, + toProto(message: Delegation): Uint8Array { + return Delegation.encode(message).finish(); + }, + toProtoMsg(message: Delegation): DelegationProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.Delegation', + value: Delegation.encode(message).finish(), + }; + }, +}; +function createBaseUnbondingDelegation(): UnbondingDelegation { + return { + delegatorAddress: '', + validatorAddress: '', + entries: [], + }; +} +export const UnbondingDelegation = { + typeUrl: '/cosmos.staking.v1beta1.UnbondingDelegation', + encode(message: UnbondingDelegation, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.delegatorAddress !== '') { + writer.uint32(10).string(message.delegatorAddress); + } + if (message.validatorAddress !== '') { + writer.uint32(18).string(message.validatorAddress); + } + for (const v of message.entries) { + UnbondingDelegationEntry.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): UnbondingDelegation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUnbondingDelegation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.delegatorAddress = reader.string(); + break; + case 2: + message.validatorAddress = reader.string(); + break; + case 3: + message.entries.push(UnbondingDelegationEntry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): UnbondingDelegation { + const message = createBaseUnbondingDelegation(); + message.delegatorAddress = object.delegatorAddress ?? ''; + message.validatorAddress = object.validatorAddress ?? ''; + message.entries = object.entries?.map((e) => UnbondingDelegationEntry.fromPartial(e)) || []; + return message; + }, + fromAmino(object: UnbondingDelegationAmino): UnbondingDelegation { + const message = createBaseUnbondingDelegation(); + if (object.delegator_address !== undefined && object.delegator_address !== null) { + message.delegatorAddress = object.delegator_address; + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = object.validator_address; + } + message.entries = object.entries?.map((e) => UnbondingDelegationEntry.fromAmino(e)) || []; + return message; + }, + toAmino(message: UnbondingDelegation): UnbondingDelegationAmino { + const obj: any = {}; + obj.delegator_address = message.delegatorAddress === '' ? undefined : message.delegatorAddress; + obj.validator_address = message.validatorAddress === '' ? undefined : message.validatorAddress; + if (message.entries) { + obj.entries = message.entries.map((e) => (e ? UnbondingDelegationEntry.toAmino(e) : undefined)); + } else { + obj.entries = message.entries; + } + return obj; + }, + fromAminoMsg(object: UnbondingDelegationAminoMsg): UnbondingDelegation { + return UnbondingDelegation.fromAmino(object.value); + }, + toAminoMsg(message: UnbondingDelegation): UnbondingDelegationAminoMsg { + return { + type: 'cosmos-sdk/UnbondingDelegation', + value: UnbondingDelegation.toAmino(message), + }; + }, + fromProtoMsg(message: UnbondingDelegationProtoMsg): UnbondingDelegation { + return UnbondingDelegation.decode(message.value); + }, + toProto(message: UnbondingDelegation): Uint8Array { + return UnbondingDelegation.encode(message).finish(); + }, + toProtoMsg(message: UnbondingDelegation): UnbondingDelegationProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.UnbondingDelegation', + value: UnbondingDelegation.encode(message).finish(), + }; + }, +}; +function createBaseUnbondingDelegationEntry(): UnbondingDelegationEntry { + return { + creationHeight: BigInt(0), + completionTime: new Date(), + initialBalance: '', + balance: '', + unbondingId: BigInt(0), + unbondingOnHoldRefCount: BigInt(0), + }; +} +export const UnbondingDelegationEntry = { + typeUrl: '/cosmos.staking.v1beta1.UnbondingDelegationEntry', + encode(message: UnbondingDelegationEntry, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.creationHeight !== BigInt(0)) { + writer.uint32(8).int64(message.creationHeight); + } + if (message.completionTime !== undefined) { + Timestamp.encode(toTimestamp(message.completionTime), writer.uint32(18).fork()).ldelim(); + } + if (message.initialBalance !== '') { + writer.uint32(26).string(message.initialBalance); + } + if (message.balance !== '') { + writer.uint32(34).string(message.balance); + } + if (message.unbondingId !== BigInt(0)) { + writer.uint32(40).uint64(message.unbondingId); + } + if (message.unbondingOnHoldRefCount !== BigInt(0)) { + writer.uint32(48).int64(message.unbondingOnHoldRefCount); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): UnbondingDelegationEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUnbondingDelegationEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.creationHeight = reader.int64(); + break; + case 2: + message.completionTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 3: + message.initialBalance = reader.string(); + break; + case 4: + message.balance = reader.string(); + break; + case 5: + message.unbondingId = reader.uint64(); + break; + case 6: + message.unbondingOnHoldRefCount = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): UnbondingDelegationEntry { + const message = createBaseUnbondingDelegationEntry(); + message.creationHeight = + object.creationHeight !== undefined && object.creationHeight !== null + ? BigInt(object.creationHeight.toString()) + : BigInt(0); + message.completionTime = object.completionTime ?? undefined; + message.initialBalance = object.initialBalance ?? ''; + message.balance = object.balance ?? ''; + message.unbondingId = + object.unbondingId !== undefined && object.unbondingId !== null + ? BigInt(object.unbondingId.toString()) + : BigInt(0); + message.unbondingOnHoldRefCount = + object.unbondingOnHoldRefCount !== undefined && object.unbondingOnHoldRefCount !== null + ? BigInt(object.unbondingOnHoldRefCount.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: UnbondingDelegationEntryAmino): UnbondingDelegationEntry { + const message = createBaseUnbondingDelegationEntry(); + if (object.creation_height !== undefined && object.creation_height !== null) { + message.creationHeight = BigInt(object.creation_height); + } + if (object.completion_time !== undefined && object.completion_time !== null) { + message.completionTime = fromTimestamp(Timestamp.fromAmino(object.completion_time)); + } + if (object.initial_balance !== undefined && object.initial_balance !== null) { + message.initialBalance = object.initial_balance; + } + if (object.balance !== undefined && object.balance !== null) { + message.balance = object.balance; + } + if (object.unbonding_id !== undefined && object.unbonding_id !== null) { + message.unbondingId = BigInt(object.unbonding_id); + } + if (object.unbonding_on_hold_ref_count !== undefined && object.unbonding_on_hold_ref_count !== null) { + message.unbondingOnHoldRefCount = BigInt(object.unbonding_on_hold_ref_count); + } + return message; + }, + toAmino(message: UnbondingDelegationEntry): UnbondingDelegationEntryAmino { + const obj: any = {}; + obj.creation_height = message.creationHeight !== BigInt(0) ? (message.creationHeight?.toString)() : undefined; + obj.completion_time = message.completionTime ? Timestamp.toAmino(toTimestamp(message.completionTime)) : new Date(); + obj.initial_balance = message.initialBalance === '' ? undefined : message.initialBalance; + obj.balance = message.balance === '' ? undefined : message.balance; + obj.unbonding_id = message.unbondingId !== BigInt(0) ? (message.unbondingId?.toString)() : undefined; + obj.unbonding_on_hold_ref_count = + message.unbondingOnHoldRefCount !== BigInt(0) ? (message.unbondingOnHoldRefCount?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: UnbondingDelegationEntryAminoMsg): UnbondingDelegationEntry { + return UnbondingDelegationEntry.fromAmino(object.value); + }, + toAminoMsg(message: UnbondingDelegationEntry): UnbondingDelegationEntryAminoMsg { + return { + type: 'cosmos-sdk/UnbondingDelegationEntry', + value: UnbondingDelegationEntry.toAmino(message), + }; + }, + fromProtoMsg(message: UnbondingDelegationEntryProtoMsg): UnbondingDelegationEntry { + return UnbondingDelegationEntry.decode(message.value); + }, + toProto(message: UnbondingDelegationEntry): Uint8Array { + return UnbondingDelegationEntry.encode(message).finish(); + }, + toProtoMsg(message: UnbondingDelegationEntry): UnbondingDelegationEntryProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.UnbondingDelegationEntry', + value: UnbondingDelegationEntry.encode(message).finish(), + }; + }, +}; +function createBaseRedelegationEntry(): RedelegationEntry { + return { + creationHeight: BigInt(0), + completionTime: new Date(), + initialBalance: '', + sharesDst: '', + unbondingId: BigInt(0), + unbondingOnHoldRefCount: BigInt(0), + }; +} +export const RedelegationEntry = { + typeUrl: '/cosmos.staking.v1beta1.RedelegationEntry', + encode(message: RedelegationEntry, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.creationHeight !== BigInt(0)) { + writer.uint32(8).int64(message.creationHeight); + } + if (message.completionTime !== undefined) { + Timestamp.encode(toTimestamp(message.completionTime), writer.uint32(18).fork()).ldelim(); + } + if (message.initialBalance !== '') { + writer.uint32(26).string(message.initialBalance); + } + if (message.sharesDst !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.sharesDst, 18).atomics); + } + if (message.unbondingId !== BigInt(0)) { + writer.uint32(40).uint64(message.unbondingId); + } + if (message.unbondingOnHoldRefCount !== BigInt(0)) { + writer.uint32(48).int64(message.unbondingOnHoldRefCount); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RedelegationEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRedelegationEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.creationHeight = reader.int64(); + break; + case 2: + message.completionTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 3: + message.initialBalance = reader.string(); + break; + case 4: + message.sharesDst = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.unbondingId = reader.uint64(); + break; + case 6: + message.unbondingOnHoldRefCount = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RedelegationEntry { + const message = createBaseRedelegationEntry(); + message.creationHeight = + object.creationHeight !== undefined && object.creationHeight !== null + ? BigInt(object.creationHeight.toString()) + : BigInt(0); + message.completionTime = object.completionTime ?? undefined; + message.initialBalance = object.initialBalance ?? ''; + message.sharesDst = object.sharesDst ?? ''; + message.unbondingId = + object.unbondingId !== undefined && object.unbondingId !== null + ? BigInt(object.unbondingId.toString()) + : BigInt(0); + message.unbondingOnHoldRefCount = + object.unbondingOnHoldRefCount !== undefined && object.unbondingOnHoldRefCount !== null + ? BigInt(object.unbondingOnHoldRefCount.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: RedelegationEntryAmino): RedelegationEntry { + const message = createBaseRedelegationEntry(); + if (object.creation_height !== undefined && object.creation_height !== null) { + message.creationHeight = BigInt(object.creation_height); + } + if (object.completion_time !== undefined && object.completion_time !== null) { + message.completionTime = fromTimestamp(Timestamp.fromAmino(object.completion_time)); + } + if (object.initial_balance !== undefined && object.initial_balance !== null) { + message.initialBalance = object.initial_balance; + } + if (object.shares_dst !== undefined && object.shares_dst !== null) { + message.sharesDst = object.shares_dst; + } + if (object.unbonding_id !== undefined && object.unbonding_id !== null) { + message.unbondingId = BigInt(object.unbonding_id); + } + if (object.unbonding_on_hold_ref_count !== undefined && object.unbonding_on_hold_ref_count !== null) { + message.unbondingOnHoldRefCount = BigInt(object.unbonding_on_hold_ref_count); + } + return message; + }, + toAmino(message: RedelegationEntry): RedelegationEntryAmino { + const obj: any = {}; + obj.creation_height = message.creationHeight !== BigInt(0) ? (message.creationHeight?.toString)() : undefined; + obj.completion_time = message.completionTime ? Timestamp.toAmino(toTimestamp(message.completionTime)) : new Date(); + obj.initial_balance = message.initialBalance === '' ? undefined : message.initialBalance; + obj.shares_dst = message.sharesDst === '' ? undefined : message.sharesDst; + obj.unbonding_id = message.unbondingId !== BigInt(0) ? (message.unbondingId?.toString)() : undefined; + obj.unbonding_on_hold_ref_count = + message.unbondingOnHoldRefCount !== BigInt(0) ? (message.unbondingOnHoldRefCount?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: RedelegationEntryAminoMsg): RedelegationEntry { + return RedelegationEntry.fromAmino(object.value); + }, + toAminoMsg(message: RedelegationEntry): RedelegationEntryAminoMsg { + return { + type: 'cosmos-sdk/RedelegationEntry', + value: RedelegationEntry.toAmino(message), + }; + }, + fromProtoMsg(message: RedelegationEntryProtoMsg): RedelegationEntry { + return RedelegationEntry.decode(message.value); + }, + toProto(message: RedelegationEntry): Uint8Array { + return RedelegationEntry.encode(message).finish(); + }, + toProtoMsg(message: RedelegationEntry): RedelegationEntryProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.RedelegationEntry', + value: RedelegationEntry.encode(message).finish(), + }; + }, +}; +function createBaseRedelegation(): Redelegation { + return { + delegatorAddress: '', + validatorSrcAddress: '', + validatorDstAddress: '', + entries: [], + }; +} +export const Redelegation = { + typeUrl: '/cosmos.staking.v1beta1.Redelegation', + encode(message: Redelegation, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.delegatorAddress !== '') { + writer.uint32(10).string(message.delegatorAddress); + } + if (message.validatorSrcAddress !== '') { + writer.uint32(18).string(message.validatorSrcAddress); + } + if (message.validatorDstAddress !== '') { + writer.uint32(26).string(message.validatorDstAddress); + } + for (const v of message.entries) { + RedelegationEntry.encode(v!, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Redelegation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRedelegation(); + while (reader.pos < end) { + const 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.entries.push(RedelegationEntry.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Redelegation { + const message = createBaseRedelegation(); + message.delegatorAddress = object.delegatorAddress ?? ''; + message.validatorSrcAddress = object.validatorSrcAddress ?? ''; + message.validatorDstAddress = object.validatorDstAddress ?? ''; + message.entries = object.entries?.map((e) => RedelegationEntry.fromPartial(e)) || []; + return message; + }, + fromAmino(object: RedelegationAmino): Redelegation { + const message = createBaseRedelegation(); + if (object.delegator_address !== undefined && object.delegator_address !== null) { + message.delegatorAddress = object.delegator_address; + } + if (object.validator_src_address !== undefined && object.validator_src_address !== null) { + message.validatorSrcAddress = object.validator_src_address; + } + if (object.validator_dst_address !== undefined && object.validator_dst_address !== null) { + message.validatorDstAddress = object.validator_dst_address; + } + message.entries = object.entries?.map((e) => RedelegationEntry.fromAmino(e)) || []; + return message; + }, + toAmino(message: Redelegation): RedelegationAmino { + const obj: any = {}; + obj.delegator_address = message.delegatorAddress === '' ? undefined : message.delegatorAddress; + obj.validator_src_address = message.validatorSrcAddress === '' ? undefined : message.validatorSrcAddress; + obj.validator_dst_address = message.validatorDstAddress === '' ? undefined : message.validatorDstAddress; + if (message.entries) { + obj.entries = message.entries.map((e) => (e ? RedelegationEntry.toAmino(e) : undefined)); + } else { + obj.entries = message.entries; + } + return obj; + }, + fromAminoMsg(object: RedelegationAminoMsg): Redelegation { + return Redelegation.fromAmino(object.value); + }, + toAminoMsg(message: Redelegation): RedelegationAminoMsg { + return { + type: 'cosmos-sdk/Redelegation', + value: Redelegation.toAmino(message), + }; + }, + fromProtoMsg(message: RedelegationProtoMsg): Redelegation { + return Redelegation.decode(message.value); + }, + toProto(message: Redelegation): Uint8Array { + return Redelegation.encode(message).finish(); + }, + toProtoMsg(message: Redelegation): RedelegationProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.Redelegation', + value: Redelegation.encode(message).finish(), + }; + }, +}; +function createBaseParams(): Params { + return { + unbondingTime: Duration.fromPartial({}), + maxValidators: 0, + maxEntries: 0, + historicalEntries: 0, + bondDenom: '', + minCommissionRate: '', + }; +} +export const Params = { + typeUrl: '/cosmos.staking.v1beta1.Params', + encode(message: Params, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.unbondingTime !== undefined) { + Duration.encode(message.unbondingTime, writer.uint32(10).fork()).ldelim(); + } + if (message.maxValidators !== 0) { + writer.uint32(16).uint32(message.maxValidators); + } + if (message.maxEntries !== 0) { + writer.uint32(24).uint32(message.maxEntries); + } + if (message.historicalEntries !== 0) { + writer.uint32(32).uint32(message.historicalEntries); + } + if (message.bondDenom !== '') { + writer.uint32(42).string(message.bondDenom); + } + if (message.minCommissionRate !== '') { + writer.uint32(50).string(Decimal.fromUserInput(message.minCommissionRate, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.unbondingTime = 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; + case 6: + message.minCommissionRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Params { + const message = createBaseParams(); + message.unbondingTime = + object.unbondingTime !== undefined && object.unbondingTime !== null + ? Duration.fromPartial(object.unbondingTime) + : undefined; + message.maxValidators = object.maxValidators ?? 0; + message.maxEntries = object.maxEntries ?? 0; + message.historicalEntries = object.historicalEntries ?? 0; + message.bondDenom = object.bondDenom ?? ''; + message.minCommissionRate = object.minCommissionRate ?? ''; + return message; + }, + fromAmino(object: ParamsAmino): Params { + const message = createBaseParams(); + if (object.unbonding_time !== undefined && object.unbonding_time !== null) { + message.unbondingTime = Duration.fromAmino(object.unbonding_time); + } + if (object.max_validators !== undefined && object.max_validators !== null) { + message.maxValidators = object.max_validators; + } + if (object.max_entries !== undefined && object.max_entries !== null) { + message.maxEntries = object.max_entries; + } + if (object.historical_entries !== undefined && object.historical_entries !== null) { + message.historicalEntries = object.historical_entries; + } + if (object.bond_denom !== undefined && object.bond_denom !== null) { + message.bondDenom = object.bond_denom; + } + if (object.min_commission_rate !== undefined && object.min_commission_rate !== null) { + message.minCommissionRate = object.min_commission_rate; + } + return message; + }, + toAmino(message: Params): ParamsAmino { + const obj: any = {}; + obj.unbonding_time = message.unbondingTime + ? Duration.toAmino(message.unbondingTime) + : Duration.toAmino(Duration.fromPartial({})); + obj.max_validators = message.maxValidators === 0 ? undefined : message.maxValidators; + obj.max_entries = message.maxEntries === 0 ? undefined : message.maxEntries; + obj.historical_entries = message.historicalEntries === 0 ? undefined : message.historicalEntries; + obj.bond_denom = message.bondDenom === '' ? undefined : message.bondDenom; + obj.min_commission_rate = message.minCommissionRate ?? ''; + return obj; + }, + fromAminoMsg(object: ParamsAminoMsg): Params { + return Params.fromAmino(object.value); + }, + toAminoMsg(message: Params): ParamsAminoMsg { + return { + type: 'cosmos-sdk/x/staking/Params', + value: Params.toAmino(message), + }; + }, + fromProtoMsg(message: ParamsProtoMsg): Params { + return Params.decode(message.value); + }, + toProto(message: Params): Uint8Array { + return Params.encode(message).finish(); + }, + toProtoMsg(message: Params): ParamsProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.Params', + value: Params.encode(message).finish(), + }; + }, +}; +function createBaseDelegationResponse(): DelegationResponse { + return { + delegation: Delegation.fromPartial({}), + balance: Coin.fromPartial({}), + }; +} +export const DelegationResponse = { + typeUrl: '/cosmos.staking.v1beta1.DelegationResponse', + encode(message: DelegationResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.delegation !== undefined) { + Delegation.encode(message.delegation, writer.uint32(10).fork()).ldelim(); + } + if (message.balance !== undefined) { + Coin.encode(message.balance, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DelegationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDelegationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.delegation = Delegation.decode(reader, reader.uint32()); + break; + case 2: + message.balance = Coin.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DelegationResponse { + const message = createBaseDelegationResponse(); + message.delegation = + object.delegation !== undefined && object.delegation !== null + ? Delegation.fromPartial(object.delegation) + : undefined; + message.balance = + object.balance !== undefined && object.balance !== null ? Coin.fromPartial(object.balance) : undefined; + return message; + }, + fromAmino(object: DelegationResponseAmino): DelegationResponse { + const message = createBaseDelegationResponse(); + if (object.delegation !== undefined && object.delegation !== null) { + message.delegation = Delegation.fromAmino(object.delegation); + } + if (object.balance !== undefined && object.balance !== null) { + message.balance = Coin.fromAmino(object.balance); + } + return message; + }, + toAmino(message: DelegationResponse): DelegationResponseAmino { + const obj: any = {}; + obj.delegation = message.delegation + ? Delegation.toAmino(message.delegation) + : Delegation.toAmino(Delegation.fromPartial({})); + obj.balance = message.balance ? Coin.toAmino(message.balance) : Coin.toAmino(Coin.fromPartial({})); + return obj; + }, + fromAminoMsg(object: DelegationResponseAminoMsg): DelegationResponse { + return DelegationResponse.fromAmino(object.value); + }, + toAminoMsg(message: DelegationResponse): DelegationResponseAminoMsg { + return { + type: 'cosmos-sdk/DelegationResponse', + value: DelegationResponse.toAmino(message), + }; + }, + fromProtoMsg(message: DelegationResponseProtoMsg): DelegationResponse { + return DelegationResponse.decode(message.value); + }, + toProto(message: DelegationResponse): Uint8Array { + return DelegationResponse.encode(message).finish(); + }, + toProtoMsg(message: DelegationResponse): DelegationResponseProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.DelegationResponse', + value: DelegationResponse.encode(message).finish(), + }; + }, +}; +function createBaseRedelegationEntryResponse(): RedelegationEntryResponse { + return { + redelegationEntry: RedelegationEntry.fromPartial({}), + balance: '', + }; +} +export const RedelegationEntryResponse = { + typeUrl: '/cosmos.staking.v1beta1.RedelegationEntryResponse', + encode(message: RedelegationEntryResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.redelegationEntry !== undefined) { + RedelegationEntry.encode(message.redelegationEntry, writer.uint32(10).fork()).ldelim(); + } + if (message.balance !== '') { + writer.uint32(34).string(message.balance); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RedelegationEntryResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRedelegationEntryResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.redelegationEntry = RedelegationEntry.decode(reader, reader.uint32()); + break; + case 4: + message.balance = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RedelegationEntryResponse { + const message = createBaseRedelegationEntryResponse(); + message.redelegationEntry = + object.redelegationEntry !== undefined && object.redelegationEntry !== null + ? RedelegationEntry.fromPartial(object.redelegationEntry) + : undefined; + message.balance = object.balance ?? ''; + return message; + }, + fromAmino(object: RedelegationEntryResponseAmino): RedelegationEntryResponse { + const message = createBaseRedelegationEntryResponse(); + if (object.redelegation_entry !== undefined && object.redelegation_entry !== null) { + message.redelegationEntry = RedelegationEntry.fromAmino(object.redelegation_entry); + } + if (object.balance !== undefined && object.balance !== null) { + message.balance = object.balance; + } + return message; + }, + toAmino(message: RedelegationEntryResponse): RedelegationEntryResponseAmino { + const obj: any = {}; + obj.redelegation_entry = message.redelegationEntry + ? RedelegationEntry.toAmino(message.redelegationEntry) + : RedelegationEntry.toAmino(RedelegationEntry.fromPartial({})); + obj.balance = message.balance === '' ? undefined : message.balance; + return obj; + }, + fromAminoMsg(object: RedelegationEntryResponseAminoMsg): RedelegationEntryResponse { + return RedelegationEntryResponse.fromAmino(object.value); + }, + toAminoMsg(message: RedelegationEntryResponse): RedelegationEntryResponseAminoMsg { + return { + type: 'cosmos-sdk/RedelegationEntryResponse', + value: RedelegationEntryResponse.toAmino(message), + }; + }, + fromProtoMsg(message: RedelegationEntryResponseProtoMsg): RedelegationEntryResponse { + return RedelegationEntryResponse.decode(message.value); + }, + toProto(message: RedelegationEntryResponse): Uint8Array { + return RedelegationEntryResponse.encode(message).finish(); + }, + toProtoMsg(message: RedelegationEntryResponse): RedelegationEntryResponseProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.RedelegationEntryResponse', + value: RedelegationEntryResponse.encode(message).finish(), + }; + }, +}; +function createBaseRedelegationResponse(): RedelegationResponse { + return { + redelegation: Redelegation.fromPartial({}), + entries: [], + }; +} +export const RedelegationResponse = { + typeUrl: '/cosmos.staking.v1beta1.RedelegationResponse', + encode(message: RedelegationResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.redelegation !== undefined) { + Redelegation.encode(message.redelegation, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.entries) { + RedelegationEntryResponse.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RedelegationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRedelegationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.redelegation = Redelegation.decode(reader, reader.uint32()); + break; + case 2: + message.entries.push(RedelegationEntryResponse.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RedelegationResponse { + const message = createBaseRedelegationResponse(); + message.redelegation = + object.redelegation !== undefined && object.redelegation !== null + ? Redelegation.fromPartial(object.redelegation) + : undefined; + message.entries = object.entries?.map((e) => RedelegationEntryResponse.fromPartial(e)) || []; + return message; + }, + fromAmino(object: RedelegationResponseAmino): RedelegationResponse { + const message = createBaseRedelegationResponse(); + if (object.redelegation !== undefined && object.redelegation !== null) { + message.redelegation = Redelegation.fromAmino(object.redelegation); + } + message.entries = object.entries?.map((e) => RedelegationEntryResponse.fromAmino(e)) || []; + return message; + }, + toAmino(message: RedelegationResponse): RedelegationResponseAmino { + const obj: any = {}; + obj.redelegation = message.redelegation + ? Redelegation.toAmino(message.redelegation) + : Redelegation.toAmino(Redelegation.fromPartial({})); + if (message.entries) { + obj.entries = message.entries.map((e) => (e ? RedelegationEntryResponse.toAmino(e) : undefined)); + } else { + obj.entries = message.entries; + } + return obj; + }, + fromAminoMsg(object: RedelegationResponseAminoMsg): RedelegationResponse { + return RedelegationResponse.fromAmino(object.value); + }, + toAminoMsg(message: RedelegationResponse): RedelegationResponseAminoMsg { + return { + type: 'cosmos-sdk/RedelegationResponse', + value: RedelegationResponse.toAmino(message), + }; + }, + fromProtoMsg(message: RedelegationResponseProtoMsg): RedelegationResponse { + return RedelegationResponse.decode(message.value); + }, + toProto(message: RedelegationResponse): Uint8Array { + return RedelegationResponse.encode(message).finish(); + }, + toProtoMsg(message: RedelegationResponse): RedelegationResponseProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.RedelegationResponse', + value: RedelegationResponse.encode(message).finish(), + }; + }, +}; +function createBasePool(): Pool { + return { + notBondedTokens: '', + bondedTokens: '', + }; +} +export const Pool = { + typeUrl: '/cosmos.staking.v1beta1.Pool', + encode(message: Pool, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.notBondedTokens !== '') { + writer.uint32(10).string(message.notBondedTokens); + } + if (message.bondedTokens !== '') { + writer.uint32(18).string(message.bondedTokens); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Pool { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePool(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): Pool { + const message = createBasePool(); + message.notBondedTokens = object.notBondedTokens ?? ''; + message.bondedTokens = object.bondedTokens ?? ''; + return message; + }, + fromAmino(object: PoolAmino): Pool { + const message = createBasePool(); + if (object.not_bonded_tokens !== undefined && object.not_bonded_tokens !== null) { + message.notBondedTokens = object.not_bonded_tokens; + } + if (object.bonded_tokens !== undefined && object.bonded_tokens !== null) { + message.bondedTokens = object.bonded_tokens; + } + return message; + }, + toAmino(message: Pool): PoolAmino { + const obj: any = {}; + obj.not_bonded_tokens = message.notBondedTokens ?? ''; + obj.bonded_tokens = message.bondedTokens ?? ''; + return obj; + }, + fromAminoMsg(object: PoolAminoMsg): Pool { + return Pool.fromAmino(object.value); + }, + toAminoMsg(message: Pool): PoolAminoMsg { + return { + type: 'cosmos-sdk/Pool', + value: Pool.toAmino(message), + }; + }, + fromProtoMsg(message: PoolProtoMsg): Pool { + return Pool.decode(message.value); + }, + toProto(message: Pool): Uint8Array { + return Pool.encode(message).finish(); + }, + toProtoMsg(message: Pool): PoolProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.Pool', + value: Pool.encode(message).finish(), + }; + }, +}; +function createBaseValidatorUpdates(): ValidatorUpdates { + return { + updates: [], + }; +} +export const ValidatorUpdates = { + typeUrl: '/cosmos.staking.v1beta1.ValidatorUpdates', + encode(message: ValidatorUpdates, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.updates) { + ValidatorUpdate.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorUpdates { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorUpdates(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.updates.push(ValidatorUpdate.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ValidatorUpdates { + const message = createBaseValidatorUpdates(); + message.updates = object.updates?.map((e) => ValidatorUpdate.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ValidatorUpdatesAmino): ValidatorUpdates { + const message = createBaseValidatorUpdates(); + message.updates = object.updates?.map((e) => ValidatorUpdate.fromAmino(e)) || []; + return message; + }, + toAmino(message: ValidatorUpdates): ValidatorUpdatesAmino { + const obj: any = {}; + if (message.updates) { + obj.updates = message.updates.map((e) => (e ? ValidatorUpdate.toAmino(e) : undefined)); + } else { + obj.updates = message.updates; + } + return obj; + }, + fromAminoMsg(object: ValidatorUpdatesAminoMsg): ValidatorUpdates { + return ValidatorUpdates.fromAmino(object.value); + }, + toAminoMsg(message: ValidatorUpdates): ValidatorUpdatesAminoMsg { + return { + type: 'cosmos-sdk/ValidatorUpdates', + value: ValidatorUpdates.toAmino(message), + }; + }, + fromProtoMsg(message: ValidatorUpdatesProtoMsg): ValidatorUpdates { + return ValidatorUpdates.decode(message.value); + }, + toProto(message: ValidatorUpdates): Uint8Array { + return ValidatorUpdates.encode(message).finish(); + }, + toProtoMsg(message: ValidatorUpdates): ValidatorUpdatesProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.ValidatorUpdates', + value: ValidatorUpdates.encode(message).finish(), + }; + }, +}; +export const Cosmos_cryptoPubKey_InterfaceDecoder = (input: BinaryReader | Uint8Array): Any => { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const data = Any.decode(reader, reader.uint32()); + switch (data.typeUrl) { + default: + return data; + } +}; +export const Cosmos_cryptoPubKey_FromAmino = (content: AnyAmino): Any => { + return encodePubkey(content); +}; +export const Cosmos_cryptoPubKey_ToAmino = (content: Any): Pubkey | null => { + return decodePubkey(content); +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/staking/v1beta1/tx.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/staking/v1beta1/tx.ts new file mode 100644 index 00000000..cd4008b4 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/staking/v1beta1/tx.ts @@ -0,0 +1,1659 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Pubkey } from '@cosmjs/amino'; +import { Decimal } from '@cosmjs/math'; +import { decodePubkey, encodePubkey } from '@cosmjs/proto-signing'; +import { Any, AnyAmino, AnyProtoMsg, AnySDKType } from 'cosmjs-types/google/protobuf/any'; +import { Timestamp } from 'cosmjs-types/google/protobuf/timestamp'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { fromTimestamp, toTimestamp } from '../../../../../helpers'; +import { Coin, CoinAmino, CoinSDKType } from '../../base/v1beta1/coin'; +import { + CommissionRates, + CommissionRatesAmino, + CommissionRatesSDKType, + Description, + DescriptionAmino, + DescriptionSDKType, + Params, + ParamsAmino, + ParamsSDKType, +} from './staking'; +/** MsgCreateValidator defines a SDK message for creating a new validator. */ +export interface MsgCreateValidator { + description: Description; + commission: CommissionRates; + minSelfDelegation: string; + /** + * Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated. + * The validator address bytes and delegator address bytes refer to the same account while creating validator (defer + * only in bech32 notation). + */ + /** @deprecated */ + delegatorAddress: string; + validatorAddress: string; + pubkey?: Any | undefined; + value: Coin; +} +export interface MsgCreateValidatorProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgCreateValidator'; + value: Uint8Array; +} +export type MsgCreateValidatorEncoded = Omit & { + pubkey?: AnyProtoMsg | undefined; +}; +/** MsgCreateValidator defines a SDK message for creating a new validator. */ +export interface MsgCreateValidatorAmino { + description: DescriptionAmino; + commission: CommissionRatesAmino; + min_self_delegation: string; + /** + * Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated. + * The validator address bytes and delegator address bytes refer to the same account while creating validator (defer + * only in bech32 notation). + */ + /** @deprecated */ + delegator_address?: string; + validator_address?: string; + pubkey?: AnyAmino; + value: CoinAmino; +} +export interface MsgCreateValidatorAminoMsg { + type: 'cosmos-sdk/MsgCreateValidator'; + value: MsgCreateValidatorAmino; +} +/** MsgCreateValidator defines a SDK message for creating a new validator. */ +export interface MsgCreateValidatorSDKType { + description: DescriptionSDKType; + commission: CommissionRatesSDKType; + min_self_delegation: string; + /** @deprecated */ + delegator_address: string; + validator_address: string; + pubkey?: AnySDKType | undefined; + value: CoinSDKType; +} +/** MsgCreateValidatorResponse defines the Msg/CreateValidator response type. */ +export interface MsgCreateValidatorResponse {} +export interface MsgCreateValidatorResponseProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgCreateValidatorResponse'; + value: Uint8Array; +} +/** MsgCreateValidatorResponse defines the Msg/CreateValidator response type. */ +export interface MsgCreateValidatorResponseAmino {} +export interface MsgCreateValidatorResponseAminoMsg { + type: 'cosmos-sdk/MsgCreateValidatorResponse'; + value: MsgCreateValidatorResponseAmino; +} +/** MsgCreateValidatorResponse defines the Msg/CreateValidator response type. */ +export interface MsgCreateValidatorResponseSDKType {} +/** MsgEditValidator defines a SDK message for editing an existing validator. */ +export interface MsgEditValidator { + description: Description; + validatorAddress: string; + /** + * We pass a reference to the new commission rate and min self delegation as + * it's not mandatory to update. If not updated, the deserialized rate will be + * zero with no way to distinguish if an update was intended. + * REF: #2373 + */ + commissionRate: string; + minSelfDelegation: string; +} +export interface MsgEditValidatorProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgEditValidator'; + value: Uint8Array; +} +/** MsgEditValidator defines a SDK message for editing an existing validator. */ +export interface MsgEditValidatorAmino { + description: DescriptionAmino; + validator_address?: string; + /** + * We pass a reference to the new commission rate and min self delegation as + * it's not mandatory to update. If not updated, the deserialized rate will be + * zero with no way to distinguish if an update was intended. + * REF: #2373 + */ + commission_rate?: string; + min_self_delegation?: string; +} +export interface MsgEditValidatorAminoMsg { + type: 'cosmos-sdk/MsgEditValidator'; + value: MsgEditValidatorAmino; +} +/** MsgEditValidator defines a SDK message for editing an existing validator. */ +export interface MsgEditValidatorSDKType { + description: DescriptionSDKType; + validator_address: string; + commission_rate: string; + min_self_delegation: string; +} +/** MsgEditValidatorResponse defines the Msg/EditValidator response type. */ +export interface MsgEditValidatorResponse {} +export interface MsgEditValidatorResponseProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgEditValidatorResponse'; + value: Uint8Array; +} +/** MsgEditValidatorResponse defines the Msg/EditValidator response type. */ +export interface MsgEditValidatorResponseAmino {} +export interface MsgEditValidatorResponseAminoMsg { + type: 'cosmos-sdk/MsgEditValidatorResponse'; + value: MsgEditValidatorResponseAmino; +} +/** MsgEditValidatorResponse defines the Msg/EditValidator response type. */ +export interface MsgEditValidatorResponseSDKType {} +/** + * MsgDelegate defines a SDK message for performing a delegation of coins + * from a delegator to a validator. + */ +export interface MsgDelegate { + delegatorAddress: string; + validatorAddress: string; + amount: Coin; +} +export interface MsgDelegateProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgDelegate'; + value: Uint8Array; +} +/** + * MsgDelegate defines a SDK message for performing a delegation of coins + * from a delegator to a validator. + */ +export interface MsgDelegateAmino { + delegator_address?: string; + validator_address?: string; + amount: CoinAmino; +} +export interface MsgDelegateAminoMsg { + type: 'cosmos-sdk/MsgDelegate'; + value: MsgDelegateAmino; +} +/** + * MsgDelegate defines a SDK message for performing a delegation of coins + * from a delegator to a validator. + */ +export interface MsgDelegateSDKType { + delegator_address: string; + validator_address: string; + amount: CoinSDKType; +} +/** MsgDelegateResponse defines the Msg/Delegate response type. */ +export interface MsgDelegateResponse {} +export interface MsgDelegateResponseProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgDelegateResponse'; + value: Uint8Array; +} +/** MsgDelegateResponse defines the Msg/Delegate response type. */ +export interface MsgDelegateResponseAmino {} +export interface MsgDelegateResponseAminoMsg { + type: 'cosmos-sdk/MsgDelegateResponse'; + value: MsgDelegateResponseAmino; +} +/** MsgDelegateResponse defines the Msg/Delegate response type. */ +export interface MsgDelegateResponseSDKType {} +/** + * MsgBeginRedelegate defines a SDK message for performing a redelegation + * of coins from a delegator and source validator to a destination validator. + */ +export interface MsgBeginRedelegate { + delegatorAddress: string; + validatorSrcAddress: string; + validatorDstAddress: string; + amount: Coin; +} +export interface MsgBeginRedelegateProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgBeginRedelegate'; + value: Uint8Array; +} +/** + * MsgBeginRedelegate defines a SDK message for performing a redelegation + * of coins from a delegator and source validator to a destination validator. + */ +export interface MsgBeginRedelegateAmino { + delegator_address?: string; + validator_src_address?: string; + validator_dst_address?: string; + amount: CoinAmino; +} +export interface MsgBeginRedelegateAminoMsg { + type: 'cosmos-sdk/MsgBeginRedelegate'; + value: MsgBeginRedelegateAmino; +} +/** + * MsgBeginRedelegate defines a SDK message for performing a redelegation + * of coins from a delegator and source validator to a destination validator. + */ +export interface MsgBeginRedelegateSDKType { + delegator_address: string; + validator_src_address: string; + validator_dst_address: string; + amount: CoinSDKType; +} +/** MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. */ +export interface MsgBeginRedelegateResponse { + completionTime: Date; +} +export interface MsgBeginRedelegateResponseProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgBeginRedelegateResponse'; + value: Uint8Array; +} +/** MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. */ +export interface MsgBeginRedelegateResponseAmino { + completion_time: string; +} +export interface MsgBeginRedelegateResponseAminoMsg { + type: 'cosmos-sdk/MsgBeginRedelegateResponse'; + value: MsgBeginRedelegateResponseAmino; +} +/** MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. */ +export interface MsgBeginRedelegateResponseSDKType { + completion_time: Date; +} +/** + * MsgUndelegate defines a SDK message for performing an undelegation from a + * delegate and a validator. + */ +export interface MsgUndelegate { + delegatorAddress: string; + validatorAddress: string; + amount: Coin; +} +export interface MsgUndelegateProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgUndelegate'; + value: Uint8Array; +} +/** + * MsgUndelegate defines a SDK message for performing an undelegation from a + * delegate and a validator. + */ +export interface MsgUndelegateAmino { + delegator_address?: string; + validator_address?: string; + amount: CoinAmino; +} +export interface MsgUndelegateAminoMsg { + type: 'cosmos-sdk/MsgUndelegate'; + value: MsgUndelegateAmino; +} +/** + * MsgUndelegate defines a SDK message for performing an undelegation from a + * delegate and a validator. + */ +export interface MsgUndelegateSDKType { + delegator_address: string; + validator_address: string; + amount: CoinSDKType; +} +/** MsgUndelegateResponse defines the Msg/Undelegate response type. */ +export interface MsgUndelegateResponse { + completionTime: Date; + /** + * amount returns the amount of undelegated coins + * + * Since: cosmos-sdk 0.50 + */ + amount: Coin; +} +export interface MsgUndelegateResponseProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgUndelegateResponse'; + value: Uint8Array; +} +/** MsgUndelegateResponse defines the Msg/Undelegate response type. */ +export interface MsgUndelegateResponseAmino { + completion_time: string; + /** + * amount returns the amount of undelegated coins + * + * Since: cosmos-sdk 0.50 + */ + amount: CoinAmino; +} +export interface MsgUndelegateResponseAminoMsg { + type: 'cosmos-sdk/MsgUndelegateResponse'; + value: MsgUndelegateResponseAmino; +} +/** MsgUndelegateResponse defines the Msg/Undelegate response type. */ +export interface MsgUndelegateResponseSDKType { + completion_time: Date; + amount: CoinSDKType; +} +/** + * MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator + * + * Since: cosmos-sdk 0.46 + */ +export interface MsgCancelUnbondingDelegation { + delegatorAddress: string; + validatorAddress: string; + /** amount is always less than or equal to unbonding delegation entry balance */ + amount: Coin; + /** creation_height is the height which the unbonding took place. */ + creationHeight: bigint; +} +export interface MsgCancelUnbondingDelegationProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation'; + value: Uint8Array; +} +/** + * MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator + * + * Since: cosmos-sdk 0.46 + */ +export interface MsgCancelUnbondingDelegationAmino { + delegator_address?: string; + validator_address?: string; + /** amount is always less than or equal to unbonding delegation entry balance */ + amount: CoinAmino; + /** creation_height is the height which the unbonding took place. */ + creation_height?: string; +} +export interface MsgCancelUnbondingDelegationAminoMsg { + type: 'cosmos-sdk/MsgCancelUnbondingDelegation'; + value: MsgCancelUnbondingDelegationAmino; +} +/** + * MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator + * + * Since: cosmos-sdk 0.46 + */ +export interface MsgCancelUnbondingDelegationSDKType { + delegator_address: string; + validator_address: string; + amount: CoinSDKType; + creation_height: bigint; +} +/** + * MsgCancelUnbondingDelegationResponse + * + * Since: cosmos-sdk 0.46 + */ +export interface MsgCancelUnbondingDelegationResponse {} +export interface MsgCancelUnbondingDelegationResponseProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse'; + value: Uint8Array; +} +/** + * MsgCancelUnbondingDelegationResponse + * + * Since: cosmos-sdk 0.46 + */ +export interface MsgCancelUnbondingDelegationResponseAmino {} +export interface MsgCancelUnbondingDelegationResponseAminoMsg { + type: 'cosmos-sdk/MsgCancelUnbondingDelegationResponse'; + value: MsgCancelUnbondingDelegationResponseAmino; +} +/** + * MsgCancelUnbondingDelegationResponse + * + * Since: cosmos-sdk 0.46 + */ +export interface MsgCancelUnbondingDelegationResponseSDKType {} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParams { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority: string; + /** + * params defines the x/staking parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params: Params; +} +export interface MsgUpdateParamsProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgUpdateParams'; + value: Uint8Array; +} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsAmino { + /** authority is the address that controls the module (defaults to x/gov unless overwritten). */ + authority?: string; + /** + * params defines the x/staking parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params: ParamsAmino; +} +export interface MsgUpdateParamsAminoMsg { + type: 'cosmos-sdk/x/staking/MsgUpdateParams'; + value: MsgUpdateParamsAmino; +} +/** + * MsgUpdateParams is the Msg/UpdateParams request type. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsSDKType { + authority: string; + params: ParamsSDKType; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponse {} +export interface MsgUpdateParamsResponseProtoMsg { + typeUrl: '/cosmos.staking.v1beta1.MsgUpdateParamsResponse'; + value: Uint8Array; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponseAmino {} +export interface MsgUpdateParamsResponseAminoMsg { + type: 'cosmos-sdk/MsgUpdateParamsResponse'; + value: MsgUpdateParamsResponseAmino; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: cosmos-sdk 0.47 + */ +export interface MsgUpdateParamsResponseSDKType {} +function createBaseMsgCreateValidator(): MsgCreateValidator { + return { + description: Description.fromPartial({}), + commission: CommissionRates.fromPartial({}), + minSelfDelegation: '', + delegatorAddress: '', + validatorAddress: '', + pubkey: undefined, + value: Coin.fromPartial({}), + }; +} +export const MsgCreateValidator = { + typeUrl: '/cosmos.staking.v1beta1.MsgCreateValidator', + encode(message: MsgCreateValidator, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.description !== undefined) { + Description.encode(message.description, writer.uint32(10).fork()).ldelim(); + } + if (message.commission !== undefined) { + CommissionRates.encode(message.commission, writer.uint32(18).fork()).ldelim(); + } + if (message.minSelfDelegation !== '') { + writer.uint32(26).string(message.minSelfDelegation); + } + if (message.delegatorAddress !== '') { + writer.uint32(34).string(message.delegatorAddress); + } + if (message.validatorAddress !== '') { + writer.uint32(42).string(message.validatorAddress); + } + if (message.pubkey !== undefined) { + Any.encode(message.pubkey as Any, writer.uint32(50).fork()).ldelim(); + } + if (message.value !== undefined) { + Coin.encode(message.value, writer.uint32(58).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateValidator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateValidator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.description = Description.decode(reader, reader.uint32()); + break; + case 2: + message.commission = 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 = Cosmos_cryptoPubKey_InterfaceDecoder(reader) as Any; + break; + case 7: + message.value = Coin.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateValidator { + const message = createBaseMsgCreateValidator(); + message.description = + object.description !== undefined && object.description !== null + ? Description.fromPartial(object.description) + : undefined; + message.commission = + object.commission !== undefined && object.commission !== null + ? CommissionRates.fromPartial(object.commission) + : undefined; + message.minSelfDelegation = object.minSelfDelegation ?? ''; + message.delegatorAddress = object.delegatorAddress ?? ''; + message.validatorAddress = object.validatorAddress ?? ''; + message.pubkey = object.pubkey !== undefined && object.pubkey !== null ? Any.fromPartial(object.pubkey) : undefined; + message.value = object.value !== undefined && object.value !== null ? Coin.fromPartial(object.value) : undefined; + return message; + }, + fromAmino(object: MsgCreateValidatorAmino): MsgCreateValidator { + const message = createBaseMsgCreateValidator(); + if (object.description !== undefined && object.description !== null) { + message.description = Description.fromAmino(object.description); + } + if (object.commission !== undefined && object.commission !== null) { + message.commission = CommissionRates.fromAmino(object.commission); + } + if (object.min_self_delegation !== undefined && object.min_self_delegation !== null) { + message.minSelfDelegation = object.min_self_delegation; + } + if (object.delegator_address !== undefined && object.delegator_address !== null) { + message.delegatorAddress = object.delegator_address; + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = object.validator_address; + } + if (object.pubkey !== undefined && object.pubkey !== null) { + message.pubkey = encodePubkey(object.pubkey); + } + if (object.value !== undefined && object.value !== null) { + message.value = Coin.fromAmino(object.value); + } + return message; + }, + toAmino(message: MsgCreateValidator): MsgCreateValidatorAmino { + const obj: any = {}; + obj.description = message.description + ? Description.toAmino(message.description) + : Description.toAmino(Description.fromPartial({})); + obj.commission = message.commission + ? CommissionRates.toAmino(message.commission) + : CommissionRates.toAmino(CommissionRates.fromPartial({})); + obj.min_self_delegation = message.minSelfDelegation ?? ''; + obj.delegator_address = message.delegatorAddress === '' ? undefined : message.delegatorAddress; + obj.validator_address = message.validatorAddress === '' ? undefined : message.validatorAddress; + obj.pubkey = message.pubkey ? decodePubkey(message.pubkey) : undefined; + obj.value = message.value ? Coin.toAmino(message.value) : Coin.toAmino(Coin.fromPartial({})); + return obj; + }, + fromAminoMsg(object: MsgCreateValidatorAminoMsg): MsgCreateValidator { + return MsgCreateValidator.fromAmino(object.value); + }, + toAminoMsg(message: MsgCreateValidator): MsgCreateValidatorAminoMsg { + return { + type: 'cosmos-sdk/MsgCreateValidator', + value: MsgCreateValidator.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCreateValidatorProtoMsg): MsgCreateValidator { + return MsgCreateValidator.decode(message.value); + }, + toProto(message: MsgCreateValidator): Uint8Array { + return MsgCreateValidator.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateValidator): MsgCreateValidatorProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgCreateValidator', + value: MsgCreateValidator.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateValidatorResponse(): MsgCreateValidatorResponse { + return {}; +} +export const MsgCreateValidatorResponse = { + typeUrl: '/cosmos.staking.v1beta1.MsgCreateValidatorResponse', + encode(_: MsgCreateValidatorResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateValidatorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateValidatorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgCreateValidatorResponse { + const message = createBaseMsgCreateValidatorResponse(); + return message; + }, + fromAmino(_: MsgCreateValidatorResponseAmino): MsgCreateValidatorResponse { + const message = createBaseMsgCreateValidatorResponse(); + return message; + }, + toAmino(_: MsgCreateValidatorResponse): MsgCreateValidatorResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgCreateValidatorResponseAminoMsg): MsgCreateValidatorResponse { + return MsgCreateValidatorResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgCreateValidatorResponse): MsgCreateValidatorResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgCreateValidatorResponse', + value: MsgCreateValidatorResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCreateValidatorResponseProtoMsg): MsgCreateValidatorResponse { + return MsgCreateValidatorResponse.decode(message.value); + }, + toProto(message: MsgCreateValidatorResponse): Uint8Array { + return MsgCreateValidatorResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateValidatorResponse): MsgCreateValidatorResponseProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgCreateValidatorResponse', + value: MsgCreateValidatorResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgEditValidator(): MsgEditValidator { + return { + description: Description.fromPartial({}), + validatorAddress: '', + commissionRate: '', + minSelfDelegation: '', + }; +} +export const MsgEditValidator = { + typeUrl: '/cosmos.staking.v1beta1.MsgEditValidator', + encode(message: MsgEditValidator, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.description !== undefined) { + Description.encode(message.description, writer.uint32(10).fork()).ldelim(); + } + if (message.validatorAddress !== '') { + writer.uint32(18).string(message.validatorAddress); + } + if (message.commissionRate !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.commissionRate, 18).atomics); + } + if (message.minSelfDelegation !== '') { + writer.uint32(34).string(message.minSelfDelegation); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgEditValidator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgEditValidator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.description = Description.decode(reader, reader.uint32()); + break; + case 2: + message.validatorAddress = reader.string(); + break; + case 3: + message.commissionRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.minSelfDelegation = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgEditValidator { + const message = createBaseMsgEditValidator(); + message.description = + object.description !== undefined && object.description !== null + ? Description.fromPartial(object.description) + : undefined; + message.validatorAddress = object.validatorAddress ?? ''; + message.commissionRate = object.commissionRate ?? ''; + message.minSelfDelegation = object.minSelfDelegation ?? ''; + return message; + }, + fromAmino(object: MsgEditValidatorAmino): MsgEditValidator { + const message = createBaseMsgEditValidator(); + if (object.description !== undefined && object.description !== null) { + message.description = Description.fromAmino(object.description); + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = object.validator_address; + } + if (object.commission_rate !== undefined && object.commission_rate !== null) { + message.commissionRate = object.commission_rate; + } + if (object.min_self_delegation !== undefined && object.min_self_delegation !== null) { + message.minSelfDelegation = object.min_self_delegation; + } + return message; + }, + toAmino(message: MsgEditValidator): MsgEditValidatorAmino { + const obj: any = {}; + obj.description = message.description + ? Description.toAmino(message.description) + : Description.toAmino(Description.fromPartial({})); + obj.validator_address = message.validatorAddress === '' ? undefined : message.validatorAddress; + obj.commission_rate = message.commissionRate === '' ? undefined : message.commissionRate; + obj.min_self_delegation = message.minSelfDelegation === '' ? undefined : message.minSelfDelegation; + return obj; + }, + fromAminoMsg(object: MsgEditValidatorAminoMsg): MsgEditValidator { + return MsgEditValidator.fromAmino(object.value); + }, + toAminoMsg(message: MsgEditValidator): MsgEditValidatorAminoMsg { + return { + type: 'cosmos-sdk/MsgEditValidator', + value: MsgEditValidator.toAmino(message), + }; + }, + fromProtoMsg(message: MsgEditValidatorProtoMsg): MsgEditValidator { + return MsgEditValidator.decode(message.value); + }, + toProto(message: MsgEditValidator): Uint8Array { + return MsgEditValidator.encode(message).finish(); + }, + toProtoMsg(message: MsgEditValidator): MsgEditValidatorProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgEditValidator', + value: MsgEditValidator.encode(message).finish(), + }; + }, +}; +function createBaseMsgEditValidatorResponse(): MsgEditValidatorResponse { + return {}; +} +export const MsgEditValidatorResponse = { + typeUrl: '/cosmos.staking.v1beta1.MsgEditValidatorResponse', + encode(_: MsgEditValidatorResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgEditValidatorResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgEditValidatorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgEditValidatorResponse { + const message = createBaseMsgEditValidatorResponse(); + return message; + }, + fromAmino(_: MsgEditValidatorResponseAmino): MsgEditValidatorResponse { + const message = createBaseMsgEditValidatorResponse(); + return message; + }, + toAmino(_: MsgEditValidatorResponse): MsgEditValidatorResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgEditValidatorResponseAminoMsg): MsgEditValidatorResponse { + return MsgEditValidatorResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgEditValidatorResponse): MsgEditValidatorResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgEditValidatorResponse', + value: MsgEditValidatorResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgEditValidatorResponseProtoMsg): MsgEditValidatorResponse { + return MsgEditValidatorResponse.decode(message.value); + }, + toProto(message: MsgEditValidatorResponse): Uint8Array { + return MsgEditValidatorResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgEditValidatorResponse): MsgEditValidatorResponseProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgEditValidatorResponse', + value: MsgEditValidatorResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgDelegate(): MsgDelegate { + return { + delegatorAddress: '', + validatorAddress: '', + amount: Coin.fromPartial({}), + }; +} +export const MsgDelegate = { + typeUrl: '/cosmos.staking.v1beta1.MsgDelegate', + encode(message: MsgDelegate, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.delegatorAddress !== '') { + writer.uint32(10).string(message.delegatorAddress); + } + if (message.validatorAddress !== '') { + writer.uint32(18).string(message.validatorAddress); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDelegate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDelegate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.delegatorAddress = reader.string(); + break; + case 2: + message.validatorAddress = reader.string(); + break; + case 3: + message.amount = Coin.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgDelegate { + const message = createBaseMsgDelegate(); + message.delegatorAddress = object.delegatorAddress ?? ''; + message.validatorAddress = object.validatorAddress ?? ''; + message.amount = + object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, + fromAmino(object: MsgDelegateAmino): MsgDelegate { + const message = createBaseMsgDelegate(); + if (object.delegator_address !== undefined && object.delegator_address !== null) { + message.delegatorAddress = object.delegator_address; + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = object.validator_address; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = Coin.fromAmino(object.amount); + } + return message; + }, + toAmino(message: MsgDelegate): MsgDelegateAmino { + const obj: any = {}; + obj.delegator_address = message.delegatorAddress === '' ? undefined : message.delegatorAddress; + obj.validator_address = message.validatorAddress === '' ? undefined : message.validatorAddress; + obj.amount = message.amount ? Coin.toAmino(message.amount) : Coin.toAmino(Coin.fromPartial({})); + return obj; + }, + fromAminoMsg(object: MsgDelegateAminoMsg): MsgDelegate { + return MsgDelegate.fromAmino(object.value); + }, + toAminoMsg(message: MsgDelegate): MsgDelegateAminoMsg { + return { + type: 'cosmos-sdk/MsgDelegate', + value: MsgDelegate.toAmino(message), + }; + }, + fromProtoMsg(message: MsgDelegateProtoMsg): MsgDelegate { + return MsgDelegate.decode(message.value); + }, + toProto(message: MsgDelegate): Uint8Array { + return MsgDelegate.encode(message).finish(); + }, + toProtoMsg(message: MsgDelegate): MsgDelegateProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgDelegate', + value: MsgDelegate.encode(message).finish(), + }; + }, +}; +function createBaseMsgDelegateResponse(): MsgDelegateResponse { + return {}; +} +export const MsgDelegateResponse = { + typeUrl: '/cosmos.staking.v1beta1.MsgDelegateResponse', + encode(_: MsgDelegateResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDelegateResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDelegateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgDelegateResponse { + const message = createBaseMsgDelegateResponse(); + return message; + }, + fromAmino(_: MsgDelegateResponseAmino): MsgDelegateResponse { + const message = createBaseMsgDelegateResponse(); + return message; + }, + toAmino(_: MsgDelegateResponse): MsgDelegateResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgDelegateResponseAminoMsg): MsgDelegateResponse { + return MsgDelegateResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgDelegateResponse): MsgDelegateResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgDelegateResponse', + value: MsgDelegateResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgDelegateResponseProtoMsg): MsgDelegateResponse { + return MsgDelegateResponse.decode(message.value); + }, + toProto(message: MsgDelegateResponse): Uint8Array { + return MsgDelegateResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgDelegateResponse): MsgDelegateResponseProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgDelegateResponse', + value: MsgDelegateResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgBeginRedelegate(): MsgBeginRedelegate { + return { + delegatorAddress: '', + validatorSrcAddress: '', + validatorDstAddress: '', + amount: Coin.fromPartial({}), + }; +} +export const MsgBeginRedelegate = { + typeUrl: '/cosmos.staking.v1beta1.MsgBeginRedelegate', + encode(message: MsgBeginRedelegate, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.delegatorAddress !== '') { + writer.uint32(10).string(message.delegatorAddress); + } + if (message.validatorSrcAddress !== '') { + writer.uint32(18).string(message.validatorSrcAddress); + } + if (message.validatorDstAddress !== '') { + writer.uint32(26).string(message.validatorDstAddress); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBeginRedelegate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBeginRedelegate(); + while (reader.pos < end) { + const 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 = Coin.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBeginRedelegate { + const message = createBaseMsgBeginRedelegate(); + message.delegatorAddress = object.delegatorAddress ?? ''; + message.validatorSrcAddress = object.validatorSrcAddress ?? ''; + message.validatorDstAddress = object.validatorDstAddress ?? ''; + message.amount = + object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, + fromAmino(object: MsgBeginRedelegateAmino): MsgBeginRedelegate { + const message = createBaseMsgBeginRedelegate(); + if (object.delegator_address !== undefined && object.delegator_address !== null) { + message.delegatorAddress = object.delegator_address; + } + if (object.validator_src_address !== undefined && object.validator_src_address !== null) { + message.validatorSrcAddress = object.validator_src_address; + } + if (object.validator_dst_address !== undefined && object.validator_dst_address !== null) { + message.validatorDstAddress = object.validator_dst_address; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = Coin.fromAmino(object.amount); + } + return message; + }, + toAmino(message: MsgBeginRedelegate): MsgBeginRedelegateAmino { + const obj: any = {}; + obj.delegator_address = message.delegatorAddress === '' ? undefined : message.delegatorAddress; + obj.validator_src_address = message.validatorSrcAddress === '' ? undefined : message.validatorSrcAddress; + obj.validator_dst_address = message.validatorDstAddress === '' ? undefined : message.validatorDstAddress; + obj.amount = message.amount ? Coin.toAmino(message.amount) : Coin.toAmino(Coin.fromPartial({})); + return obj; + }, + fromAminoMsg(object: MsgBeginRedelegateAminoMsg): MsgBeginRedelegate { + return MsgBeginRedelegate.fromAmino(object.value); + }, + toAminoMsg(message: MsgBeginRedelegate): MsgBeginRedelegateAminoMsg { + return { + type: 'cosmos-sdk/MsgBeginRedelegate', + value: MsgBeginRedelegate.toAmino(message), + }; + }, + fromProtoMsg(message: MsgBeginRedelegateProtoMsg): MsgBeginRedelegate { + return MsgBeginRedelegate.decode(message.value); + }, + toProto(message: MsgBeginRedelegate): Uint8Array { + return MsgBeginRedelegate.encode(message).finish(); + }, + toProtoMsg(message: MsgBeginRedelegate): MsgBeginRedelegateProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgBeginRedelegate', + value: MsgBeginRedelegate.encode(message).finish(), + }; + }, +}; +function createBaseMsgBeginRedelegateResponse(): MsgBeginRedelegateResponse { + return { + completionTime: new Date(), + }; +} +export const MsgBeginRedelegateResponse = { + typeUrl: '/cosmos.staking.v1beta1.MsgBeginRedelegateResponse', + encode(message: MsgBeginRedelegateResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.completionTime !== undefined) { + Timestamp.encode(toTimestamp(message.completionTime), writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBeginRedelegateResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBeginRedelegateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.completionTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBeginRedelegateResponse { + const message = createBaseMsgBeginRedelegateResponse(); + message.completionTime = object.completionTime ?? undefined; + return message; + }, + fromAmino(object: MsgBeginRedelegateResponseAmino): MsgBeginRedelegateResponse { + const message = createBaseMsgBeginRedelegateResponse(); + if (object.completion_time !== undefined && object.completion_time !== null) { + message.completionTime = fromTimestamp(Timestamp.fromAmino(object.completion_time)); + } + return message; + }, + toAmino(message: MsgBeginRedelegateResponse): MsgBeginRedelegateResponseAmino { + const obj: any = {}; + obj.completion_time = message.completionTime ? Timestamp.toAmino(toTimestamp(message.completionTime)) : new Date(); + return obj; + }, + fromAminoMsg(object: MsgBeginRedelegateResponseAminoMsg): MsgBeginRedelegateResponse { + return MsgBeginRedelegateResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgBeginRedelegateResponse): MsgBeginRedelegateResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgBeginRedelegateResponse', + value: MsgBeginRedelegateResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgBeginRedelegateResponseProtoMsg): MsgBeginRedelegateResponse { + return MsgBeginRedelegateResponse.decode(message.value); + }, + toProto(message: MsgBeginRedelegateResponse): Uint8Array { + return MsgBeginRedelegateResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgBeginRedelegateResponse): MsgBeginRedelegateResponseProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgBeginRedelegateResponse', + value: MsgBeginRedelegateResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUndelegate(): MsgUndelegate { + return { + delegatorAddress: '', + validatorAddress: '', + amount: Coin.fromPartial({}), + }; +} +export const MsgUndelegate = { + typeUrl: '/cosmos.staking.v1beta1.MsgUndelegate', + encode(message: MsgUndelegate, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.delegatorAddress !== '') { + writer.uint32(10).string(message.delegatorAddress); + } + if (message.validatorAddress !== '') { + writer.uint32(18).string(message.validatorAddress); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUndelegate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUndelegate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.delegatorAddress = reader.string(); + break; + case 2: + message.validatorAddress = reader.string(); + break; + case 3: + message.amount = Coin.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUndelegate { + const message = createBaseMsgUndelegate(); + message.delegatorAddress = object.delegatorAddress ?? ''; + message.validatorAddress = object.validatorAddress ?? ''; + message.amount = + object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, + fromAmino(object: MsgUndelegateAmino): MsgUndelegate { + const message = createBaseMsgUndelegate(); + if (object.delegator_address !== undefined && object.delegator_address !== null) { + message.delegatorAddress = object.delegator_address; + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = object.validator_address; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = Coin.fromAmino(object.amount); + } + return message; + }, + toAmino(message: MsgUndelegate): MsgUndelegateAmino { + const obj: any = {}; + obj.delegator_address = message.delegatorAddress === '' ? undefined : message.delegatorAddress; + obj.validator_address = message.validatorAddress === '' ? undefined : message.validatorAddress; + obj.amount = message.amount ? Coin.toAmino(message.amount) : Coin.toAmino(Coin.fromPartial({})); + return obj; + }, + fromAminoMsg(object: MsgUndelegateAminoMsg): MsgUndelegate { + return MsgUndelegate.fromAmino(object.value); + }, + toAminoMsg(message: MsgUndelegate): MsgUndelegateAminoMsg { + return { + type: 'cosmos-sdk/MsgUndelegate', + value: MsgUndelegate.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUndelegateProtoMsg): MsgUndelegate { + return MsgUndelegate.decode(message.value); + }, + toProto(message: MsgUndelegate): Uint8Array { + return MsgUndelegate.encode(message).finish(); + }, + toProtoMsg(message: MsgUndelegate): MsgUndelegateProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgUndelegate', + value: MsgUndelegate.encode(message).finish(), + }; + }, +}; +function createBaseMsgUndelegateResponse(): MsgUndelegateResponse { + return { + completionTime: new Date(), + amount: Coin.fromPartial({}), + }; +} +export const MsgUndelegateResponse = { + typeUrl: '/cosmos.staking.v1beta1.MsgUndelegateResponse', + encode(message: MsgUndelegateResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.completionTime !== undefined) { + Timestamp.encode(toTimestamp(message.completionTime), writer.uint32(10).fork()).ldelim(); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUndelegateResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUndelegateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.completionTime = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 2: + message.amount = Coin.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUndelegateResponse { + const message = createBaseMsgUndelegateResponse(); + message.completionTime = object.completionTime ?? undefined; + message.amount = + object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, + fromAmino(object: MsgUndelegateResponseAmino): MsgUndelegateResponse { + const message = createBaseMsgUndelegateResponse(); + if (object.completion_time !== undefined && object.completion_time !== null) { + message.completionTime = fromTimestamp(Timestamp.fromAmino(object.completion_time)); + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = Coin.fromAmino(object.amount); + } + return message; + }, + toAmino(message: MsgUndelegateResponse): MsgUndelegateResponseAmino { + const obj: any = {}; + obj.completion_time = message.completionTime ? Timestamp.toAmino(toTimestamp(message.completionTime)) : new Date(); + obj.amount = message.amount ? Coin.toAmino(message.amount) : Coin.toAmino(Coin.fromPartial({})); + return obj; + }, + fromAminoMsg(object: MsgUndelegateResponseAminoMsg): MsgUndelegateResponse { + return MsgUndelegateResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgUndelegateResponse): MsgUndelegateResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgUndelegateResponse', + value: MsgUndelegateResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUndelegateResponseProtoMsg): MsgUndelegateResponse { + return MsgUndelegateResponse.decode(message.value); + }, + toProto(message: MsgUndelegateResponse): Uint8Array { + return MsgUndelegateResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUndelegateResponse): MsgUndelegateResponseProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgUndelegateResponse', + value: MsgUndelegateResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgCancelUnbondingDelegation(): MsgCancelUnbondingDelegation { + return { + delegatorAddress: '', + validatorAddress: '', + amount: Coin.fromPartial({}), + creationHeight: BigInt(0), + }; +} +export const MsgCancelUnbondingDelegation = { + typeUrl: '/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation', + encode(message: MsgCancelUnbondingDelegation, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.delegatorAddress !== '') { + writer.uint32(10).string(message.delegatorAddress); + } + if (message.validatorAddress !== '') { + writer.uint32(18).string(message.validatorAddress); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(26).fork()).ldelim(); + } + if (message.creationHeight !== BigInt(0)) { + writer.uint32(32).int64(message.creationHeight); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelUnbondingDelegation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCancelUnbondingDelegation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.delegatorAddress = reader.string(); + break; + case 2: + message.validatorAddress = reader.string(); + break; + case 3: + message.amount = Coin.decode(reader, reader.uint32()); + break; + case 4: + message.creationHeight = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCancelUnbondingDelegation { + const message = createBaseMsgCancelUnbondingDelegation(); + message.delegatorAddress = object.delegatorAddress ?? ''; + message.validatorAddress = object.validatorAddress ?? ''; + message.amount = + object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + message.creationHeight = + object.creationHeight !== undefined && object.creationHeight !== null + ? BigInt(object.creationHeight.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: MsgCancelUnbondingDelegationAmino): MsgCancelUnbondingDelegation { + const message = createBaseMsgCancelUnbondingDelegation(); + if (object.delegator_address !== undefined && object.delegator_address !== null) { + message.delegatorAddress = object.delegator_address; + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = object.validator_address; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = Coin.fromAmino(object.amount); + } + if (object.creation_height !== undefined && object.creation_height !== null) { + message.creationHeight = BigInt(object.creation_height); + } + return message; + }, + toAmino(message: MsgCancelUnbondingDelegation): MsgCancelUnbondingDelegationAmino { + const obj: any = {}; + obj.delegator_address = message.delegatorAddress === '' ? undefined : message.delegatorAddress; + obj.validator_address = message.validatorAddress === '' ? undefined : message.validatorAddress; + obj.amount = message.amount ? Coin.toAmino(message.amount) : Coin.toAmino(Coin.fromPartial({})); + obj.creation_height = message.creationHeight !== BigInt(0) ? (message.creationHeight?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: MsgCancelUnbondingDelegationAminoMsg): MsgCancelUnbondingDelegation { + return MsgCancelUnbondingDelegation.fromAmino(object.value); + }, + toAminoMsg(message: MsgCancelUnbondingDelegation): MsgCancelUnbondingDelegationAminoMsg { + return { + type: 'cosmos-sdk/MsgCancelUnbondingDelegation', + value: MsgCancelUnbondingDelegation.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCancelUnbondingDelegationProtoMsg): MsgCancelUnbondingDelegation { + return MsgCancelUnbondingDelegation.decode(message.value); + }, + toProto(message: MsgCancelUnbondingDelegation): Uint8Array { + return MsgCancelUnbondingDelegation.encode(message).finish(); + }, + toProtoMsg(message: MsgCancelUnbondingDelegation): MsgCancelUnbondingDelegationProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation', + value: MsgCancelUnbondingDelegation.encode(message).finish(), + }; + }, +}; +function createBaseMsgCancelUnbondingDelegationResponse(): MsgCancelUnbondingDelegationResponse { + return {}; +} +export const MsgCancelUnbondingDelegationResponse = { + typeUrl: '/cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse', + encode(_: MsgCancelUnbondingDelegationResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelUnbondingDelegationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCancelUnbondingDelegationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgCancelUnbondingDelegationResponse { + const message = createBaseMsgCancelUnbondingDelegationResponse(); + return message; + }, + fromAmino(_: MsgCancelUnbondingDelegationResponseAmino): MsgCancelUnbondingDelegationResponse { + const message = createBaseMsgCancelUnbondingDelegationResponse(); + return message; + }, + toAmino(_: MsgCancelUnbondingDelegationResponse): MsgCancelUnbondingDelegationResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgCancelUnbondingDelegationResponseAminoMsg): MsgCancelUnbondingDelegationResponse { + return MsgCancelUnbondingDelegationResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgCancelUnbondingDelegationResponse): MsgCancelUnbondingDelegationResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgCancelUnbondingDelegationResponse', + value: MsgCancelUnbondingDelegationResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCancelUnbondingDelegationResponseProtoMsg): MsgCancelUnbondingDelegationResponse { + return MsgCancelUnbondingDelegationResponse.decode(message.value); + }, + toProto(message: MsgCancelUnbondingDelegationResponse): Uint8Array { + return MsgCancelUnbondingDelegationResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCancelUnbondingDelegationResponse): MsgCancelUnbondingDelegationResponseProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse', + value: MsgCancelUnbondingDelegationResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParams(): MsgUpdateParams { + return { + authority: '', + params: Params.fromPartial({}), + }; +} +export const MsgUpdateParams = { + typeUrl: '/cosmos.staking.v1beta1.MsgUpdateParams', + encode(message: MsgUpdateParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.params = Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + message.authority = object.authority ?? ''; + message.params = + object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, + fromAmino(object: MsgUpdateParamsAmino): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + if (object.params !== undefined && object.params !== null) { + message.params = Params.fromAmino(object.params); + } + return message; + }, + toAmino(message: MsgUpdateParams): MsgUpdateParamsAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + obj.params = message.params ? Params.toAmino(message.params) : Params.toAmino(Params.fromPartial({})); + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsAminoMsg): MsgUpdateParams { + return MsgUpdateParams.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateParams): MsgUpdateParamsAminoMsg { + return { + type: 'cosmos-sdk/x/staking/MsgUpdateParams', + value: MsgUpdateParams.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateParamsProtoMsg): MsgUpdateParams { + return MsgUpdateParams.decode(message.value); + }, + toProto(message: MsgUpdateParams): Uint8Array { + return MsgUpdateParams.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParams): MsgUpdateParamsProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgUpdateParams', + value: MsgUpdateParams.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse { + return {}; +} +export const MsgUpdateParamsResponse = { + typeUrl: '/cosmos.staking.v1beta1.MsgUpdateParamsResponse', + encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + fromAmino(_: MsgUpdateParamsResponseAmino): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + toAmino(_: MsgUpdateParamsResponse): MsgUpdateParamsResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsResponseAminoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseAminoMsg { + return { + type: 'cosmos-sdk/MsgUpdateParamsResponse', + value: MsgUpdateParamsResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateParamsResponseProtoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.decode(message.value); + }, + toProto(message: MsgUpdateParamsResponse): Uint8Array { + return MsgUpdateParamsResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseProtoMsg { + return { + typeUrl: '/cosmos.staking.v1beta1.MsgUpdateParamsResponse', + value: MsgUpdateParamsResponse.encode(message).finish(), + }; + }, +}; +export const Cosmos_cryptoPubKey_InterfaceDecoder = (input: BinaryReader | Uint8Array): Any => { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const data = Any.decode(reader, reader.uint32()); + switch (data.typeUrl) { + default: + return data; + } +}; +export const Cosmos_cryptoPubKey_FromAmino = (content: AnyAmino): Any => { + return encodePubkey(content); +}; +export const Cosmos_cryptoPubKey_ToAmino = (content: Any): Pubkey | null => { + return decodePubkey(content); +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/tx/signing/v1beta1/signing.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/tx/signing/v1beta1/signing.ts new file mode 100644 index 00000000..494abdb2 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/tx/signing/v1beta1/signing.ts @@ -0,0 +1,703 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Any, AnyAmino, AnySDKType } from 'cosmjs-types/google/protobuf/any'; + +import { BinaryReader, BinaryWriter } from '../../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../../helpers'; +import { + CompactBitArray, + CompactBitArrayAmino, + CompactBitArraySDKType, +} from '../../../crypto/multisig/v1beta1/multisig'; +/** + * SignMode represents a signing mode with its own security guarantees. + * + * This enum should be considered a registry of all known sign modes + * in the Cosmos ecosystem. Apps are not expected to support all known + * sign modes. Apps that would like to support custom sign modes are + * encouraged to open a small PR against this file to add a new case + * to this SignMode enum describing their sign mode so that different + * apps have a consistent version of this enum. + */ +export enum SignMode { + /** + * SIGN_MODE_UNSPECIFIED - SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be + * rejected. + */ + SIGN_MODE_UNSPECIFIED = 0, + /** + * SIGN_MODE_DIRECT - SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is + * verified with raw bytes from Tx. + */ + SIGN_MODE_DIRECT = 1, + /** + * SIGN_MODE_TEXTUAL - SIGN_MODE_TEXTUAL is a future signing mode that will verify some + * human-readable textual representation on top of the binary representation + * from SIGN_MODE_DIRECT. + * + * Since: cosmos-sdk 0.50 + */ + SIGN_MODE_TEXTUAL = 2, + /** + * SIGN_MODE_DIRECT_AUX - SIGN_MODE_DIRECT_AUX specifies a signing mode which uses + * SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not + * require signers signing over other signers' `signer_info`. + * + * Since: cosmos-sdk 0.46 + */ + SIGN_MODE_DIRECT_AUX = 3, + /** + * SIGN_MODE_LEGACY_AMINO_JSON - SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses + * Amino JSON and will be removed in the future. + */ + SIGN_MODE_LEGACY_AMINO_JSON = 127, + /** + * SIGN_MODE_EIP712_V2 - Injective EIP712 support for any cosmos messages which uses proto-json encoded string for messages + * Signature verification is implemented in injective core + */ + SIGN_MODE_EIP712_V2 = 128, + /** + * SIGN_MODE_EIP_191 - SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos + * SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 + * + * Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, + * but is not implemented on the SDK by default. To enable EIP-191, you need + * to pass a custom `TxConfig` that has an implementation of + * `SignModeHandler` for EIP-191. The SDK may decide to fully support + * EIP-191 in the future. + * + * Since: cosmos-sdk 0.45.2 + */ + SIGN_MODE_EIP_191 = 191, + UNRECOGNIZED = -1, +} +export const SignModeSDKType = SignMode; +export const SignModeAmino = SignMode; +export function signModeFromJSON(object: any): SignMode { + switch (object) { + case 0: + case 'SIGN_MODE_UNSPECIFIED': + return SignMode.SIGN_MODE_UNSPECIFIED; + case 1: + case 'SIGN_MODE_DIRECT': + return SignMode.SIGN_MODE_DIRECT; + case 2: + case 'SIGN_MODE_TEXTUAL': + return SignMode.SIGN_MODE_TEXTUAL; + case 3: + case 'SIGN_MODE_DIRECT_AUX': + return SignMode.SIGN_MODE_DIRECT_AUX; + case 127: + case 'SIGN_MODE_LEGACY_AMINO_JSON': + return SignMode.SIGN_MODE_LEGACY_AMINO_JSON; + case 128: + case 'SIGN_MODE_EIP712_V2': + return SignMode.SIGN_MODE_EIP712_V2; + case 191: + case 'SIGN_MODE_EIP_191': + return SignMode.SIGN_MODE_EIP_191; + case -1: + case 'UNRECOGNIZED': + default: + return SignMode.UNRECOGNIZED; + } +} +export function signModeToJSON(object: SignMode): string { + switch (object) { + case SignMode.SIGN_MODE_UNSPECIFIED: + return 'SIGN_MODE_UNSPECIFIED'; + case SignMode.SIGN_MODE_DIRECT: + return 'SIGN_MODE_DIRECT'; + case SignMode.SIGN_MODE_TEXTUAL: + return 'SIGN_MODE_TEXTUAL'; + case SignMode.SIGN_MODE_DIRECT_AUX: + return 'SIGN_MODE_DIRECT_AUX'; + case SignMode.SIGN_MODE_LEGACY_AMINO_JSON: + return 'SIGN_MODE_LEGACY_AMINO_JSON'; + case SignMode.SIGN_MODE_EIP712_V2: + return 'SIGN_MODE_EIP712_V2'; + case SignMode.SIGN_MODE_EIP_191: + return 'SIGN_MODE_EIP_191'; + case SignMode.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** SignatureDescriptors wraps multiple SignatureDescriptor's. */ +export interface SignatureDescriptors { + /** signatures are the signature descriptors */ + signatures: SignatureDescriptor[]; +} +export interface SignatureDescriptorsProtoMsg { + typeUrl: '/cosmos.tx.signing.v1beta1.SignatureDescriptors'; + value: Uint8Array; +} +/** SignatureDescriptors wraps multiple SignatureDescriptor's. */ +export interface SignatureDescriptorsAmino { + /** signatures are the signature descriptors */ + signatures?: SignatureDescriptorAmino[]; +} +export interface SignatureDescriptorsAminoMsg { + type: 'cosmos-sdk/SignatureDescriptors'; + value: SignatureDescriptorsAmino; +} +/** SignatureDescriptors wraps multiple SignatureDescriptor's. */ +export interface SignatureDescriptorsSDKType { + signatures: SignatureDescriptorSDKType[]; +} +/** + * SignatureDescriptor is a convenience type which represents the full data for + * a signature including the public key of the signer, signing modes and the + * signature itself. It is primarily used for coordinating signatures between + * clients. + */ +export interface SignatureDescriptor { + /** public_key is the public key of the signer */ + publicKey?: Any; + data?: SignatureDescriptor_Data; + /** + * sequence is the sequence of the account, which describes the + * number of committed transactions signed by a given address. It is used to prevent + * replay attacks. + */ + sequence: bigint; +} +export interface SignatureDescriptorProtoMsg { + typeUrl: '/cosmos.tx.signing.v1beta1.SignatureDescriptor'; + value: Uint8Array; +} +/** + * SignatureDescriptor is a convenience type which represents the full data for + * a signature including the public key of the signer, signing modes and the + * signature itself. It is primarily used for coordinating signatures between + * clients. + */ +export interface SignatureDescriptorAmino { + /** public_key is the public key of the signer */ + public_key?: AnyAmino; + data?: SignatureDescriptor_DataAmino; + /** + * sequence is the sequence of the account, which describes the + * number of committed transactions signed by a given address. It is used to prevent + * replay attacks. + */ + sequence?: string; +} +export interface SignatureDescriptorAminoMsg { + type: 'cosmos-sdk/SignatureDescriptor'; + value: SignatureDescriptorAmino; +} +/** + * SignatureDescriptor is a convenience type which represents the full data for + * a signature including the public key of the signer, signing modes and the + * signature itself. It is primarily used for coordinating signatures between + * clients. + */ +export interface SignatureDescriptorSDKType { + public_key?: AnySDKType; + data?: SignatureDescriptor_DataSDKType; + sequence: bigint; +} +/** Data represents signature data */ +export interface SignatureDescriptor_Data { + /** single represents a single signer */ + single?: SignatureDescriptor_Data_Single; + /** multi represents a multisig signer */ + multi?: SignatureDescriptor_Data_Multi; +} +export interface SignatureDescriptor_DataProtoMsg { + typeUrl: '/cosmos.tx.signing.v1beta1.Data'; + value: Uint8Array; +} +/** Data represents signature data */ +export interface SignatureDescriptor_DataAmino { + /** single represents a single signer */ + single?: SignatureDescriptor_Data_SingleAmino; + /** multi represents a multisig signer */ + multi?: SignatureDescriptor_Data_MultiAmino; +} +export interface SignatureDescriptor_DataAminoMsg { + type: 'cosmos-sdk/Data'; + value: SignatureDescriptor_DataAmino; +} +/** Data represents signature data */ +export interface SignatureDescriptor_DataSDKType { + single?: SignatureDescriptor_Data_SingleSDKType; + multi?: SignatureDescriptor_Data_MultiSDKType; +} +/** Single is the signature data for a single signer */ +export interface SignatureDescriptor_Data_Single { + /** mode is the signing mode of the single signer */ + mode: SignMode; + /** signature is the raw signature bytes */ + signature: Uint8Array; +} +export interface SignatureDescriptor_Data_SingleProtoMsg { + typeUrl: '/cosmos.tx.signing.v1beta1.Single'; + value: Uint8Array; +} +/** Single is the signature data for a single signer */ +export interface SignatureDescriptor_Data_SingleAmino { + /** mode is the signing mode of the single signer */ + mode?: SignMode; + /** signature is the raw signature bytes */ + signature?: string; +} +export interface SignatureDescriptor_Data_SingleAminoMsg { + type: 'cosmos-sdk/Single'; + value: SignatureDescriptor_Data_SingleAmino; +} +/** Single is the signature data for a single signer */ +export interface SignatureDescriptor_Data_SingleSDKType { + mode: SignMode; + signature: Uint8Array; +} +/** Multi is the signature data for a multisig public key */ +export interface SignatureDescriptor_Data_Multi { + /** bitarray specifies which keys within the multisig are signing */ + bitarray?: CompactBitArray; + /** signatures is the signatures of the multi-signature */ + signatures: SignatureDescriptor_Data[]; +} +export interface SignatureDescriptor_Data_MultiProtoMsg { + typeUrl: '/cosmos.tx.signing.v1beta1.Multi'; + value: Uint8Array; +} +/** Multi is the signature data for a multisig public key */ +export interface SignatureDescriptor_Data_MultiAmino { + /** bitarray specifies which keys within the multisig are signing */ + bitarray?: CompactBitArrayAmino; + /** signatures is the signatures of the multi-signature */ + signatures?: SignatureDescriptor_DataAmino[]; +} +export interface SignatureDescriptor_Data_MultiAminoMsg { + type: 'cosmos-sdk/Multi'; + value: SignatureDescriptor_Data_MultiAmino; +} +/** Multi is the signature data for a multisig public key */ +export interface SignatureDescriptor_Data_MultiSDKType { + bitarray?: CompactBitArraySDKType; + signatures: SignatureDescriptor_DataSDKType[]; +} +function createBaseSignatureDescriptors(): SignatureDescriptors { + return { + signatures: [], + }; +} +export const SignatureDescriptors = { + typeUrl: '/cosmos.tx.signing.v1beta1.SignatureDescriptors', + encode(message: SignatureDescriptors, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.signatures) { + SignatureDescriptor.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptors { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignatureDescriptors(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signatures.push(SignatureDescriptor.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SignatureDescriptors { + const message = createBaseSignatureDescriptors(); + message.signatures = object.signatures?.map((e) => SignatureDescriptor.fromPartial(e)) || []; + return message; + }, + fromAmino(object: SignatureDescriptorsAmino): SignatureDescriptors { + const message = createBaseSignatureDescriptors(); + message.signatures = object.signatures?.map((e) => SignatureDescriptor.fromAmino(e)) || []; + return message; + }, + toAmino(message: SignatureDescriptors): SignatureDescriptorsAmino { + const obj: any = {}; + if (message.signatures) { + obj.signatures = message.signatures.map((e) => (e ? SignatureDescriptor.toAmino(e) : undefined)); + } else { + obj.signatures = message.signatures; + } + return obj; + }, + fromAminoMsg(object: SignatureDescriptorsAminoMsg): SignatureDescriptors { + return SignatureDescriptors.fromAmino(object.value); + }, + toAminoMsg(message: SignatureDescriptors): SignatureDescriptorsAminoMsg { + return { + type: 'cosmos-sdk/SignatureDescriptors', + value: SignatureDescriptors.toAmino(message), + }; + }, + fromProtoMsg(message: SignatureDescriptorsProtoMsg): SignatureDescriptors { + return SignatureDescriptors.decode(message.value); + }, + toProto(message: SignatureDescriptors): Uint8Array { + return SignatureDescriptors.encode(message).finish(); + }, + toProtoMsg(message: SignatureDescriptors): SignatureDescriptorsProtoMsg { + return { + typeUrl: '/cosmos.tx.signing.v1beta1.SignatureDescriptors', + value: SignatureDescriptors.encode(message).finish(), + }; + }, +}; +function createBaseSignatureDescriptor(): SignatureDescriptor { + return { + publicKey: undefined, + data: undefined, + sequence: BigInt(0), + }; +} +export const SignatureDescriptor = { + typeUrl: '/cosmos.tx.signing.v1beta1.SignatureDescriptor', + encode(message: SignatureDescriptor, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.publicKey !== undefined) { + Any.encode(message.publicKey, writer.uint32(10).fork()).ldelim(); + } + if (message.data !== undefined) { + SignatureDescriptor_Data.encode(message.data, writer.uint32(18).fork()).ldelim(); + } + if (message.sequence !== BigInt(0)) { + writer.uint32(24).uint64(message.sequence); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptor { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignatureDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.publicKey = Any.decode(reader, reader.uint32()); + break; + case 2: + message.data = SignatureDescriptor_Data.decode(reader, reader.uint32()); + break; + case 3: + message.sequence = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SignatureDescriptor { + const message = createBaseSignatureDescriptor(); + message.publicKey = + object.publicKey !== undefined && object.publicKey !== null ? Any.fromPartial(object.publicKey) : undefined; + message.data = + object.data !== undefined && object.data !== null ? SignatureDescriptor_Data.fromPartial(object.data) : undefined; + message.sequence = + object.sequence !== undefined && object.sequence !== null ? BigInt(object.sequence.toString()) : BigInt(0); + return message; + }, + fromAmino(object: SignatureDescriptorAmino): SignatureDescriptor { + const message = createBaseSignatureDescriptor(); + if (object.public_key !== undefined && object.public_key !== null) { + message.publicKey = Any.fromAmino(object.public_key); + } + if (object.data !== undefined && object.data !== null) { + message.data = SignatureDescriptor_Data.fromAmino(object.data); + } + if (object.sequence !== undefined && object.sequence !== null) { + message.sequence = BigInt(object.sequence); + } + return message; + }, + toAmino(message: SignatureDescriptor): SignatureDescriptorAmino { + const obj: any = {}; + obj.public_key = message.publicKey ? Any.toAmino(message.publicKey) : undefined; + obj.data = message.data ? SignatureDescriptor_Data.toAmino(message.data) : undefined; + obj.sequence = message.sequence !== BigInt(0) ? (message.sequence?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: SignatureDescriptorAminoMsg): SignatureDescriptor { + return SignatureDescriptor.fromAmino(object.value); + }, + toAminoMsg(message: SignatureDescriptor): SignatureDescriptorAminoMsg { + return { + type: 'cosmos-sdk/SignatureDescriptor', + value: SignatureDescriptor.toAmino(message), + }; + }, + fromProtoMsg(message: SignatureDescriptorProtoMsg): SignatureDescriptor { + return SignatureDescriptor.decode(message.value); + }, + toProto(message: SignatureDescriptor): Uint8Array { + return SignatureDescriptor.encode(message).finish(); + }, + toProtoMsg(message: SignatureDescriptor): SignatureDescriptorProtoMsg { + return { + typeUrl: '/cosmos.tx.signing.v1beta1.SignatureDescriptor', + value: SignatureDescriptor.encode(message).finish(), + }; + }, +}; +function createBaseSignatureDescriptor_Data(): SignatureDescriptor_Data { + return { + single: undefined, + multi: undefined, + }; +} +export const SignatureDescriptor_Data = { + typeUrl: '/cosmos.tx.signing.v1beta1.Data', + encode(message: SignatureDescriptor_Data, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.single !== undefined) { + SignatureDescriptor_Data_Single.encode(message.single, writer.uint32(10).fork()).ldelim(); + } + if (message.multi !== undefined) { + SignatureDescriptor_Data_Multi.encode(message.multi, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptor_Data { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignatureDescriptor_Data(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.single = SignatureDescriptor_Data_Single.decode(reader, reader.uint32()); + break; + case 2: + message.multi = SignatureDescriptor_Data_Multi.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SignatureDescriptor_Data { + const message = createBaseSignatureDescriptor_Data(); + message.single = + object.single !== undefined && object.single !== null + ? SignatureDescriptor_Data_Single.fromPartial(object.single) + : undefined; + message.multi = + object.multi !== undefined && object.multi !== null + ? SignatureDescriptor_Data_Multi.fromPartial(object.multi) + : undefined; + return message; + }, + fromAmino(object: SignatureDescriptor_DataAmino): SignatureDescriptor_Data { + const message = createBaseSignatureDescriptor_Data(); + if (object.single !== undefined && object.single !== null) { + message.single = SignatureDescriptor_Data_Single.fromAmino(object.single); + } + if (object.multi !== undefined && object.multi !== null) { + message.multi = SignatureDescriptor_Data_Multi.fromAmino(object.multi); + } + return message; + }, + toAmino(message: SignatureDescriptor_Data): SignatureDescriptor_DataAmino { + const obj: any = {}; + obj.single = message.single ? SignatureDescriptor_Data_Single.toAmino(message.single) : undefined; + obj.multi = message.multi ? SignatureDescriptor_Data_Multi.toAmino(message.multi) : undefined; + return obj; + }, + fromAminoMsg(object: SignatureDescriptor_DataAminoMsg): SignatureDescriptor_Data { + return SignatureDescriptor_Data.fromAmino(object.value); + }, + toAminoMsg(message: SignatureDescriptor_Data): SignatureDescriptor_DataAminoMsg { + return { + type: 'cosmos-sdk/Data', + value: SignatureDescriptor_Data.toAmino(message), + }; + }, + fromProtoMsg(message: SignatureDescriptor_DataProtoMsg): SignatureDescriptor_Data { + return SignatureDescriptor_Data.decode(message.value); + }, + toProto(message: SignatureDescriptor_Data): Uint8Array { + return SignatureDescriptor_Data.encode(message).finish(); + }, + toProtoMsg(message: SignatureDescriptor_Data): SignatureDescriptor_DataProtoMsg { + return { + typeUrl: '/cosmos.tx.signing.v1beta1.Data', + value: SignatureDescriptor_Data.encode(message).finish(), + }; + }, +}; +function createBaseSignatureDescriptor_Data_Single(): SignatureDescriptor_Data_Single { + return { + mode: 0, + signature: new Uint8Array(), + }; +} +export const SignatureDescriptor_Data_Single = { + typeUrl: '/cosmos.tx.signing.v1beta1.Single', + encode(message: SignatureDescriptor_Data_Single, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.mode !== 0) { + writer.uint32(8).int32(message.mode); + } + if (message.signature.length !== 0) { + writer.uint32(18).bytes(message.signature); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptor_Data_Single { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignatureDescriptor_Data_Single(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mode = reader.int32() as any; + break; + case 2: + message.signature = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SignatureDescriptor_Data_Single { + const message = createBaseSignatureDescriptor_Data_Single(); + message.mode = object.mode ?? 0; + message.signature = object.signature ?? new Uint8Array(); + return message; + }, + fromAmino(object: SignatureDescriptor_Data_SingleAmino): SignatureDescriptor_Data_Single { + const message = createBaseSignatureDescriptor_Data_Single(); + if (object.mode !== undefined && object.mode !== null) { + message.mode = object.mode; + } + if (object.signature !== undefined && object.signature !== null) { + message.signature = bytesFromBase64(object.signature); + } + return message; + }, + toAmino(message: SignatureDescriptor_Data_Single): SignatureDescriptor_Data_SingleAmino { + const obj: any = {}; + obj.mode = message.mode === 0 ? undefined : message.mode; + obj.signature = message.signature ? base64FromBytes(message.signature) : undefined; + return obj; + }, + fromAminoMsg(object: SignatureDescriptor_Data_SingleAminoMsg): SignatureDescriptor_Data_Single { + return SignatureDescriptor_Data_Single.fromAmino(object.value); + }, + toAminoMsg(message: SignatureDescriptor_Data_Single): SignatureDescriptor_Data_SingleAminoMsg { + return { + type: 'cosmos-sdk/Single', + value: SignatureDescriptor_Data_Single.toAmino(message), + }; + }, + fromProtoMsg(message: SignatureDescriptor_Data_SingleProtoMsg): SignatureDescriptor_Data_Single { + return SignatureDescriptor_Data_Single.decode(message.value); + }, + toProto(message: SignatureDescriptor_Data_Single): Uint8Array { + return SignatureDescriptor_Data_Single.encode(message).finish(); + }, + toProtoMsg(message: SignatureDescriptor_Data_Single): SignatureDescriptor_Data_SingleProtoMsg { + return { + typeUrl: '/cosmos.tx.signing.v1beta1.Single', + value: SignatureDescriptor_Data_Single.encode(message).finish(), + }; + }, +}; +function createBaseSignatureDescriptor_Data_Multi(): SignatureDescriptor_Data_Multi { + return { + bitarray: undefined, + signatures: [], + }; +} +export const SignatureDescriptor_Data_Multi = { + typeUrl: '/cosmos.tx.signing.v1beta1.Multi', + encode(message: SignatureDescriptor_Data_Multi, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.bitarray !== undefined) { + CompactBitArray.encode(message.bitarray, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.signatures) { + SignatureDescriptor_Data.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SignatureDescriptor_Data_Multi { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignatureDescriptor_Data_Multi(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.bitarray = CompactBitArray.decode(reader, reader.uint32()); + break; + case 2: + message.signatures.push(SignatureDescriptor_Data.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SignatureDescriptor_Data_Multi { + const message = createBaseSignatureDescriptor_Data_Multi(); + message.bitarray = + object.bitarray !== undefined && object.bitarray !== null + ? CompactBitArray.fromPartial(object.bitarray) + : undefined; + message.signatures = object.signatures?.map((e) => SignatureDescriptor_Data.fromPartial(e)) || []; + return message; + }, + fromAmino(object: SignatureDescriptor_Data_MultiAmino): SignatureDescriptor_Data_Multi { + const message = createBaseSignatureDescriptor_Data_Multi(); + if (object.bitarray !== undefined && object.bitarray !== null) { + message.bitarray = CompactBitArray.fromAmino(object.bitarray); + } + message.signatures = object.signatures?.map((e) => SignatureDescriptor_Data.fromAmino(e)) || []; + return message; + }, + toAmino(message: SignatureDescriptor_Data_Multi): SignatureDescriptor_Data_MultiAmino { + const obj: any = {}; + obj.bitarray = message.bitarray ? CompactBitArray.toAmino(message.bitarray) : undefined; + if (message.signatures) { + obj.signatures = message.signatures.map((e) => (e ? SignatureDescriptor_Data.toAmino(e) : undefined)); + } else { + obj.signatures = message.signatures; + } + return obj; + }, + fromAminoMsg(object: SignatureDescriptor_Data_MultiAminoMsg): SignatureDescriptor_Data_Multi { + return SignatureDescriptor_Data_Multi.fromAmino(object.value); + }, + toAminoMsg(message: SignatureDescriptor_Data_Multi): SignatureDescriptor_Data_MultiAminoMsg { + return { + type: 'cosmos-sdk/Multi', + value: SignatureDescriptor_Data_Multi.toAmino(message), + }; + }, + fromProtoMsg(message: SignatureDescriptor_Data_MultiProtoMsg): SignatureDescriptor_Data_Multi { + return SignatureDescriptor_Data_Multi.decode(message.value); + }, + toProto(message: SignatureDescriptor_Data_Multi): Uint8Array { + return SignatureDescriptor_Data_Multi.encode(message).finish(); + }, + toProtoMsg(message: SignatureDescriptor_Data_Multi): SignatureDescriptor_Data_MultiProtoMsg { + return { + typeUrl: '/cosmos.tx.signing.v1beta1.Multi', + value: SignatureDescriptor_Data_Multi.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/tx/v1beta1/service.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/tx/v1beta1/service.ts new file mode 100644 index 00000000..d00d9a6d --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/tx/v1beta1/service.ts @@ -0,0 +1,2338 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +import { Block, BlockAmino, BlockSDKType } from '../../../tendermint/types/block'; +import { BlockID, BlockIDAmino, BlockIDSDKType } from '../../../tendermint/types/types'; +import { + GasInfo, + GasInfoAmino, + GasInfoSDKType, + Result, + ResultAmino, + ResultSDKType, + TxResponse, + TxResponseAmino, + TxResponseSDKType, +} from '../../base/abci/v1beta1/abci'; +import { + PageRequest, + PageRequestAmino, + PageRequestSDKType, + PageResponse, + PageResponseAmino, + PageResponseSDKType, +} from '../../base/query/v1beta1/pagination'; +import { Tx, TxAmino, TxSDKType } from './tx'; +/** OrderBy defines the sorting order */ +export enum OrderBy { + /** + * ORDER_BY_UNSPECIFIED - ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults + * to ASC in this case. + */ + ORDER_BY_UNSPECIFIED = 0, + /** ORDER_BY_ASC - ORDER_BY_ASC defines ascending order */ + ORDER_BY_ASC = 1, + /** ORDER_BY_DESC - ORDER_BY_DESC defines descending order */ + ORDER_BY_DESC = 2, + UNRECOGNIZED = -1, +} +export const OrderBySDKType = OrderBy; +export const OrderByAmino = OrderBy; +export function orderByFromJSON(object: any): OrderBy { + switch (object) { + case 0: + case 'ORDER_BY_UNSPECIFIED': + return OrderBy.ORDER_BY_UNSPECIFIED; + case 1: + case 'ORDER_BY_ASC': + return OrderBy.ORDER_BY_ASC; + case 2: + case 'ORDER_BY_DESC': + return OrderBy.ORDER_BY_DESC; + case -1: + case 'UNRECOGNIZED': + default: + return OrderBy.UNRECOGNIZED; + } +} +export function orderByToJSON(object: OrderBy): string { + switch (object) { + case OrderBy.ORDER_BY_UNSPECIFIED: + return 'ORDER_BY_UNSPECIFIED'; + case OrderBy.ORDER_BY_ASC: + return 'ORDER_BY_ASC'; + case OrderBy.ORDER_BY_DESC: + return 'ORDER_BY_DESC'; + case OrderBy.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** + * BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC + * method. + */ +export enum BroadcastMode { + /** BROADCAST_MODE_UNSPECIFIED - zero-value for mode ordering */ + BROADCAST_MODE_UNSPECIFIED = 0, + /** + * BROADCAST_MODE_BLOCK - DEPRECATED: use BROADCAST_MODE_SYNC instead, + * BROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards. + */ + BROADCAST_MODE_BLOCK = 1, + /** + * BROADCAST_MODE_SYNC - BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits + * for a CheckTx execution response only. + */ + BROADCAST_MODE_SYNC = 2, + /** + * BROADCAST_MODE_ASYNC - BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client + * returns immediately. + */ + BROADCAST_MODE_ASYNC = 3, + UNRECOGNIZED = -1, +} +export const BroadcastModeSDKType = BroadcastMode; +export const BroadcastModeAmino = BroadcastMode; +export function broadcastModeFromJSON(object: any): BroadcastMode { + switch (object) { + case 0: + case 'BROADCAST_MODE_UNSPECIFIED': + return BroadcastMode.BROADCAST_MODE_UNSPECIFIED; + case 1: + case 'BROADCAST_MODE_BLOCK': + return BroadcastMode.BROADCAST_MODE_BLOCK; + case 2: + case 'BROADCAST_MODE_SYNC': + return BroadcastMode.BROADCAST_MODE_SYNC; + case 3: + case 'BROADCAST_MODE_ASYNC': + return BroadcastMode.BROADCAST_MODE_ASYNC; + case -1: + case 'UNRECOGNIZED': + default: + return BroadcastMode.UNRECOGNIZED; + } +} +export function broadcastModeToJSON(object: BroadcastMode): string { + switch (object) { + case BroadcastMode.BROADCAST_MODE_UNSPECIFIED: + return 'BROADCAST_MODE_UNSPECIFIED'; + case BroadcastMode.BROADCAST_MODE_BLOCK: + return 'BROADCAST_MODE_BLOCK'; + case BroadcastMode.BROADCAST_MODE_SYNC: + return 'BROADCAST_MODE_SYNC'; + case BroadcastMode.BROADCAST_MODE_ASYNC: + return 'BROADCAST_MODE_ASYNC'; + case BroadcastMode.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** + * GetTxsEventRequest is the request type for the Service.TxsByEvents + * RPC method. + */ +export interface GetTxsEventRequest { + /** + * events is the list of transaction event type. + * Deprecated post v0.47.x: use query instead, which should contain a valid + * events query. + */ + /** @deprecated */ + events: string[]; + /** + * pagination defines a pagination for the request. + * Deprecated post v0.46.x: use page and limit instead. + */ + /** @deprecated */ + pagination?: PageRequest; + orderBy: OrderBy; + /** + * page is the page number to query, starts at 1. If not provided, will + * default to first page. + */ + page: bigint; + /** + * limit is the total number of results to be returned in the result page. + * If left empty it will default to a value to be set by each app. + */ + limit: bigint; + /** + * query defines the transaction event query that is proxied to Tendermint's + * TxSearch RPC method. The query must be valid. + * + * Since cosmos-sdk 0.50 + */ + query: string; +} +export interface GetTxsEventRequestProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.GetTxsEventRequest'; + value: Uint8Array; +} +/** + * GetTxsEventRequest is the request type for the Service.TxsByEvents + * RPC method. + */ +export interface GetTxsEventRequestAmino { + /** + * events is the list of transaction event type. + * Deprecated post v0.47.x: use query instead, which should contain a valid + * events query. + */ + /** @deprecated */ + events?: string[]; + /** + * pagination defines a pagination for the request. + * Deprecated post v0.46.x: use page and limit instead. + */ + /** @deprecated */ + pagination?: PageRequestAmino; + order_by?: OrderBy; + /** + * page is the page number to query, starts at 1. If not provided, will + * default to first page. + */ + page?: string; + /** + * limit is the total number of results to be returned in the result page. + * If left empty it will default to a value to be set by each app. + */ + limit?: string; + /** + * query defines the transaction event query that is proxied to Tendermint's + * TxSearch RPC method. The query must be valid. + * + * Since cosmos-sdk 0.50 + */ + query?: string; +} +export interface GetTxsEventRequestAminoMsg { + type: 'cosmos-sdk/GetTxsEventRequest'; + value: GetTxsEventRequestAmino; +} +/** + * GetTxsEventRequest is the request type for the Service.TxsByEvents + * RPC method. + */ +export interface GetTxsEventRequestSDKType { + /** @deprecated */ + events: string[]; + /** @deprecated */ + pagination?: PageRequestSDKType; + order_by: OrderBy; + page: bigint; + limit: bigint; + query: string; +} +/** + * GetTxsEventResponse is the response type for the Service.TxsByEvents + * RPC method. + */ +export interface GetTxsEventResponse { + /** txs is the list of queried transactions. */ + txs: Tx[]; + /** tx_responses is the list of queried TxResponses. */ + txResponses: TxResponse[]; + /** + * pagination defines a pagination for the response. + * Deprecated post v0.46.x: use total instead. + */ + /** @deprecated */ + pagination?: PageResponse; + /** total is total number of results available */ + total: bigint; +} +export interface GetTxsEventResponseProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.GetTxsEventResponse'; + value: Uint8Array; +} +/** + * GetTxsEventResponse is the response type for the Service.TxsByEvents + * RPC method. + */ +export interface GetTxsEventResponseAmino { + /** txs is the list of queried transactions. */ + txs?: TxAmino[]; + /** tx_responses is the list of queried TxResponses. */ + tx_responses?: TxResponseAmino[]; + /** + * pagination defines a pagination for the response. + * Deprecated post v0.46.x: use total instead. + */ + /** @deprecated */ + pagination?: PageResponseAmino; + /** total is total number of results available */ + total?: string; +} +export interface GetTxsEventResponseAminoMsg { + type: 'cosmos-sdk/GetTxsEventResponse'; + value: GetTxsEventResponseAmino; +} +/** + * GetTxsEventResponse is the response type for the Service.TxsByEvents + * RPC method. + */ +export interface GetTxsEventResponseSDKType { + txs: TxSDKType[]; + tx_responses: TxResponseSDKType[]; + /** @deprecated */ + pagination?: PageResponseSDKType; + total: bigint; +} +/** + * BroadcastTxRequest is the request type for the Service.BroadcastTxRequest + * RPC method. + */ +export interface BroadcastTxRequest { + /** tx_bytes is the raw transaction. */ + txBytes: Uint8Array; + mode: BroadcastMode; +} +export interface BroadcastTxRequestProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.BroadcastTxRequest'; + value: Uint8Array; +} +/** + * BroadcastTxRequest is the request type for the Service.BroadcastTxRequest + * RPC method. + */ +export interface BroadcastTxRequestAmino { + /** tx_bytes is the raw transaction. */ + tx_bytes?: string; + mode?: BroadcastMode; +} +export interface BroadcastTxRequestAminoMsg { + type: 'cosmos-sdk/BroadcastTxRequest'; + value: BroadcastTxRequestAmino; +} +/** + * BroadcastTxRequest is the request type for the Service.BroadcastTxRequest + * RPC method. + */ +export interface BroadcastTxRequestSDKType { + tx_bytes: Uint8Array; + mode: BroadcastMode; +} +/** + * BroadcastTxResponse is the response type for the + * Service.BroadcastTx method. + */ +export interface BroadcastTxResponse { + /** tx_response is the queried TxResponses. */ + txResponse?: TxResponse; +} +export interface BroadcastTxResponseProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.BroadcastTxResponse'; + value: Uint8Array; +} +/** + * BroadcastTxResponse is the response type for the + * Service.BroadcastTx method. + */ +export interface BroadcastTxResponseAmino { + /** tx_response is the queried TxResponses. */ + tx_response?: TxResponseAmino; +} +export interface BroadcastTxResponseAminoMsg { + type: 'cosmos-sdk/BroadcastTxResponse'; + value: BroadcastTxResponseAmino; +} +/** + * BroadcastTxResponse is the response type for the + * Service.BroadcastTx method. + */ +export interface BroadcastTxResponseSDKType { + tx_response?: TxResponseSDKType; +} +/** + * SimulateRequest is the request type for the Service.Simulate + * RPC method. + */ +export interface SimulateRequest { + /** + * tx is the transaction to simulate. + * Deprecated. Send raw tx bytes instead. + */ + /** @deprecated */ + tx?: Tx; + /** + * tx_bytes is the raw transaction. + * + * Since: cosmos-sdk 0.43 + */ + txBytes: Uint8Array; +} +export interface SimulateRequestProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.SimulateRequest'; + value: Uint8Array; +} +/** + * SimulateRequest is the request type for the Service.Simulate + * RPC method. + */ +export interface SimulateRequestAmino { + /** + * tx is the transaction to simulate. + * Deprecated. Send raw tx bytes instead. + */ + /** @deprecated */ + tx?: TxAmino; + /** + * tx_bytes is the raw transaction. + * + * Since: cosmos-sdk 0.43 + */ + tx_bytes?: string; +} +export interface SimulateRequestAminoMsg { + type: 'cosmos-sdk/SimulateRequest'; + value: SimulateRequestAmino; +} +/** + * SimulateRequest is the request type for the Service.Simulate + * RPC method. + */ +export interface SimulateRequestSDKType { + /** @deprecated */ + tx?: TxSDKType; + tx_bytes: Uint8Array; +} +/** + * SimulateResponse is the response type for the + * Service.SimulateRPC method. + */ +export interface SimulateResponse { + /** gas_info is the information about gas used in the simulation. */ + gasInfo?: GasInfo; + /** result is the result of the simulation. */ + result?: Result; +} +export interface SimulateResponseProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.SimulateResponse'; + value: Uint8Array; +} +/** + * SimulateResponse is the response type for the + * Service.SimulateRPC method. + */ +export interface SimulateResponseAmino { + /** gas_info is the information about gas used in the simulation. */ + gas_info?: GasInfoAmino; + /** result is the result of the simulation. */ + result?: ResultAmino; +} +export interface SimulateResponseAminoMsg { + type: 'cosmos-sdk/SimulateResponse'; + value: SimulateResponseAmino; +} +/** + * SimulateResponse is the response type for the + * Service.SimulateRPC method. + */ +export interface SimulateResponseSDKType { + gas_info?: GasInfoSDKType; + result?: ResultSDKType; +} +/** + * GetTxRequest is the request type for the Service.GetTx + * RPC method. + */ +export interface GetTxRequest { + /** hash is the tx hash to query, encoded as a hex string. */ + hash: string; +} +export interface GetTxRequestProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.GetTxRequest'; + value: Uint8Array; +} +/** + * GetTxRequest is the request type for the Service.GetTx + * RPC method. + */ +export interface GetTxRequestAmino { + /** hash is the tx hash to query, encoded as a hex string. */ + hash?: string; +} +export interface GetTxRequestAminoMsg { + type: 'cosmos-sdk/GetTxRequest'; + value: GetTxRequestAmino; +} +/** + * GetTxRequest is the request type for the Service.GetTx + * RPC method. + */ +export interface GetTxRequestSDKType { + hash: string; +} +/** GetTxResponse is the response type for the Service.GetTx method. */ +export interface GetTxResponse { + /** tx is the queried transaction. */ + tx?: Tx; + /** tx_response is the queried TxResponses. */ + txResponse?: TxResponse; +} +export interface GetTxResponseProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.GetTxResponse'; + value: Uint8Array; +} +/** GetTxResponse is the response type for the Service.GetTx method. */ +export interface GetTxResponseAmino { + /** tx is the queried transaction. */ + tx?: TxAmino; + /** tx_response is the queried TxResponses. */ + tx_response?: TxResponseAmino; +} +export interface GetTxResponseAminoMsg { + type: 'cosmos-sdk/GetTxResponse'; + value: GetTxResponseAmino; +} +/** GetTxResponse is the response type for the Service.GetTx method. */ +export interface GetTxResponseSDKType { + tx?: TxSDKType; + tx_response?: TxResponseSDKType; +} +/** + * GetBlockWithTxsRequest is the request type for the Service.GetBlockWithTxs + * RPC method. + * + * Since: cosmos-sdk 0.45.2 + */ +export interface GetBlockWithTxsRequest { + /** height is the height of the block to query. */ + height: bigint; + /** pagination defines a pagination for the request. */ + pagination?: PageRequest; +} +export interface GetBlockWithTxsRequestProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.GetBlockWithTxsRequest'; + value: Uint8Array; +} +/** + * GetBlockWithTxsRequest is the request type for the Service.GetBlockWithTxs + * RPC method. + * + * Since: cosmos-sdk 0.45.2 + */ +export interface GetBlockWithTxsRequestAmino { + /** height is the height of the block to query. */ + height?: string; + /** pagination defines a pagination for the request. */ + pagination?: PageRequestAmino; +} +export interface GetBlockWithTxsRequestAminoMsg { + type: 'cosmos-sdk/GetBlockWithTxsRequest'; + value: GetBlockWithTxsRequestAmino; +} +/** + * GetBlockWithTxsRequest is the request type for the Service.GetBlockWithTxs + * RPC method. + * + * Since: cosmos-sdk 0.45.2 + */ +export interface GetBlockWithTxsRequestSDKType { + height: bigint; + pagination?: PageRequestSDKType; +} +/** + * GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs + * method. + * + * Since: cosmos-sdk 0.45.2 + */ +export interface GetBlockWithTxsResponse { + /** txs are the transactions in the block. */ + txs: Tx[]; + blockId?: BlockID; + block?: Block; + /** pagination defines a pagination for the response. */ + pagination?: PageResponse; +} +export interface GetBlockWithTxsResponseProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.GetBlockWithTxsResponse'; + value: Uint8Array; +} +/** + * GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs + * method. + * + * Since: cosmos-sdk 0.45.2 + */ +export interface GetBlockWithTxsResponseAmino { + /** txs are the transactions in the block. */ + txs?: TxAmino[]; + block_id?: BlockIDAmino; + block?: BlockAmino; + /** pagination defines a pagination for the response. */ + pagination?: PageResponseAmino; +} +export interface GetBlockWithTxsResponseAminoMsg { + type: 'cosmos-sdk/GetBlockWithTxsResponse'; + value: GetBlockWithTxsResponseAmino; +} +/** + * GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs + * method. + * + * Since: cosmos-sdk 0.45.2 + */ +export interface GetBlockWithTxsResponseSDKType { + txs: TxSDKType[]; + block_id?: BlockIDSDKType; + block?: BlockSDKType; + pagination?: PageResponseSDKType; +} +/** + * TxDecodeRequest is the request type for the Service.TxDecode + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxDecodeRequest { + /** tx_bytes is the raw transaction. */ + txBytes: Uint8Array; +} +export interface TxDecodeRequestProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.TxDecodeRequest'; + value: Uint8Array; +} +/** + * TxDecodeRequest is the request type for the Service.TxDecode + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxDecodeRequestAmino { + /** tx_bytes is the raw transaction. */ + tx_bytes?: string; +} +export interface TxDecodeRequestAminoMsg { + type: 'cosmos-sdk/TxDecodeRequest'; + value: TxDecodeRequestAmino; +} +/** + * TxDecodeRequest is the request type for the Service.TxDecode + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxDecodeRequestSDKType { + tx_bytes: Uint8Array; +} +/** + * TxDecodeResponse is the response type for the + * Service.TxDecode method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxDecodeResponse { + /** tx is the decoded transaction. */ + tx?: Tx; +} +export interface TxDecodeResponseProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.TxDecodeResponse'; + value: Uint8Array; +} +/** + * TxDecodeResponse is the response type for the + * Service.TxDecode method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxDecodeResponseAmino { + /** tx is the decoded transaction. */ + tx?: TxAmino; +} +export interface TxDecodeResponseAminoMsg { + type: 'cosmos-sdk/TxDecodeResponse'; + value: TxDecodeResponseAmino; +} +/** + * TxDecodeResponse is the response type for the + * Service.TxDecode method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxDecodeResponseSDKType { + tx?: TxSDKType; +} +/** + * TxEncodeRequest is the request type for the Service.TxEncode + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxEncodeRequest { + /** tx is the transaction to encode. */ + tx?: Tx; +} +export interface TxEncodeRequestProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.TxEncodeRequest'; + value: Uint8Array; +} +/** + * TxEncodeRequest is the request type for the Service.TxEncode + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxEncodeRequestAmino { + /** tx is the transaction to encode. */ + tx?: TxAmino; +} +export interface TxEncodeRequestAminoMsg { + type: 'cosmos-sdk/TxEncodeRequest'; + value: TxEncodeRequestAmino; +} +/** + * TxEncodeRequest is the request type for the Service.TxEncode + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxEncodeRequestSDKType { + tx?: TxSDKType; +} +/** + * TxEncodeResponse is the response type for the + * Service.TxEncode method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxEncodeResponse { + /** tx_bytes is the encoded transaction bytes. */ + txBytes: Uint8Array; +} +export interface TxEncodeResponseProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.TxEncodeResponse'; + value: Uint8Array; +} +/** + * TxEncodeResponse is the response type for the + * Service.TxEncode method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxEncodeResponseAmino { + /** tx_bytes is the encoded transaction bytes. */ + tx_bytes?: string; +} +export interface TxEncodeResponseAminoMsg { + type: 'cosmos-sdk/TxEncodeResponse'; + value: TxEncodeResponseAmino; +} +/** + * TxEncodeResponse is the response type for the + * Service.TxEncode method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxEncodeResponseSDKType { + tx_bytes: Uint8Array; +} +/** + * TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxEncodeAminoRequest { + aminoJson: string; +} +export interface TxEncodeAminoRequestProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.TxEncodeAminoRequest'; + value: Uint8Array; +} +/** + * TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxEncodeAminoRequestAmino { + amino_json?: string; +} +export interface TxEncodeAminoRequestAminoMsg { + type: 'cosmos-sdk/TxEncodeAminoRequest'; + value: TxEncodeAminoRequestAmino; +} +/** + * TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxEncodeAminoRequestSDKType { + amino_json: string; +} +/** + * TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxEncodeAminoResponse { + aminoBinary: Uint8Array; +} +export interface TxEncodeAminoResponseProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.TxEncodeAminoResponse'; + value: Uint8Array; +} +/** + * TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxEncodeAminoResponseAmino { + amino_binary?: string; +} +export interface TxEncodeAminoResponseAminoMsg { + type: 'cosmos-sdk/TxEncodeAminoResponse'; + value: TxEncodeAminoResponseAmino; +} +/** + * TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxEncodeAminoResponseSDKType { + amino_binary: Uint8Array; +} +/** + * TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxDecodeAminoRequest { + aminoBinary: Uint8Array; +} +export interface TxDecodeAminoRequestProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.TxDecodeAminoRequest'; + value: Uint8Array; +} +/** + * TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxDecodeAminoRequestAmino { + amino_binary?: string; +} +export interface TxDecodeAminoRequestAminoMsg { + type: 'cosmos-sdk/TxDecodeAminoRequest'; + value: TxDecodeAminoRequestAmino; +} +/** + * TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxDecodeAminoRequestSDKType { + amino_binary: Uint8Array; +} +/** + * TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxDecodeAminoResponse { + aminoJson: string; +} +export interface TxDecodeAminoResponseProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.TxDecodeAminoResponse'; + value: Uint8Array; +} +/** + * TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxDecodeAminoResponseAmino { + amino_json?: string; +} +export interface TxDecodeAminoResponseAminoMsg { + type: 'cosmos-sdk/TxDecodeAminoResponse'; + value: TxDecodeAminoResponseAmino; +} +/** + * TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino + * RPC method. + * + * Since: cosmos-sdk 0.47 + */ +export interface TxDecodeAminoResponseSDKType { + amino_json: string; +} +function createBaseGetTxsEventRequest(): GetTxsEventRequest { + return { + events: [], + pagination: undefined, + orderBy: 0, + page: BigInt(0), + limit: BigInt(0), + query: '', + }; +} +export const GetTxsEventRequest = { + typeUrl: '/cosmos.tx.v1beta1.GetTxsEventRequest', + encode(message: GetTxsEventRequest, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.events) { + writer.uint32(10).string(v!); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + if (message.orderBy !== 0) { + writer.uint32(24).int32(message.orderBy); + } + if (message.page !== BigInt(0)) { + writer.uint32(32).uint64(message.page); + } + if (message.limit !== BigInt(0)) { + writer.uint32(40).uint64(message.limit); + } + if (message.query !== '') { + writer.uint32(50).string(message.query); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GetTxsEventRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetTxsEventRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.events.push(reader.string()); + break; + case 2: + message.pagination = PageRequest.decode(reader, reader.uint32()); + break; + case 3: + message.orderBy = reader.int32() as any; + break; + case 4: + message.page = reader.uint64(); + break; + case 5: + message.limit = reader.uint64(); + break; + case 6: + message.query = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GetTxsEventRequest { + const message = createBaseGetTxsEventRequest(); + message.events = object.events?.map((e) => e) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? PageRequest.fromPartial(object.pagination) + : undefined; + message.orderBy = object.orderBy ?? 0; + message.page = object.page !== undefined && object.page !== null ? BigInt(object.page.toString()) : BigInt(0); + message.limit = object.limit !== undefined && object.limit !== null ? BigInt(object.limit.toString()) : BigInt(0); + message.query = object.query ?? ''; + return message; + }, + fromAmino(object: GetTxsEventRequestAmino): GetTxsEventRequest { + const message = createBaseGetTxsEventRequest(); + message.events = object.events?.map((e) => e) || []; + if (object.pagination !== undefined && object.pagination !== null) { + message.pagination = PageRequest.fromAmino(object.pagination); + } + if (object.order_by !== undefined && object.order_by !== null) { + message.orderBy = object.order_by; + } + if (object.page !== undefined && object.page !== null) { + message.page = BigInt(object.page); + } + if (object.limit !== undefined && object.limit !== null) { + message.limit = BigInt(object.limit); + } + if (object.query !== undefined && object.query !== null) { + message.query = object.query; + } + return message; + }, + toAmino(message: GetTxsEventRequest): GetTxsEventRequestAmino { + const obj: any = {}; + if (message.events) { + obj.events = message.events.map((e) => e); + } else { + obj.events = message.events; + } + obj.pagination = message.pagination ? PageRequest.toAmino(message.pagination) : undefined; + obj.order_by = message.orderBy === 0 ? undefined : message.orderBy; + obj.page = message.page !== BigInt(0) ? (message.page?.toString)() : undefined; + obj.limit = message.limit !== BigInt(0) ? (message.limit?.toString)() : undefined; + obj.query = message.query === '' ? undefined : message.query; + return obj; + }, + fromAminoMsg(object: GetTxsEventRequestAminoMsg): GetTxsEventRequest { + return GetTxsEventRequest.fromAmino(object.value); + }, + toAminoMsg(message: GetTxsEventRequest): GetTxsEventRequestAminoMsg { + return { + type: 'cosmos-sdk/GetTxsEventRequest', + value: GetTxsEventRequest.toAmino(message), + }; + }, + fromProtoMsg(message: GetTxsEventRequestProtoMsg): GetTxsEventRequest { + return GetTxsEventRequest.decode(message.value); + }, + toProto(message: GetTxsEventRequest): Uint8Array { + return GetTxsEventRequest.encode(message).finish(); + }, + toProtoMsg(message: GetTxsEventRequest): GetTxsEventRequestProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.GetTxsEventRequest', + value: GetTxsEventRequest.encode(message).finish(), + }; + }, +}; +function createBaseGetTxsEventResponse(): GetTxsEventResponse { + return { + txs: [], + txResponses: [], + pagination: undefined, + total: BigInt(0), + }; +} +export const GetTxsEventResponse = { + typeUrl: '/cosmos.tx.v1beta1.GetTxsEventResponse', + encode(message: GetTxsEventResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.txs) { + Tx.encode(v!, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.txResponses) { + TxResponse.encode(v!, writer.uint32(18).fork()).ldelim(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(26).fork()).ldelim(); + } + if (message.total !== BigInt(0)) { + writer.uint32(32).uint64(message.total); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GetTxsEventResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetTxsEventResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.txs.push(Tx.decode(reader, reader.uint32())); + break; + case 2: + message.txResponses.push(TxResponse.decode(reader, reader.uint32())); + break; + case 3: + message.pagination = PageResponse.decode(reader, reader.uint32()); + break; + case 4: + message.total = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GetTxsEventResponse { + const message = createBaseGetTxsEventResponse(); + message.txs = object.txs?.map((e) => Tx.fromPartial(e)) || []; + message.txResponses = object.txResponses?.map((e) => TxResponse.fromPartial(e)) || []; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? PageResponse.fromPartial(object.pagination) + : undefined; + message.total = object.total !== undefined && object.total !== null ? BigInt(object.total.toString()) : BigInt(0); + return message; + }, + fromAmino(object: GetTxsEventResponseAmino): GetTxsEventResponse { + const message = createBaseGetTxsEventResponse(); + message.txs = object.txs?.map((e) => Tx.fromAmino(e)) || []; + message.txResponses = object.tx_responses?.map((e) => TxResponse.fromAmino(e)) || []; + if (object.pagination !== undefined && object.pagination !== null) { + message.pagination = PageResponse.fromAmino(object.pagination); + } + if (object.total !== undefined && object.total !== null) { + message.total = BigInt(object.total); + } + return message; + }, + toAmino(message: GetTxsEventResponse): GetTxsEventResponseAmino { + const obj: any = {}; + if (message.txs) { + obj.txs = message.txs.map((e) => (e ? Tx.toAmino(e) : undefined)); + } else { + obj.txs = message.txs; + } + if (message.txResponses) { + obj.tx_responses = message.txResponses.map((e) => (e ? TxResponse.toAmino(e) : undefined)); + } else { + obj.tx_responses = message.txResponses; + } + obj.pagination = message.pagination ? PageResponse.toAmino(message.pagination) : undefined; + obj.total = message.total !== BigInt(0) ? (message.total?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: GetTxsEventResponseAminoMsg): GetTxsEventResponse { + return GetTxsEventResponse.fromAmino(object.value); + }, + toAminoMsg(message: GetTxsEventResponse): GetTxsEventResponseAminoMsg { + return { + type: 'cosmos-sdk/GetTxsEventResponse', + value: GetTxsEventResponse.toAmino(message), + }; + }, + fromProtoMsg(message: GetTxsEventResponseProtoMsg): GetTxsEventResponse { + return GetTxsEventResponse.decode(message.value); + }, + toProto(message: GetTxsEventResponse): Uint8Array { + return GetTxsEventResponse.encode(message).finish(); + }, + toProtoMsg(message: GetTxsEventResponse): GetTxsEventResponseProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.GetTxsEventResponse', + value: GetTxsEventResponse.encode(message).finish(), + }; + }, +}; +function createBaseBroadcastTxRequest(): BroadcastTxRequest { + return { + txBytes: new Uint8Array(), + mode: 0, + }; +} +export const BroadcastTxRequest = { + typeUrl: '/cosmos.tx.v1beta1.BroadcastTxRequest', + encode(message: BroadcastTxRequest, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.txBytes.length !== 0) { + writer.uint32(10).bytes(message.txBytes); + } + if (message.mode !== 0) { + writer.uint32(16).int32(message.mode); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BroadcastTxRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBroadcastTxRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.txBytes = reader.bytes(); + break; + case 2: + message.mode = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BroadcastTxRequest { + const message = createBaseBroadcastTxRequest(); + message.txBytes = object.txBytes ?? new Uint8Array(); + message.mode = object.mode ?? 0; + return message; + }, + fromAmino(object: BroadcastTxRequestAmino): BroadcastTxRequest { + const message = createBaseBroadcastTxRequest(); + if (object.tx_bytes !== undefined && object.tx_bytes !== null) { + message.txBytes = bytesFromBase64(object.tx_bytes); + } + if (object.mode !== undefined && object.mode !== null) { + message.mode = object.mode; + } + return message; + }, + toAmino(message: BroadcastTxRequest): BroadcastTxRequestAmino { + const obj: any = {}; + obj.tx_bytes = message.txBytes ? base64FromBytes(message.txBytes) : undefined; + obj.mode = message.mode === 0 ? undefined : message.mode; + return obj; + }, + fromAminoMsg(object: BroadcastTxRequestAminoMsg): BroadcastTxRequest { + return BroadcastTxRequest.fromAmino(object.value); + }, + toAminoMsg(message: BroadcastTxRequest): BroadcastTxRequestAminoMsg { + return { + type: 'cosmos-sdk/BroadcastTxRequest', + value: BroadcastTxRequest.toAmino(message), + }; + }, + fromProtoMsg(message: BroadcastTxRequestProtoMsg): BroadcastTxRequest { + return BroadcastTxRequest.decode(message.value); + }, + toProto(message: BroadcastTxRequest): Uint8Array { + return BroadcastTxRequest.encode(message).finish(); + }, + toProtoMsg(message: BroadcastTxRequest): BroadcastTxRequestProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.BroadcastTxRequest', + value: BroadcastTxRequest.encode(message).finish(), + }; + }, +}; +function createBaseBroadcastTxResponse(): BroadcastTxResponse { + return { + txResponse: undefined, + }; +} +export const BroadcastTxResponse = { + typeUrl: '/cosmos.tx.v1beta1.BroadcastTxResponse', + encode(message: BroadcastTxResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.txResponse !== undefined) { + TxResponse.encode(message.txResponse, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BroadcastTxResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBroadcastTxResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.txResponse = TxResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BroadcastTxResponse { + const message = createBaseBroadcastTxResponse(); + message.txResponse = + object.txResponse !== undefined && object.txResponse !== null + ? TxResponse.fromPartial(object.txResponse) + : undefined; + return message; + }, + fromAmino(object: BroadcastTxResponseAmino): BroadcastTxResponse { + const message = createBaseBroadcastTxResponse(); + if (object.tx_response !== undefined && object.tx_response !== null) { + message.txResponse = TxResponse.fromAmino(object.tx_response); + } + return message; + }, + toAmino(message: BroadcastTxResponse): BroadcastTxResponseAmino { + const obj: any = {}; + obj.tx_response = message.txResponse ? TxResponse.toAmino(message.txResponse) : undefined; + return obj; + }, + fromAminoMsg(object: BroadcastTxResponseAminoMsg): BroadcastTxResponse { + return BroadcastTxResponse.fromAmino(object.value); + }, + toAminoMsg(message: BroadcastTxResponse): BroadcastTxResponseAminoMsg { + return { + type: 'cosmos-sdk/BroadcastTxResponse', + value: BroadcastTxResponse.toAmino(message), + }; + }, + fromProtoMsg(message: BroadcastTxResponseProtoMsg): BroadcastTxResponse { + return BroadcastTxResponse.decode(message.value); + }, + toProto(message: BroadcastTxResponse): Uint8Array { + return BroadcastTxResponse.encode(message).finish(); + }, + toProtoMsg(message: BroadcastTxResponse): BroadcastTxResponseProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.BroadcastTxResponse', + value: BroadcastTxResponse.encode(message).finish(), + }; + }, +}; +function createBaseSimulateRequest(): SimulateRequest { + return { + tx: undefined, + txBytes: new Uint8Array(), + }; +} +export const SimulateRequest = { + typeUrl: '/cosmos.tx.v1beta1.SimulateRequest', + encode(message: SimulateRequest, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.tx !== undefined) { + Tx.encode(message.tx, writer.uint32(10).fork()).ldelim(); + } + if (message.txBytes.length !== 0) { + writer.uint32(18).bytes(message.txBytes); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SimulateRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSimulateRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tx = Tx.decode(reader, reader.uint32()); + break; + case 2: + message.txBytes = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SimulateRequest { + const message = createBaseSimulateRequest(); + message.tx = object.tx !== undefined && object.tx !== null ? Tx.fromPartial(object.tx) : undefined; + message.txBytes = object.txBytes ?? new Uint8Array(); + return message; + }, + fromAmino(object: SimulateRequestAmino): SimulateRequest { + const message = createBaseSimulateRequest(); + if (object.tx !== undefined && object.tx !== null) { + message.tx = Tx.fromAmino(object.tx); + } + if (object.tx_bytes !== undefined && object.tx_bytes !== null) { + message.txBytes = bytesFromBase64(object.tx_bytes); + } + return message; + }, + toAmino(message: SimulateRequest): SimulateRequestAmino { + const obj: any = {}; + obj.tx = message.tx ? Tx.toAmino(message.tx) : undefined; + obj.tx_bytes = message.txBytes ? base64FromBytes(message.txBytes) : undefined; + return obj; + }, + fromAminoMsg(object: SimulateRequestAminoMsg): SimulateRequest { + return SimulateRequest.fromAmino(object.value); + }, + toAminoMsg(message: SimulateRequest): SimulateRequestAminoMsg { + return { + type: 'cosmos-sdk/SimulateRequest', + value: SimulateRequest.toAmino(message), + }; + }, + fromProtoMsg(message: SimulateRequestProtoMsg): SimulateRequest { + return SimulateRequest.decode(message.value); + }, + toProto(message: SimulateRequest): Uint8Array { + return SimulateRequest.encode(message).finish(); + }, + toProtoMsg(message: SimulateRequest): SimulateRequestProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.SimulateRequest', + value: SimulateRequest.encode(message).finish(), + }; + }, +}; +function createBaseSimulateResponse(): SimulateResponse { + return { + gasInfo: undefined, + result: undefined, + }; +} +export const SimulateResponse = { + typeUrl: '/cosmos.tx.v1beta1.SimulateResponse', + encode(message: SimulateResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.gasInfo !== undefined) { + GasInfo.encode(message.gasInfo, writer.uint32(10).fork()).ldelim(); + } + if (message.result !== undefined) { + Result.encode(message.result, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SimulateResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSimulateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gasInfo = GasInfo.decode(reader, reader.uint32()); + break; + case 2: + message.result = Result.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SimulateResponse { + const message = createBaseSimulateResponse(); + message.gasInfo = + object.gasInfo !== undefined && object.gasInfo !== null ? GasInfo.fromPartial(object.gasInfo) : undefined; + message.result = + object.result !== undefined && object.result !== null ? Result.fromPartial(object.result) : undefined; + return message; + }, + fromAmino(object: SimulateResponseAmino): SimulateResponse { + const message = createBaseSimulateResponse(); + if (object.gas_info !== undefined && object.gas_info !== null) { + message.gasInfo = GasInfo.fromAmino(object.gas_info); + } + if (object.result !== undefined && object.result !== null) { + message.result = Result.fromAmino(object.result); + } + return message; + }, + toAmino(message: SimulateResponse): SimulateResponseAmino { + const obj: any = {}; + obj.gas_info = message.gasInfo ? GasInfo.toAmino(message.gasInfo) : undefined; + obj.result = message.result ? Result.toAmino(message.result) : undefined; + return obj; + }, + fromAminoMsg(object: SimulateResponseAminoMsg): SimulateResponse { + return SimulateResponse.fromAmino(object.value); + }, + toAminoMsg(message: SimulateResponse): SimulateResponseAminoMsg { + return { + type: 'cosmos-sdk/SimulateResponse', + value: SimulateResponse.toAmino(message), + }; + }, + fromProtoMsg(message: SimulateResponseProtoMsg): SimulateResponse { + return SimulateResponse.decode(message.value); + }, + toProto(message: SimulateResponse): Uint8Array { + return SimulateResponse.encode(message).finish(); + }, + toProtoMsg(message: SimulateResponse): SimulateResponseProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.SimulateResponse', + value: SimulateResponse.encode(message).finish(), + }; + }, +}; +function createBaseGetTxRequest(): GetTxRequest { + return { + hash: '', + }; +} +export const GetTxRequest = { + typeUrl: '/cosmos.tx.v1beta1.GetTxRequest', + encode(message: GetTxRequest, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.hash !== '') { + writer.uint32(10).string(message.hash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GetTxRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetTxRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.hash = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GetTxRequest { + const message = createBaseGetTxRequest(); + message.hash = object.hash ?? ''; + return message; + }, + fromAmino(object: GetTxRequestAmino): GetTxRequest { + const message = createBaseGetTxRequest(); + if (object.hash !== undefined && object.hash !== null) { + message.hash = object.hash; + } + return message; + }, + toAmino(message: GetTxRequest): GetTxRequestAmino { + const obj: any = {}; + obj.hash = message.hash === '' ? undefined : message.hash; + return obj; + }, + fromAminoMsg(object: GetTxRequestAminoMsg): GetTxRequest { + return GetTxRequest.fromAmino(object.value); + }, + toAminoMsg(message: GetTxRequest): GetTxRequestAminoMsg { + return { + type: 'cosmos-sdk/GetTxRequest', + value: GetTxRequest.toAmino(message), + }; + }, + fromProtoMsg(message: GetTxRequestProtoMsg): GetTxRequest { + return GetTxRequest.decode(message.value); + }, + toProto(message: GetTxRequest): Uint8Array { + return GetTxRequest.encode(message).finish(); + }, + toProtoMsg(message: GetTxRequest): GetTxRequestProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.GetTxRequest', + value: GetTxRequest.encode(message).finish(), + }; + }, +}; +function createBaseGetTxResponse(): GetTxResponse { + return { + tx: undefined, + txResponse: undefined, + }; +} +export const GetTxResponse = { + typeUrl: '/cosmos.tx.v1beta1.GetTxResponse', + encode(message: GetTxResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.tx !== undefined) { + Tx.encode(message.tx, writer.uint32(10).fork()).ldelim(); + } + if (message.txResponse !== undefined) { + TxResponse.encode(message.txResponse, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GetTxResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetTxResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tx = Tx.decode(reader, reader.uint32()); + break; + case 2: + message.txResponse = TxResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GetTxResponse { + const message = createBaseGetTxResponse(); + message.tx = object.tx !== undefined && object.tx !== null ? Tx.fromPartial(object.tx) : undefined; + message.txResponse = + object.txResponse !== undefined && object.txResponse !== null + ? TxResponse.fromPartial(object.txResponse) + : undefined; + return message; + }, + fromAmino(object: GetTxResponseAmino): GetTxResponse { + const message = createBaseGetTxResponse(); + if (object.tx !== undefined && object.tx !== null) { + message.tx = Tx.fromAmino(object.tx); + } + if (object.tx_response !== undefined && object.tx_response !== null) { + message.txResponse = TxResponse.fromAmino(object.tx_response); + } + return message; + }, + toAmino(message: GetTxResponse): GetTxResponseAmino { + const obj: any = {}; + obj.tx = message.tx ? Tx.toAmino(message.tx) : undefined; + obj.tx_response = message.txResponse ? TxResponse.toAmino(message.txResponse) : undefined; + return obj; + }, + fromAminoMsg(object: GetTxResponseAminoMsg): GetTxResponse { + return GetTxResponse.fromAmino(object.value); + }, + toAminoMsg(message: GetTxResponse): GetTxResponseAminoMsg { + return { + type: 'cosmos-sdk/GetTxResponse', + value: GetTxResponse.toAmino(message), + }; + }, + fromProtoMsg(message: GetTxResponseProtoMsg): GetTxResponse { + return GetTxResponse.decode(message.value); + }, + toProto(message: GetTxResponse): Uint8Array { + return GetTxResponse.encode(message).finish(); + }, + toProtoMsg(message: GetTxResponse): GetTxResponseProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.GetTxResponse', + value: GetTxResponse.encode(message).finish(), + }; + }, +}; +function createBaseGetBlockWithTxsRequest(): GetBlockWithTxsRequest { + return { + height: BigInt(0), + pagination: undefined, + }; +} +export const GetBlockWithTxsRequest = { + typeUrl: '/cosmos.tx.v1beta1.GetBlockWithTxsRequest', + encode(message: GetBlockWithTxsRequest, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.height !== BigInt(0)) { + writer.uint32(8).int64(message.height); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GetBlockWithTxsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetBlockWithTxsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.int64(); + break; + case 2: + message.pagination = PageRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GetBlockWithTxsRequest { + const message = createBaseGetBlockWithTxsRequest(); + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, + fromAmino(object: GetBlockWithTxsRequestAmino): GetBlockWithTxsRequest { + const message = createBaseGetBlockWithTxsRequest(); + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.pagination !== undefined && object.pagination !== null) { + message.pagination = PageRequest.fromAmino(object.pagination); + } + return message; + }, + toAmino(message: GetBlockWithTxsRequest): GetBlockWithTxsRequestAmino { + const obj: any = {}; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.pagination = message.pagination ? PageRequest.toAmino(message.pagination) : undefined; + return obj; + }, + fromAminoMsg(object: GetBlockWithTxsRequestAminoMsg): GetBlockWithTxsRequest { + return GetBlockWithTxsRequest.fromAmino(object.value); + }, + toAminoMsg(message: GetBlockWithTxsRequest): GetBlockWithTxsRequestAminoMsg { + return { + type: 'cosmos-sdk/GetBlockWithTxsRequest', + value: GetBlockWithTxsRequest.toAmino(message), + }; + }, + fromProtoMsg(message: GetBlockWithTxsRequestProtoMsg): GetBlockWithTxsRequest { + return GetBlockWithTxsRequest.decode(message.value); + }, + toProto(message: GetBlockWithTxsRequest): Uint8Array { + return GetBlockWithTxsRequest.encode(message).finish(); + }, + toProtoMsg(message: GetBlockWithTxsRequest): GetBlockWithTxsRequestProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.GetBlockWithTxsRequest', + value: GetBlockWithTxsRequest.encode(message).finish(), + }; + }, +}; +function createBaseGetBlockWithTxsResponse(): GetBlockWithTxsResponse { + return { + txs: [], + blockId: undefined, + block: undefined, + pagination: undefined, + }; +} +export const GetBlockWithTxsResponse = { + typeUrl: '/cosmos.tx.v1beta1.GetBlockWithTxsResponse', + encode(message: GetBlockWithTxsResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.txs) { + Tx.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.blockId !== undefined) { + BlockID.encode(message.blockId, writer.uint32(18).fork()).ldelim(); + } + if (message.block !== undefined) { + Block.encode(message.block, writer.uint32(26).fork()).ldelim(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GetBlockWithTxsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetBlockWithTxsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.txs.push(Tx.decode(reader, reader.uint32())); + break; + case 2: + message.blockId = BlockID.decode(reader, reader.uint32()); + break; + case 3: + message.block = Block.decode(reader, reader.uint32()); + break; + case 4: + message.pagination = PageResponse.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GetBlockWithTxsResponse { + const message = createBaseGetBlockWithTxsResponse(); + message.txs = object.txs?.map((e) => Tx.fromPartial(e)) || []; + message.blockId = + object.blockId !== undefined && object.blockId !== null ? BlockID.fromPartial(object.blockId) : undefined; + message.block = object.block !== undefined && object.block !== null ? Block.fromPartial(object.block) : undefined; + message.pagination = + object.pagination !== undefined && object.pagination !== null + ? PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, + fromAmino(object: GetBlockWithTxsResponseAmino): GetBlockWithTxsResponse { + const message = createBaseGetBlockWithTxsResponse(); + message.txs = object.txs?.map((e) => Tx.fromAmino(e)) || []; + if (object.block_id !== undefined && object.block_id !== null) { + message.blockId = BlockID.fromAmino(object.block_id); + } + if (object.block !== undefined && object.block !== null) { + message.block = Block.fromAmino(object.block); + } + if (object.pagination !== undefined && object.pagination !== null) { + message.pagination = PageResponse.fromAmino(object.pagination); + } + return message; + }, + toAmino(message: GetBlockWithTxsResponse): GetBlockWithTxsResponseAmino { + const obj: any = {}; + if (message.txs) { + obj.txs = message.txs.map((e) => (e ? Tx.toAmino(e) : undefined)); + } else { + obj.txs = message.txs; + } + obj.block_id = message.blockId ? BlockID.toAmino(message.blockId) : undefined; + obj.block = message.block ? Block.toAmino(message.block) : undefined; + obj.pagination = message.pagination ? PageResponse.toAmino(message.pagination) : undefined; + return obj; + }, + fromAminoMsg(object: GetBlockWithTxsResponseAminoMsg): GetBlockWithTxsResponse { + return GetBlockWithTxsResponse.fromAmino(object.value); + }, + toAminoMsg(message: GetBlockWithTxsResponse): GetBlockWithTxsResponseAminoMsg { + return { + type: 'cosmos-sdk/GetBlockWithTxsResponse', + value: GetBlockWithTxsResponse.toAmino(message), + }; + }, + fromProtoMsg(message: GetBlockWithTxsResponseProtoMsg): GetBlockWithTxsResponse { + return GetBlockWithTxsResponse.decode(message.value); + }, + toProto(message: GetBlockWithTxsResponse): Uint8Array { + return GetBlockWithTxsResponse.encode(message).finish(); + }, + toProtoMsg(message: GetBlockWithTxsResponse): GetBlockWithTxsResponseProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.GetBlockWithTxsResponse', + value: GetBlockWithTxsResponse.encode(message).finish(), + }; + }, +}; +function createBaseTxDecodeRequest(): TxDecodeRequest { + return { + txBytes: new Uint8Array(), + }; +} +export const TxDecodeRequest = { + typeUrl: '/cosmos.tx.v1beta1.TxDecodeRequest', + encode(message: TxDecodeRequest, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.txBytes.length !== 0) { + writer.uint32(10).bytes(message.txBytes); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxDecodeRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxDecodeRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.txBytes = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxDecodeRequest { + const message = createBaseTxDecodeRequest(); + message.txBytes = object.txBytes ?? new Uint8Array(); + return message; + }, + fromAmino(object: TxDecodeRequestAmino): TxDecodeRequest { + const message = createBaseTxDecodeRequest(); + if (object.tx_bytes !== undefined && object.tx_bytes !== null) { + message.txBytes = bytesFromBase64(object.tx_bytes); + } + return message; + }, + toAmino(message: TxDecodeRequest): TxDecodeRequestAmino { + const obj: any = {}; + obj.tx_bytes = message.txBytes ? base64FromBytes(message.txBytes) : undefined; + return obj; + }, + fromAminoMsg(object: TxDecodeRequestAminoMsg): TxDecodeRequest { + return TxDecodeRequest.fromAmino(object.value); + }, + toAminoMsg(message: TxDecodeRequest): TxDecodeRequestAminoMsg { + return { + type: 'cosmos-sdk/TxDecodeRequest', + value: TxDecodeRequest.toAmino(message), + }; + }, + fromProtoMsg(message: TxDecodeRequestProtoMsg): TxDecodeRequest { + return TxDecodeRequest.decode(message.value); + }, + toProto(message: TxDecodeRequest): Uint8Array { + return TxDecodeRequest.encode(message).finish(); + }, + toProtoMsg(message: TxDecodeRequest): TxDecodeRequestProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.TxDecodeRequest', + value: TxDecodeRequest.encode(message).finish(), + }; + }, +}; +function createBaseTxDecodeResponse(): TxDecodeResponse { + return { + tx: undefined, + }; +} +export const TxDecodeResponse = { + typeUrl: '/cosmos.tx.v1beta1.TxDecodeResponse', + encode(message: TxDecodeResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.tx !== undefined) { + Tx.encode(message.tx, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxDecodeResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxDecodeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tx = Tx.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxDecodeResponse { + const message = createBaseTxDecodeResponse(); + message.tx = object.tx !== undefined && object.tx !== null ? Tx.fromPartial(object.tx) : undefined; + return message; + }, + fromAmino(object: TxDecodeResponseAmino): TxDecodeResponse { + const message = createBaseTxDecodeResponse(); + if (object.tx !== undefined && object.tx !== null) { + message.tx = Tx.fromAmino(object.tx); + } + return message; + }, + toAmino(message: TxDecodeResponse): TxDecodeResponseAmino { + const obj: any = {}; + obj.tx = message.tx ? Tx.toAmino(message.tx) : undefined; + return obj; + }, + fromAminoMsg(object: TxDecodeResponseAminoMsg): TxDecodeResponse { + return TxDecodeResponse.fromAmino(object.value); + }, + toAminoMsg(message: TxDecodeResponse): TxDecodeResponseAminoMsg { + return { + type: 'cosmos-sdk/TxDecodeResponse', + value: TxDecodeResponse.toAmino(message), + }; + }, + fromProtoMsg(message: TxDecodeResponseProtoMsg): TxDecodeResponse { + return TxDecodeResponse.decode(message.value); + }, + toProto(message: TxDecodeResponse): Uint8Array { + return TxDecodeResponse.encode(message).finish(); + }, + toProtoMsg(message: TxDecodeResponse): TxDecodeResponseProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.TxDecodeResponse', + value: TxDecodeResponse.encode(message).finish(), + }; + }, +}; +function createBaseTxEncodeRequest(): TxEncodeRequest { + return { + tx: undefined, + }; +} +export const TxEncodeRequest = { + typeUrl: '/cosmos.tx.v1beta1.TxEncodeRequest', + encode(message: TxEncodeRequest, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.tx !== undefined) { + Tx.encode(message.tx, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxEncodeRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxEncodeRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tx = Tx.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxEncodeRequest { + const message = createBaseTxEncodeRequest(); + message.tx = object.tx !== undefined && object.tx !== null ? Tx.fromPartial(object.tx) : undefined; + return message; + }, + fromAmino(object: TxEncodeRequestAmino): TxEncodeRequest { + const message = createBaseTxEncodeRequest(); + if (object.tx !== undefined && object.tx !== null) { + message.tx = Tx.fromAmino(object.tx); + } + return message; + }, + toAmino(message: TxEncodeRequest): TxEncodeRequestAmino { + const obj: any = {}; + obj.tx = message.tx ? Tx.toAmino(message.tx) : undefined; + return obj; + }, + fromAminoMsg(object: TxEncodeRequestAminoMsg): TxEncodeRequest { + return TxEncodeRequest.fromAmino(object.value); + }, + toAminoMsg(message: TxEncodeRequest): TxEncodeRequestAminoMsg { + return { + type: 'cosmos-sdk/TxEncodeRequest', + value: TxEncodeRequest.toAmino(message), + }; + }, + fromProtoMsg(message: TxEncodeRequestProtoMsg): TxEncodeRequest { + return TxEncodeRequest.decode(message.value); + }, + toProto(message: TxEncodeRequest): Uint8Array { + return TxEncodeRequest.encode(message).finish(); + }, + toProtoMsg(message: TxEncodeRequest): TxEncodeRequestProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.TxEncodeRequest', + value: TxEncodeRequest.encode(message).finish(), + }; + }, +}; +function createBaseTxEncodeResponse(): TxEncodeResponse { + return { + txBytes: new Uint8Array(), + }; +} +export const TxEncodeResponse = { + typeUrl: '/cosmos.tx.v1beta1.TxEncodeResponse', + encode(message: TxEncodeResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.txBytes.length !== 0) { + writer.uint32(10).bytes(message.txBytes); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxEncodeResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxEncodeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.txBytes = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxEncodeResponse { + const message = createBaseTxEncodeResponse(); + message.txBytes = object.txBytes ?? new Uint8Array(); + return message; + }, + fromAmino(object: TxEncodeResponseAmino): TxEncodeResponse { + const message = createBaseTxEncodeResponse(); + if (object.tx_bytes !== undefined && object.tx_bytes !== null) { + message.txBytes = bytesFromBase64(object.tx_bytes); + } + return message; + }, + toAmino(message: TxEncodeResponse): TxEncodeResponseAmino { + const obj: any = {}; + obj.tx_bytes = message.txBytes ? base64FromBytes(message.txBytes) : undefined; + return obj; + }, + fromAminoMsg(object: TxEncodeResponseAminoMsg): TxEncodeResponse { + return TxEncodeResponse.fromAmino(object.value); + }, + toAminoMsg(message: TxEncodeResponse): TxEncodeResponseAminoMsg { + return { + type: 'cosmos-sdk/TxEncodeResponse', + value: TxEncodeResponse.toAmino(message), + }; + }, + fromProtoMsg(message: TxEncodeResponseProtoMsg): TxEncodeResponse { + return TxEncodeResponse.decode(message.value); + }, + toProto(message: TxEncodeResponse): Uint8Array { + return TxEncodeResponse.encode(message).finish(); + }, + toProtoMsg(message: TxEncodeResponse): TxEncodeResponseProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.TxEncodeResponse', + value: TxEncodeResponse.encode(message).finish(), + }; + }, +}; +function createBaseTxEncodeAminoRequest(): TxEncodeAminoRequest { + return { + aminoJson: '', + }; +} +export const TxEncodeAminoRequest = { + typeUrl: '/cosmos.tx.v1beta1.TxEncodeAminoRequest', + encode(message: TxEncodeAminoRequest, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.aminoJson !== '') { + writer.uint32(10).string(message.aminoJson); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxEncodeAminoRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxEncodeAminoRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.aminoJson = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxEncodeAminoRequest { + const message = createBaseTxEncodeAminoRequest(); + message.aminoJson = object.aminoJson ?? ''; + return message; + }, + fromAmino(object: TxEncodeAminoRequestAmino): TxEncodeAminoRequest { + const message = createBaseTxEncodeAminoRequest(); + if (object.amino_json !== undefined && object.amino_json !== null) { + message.aminoJson = object.amino_json; + } + return message; + }, + toAmino(message: TxEncodeAminoRequest): TxEncodeAminoRequestAmino { + const obj: any = {}; + obj.amino_json = message.aminoJson === '' ? undefined : message.aminoJson; + return obj; + }, + fromAminoMsg(object: TxEncodeAminoRequestAminoMsg): TxEncodeAminoRequest { + return TxEncodeAminoRequest.fromAmino(object.value); + }, + toAminoMsg(message: TxEncodeAminoRequest): TxEncodeAminoRequestAminoMsg { + return { + type: 'cosmos-sdk/TxEncodeAminoRequest', + value: TxEncodeAminoRequest.toAmino(message), + }; + }, + fromProtoMsg(message: TxEncodeAminoRequestProtoMsg): TxEncodeAminoRequest { + return TxEncodeAminoRequest.decode(message.value); + }, + toProto(message: TxEncodeAminoRequest): Uint8Array { + return TxEncodeAminoRequest.encode(message).finish(); + }, + toProtoMsg(message: TxEncodeAminoRequest): TxEncodeAminoRequestProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.TxEncodeAminoRequest', + value: TxEncodeAminoRequest.encode(message).finish(), + }; + }, +}; +function createBaseTxEncodeAminoResponse(): TxEncodeAminoResponse { + return { + aminoBinary: new Uint8Array(), + }; +} +export const TxEncodeAminoResponse = { + typeUrl: '/cosmos.tx.v1beta1.TxEncodeAminoResponse', + encode(message: TxEncodeAminoResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.aminoBinary.length !== 0) { + writer.uint32(10).bytes(message.aminoBinary); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxEncodeAminoResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxEncodeAminoResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.aminoBinary = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxEncodeAminoResponse { + const message = createBaseTxEncodeAminoResponse(); + message.aminoBinary = object.aminoBinary ?? new Uint8Array(); + return message; + }, + fromAmino(object: TxEncodeAminoResponseAmino): TxEncodeAminoResponse { + const message = createBaseTxEncodeAminoResponse(); + if (object.amino_binary !== undefined && object.amino_binary !== null) { + message.aminoBinary = bytesFromBase64(object.amino_binary); + } + return message; + }, + toAmino(message: TxEncodeAminoResponse): TxEncodeAminoResponseAmino { + const obj: any = {}; + obj.amino_binary = message.aminoBinary ? base64FromBytes(message.aminoBinary) : undefined; + return obj; + }, + fromAminoMsg(object: TxEncodeAminoResponseAminoMsg): TxEncodeAminoResponse { + return TxEncodeAminoResponse.fromAmino(object.value); + }, + toAminoMsg(message: TxEncodeAminoResponse): TxEncodeAminoResponseAminoMsg { + return { + type: 'cosmos-sdk/TxEncodeAminoResponse', + value: TxEncodeAminoResponse.toAmino(message), + }; + }, + fromProtoMsg(message: TxEncodeAminoResponseProtoMsg): TxEncodeAminoResponse { + return TxEncodeAminoResponse.decode(message.value); + }, + toProto(message: TxEncodeAminoResponse): Uint8Array { + return TxEncodeAminoResponse.encode(message).finish(); + }, + toProtoMsg(message: TxEncodeAminoResponse): TxEncodeAminoResponseProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.TxEncodeAminoResponse', + value: TxEncodeAminoResponse.encode(message).finish(), + }; + }, +}; +function createBaseTxDecodeAminoRequest(): TxDecodeAminoRequest { + return { + aminoBinary: new Uint8Array(), + }; +} +export const TxDecodeAminoRequest = { + typeUrl: '/cosmos.tx.v1beta1.TxDecodeAminoRequest', + encode(message: TxDecodeAminoRequest, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.aminoBinary.length !== 0) { + writer.uint32(10).bytes(message.aminoBinary); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxDecodeAminoRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxDecodeAminoRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.aminoBinary = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxDecodeAminoRequest { + const message = createBaseTxDecodeAminoRequest(); + message.aminoBinary = object.aminoBinary ?? new Uint8Array(); + return message; + }, + fromAmino(object: TxDecodeAminoRequestAmino): TxDecodeAminoRequest { + const message = createBaseTxDecodeAminoRequest(); + if (object.amino_binary !== undefined && object.amino_binary !== null) { + message.aminoBinary = bytesFromBase64(object.amino_binary); + } + return message; + }, + toAmino(message: TxDecodeAminoRequest): TxDecodeAminoRequestAmino { + const obj: any = {}; + obj.amino_binary = message.aminoBinary ? base64FromBytes(message.aminoBinary) : undefined; + return obj; + }, + fromAminoMsg(object: TxDecodeAminoRequestAminoMsg): TxDecodeAminoRequest { + return TxDecodeAminoRequest.fromAmino(object.value); + }, + toAminoMsg(message: TxDecodeAminoRequest): TxDecodeAminoRequestAminoMsg { + return { + type: 'cosmos-sdk/TxDecodeAminoRequest', + value: TxDecodeAminoRequest.toAmino(message), + }; + }, + fromProtoMsg(message: TxDecodeAminoRequestProtoMsg): TxDecodeAminoRequest { + return TxDecodeAminoRequest.decode(message.value); + }, + toProto(message: TxDecodeAminoRequest): Uint8Array { + return TxDecodeAminoRequest.encode(message).finish(); + }, + toProtoMsg(message: TxDecodeAminoRequest): TxDecodeAminoRequestProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.TxDecodeAminoRequest', + value: TxDecodeAminoRequest.encode(message).finish(), + }; + }, +}; +function createBaseTxDecodeAminoResponse(): TxDecodeAminoResponse { + return { + aminoJson: '', + }; +} +export const TxDecodeAminoResponse = { + typeUrl: '/cosmos.tx.v1beta1.TxDecodeAminoResponse', + encode(message: TxDecodeAminoResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.aminoJson !== '') { + writer.uint32(10).string(message.aminoJson); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxDecodeAminoResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxDecodeAminoResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.aminoJson = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxDecodeAminoResponse { + const message = createBaseTxDecodeAminoResponse(); + message.aminoJson = object.aminoJson ?? ''; + return message; + }, + fromAmino(object: TxDecodeAminoResponseAmino): TxDecodeAminoResponse { + const message = createBaseTxDecodeAminoResponse(); + if (object.amino_json !== undefined && object.amino_json !== null) { + message.aminoJson = object.amino_json; + } + return message; + }, + toAmino(message: TxDecodeAminoResponse): TxDecodeAminoResponseAmino { + const obj: any = {}; + obj.amino_json = message.aminoJson === '' ? undefined : message.aminoJson; + return obj; + }, + fromAminoMsg(object: TxDecodeAminoResponseAminoMsg): TxDecodeAminoResponse { + return TxDecodeAminoResponse.fromAmino(object.value); + }, + toAminoMsg(message: TxDecodeAminoResponse): TxDecodeAminoResponseAminoMsg { + return { + type: 'cosmos-sdk/TxDecodeAminoResponse', + value: TxDecodeAminoResponse.toAmino(message), + }; + }, + fromProtoMsg(message: TxDecodeAminoResponseProtoMsg): TxDecodeAminoResponse { + return TxDecodeAminoResponse.decode(message.value); + }, + toProto(message: TxDecodeAminoResponse): Uint8Array { + return TxDecodeAminoResponse.encode(message).finish(); + }, + toProtoMsg(message: TxDecodeAminoResponse): TxDecodeAminoResponseProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.TxDecodeAminoResponse', + value: TxDecodeAminoResponse.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/tx/v1beta1/tx.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/tx/v1beta1/tx.ts new file mode 100644 index 00000000..dc2c23d1 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/tx/v1beta1/tx.ts @@ -0,0 +1,2061 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Any, AnyAmino, AnySDKType } from 'cosmjs-types/google/protobuf/any'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +import { Coin, CoinAmino, CoinSDKType } from '../../base/v1beta1/coin'; +import { CompactBitArray, CompactBitArrayAmino, CompactBitArraySDKType } from '../../crypto/multisig/v1beta1/multisig'; +import { SignMode } from '../signing/v1beta1/signing'; +/** Tx is the standard type used for broadcasting transactions. */ +export interface Tx { + /** body is the processable content of the transaction */ + body?: TxBody; + /** + * auth_info is the authorization related content of the transaction, + * specifically signers, signer modes and fee + */ + authInfo?: AuthInfo; + /** + * signatures is a list of signatures that matches the length and order of + * AuthInfo's signer_infos to allow connecting signature meta information like + * public key and signing mode by position. + */ + signatures: Uint8Array[]; +} +export interface TxProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.Tx'; + value: Uint8Array; +} +/** Tx is the standard type used for broadcasting transactions. */ +export interface TxAmino { + /** body is the processable content of the transaction */ + body?: TxBodyAmino; + /** + * auth_info is the authorization related content of the transaction, + * specifically signers, signer modes and fee + */ + auth_info?: AuthInfoAmino; + /** + * signatures is a list of signatures that matches the length and order of + * AuthInfo's signer_infos to allow connecting signature meta information like + * public key and signing mode by position. + */ + signatures?: string[]; +} +export interface TxAminoMsg { + type: 'cosmos-sdk/Tx'; + value: TxAmino; +} +/** Tx is the standard type used for broadcasting transactions. */ +export interface TxSDKType { + body?: TxBodySDKType; + auth_info?: AuthInfoSDKType; + signatures: Uint8Array[]; +} +/** + * TxRaw is a variant of Tx that pins the signer's exact binary representation + * of body and auth_info. This is used for signing, broadcasting and + * verification. The binary `serialize(tx: TxRaw)` is stored in Tendermint and + * the hash `sha256(serialize(tx: TxRaw))` becomes the "txhash", commonly used + * as the transaction ID. + */ +export interface TxRaw { + /** + * body_bytes is a protobuf serialization of a TxBody that matches the + * representation in SignDoc. + */ + bodyBytes: Uint8Array; + /** + * auth_info_bytes is a protobuf serialization of an AuthInfo that matches the + * representation in SignDoc. + */ + authInfoBytes: Uint8Array; + /** + * signatures is a list of signatures that matches the length and order of + * AuthInfo's signer_infos to allow connecting signature meta information like + * public key and signing mode by position. + */ + signatures: Uint8Array[]; +} +export interface TxRawProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.TxRaw'; + value: Uint8Array; +} +/** + * TxRaw is a variant of Tx that pins the signer's exact binary representation + * of body and auth_info. This is used for signing, broadcasting and + * verification. The binary `serialize(tx: TxRaw)` is stored in Tendermint and + * the hash `sha256(serialize(tx: TxRaw))` becomes the "txhash", commonly used + * as the transaction ID. + */ +export interface TxRawAmino { + /** + * body_bytes is a protobuf serialization of a TxBody that matches the + * representation in SignDoc. + */ + body_bytes?: string; + /** + * auth_info_bytes is a protobuf serialization of an AuthInfo that matches the + * representation in SignDoc. + */ + auth_info_bytes?: string; + /** + * signatures is a list of signatures that matches the length and order of + * AuthInfo's signer_infos to allow connecting signature meta information like + * public key and signing mode by position. + */ + signatures?: string[]; +} +export interface TxRawAminoMsg { + type: 'cosmos-sdk/TxRaw'; + value: TxRawAmino; +} +/** + * TxRaw is a variant of Tx that pins the signer's exact binary representation + * of body and auth_info. This is used for signing, broadcasting and + * verification. The binary `serialize(tx: TxRaw)` is stored in Tendermint and + * the hash `sha256(serialize(tx: TxRaw))` becomes the "txhash", commonly used + * as the transaction ID. + */ +export interface TxRawSDKType { + body_bytes: Uint8Array; + auth_info_bytes: Uint8Array; + signatures: Uint8Array[]; +} +/** SignDoc is the type used for generating sign bytes for SIGN_MODE_DIRECT. */ +export interface SignDoc { + /** + * body_bytes is protobuf serialization of a TxBody that matches the + * representation in TxRaw. + */ + bodyBytes: Uint8Array; + /** + * auth_info_bytes is a protobuf serialization of an AuthInfo that matches the + * representation in TxRaw. + */ + authInfoBytes: Uint8Array; + /** + * chain_id is the unique identifier of the chain this transaction targets. + * It prevents signed transactions from being used on another chain by an + * attacker + */ + chainId: string; + /** account_number is the account number of the account in state */ + accountNumber: bigint; +} +export interface SignDocProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.SignDoc'; + value: Uint8Array; +} +/** SignDoc is the type used for generating sign bytes for SIGN_MODE_DIRECT. */ +export interface SignDocAmino { + /** + * body_bytes is protobuf serialization of a TxBody that matches the + * representation in TxRaw. + */ + body_bytes?: string; + /** + * auth_info_bytes is a protobuf serialization of an AuthInfo that matches the + * representation in TxRaw. + */ + auth_info_bytes?: string; + /** + * chain_id is the unique identifier of the chain this transaction targets. + * It prevents signed transactions from being used on another chain by an + * attacker + */ + chain_id?: string; + /** account_number is the account number of the account in state */ + account_number?: string; +} +export interface SignDocAminoMsg { + type: 'cosmos-sdk/SignDoc'; + value: SignDocAmino; +} +/** SignDoc is the type used for generating sign bytes for SIGN_MODE_DIRECT. */ +export interface SignDocSDKType { + body_bytes: Uint8Array; + auth_info_bytes: Uint8Array; + chain_id: string; + account_number: bigint; +} +/** + * SignDocDirectAux is the type used for generating sign bytes for + * SIGN_MODE_DIRECT_AUX. + * + * Since: cosmos-sdk 0.46 + */ +export interface SignDocDirectAux { + /** + * body_bytes is protobuf serialization of a TxBody that matches the + * representation in TxRaw. + */ + bodyBytes: Uint8Array; + /** public_key is the public key of the signing account. */ + publicKey?: Any; + /** + * chain_id is the identifier of the chain this transaction targets. + * It prevents signed transactions from being used on another chain by an + * attacker. + */ + chainId: string; + /** account_number is the account number of the account in state. */ + accountNumber: bigint; + /** sequence is the sequence number of the signing account. */ + sequence: bigint; + /** tips have been depreacted and should not be used */ + /** @deprecated */ + tip?: Tip; +} +export interface SignDocDirectAuxProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.SignDocDirectAux'; + value: Uint8Array; +} +/** + * SignDocDirectAux is the type used for generating sign bytes for + * SIGN_MODE_DIRECT_AUX. + * + * Since: cosmos-sdk 0.46 + */ +export interface SignDocDirectAuxAmino { + /** + * body_bytes is protobuf serialization of a TxBody that matches the + * representation in TxRaw. + */ + body_bytes?: string; + /** public_key is the public key of the signing account. */ + public_key?: AnyAmino; + /** + * chain_id is the identifier of the chain this transaction targets. + * It prevents signed transactions from being used on another chain by an + * attacker. + */ + chain_id?: string; + /** account_number is the account number of the account in state. */ + account_number?: string; + /** sequence is the sequence number of the signing account. */ + sequence?: string; + /** tips have been depreacted and should not be used */ + /** @deprecated */ + tip?: TipAmino; +} +export interface SignDocDirectAuxAminoMsg { + type: 'cosmos-sdk/SignDocDirectAux'; + value: SignDocDirectAuxAmino; +} +/** + * SignDocDirectAux is the type used for generating sign bytes for + * SIGN_MODE_DIRECT_AUX. + * + * Since: cosmos-sdk 0.46 + */ +export interface SignDocDirectAuxSDKType { + body_bytes: Uint8Array; + public_key?: AnySDKType; + chain_id: string; + account_number: bigint; + sequence: bigint; + /** @deprecated */ + tip?: TipSDKType; +} +/** TxBody is the body of a transaction that all signers sign over. */ +export interface TxBody { + /** + * messages is a list of messages to be executed. The required signers of + * those messages define the number and order of elements in AuthInfo's + * signer_infos and Tx's signatures. Each required signer address is added to + * the list only the first time it occurs. + * By convention, the first required signer (usually from the first message) + * is referred to as the primary signer and pays the fee for the whole + * transaction. + */ + messages: Any[]; + /** + * memo is any arbitrary note/comment to be added to the transaction. + * WARNING: in clients, any publicly exposed text should not be called memo, + * but should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122). + */ + memo: string; + /** + * timeout is the block height after which this transaction will not + * be processed by the chain + */ + timeoutHeight: bigint; + /** + * extension_options are arbitrary options that can be added by chains + * when the default options are not sufficient. If any of these are present + * and can't be handled, the transaction will be rejected + */ + extensionOptions: Any[]; + /** + * extension_options are arbitrary options that can be added by chains + * when the default options are not sufficient. If any of these are present + * and can't be handled, they will be ignored + */ + nonCriticalExtensionOptions: Any[]; +} +export interface TxBodyProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.TxBody'; + value: Uint8Array; +} +/** TxBody is the body of a transaction that all signers sign over. */ +export interface TxBodyAmino { + /** + * messages is a list of messages to be executed. The required signers of + * those messages define the number and order of elements in AuthInfo's + * signer_infos and Tx's signatures. Each required signer address is added to + * the list only the first time it occurs. + * By convention, the first required signer (usually from the first message) + * is referred to as the primary signer and pays the fee for the whole + * transaction. + */ + messages?: AnyAmino[]; + /** + * memo is any arbitrary note/comment to be added to the transaction. + * WARNING: in clients, any publicly exposed text should not be called memo, + * but should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122). + */ + memo?: string; + /** + * timeout is the block height after which this transaction will not + * be processed by the chain + */ + timeout_height?: string; + /** + * extension_options are arbitrary options that can be added by chains + * when the default options are not sufficient. If any of these are present + * and can't be handled, the transaction will be rejected + */ + extension_options?: AnyAmino[]; + /** + * extension_options are arbitrary options that can be added by chains + * when the default options are not sufficient. If any of these are present + * and can't be handled, they will be ignored + */ + non_critical_extension_options?: AnyAmino[]; +} +export interface TxBodyAminoMsg { + type: 'cosmos-sdk/TxBody'; + value: TxBodyAmino; +} +/** TxBody is the body of a transaction that all signers sign over. */ +export interface TxBodySDKType { + messages: AnySDKType[]; + memo: string; + timeout_height: bigint; + extension_options: AnySDKType[]; + non_critical_extension_options: AnySDKType[]; +} +/** + * AuthInfo describes the fee and signer modes that are used to sign a + * transaction. + */ +export interface AuthInfo { + /** + * signer_infos defines the signing modes for the required signers. The number + * and order of elements must match the required signers from TxBody's + * messages. The first element is the primary signer and the one which pays + * the fee. + */ + signerInfos: SignerInfo[]; + /** + * Fee is the fee and gas limit for the transaction. The first signer is the + * primary signer and the one which pays the fee. The fee can be calculated + * based on the cost of evaluating the body and doing signature verification + * of the signers. This can be estimated via simulation. + */ + fee?: Fee; + /** + * Tip is the optional tip used for transactions fees paid in another denom. + * + * This field is ignored if the chain didn't enable tips, i.e. didn't add the + * `TipDecorator` in its posthandler. + * + * Since: cosmos-sdk 0.46 + */ + /** @deprecated */ + tip?: Tip; +} +export interface AuthInfoProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.AuthInfo'; + value: Uint8Array; +} +/** + * AuthInfo describes the fee and signer modes that are used to sign a + * transaction. + */ +export interface AuthInfoAmino { + /** + * signer_infos defines the signing modes for the required signers. The number + * and order of elements must match the required signers from TxBody's + * messages. The first element is the primary signer and the one which pays + * the fee. + */ + signer_infos?: SignerInfoAmino[]; + /** + * Fee is the fee and gas limit for the transaction. The first signer is the + * primary signer and the one which pays the fee. The fee can be calculated + * based on the cost of evaluating the body and doing signature verification + * of the signers. This can be estimated via simulation. + */ + fee?: FeeAmino; + /** + * Tip is the optional tip used for transactions fees paid in another denom. + * + * This field is ignored if the chain didn't enable tips, i.e. didn't add the + * `TipDecorator` in its posthandler. + * + * Since: cosmos-sdk 0.46 + */ + /** @deprecated */ + tip?: TipAmino; +} +export interface AuthInfoAminoMsg { + type: 'cosmos-sdk/AuthInfo'; + value: AuthInfoAmino; +} +/** + * AuthInfo describes the fee and signer modes that are used to sign a + * transaction. + */ +export interface AuthInfoSDKType { + signer_infos: SignerInfoSDKType[]; + fee?: FeeSDKType; + /** @deprecated */ + tip?: TipSDKType; +} +/** + * SignerInfo describes the public key and signing mode of a single top-level + * signer. + */ +export interface SignerInfo { + /** + * public_key is the public key of the signer. It is optional for accounts + * that already exist in state. If unset, the verifier can use the required \ + * signer address for this position and lookup the public key. + */ + publicKey?: Any; + /** + * mode_info describes the signing mode of the signer and is a nested + * structure to support nested multisig pubkey's + */ + modeInfo?: ModeInfo; + /** + * sequence is the sequence of the account, which describes the + * number of committed transactions signed by a given address. It is used to + * prevent replay attacks. + */ + sequence: bigint; +} +export interface SignerInfoProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.SignerInfo'; + value: Uint8Array; +} +/** + * SignerInfo describes the public key and signing mode of a single top-level + * signer. + */ +export interface SignerInfoAmino { + /** + * public_key is the public key of the signer. It is optional for accounts + * that already exist in state. If unset, the verifier can use the required \ + * signer address for this position and lookup the public key. + */ + public_key?: AnyAmino; + /** + * mode_info describes the signing mode of the signer and is a nested + * structure to support nested multisig pubkey's + */ + mode_info?: ModeInfoAmino; + /** + * sequence is the sequence of the account, which describes the + * number of committed transactions signed by a given address. It is used to + * prevent replay attacks. + */ + sequence?: string; +} +export interface SignerInfoAminoMsg { + type: 'cosmos-sdk/SignerInfo'; + value: SignerInfoAmino; +} +/** + * SignerInfo describes the public key and signing mode of a single top-level + * signer. + */ +export interface SignerInfoSDKType { + public_key?: AnySDKType; + mode_info?: ModeInfoSDKType; + sequence: bigint; +} +/** ModeInfo describes the signing mode of a single or nested multisig signer. */ +export interface ModeInfo { + /** single represents a single signer */ + single?: ModeInfo_Single; + /** multi represents a nested multisig signer */ + multi?: ModeInfo_Multi; +} +export interface ModeInfoProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.ModeInfo'; + value: Uint8Array; +} +/** ModeInfo describes the signing mode of a single or nested multisig signer. */ +export interface ModeInfoAmino { + /** single represents a single signer */ + single?: ModeInfo_SingleAmino; + /** multi represents a nested multisig signer */ + multi?: ModeInfo_MultiAmino; +} +export interface ModeInfoAminoMsg { + type: 'cosmos-sdk/ModeInfo'; + value: ModeInfoAmino; +} +/** ModeInfo describes the signing mode of a single or nested multisig signer. */ +export interface ModeInfoSDKType { + single?: ModeInfo_SingleSDKType; + multi?: ModeInfo_MultiSDKType; +} +/** + * Single is the mode info for a single signer. It is structured as a message + * to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the + * future + */ +export interface ModeInfo_Single { + /** mode is the signing mode of the single signer */ + mode: SignMode; +} +export interface ModeInfo_SingleProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.Single'; + value: Uint8Array; +} +/** + * Single is the mode info for a single signer. It is structured as a message + * to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the + * future + */ +export interface ModeInfo_SingleAmino { + /** mode is the signing mode of the single signer */ + mode?: SignMode; +} +export interface ModeInfo_SingleAminoMsg { + type: 'cosmos-sdk/Single'; + value: ModeInfo_SingleAmino; +} +/** + * Single is the mode info for a single signer. It is structured as a message + * to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the + * future + */ +export interface ModeInfo_SingleSDKType { + mode: SignMode; +} +/** Multi is the mode info for a multisig public key */ +export interface ModeInfo_Multi { + /** bitarray specifies which keys within the multisig are signing */ + bitarray?: CompactBitArray; + /** + * mode_infos is the corresponding modes of the signers of the multisig + * which could include nested multisig public keys + */ + modeInfos: ModeInfo[]; +} +export interface ModeInfo_MultiProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.Multi'; + value: Uint8Array; +} +/** Multi is the mode info for a multisig public key */ +export interface ModeInfo_MultiAmino { + /** bitarray specifies which keys within the multisig are signing */ + bitarray?: CompactBitArrayAmino; + /** + * mode_infos is the corresponding modes of the signers of the multisig + * which could include nested multisig public keys + */ + mode_infos?: ModeInfoAmino[]; +} +export interface ModeInfo_MultiAminoMsg { + type: 'cosmos-sdk/Multi'; + value: ModeInfo_MultiAmino; +} +/** Multi is the mode info for a multisig public key */ +export interface ModeInfo_MultiSDKType { + bitarray?: CompactBitArraySDKType; + mode_infos: ModeInfoSDKType[]; +} +/** + * Fee includes the amount of coins paid in fees and the maximum + * gas to be used by the transaction. The ratio yields an effective "gasprice", + * which must be above some miminum to be accepted into the mempool. + */ +export interface Fee { + /** amount is the amount of coins to be paid as a fee */ + amount: Coin[]; + /** + * gas_limit is the maximum gas that can be used in transaction processing + * before an out of gas error occurs + */ + gasLimit: bigint; + /** + * if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees. + * the payer must be a tx signer (and thus have signed this field in AuthInfo). + * setting this field does *not* change the ordering of required signers for the transaction. + */ + payer: string; + /** + * if set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used + * to pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does + * not support fee grants, this will fail + */ + granter: string; +} +export interface FeeProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.Fee'; + value: Uint8Array; +} +/** + * Fee includes the amount of coins paid in fees and the maximum + * gas to be used by the transaction. The ratio yields an effective "gasprice", + * which must be above some miminum to be accepted into the mempool. + */ +export interface FeeAmino { + /** amount is the amount of coins to be paid as a fee */ + amount: CoinAmino[]; + /** + * gas_limit is the maximum gas that can be used in transaction processing + * before an out of gas error occurs + */ + gas_limit?: string; + /** + * if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees. + * the payer must be a tx signer (and thus have signed this field in AuthInfo). + * setting this field does *not* change the ordering of required signers for the transaction. + */ + payer?: string; + /** + * if set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used + * to pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does + * not support fee grants, this will fail + */ + granter?: string; +} +export interface FeeAminoMsg { + type: 'cosmos-sdk/Fee'; + value: FeeAmino; +} +/** + * Fee includes the amount of coins paid in fees and the maximum + * gas to be used by the transaction. The ratio yields an effective "gasprice", + * which must be above some miminum to be accepted into the mempool. + */ +export interface FeeSDKType { + amount: CoinSDKType[]; + gas_limit: bigint; + payer: string; + granter: string; +} +/** + * Tip is the tip used for meta-transactions. + * + * Since: cosmos-sdk 0.46 + */ +/** @deprecated */ +export interface Tip { + /** amount is the amount of the tip */ + amount: Coin[]; + /** tipper is the address of the account paying for the tip */ + tipper: string; +} +export interface TipProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.Tip'; + value: Uint8Array; +} +/** + * Tip is the tip used for meta-transactions. + * + * Since: cosmos-sdk 0.46 + */ +/** @deprecated */ +export interface TipAmino { + /** amount is the amount of the tip */ + amount: CoinAmino[]; + /** tipper is the address of the account paying for the tip */ + tipper?: string; +} +export interface TipAminoMsg { + type: 'cosmos-sdk/Tip'; + value: TipAmino; +} +/** + * Tip is the tip used for meta-transactions. + * + * Since: cosmos-sdk 0.46 + */ +/** @deprecated */ +export interface TipSDKType { + amount: CoinSDKType[]; + tipper: string; +} +/** + * AuxSignerData is the intermediary format that an auxiliary signer (e.g. a + * tipper) builds and sends to the fee payer (who will build and broadcast the + * actual tx). AuxSignerData is not a valid tx in itself, and will be rejected + * by the node if sent directly as-is. + * + * Since: cosmos-sdk 0.46 + */ +export interface AuxSignerData { + /** + * address is the bech32-encoded address of the auxiliary signer. If using + * AuxSignerData across different chains, the bech32 prefix of the target + * chain (where the final transaction is broadcasted) should be used. + */ + address: string; + /** + * sign_doc is the SIGN_MODE_DIRECT_AUX sign doc that the auxiliary signer + * signs. Note: we use the same sign doc even if we're signing with + * LEGACY_AMINO_JSON. + */ + signDoc?: SignDocDirectAux; + /** mode is the signing mode of the single signer. */ + mode: SignMode; + /** sig is the signature of the sign doc. */ + sig: Uint8Array; +} +export interface AuxSignerDataProtoMsg { + typeUrl: '/cosmos.tx.v1beta1.AuxSignerData'; + value: Uint8Array; +} +/** + * AuxSignerData is the intermediary format that an auxiliary signer (e.g. a + * tipper) builds and sends to the fee payer (who will build and broadcast the + * actual tx). AuxSignerData is not a valid tx in itself, and will be rejected + * by the node if sent directly as-is. + * + * Since: cosmos-sdk 0.46 + */ +export interface AuxSignerDataAmino { + /** + * address is the bech32-encoded address of the auxiliary signer. If using + * AuxSignerData across different chains, the bech32 prefix of the target + * chain (where the final transaction is broadcasted) should be used. + */ + address?: string; + /** + * sign_doc is the SIGN_MODE_DIRECT_AUX sign doc that the auxiliary signer + * signs. Note: we use the same sign doc even if we're signing with + * LEGACY_AMINO_JSON. + */ + sign_doc?: SignDocDirectAuxAmino; + /** mode is the signing mode of the single signer. */ + mode?: SignMode; + /** sig is the signature of the sign doc. */ + sig?: string; +} +export interface AuxSignerDataAminoMsg { + type: 'cosmos-sdk/AuxSignerData'; + value: AuxSignerDataAmino; +} +/** + * AuxSignerData is the intermediary format that an auxiliary signer (e.g. a + * tipper) builds and sends to the fee payer (who will build and broadcast the + * actual tx). AuxSignerData is not a valid tx in itself, and will be rejected + * by the node if sent directly as-is. + * + * Since: cosmos-sdk 0.46 + */ +export interface AuxSignerDataSDKType { + address: string; + sign_doc?: SignDocDirectAuxSDKType; + mode: SignMode; + sig: Uint8Array; +} +function createBaseTx(): Tx { + return { + body: undefined, + authInfo: undefined, + signatures: [], + }; +} +export const Tx = { + typeUrl: '/cosmos.tx.v1beta1.Tx', + encode(message: Tx, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.body !== undefined) { + TxBody.encode(message.body, writer.uint32(10).fork()).ldelim(); + } + if (message.authInfo !== undefined) { + AuthInfo.encode(message.authInfo, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.signatures) { + writer.uint32(26).bytes(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Tx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.body = TxBody.decode(reader, reader.uint32()); + break; + case 2: + message.authInfo = AuthInfo.decode(reader, reader.uint32()); + break; + case 3: + message.signatures.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Tx { + const message = createBaseTx(); + message.body = object.body !== undefined && object.body !== null ? TxBody.fromPartial(object.body) : undefined; + message.authInfo = + object.authInfo !== undefined && object.authInfo !== null ? AuthInfo.fromPartial(object.authInfo) : undefined; + message.signatures = object.signatures?.map((e) => e) || []; + return message; + }, + fromAmino(object: TxAmino): Tx { + const message = createBaseTx(); + if (object.body !== undefined && object.body !== null) { + message.body = TxBody.fromAmino(object.body); + } + if (object.auth_info !== undefined && object.auth_info !== null) { + message.authInfo = AuthInfo.fromAmino(object.auth_info); + } + message.signatures = object.signatures?.map((e) => bytesFromBase64(e)) || []; + return message; + }, + toAmino(message: Tx): TxAmino { + const obj: any = {}; + obj.body = message.body ? TxBody.toAmino(message.body) : undefined; + obj.auth_info = message.authInfo ? AuthInfo.toAmino(message.authInfo) : undefined; + if (message.signatures) { + obj.signatures = message.signatures.map((e) => base64FromBytes(e)); + } else { + obj.signatures = message.signatures; + } + return obj; + }, + fromAminoMsg(object: TxAminoMsg): Tx { + return Tx.fromAmino(object.value); + }, + toAminoMsg(message: Tx): TxAminoMsg { + return { + type: 'cosmos-sdk/Tx', + value: Tx.toAmino(message), + }; + }, + fromProtoMsg(message: TxProtoMsg): Tx { + return Tx.decode(message.value); + }, + toProto(message: Tx): Uint8Array { + return Tx.encode(message).finish(); + }, + toProtoMsg(message: Tx): TxProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.Tx', + value: Tx.encode(message).finish(), + }; + }, +}; +function createBaseTxRaw(): TxRaw { + return { + bodyBytes: new Uint8Array(), + authInfoBytes: new Uint8Array(), + signatures: [], + }; +} +export const TxRaw = { + typeUrl: '/cosmos.tx.v1beta1.TxRaw', + encode(message: TxRaw, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.bodyBytes.length !== 0) { + writer.uint32(10).bytes(message.bodyBytes); + } + if (message.authInfoBytes.length !== 0) { + writer.uint32(18).bytes(message.authInfoBytes); + } + for (const v of message.signatures) { + writer.uint32(26).bytes(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxRaw { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxRaw(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.bodyBytes = reader.bytes(); + break; + case 2: + message.authInfoBytes = reader.bytes(); + break; + case 3: + message.signatures.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxRaw { + const message = createBaseTxRaw(); + message.bodyBytes = object.bodyBytes ?? new Uint8Array(); + message.authInfoBytes = object.authInfoBytes ?? new Uint8Array(); + message.signatures = object.signatures?.map((e) => e) || []; + return message; + }, + fromAmino(object: TxRawAmino): TxRaw { + const message = createBaseTxRaw(); + if (object.body_bytes !== undefined && object.body_bytes !== null) { + message.bodyBytes = bytesFromBase64(object.body_bytes); + } + if (object.auth_info_bytes !== undefined && object.auth_info_bytes !== null) { + message.authInfoBytes = bytesFromBase64(object.auth_info_bytes); + } + message.signatures = object.signatures?.map((e) => bytesFromBase64(e)) || []; + return message; + }, + toAmino(message: TxRaw): TxRawAmino { + const obj: any = {}; + obj.body_bytes = message.bodyBytes ? base64FromBytes(message.bodyBytes) : undefined; + obj.auth_info_bytes = message.authInfoBytes ? base64FromBytes(message.authInfoBytes) : undefined; + if (message.signatures) { + obj.signatures = message.signatures.map((e) => base64FromBytes(e)); + } else { + obj.signatures = message.signatures; + } + return obj; + }, + fromAminoMsg(object: TxRawAminoMsg): TxRaw { + return TxRaw.fromAmino(object.value); + }, + toAminoMsg(message: TxRaw): TxRawAminoMsg { + return { + type: 'cosmos-sdk/TxRaw', + value: TxRaw.toAmino(message), + }; + }, + fromProtoMsg(message: TxRawProtoMsg): TxRaw { + return TxRaw.decode(message.value); + }, + toProto(message: TxRaw): Uint8Array { + return TxRaw.encode(message).finish(); + }, + toProtoMsg(message: TxRaw): TxRawProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.TxRaw', + value: TxRaw.encode(message).finish(), + }; + }, +}; +function createBaseSignDoc(): SignDoc { + return { + bodyBytes: new Uint8Array(), + authInfoBytes: new Uint8Array(), + chainId: '', + accountNumber: BigInt(0), + }; +} +export const SignDoc = { + typeUrl: '/cosmos.tx.v1beta1.SignDoc', + encode(message: SignDoc, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.bodyBytes.length !== 0) { + writer.uint32(10).bytes(message.bodyBytes); + } + if (message.authInfoBytes.length !== 0) { + writer.uint32(18).bytes(message.authInfoBytes); + } + if (message.chainId !== '') { + writer.uint32(26).string(message.chainId); + } + if (message.accountNumber !== BigInt(0)) { + writer.uint32(32).uint64(message.accountNumber); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SignDoc { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignDoc(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): SignDoc { + const message = createBaseSignDoc(); + message.bodyBytes = object.bodyBytes ?? new Uint8Array(); + message.authInfoBytes = object.authInfoBytes ?? new Uint8Array(); + message.chainId = object.chainId ?? ''; + message.accountNumber = + object.accountNumber !== undefined && object.accountNumber !== null + ? BigInt(object.accountNumber.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: SignDocAmino): SignDoc { + const message = createBaseSignDoc(); + if (object.body_bytes !== undefined && object.body_bytes !== null) { + message.bodyBytes = bytesFromBase64(object.body_bytes); + } + if (object.auth_info_bytes !== undefined && object.auth_info_bytes !== null) { + message.authInfoBytes = bytesFromBase64(object.auth_info_bytes); + } + if (object.chain_id !== undefined && object.chain_id !== null) { + message.chainId = object.chain_id; + } + if (object.account_number !== undefined && object.account_number !== null) { + message.accountNumber = BigInt(object.account_number); + } + return message; + }, + toAmino(message: SignDoc): SignDocAmino { + const obj: any = {}; + obj.body_bytes = message.bodyBytes ? base64FromBytes(message.bodyBytes) : undefined; + obj.auth_info_bytes = message.authInfoBytes ? base64FromBytes(message.authInfoBytes) : undefined; + obj.chain_id = message.chainId === '' ? undefined : message.chainId; + obj.account_number = message.accountNumber !== BigInt(0) ? (message.accountNumber?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: SignDocAminoMsg): SignDoc { + return SignDoc.fromAmino(object.value); + }, + toAminoMsg(message: SignDoc): SignDocAminoMsg { + return { + type: 'cosmos-sdk/SignDoc', + value: SignDoc.toAmino(message), + }; + }, + fromProtoMsg(message: SignDocProtoMsg): SignDoc { + return SignDoc.decode(message.value); + }, + toProto(message: SignDoc): Uint8Array { + return SignDoc.encode(message).finish(); + }, + toProtoMsg(message: SignDoc): SignDocProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.SignDoc', + value: SignDoc.encode(message).finish(), + }; + }, +}; +function createBaseSignDocDirectAux(): SignDocDirectAux { + return { + bodyBytes: new Uint8Array(), + publicKey: undefined, + chainId: '', + accountNumber: BigInt(0), + sequence: BigInt(0), + tip: undefined, + }; +} +export const SignDocDirectAux = { + typeUrl: '/cosmos.tx.v1beta1.SignDocDirectAux', + encode(message: SignDocDirectAux, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.bodyBytes.length !== 0) { + writer.uint32(10).bytes(message.bodyBytes); + } + if (message.publicKey !== undefined) { + Any.encode(message.publicKey, writer.uint32(18).fork()).ldelim(); + } + if (message.chainId !== '') { + writer.uint32(26).string(message.chainId); + } + if (message.accountNumber !== BigInt(0)) { + writer.uint32(32).uint64(message.accountNumber); + } + if (message.sequence !== BigInt(0)) { + writer.uint32(40).uint64(message.sequence); + } + if (message.tip !== undefined) { + Tip.encode(message.tip, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SignDocDirectAux { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignDocDirectAux(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.bodyBytes = reader.bytes(); + break; + case 2: + message.publicKey = Any.decode(reader, reader.uint32()); + break; + case 3: + message.chainId = reader.string(); + break; + case 4: + message.accountNumber = reader.uint64(); + break; + case 5: + message.sequence = reader.uint64(); + break; + case 6: + message.tip = Tip.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SignDocDirectAux { + const message = createBaseSignDocDirectAux(); + message.bodyBytes = object.bodyBytes ?? new Uint8Array(); + message.publicKey = + object.publicKey !== undefined && object.publicKey !== null ? Any.fromPartial(object.publicKey) : undefined; + message.chainId = object.chainId ?? ''; + message.accountNumber = + object.accountNumber !== undefined && object.accountNumber !== null + ? BigInt(object.accountNumber.toString()) + : BigInt(0); + message.sequence = + object.sequence !== undefined && object.sequence !== null ? BigInt(object.sequence.toString()) : BigInt(0); + message.tip = object.tip !== undefined && object.tip !== null ? Tip.fromPartial(object.tip) : undefined; + return message; + }, + fromAmino(object: SignDocDirectAuxAmino): SignDocDirectAux { + const message = createBaseSignDocDirectAux(); + if (object.body_bytes !== undefined && object.body_bytes !== null) { + message.bodyBytes = bytesFromBase64(object.body_bytes); + } + if (object.public_key !== undefined && object.public_key !== null) { + message.publicKey = Any.fromAmino(object.public_key); + } + if (object.chain_id !== undefined && object.chain_id !== null) { + message.chainId = object.chain_id; + } + if (object.account_number !== undefined && object.account_number !== null) { + message.accountNumber = BigInt(object.account_number); + } + if (object.sequence !== undefined && object.sequence !== null) { + message.sequence = BigInt(object.sequence); + } + if (object.tip !== undefined && object.tip !== null) { + message.tip = Tip.fromAmino(object.tip); + } + return message; + }, + toAmino(message: SignDocDirectAux): SignDocDirectAuxAmino { + const obj: any = {}; + obj.body_bytes = message.bodyBytes ? base64FromBytes(message.bodyBytes) : undefined; + obj.public_key = message.publicKey ? Any.toAmino(message.publicKey) : undefined; + obj.chain_id = message.chainId === '' ? undefined : message.chainId; + obj.account_number = message.accountNumber !== BigInt(0) ? (message.accountNumber?.toString)() : undefined; + obj.sequence = message.sequence !== BigInt(0) ? (message.sequence?.toString)() : undefined; + obj.tip = message.tip ? Tip.toAmino(message.tip) : undefined; + return obj; + }, + fromAminoMsg(object: SignDocDirectAuxAminoMsg): SignDocDirectAux { + return SignDocDirectAux.fromAmino(object.value); + }, + toAminoMsg(message: SignDocDirectAux): SignDocDirectAuxAminoMsg { + return { + type: 'cosmos-sdk/SignDocDirectAux', + value: SignDocDirectAux.toAmino(message), + }; + }, + fromProtoMsg(message: SignDocDirectAuxProtoMsg): SignDocDirectAux { + return SignDocDirectAux.decode(message.value); + }, + toProto(message: SignDocDirectAux): Uint8Array { + return SignDocDirectAux.encode(message).finish(); + }, + toProtoMsg(message: SignDocDirectAux): SignDocDirectAuxProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.SignDocDirectAux', + value: SignDocDirectAux.encode(message).finish(), + }; + }, +}; +function createBaseTxBody(): TxBody { + return { + messages: [], + memo: '', + timeoutHeight: BigInt(0), + extensionOptions: [], + nonCriticalExtensionOptions: [], + }; +} +export const TxBody = { + typeUrl: '/cosmos.tx.v1beta1.TxBody', + encode(message: TxBody, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.messages) { + Any.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.memo !== '') { + writer.uint32(18).string(message.memo); + } + if (message.timeoutHeight !== BigInt(0)) { + writer.uint32(24).uint64(message.timeoutHeight); + } + for (const v of message.extensionOptions) { + Any.encode(v!, writer.uint32(8186).fork()).ldelim(); + } + for (const v of message.nonCriticalExtensionOptions) { + Any.encode(v!, writer.uint32(16378).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxBody { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxBody(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.messages.push(Any.decode(reader, reader.uint32())); + break; + case 2: + message.memo = reader.string(); + break; + case 3: + message.timeoutHeight = reader.uint64(); + break; + case 1023: + message.extensionOptions.push(Any.decode(reader, reader.uint32())); + break; + case 2047: + message.nonCriticalExtensionOptions.push(Any.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxBody { + const message = createBaseTxBody(); + message.messages = object.messages?.map((e) => Any.fromPartial(e)) || []; + message.memo = object.memo ?? ''; + message.timeoutHeight = + object.timeoutHeight !== undefined && object.timeoutHeight !== null + ? BigInt(object.timeoutHeight.toString()) + : BigInt(0); + message.extensionOptions = object.extensionOptions?.map((e) => Any.fromPartial(e)) || []; + message.nonCriticalExtensionOptions = object.nonCriticalExtensionOptions?.map((e) => Any.fromPartial(e)) || []; + return message; + }, + fromAmino(object: TxBodyAmino): TxBody { + const message = createBaseTxBody(); + message.messages = object.messages?.map((e) => Any.fromAmino(e)) || []; + if (object.memo !== undefined && object.memo !== null) { + message.memo = object.memo; + } + if (object.timeout_height !== undefined && object.timeout_height !== null) { + message.timeoutHeight = BigInt(object.timeout_height); + } + message.extensionOptions = object.extension_options?.map((e) => Any.fromAmino(e)) || []; + message.nonCriticalExtensionOptions = object.non_critical_extension_options?.map((e) => Any.fromAmino(e)) || []; + return message; + }, + toAmino(message: TxBody): TxBodyAmino { + const obj: any = {}; + if (message.messages) { + obj.messages = message.messages.map((e) => (e ? Any.toAmino(e) : undefined)); + } else { + obj.messages = message.messages; + } + obj.memo = message.memo === '' ? undefined : message.memo; + obj.timeout_height = message.timeoutHeight !== BigInt(0) ? (message.timeoutHeight?.toString)() : undefined; + if (message.extensionOptions) { + obj.extension_options = message.extensionOptions.map((e) => (e ? Any.toAmino(e) : undefined)); + } else { + obj.extension_options = message.extensionOptions; + } + if (message.nonCriticalExtensionOptions) { + obj.non_critical_extension_options = message.nonCriticalExtensionOptions.map((e) => + e ? Any.toAmino(e) : undefined, + ); + } else { + obj.non_critical_extension_options = message.nonCriticalExtensionOptions; + } + return obj; + }, + fromAminoMsg(object: TxBodyAminoMsg): TxBody { + return TxBody.fromAmino(object.value); + }, + toAminoMsg(message: TxBody): TxBodyAminoMsg { + return { + type: 'cosmos-sdk/TxBody', + value: TxBody.toAmino(message), + }; + }, + fromProtoMsg(message: TxBodyProtoMsg): TxBody { + return TxBody.decode(message.value); + }, + toProto(message: TxBody): Uint8Array { + return TxBody.encode(message).finish(); + }, + toProtoMsg(message: TxBody): TxBodyProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.TxBody', + value: TxBody.encode(message).finish(), + }; + }, +}; +function createBaseAuthInfo(): AuthInfo { + return { + signerInfos: [], + fee: undefined, + tip: undefined, + }; +} +export const AuthInfo = { + typeUrl: '/cosmos.tx.v1beta1.AuthInfo', + encode(message: AuthInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.signerInfos) { + SignerInfo.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.fee !== undefined) { + Fee.encode(message.fee, writer.uint32(18).fork()).ldelim(); + } + if (message.tip !== undefined) { + Tip.encode(message.tip, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AuthInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAuthInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signerInfos.push(SignerInfo.decode(reader, reader.uint32())); + break; + case 2: + message.fee = Fee.decode(reader, reader.uint32()); + break; + case 3: + message.tip = Tip.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AuthInfo { + const message = createBaseAuthInfo(); + message.signerInfos = object.signerInfos?.map((e) => SignerInfo.fromPartial(e)) || []; + message.fee = object.fee !== undefined && object.fee !== null ? Fee.fromPartial(object.fee) : undefined; + message.tip = object.tip !== undefined && object.tip !== null ? Tip.fromPartial(object.tip) : undefined; + return message; + }, + fromAmino(object: AuthInfoAmino): AuthInfo { + const message = createBaseAuthInfo(); + message.signerInfos = object.signer_infos?.map((e) => SignerInfo.fromAmino(e)) || []; + if (object.fee !== undefined && object.fee !== null) { + message.fee = Fee.fromAmino(object.fee); + } + if (object.tip !== undefined && object.tip !== null) { + message.tip = Tip.fromAmino(object.tip); + } + return message; + }, + toAmino(message: AuthInfo): AuthInfoAmino { + const obj: any = {}; + if (message.signerInfos) { + obj.signer_infos = message.signerInfos.map((e) => (e ? SignerInfo.toAmino(e) : undefined)); + } else { + obj.signer_infos = message.signerInfos; + } + obj.fee = message.fee ? Fee.toAmino(message.fee) : undefined; + obj.tip = message.tip ? Tip.toAmino(message.tip) : undefined; + return obj; + }, + fromAminoMsg(object: AuthInfoAminoMsg): AuthInfo { + return AuthInfo.fromAmino(object.value); + }, + toAminoMsg(message: AuthInfo): AuthInfoAminoMsg { + return { + type: 'cosmos-sdk/AuthInfo', + value: AuthInfo.toAmino(message), + }; + }, + fromProtoMsg(message: AuthInfoProtoMsg): AuthInfo { + return AuthInfo.decode(message.value); + }, + toProto(message: AuthInfo): Uint8Array { + return AuthInfo.encode(message).finish(); + }, + toProtoMsg(message: AuthInfo): AuthInfoProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.AuthInfo', + value: AuthInfo.encode(message).finish(), + }; + }, +}; +function createBaseSignerInfo(): SignerInfo { + return { + publicKey: undefined, + modeInfo: undefined, + sequence: BigInt(0), + }; +} +export const SignerInfo = { + typeUrl: '/cosmos.tx.v1beta1.SignerInfo', + encode(message: SignerInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.publicKey !== undefined) { + Any.encode(message.publicKey, writer.uint32(10).fork()).ldelim(); + } + if (message.modeInfo !== undefined) { + ModeInfo.encode(message.modeInfo, writer.uint32(18).fork()).ldelim(); + } + if (message.sequence !== BigInt(0)) { + writer.uint32(24).uint64(message.sequence); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SignerInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignerInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.publicKey = Any.decode(reader, reader.uint32()); + break; + case 2: + message.modeInfo = ModeInfo.decode(reader, reader.uint32()); + break; + case 3: + message.sequence = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SignerInfo { + const message = createBaseSignerInfo(); + message.publicKey = + object.publicKey !== undefined && object.publicKey !== null ? Any.fromPartial(object.publicKey) : undefined; + message.modeInfo = + object.modeInfo !== undefined && object.modeInfo !== null ? ModeInfo.fromPartial(object.modeInfo) : undefined; + message.sequence = + object.sequence !== undefined && object.sequence !== null ? BigInt(object.sequence.toString()) : BigInt(0); + return message; + }, + fromAmino(object: SignerInfoAmino): SignerInfo { + const message = createBaseSignerInfo(); + if (object.public_key !== undefined && object.public_key !== null) { + message.publicKey = Any.fromAmino(object.public_key); + } + if (object.mode_info !== undefined && object.mode_info !== null) { + message.modeInfo = ModeInfo.fromAmino(object.mode_info); + } + if (object.sequence !== undefined && object.sequence !== null) { + message.sequence = BigInt(object.sequence); + } + return message; + }, + toAmino(message: SignerInfo): SignerInfoAmino { + const obj: any = {}; + obj.public_key = message.publicKey ? Any.toAmino(message.publicKey) : undefined; + obj.mode_info = message.modeInfo ? ModeInfo.toAmino(message.modeInfo) : undefined; + obj.sequence = message.sequence !== BigInt(0) ? (message.sequence?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: SignerInfoAminoMsg): SignerInfo { + return SignerInfo.fromAmino(object.value); + }, + toAminoMsg(message: SignerInfo): SignerInfoAminoMsg { + return { + type: 'cosmos-sdk/SignerInfo', + value: SignerInfo.toAmino(message), + }; + }, + fromProtoMsg(message: SignerInfoProtoMsg): SignerInfo { + return SignerInfo.decode(message.value); + }, + toProto(message: SignerInfo): Uint8Array { + return SignerInfo.encode(message).finish(); + }, + toProtoMsg(message: SignerInfo): SignerInfoProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.SignerInfo', + value: SignerInfo.encode(message).finish(), + }; + }, +}; +function createBaseModeInfo(): ModeInfo { + return { + single: undefined, + multi: undefined, + }; +} +export const ModeInfo = { + typeUrl: '/cosmos.tx.v1beta1.ModeInfo', + encode(message: ModeInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.single !== undefined) { + ModeInfo_Single.encode(message.single, writer.uint32(10).fork()).ldelim(); + } + if (message.multi !== undefined) { + ModeInfo_Multi.encode(message.multi, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ModeInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModeInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.single = ModeInfo_Single.decode(reader, reader.uint32()); + break; + case 2: + message.multi = ModeInfo_Multi.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ModeInfo { + const message = createBaseModeInfo(); + message.single = + object.single !== undefined && object.single !== null ? ModeInfo_Single.fromPartial(object.single) : undefined; + message.multi = + object.multi !== undefined && object.multi !== null ? ModeInfo_Multi.fromPartial(object.multi) : undefined; + return message; + }, + fromAmino(object: ModeInfoAmino): ModeInfo { + const message = createBaseModeInfo(); + if (object.single !== undefined && object.single !== null) { + message.single = ModeInfo_Single.fromAmino(object.single); + } + if (object.multi !== undefined && object.multi !== null) { + message.multi = ModeInfo_Multi.fromAmino(object.multi); + } + return message; + }, + toAmino(message: ModeInfo): ModeInfoAmino { + const obj: any = {}; + obj.single = message.single ? ModeInfo_Single.toAmino(message.single) : undefined; + obj.multi = message.multi ? ModeInfo_Multi.toAmino(message.multi) : undefined; + return obj; + }, + fromAminoMsg(object: ModeInfoAminoMsg): ModeInfo { + return ModeInfo.fromAmino(object.value); + }, + toAminoMsg(message: ModeInfo): ModeInfoAminoMsg { + return { + type: 'cosmos-sdk/ModeInfo', + value: ModeInfo.toAmino(message), + }; + }, + fromProtoMsg(message: ModeInfoProtoMsg): ModeInfo { + return ModeInfo.decode(message.value); + }, + toProto(message: ModeInfo): Uint8Array { + return ModeInfo.encode(message).finish(); + }, + toProtoMsg(message: ModeInfo): ModeInfoProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.ModeInfo', + value: ModeInfo.encode(message).finish(), + }; + }, +}; +function createBaseModeInfo_Single(): ModeInfo_Single { + return { + mode: 0, + }; +} +export const ModeInfo_Single = { + typeUrl: '/cosmos.tx.v1beta1.Single', + encode(message: ModeInfo_Single, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.mode !== 0) { + writer.uint32(8).int32(message.mode); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ModeInfo_Single { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModeInfo_Single(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.mode = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ModeInfo_Single { + const message = createBaseModeInfo_Single(); + message.mode = object.mode ?? 0; + return message; + }, + fromAmino(object: ModeInfo_SingleAmino): ModeInfo_Single { + const message = createBaseModeInfo_Single(); + if (object.mode !== undefined && object.mode !== null) { + message.mode = object.mode; + } + return message; + }, + toAmino(message: ModeInfo_Single): ModeInfo_SingleAmino { + const obj: any = {}; + obj.mode = message.mode === 0 ? undefined : message.mode; + return obj; + }, + fromAminoMsg(object: ModeInfo_SingleAminoMsg): ModeInfo_Single { + return ModeInfo_Single.fromAmino(object.value); + }, + toAminoMsg(message: ModeInfo_Single): ModeInfo_SingleAminoMsg { + return { + type: 'cosmos-sdk/Single', + value: ModeInfo_Single.toAmino(message), + }; + }, + fromProtoMsg(message: ModeInfo_SingleProtoMsg): ModeInfo_Single { + return ModeInfo_Single.decode(message.value); + }, + toProto(message: ModeInfo_Single): Uint8Array { + return ModeInfo_Single.encode(message).finish(); + }, + toProtoMsg(message: ModeInfo_Single): ModeInfo_SingleProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.Single', + value: ModeInfo_Single.encode(message).finish(), + }; + }, +}; +function createBaseModeInfo_Multi(): ModeInfo_Multi { + return { + bitarray: undefined, + modeInfos: [], + }; +} +export const ModeInfo_Multi = { + typeUrl: '/cosmos.tx.v1beta1.Multi', + encode(message: ModeInfo_Multi, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.bitarray !== undefined) { + CompactBitArray.encode(message.bitarray, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.modeInfos) { + ModeInfo.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ModeInfo_Multi { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModeInfo_Multi(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.bitarray = CompactBitArray.decode(reader, reader.uint32()); + break; + case 2: + message.modeInfos.push(ModeInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ModeInfo_Multi { + const message = createBaseModeInfo_Multi(); + message.bitarray = + object.bitarray !== undefined && object.bitarray !== null + ? CompactBitArray.fromPartial(object.bitarray) + : undefined; + message.modeInfos = object.modeInfos?.map((e) => ModeInfo.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ModeInfo_MultiAmino): ModeInfo_Multi { + const message = createBaseModeInfo_Multi(); + if (object.bitarray !== undefined && object.bitarray !== null) { + message.bitarray = CompactBitArray.fromAmino(object.bitarray); + } + message.modeInfos = object.mode_infos?.map((e) => ModeInfo.fromAmino(e)) || []; + return message; + }, + toAmino(message: ModeInfo_Multi): ModeInfo_MultiAmino { + const obj: any = {}; + obj.bitarray = message.bitarray ? CompactBitArray.toAmino(message.bitarray) : undefined; + if (message.modeInfos) { + obj.mode_infos = message.modeInfos.map((e) => (e ? ModeInfo.toAmino(e) : undefined)); + } else { + obj.mode_infos = message.modeInfos; + } + return obj; + }, + fromAminoMsg(object: ModeInfo_MultiAminoMsg): ModeInfo_Multi { + return ModeInfo_Multi.fromAmino(object.value); + }, + toAminoMsg(message: ModeInfo_Multi): ModeInfo_MultiAminoMsg { + return { + type: 'cosmos-sdk/Multi', + value: ModeInfo_Multi.toAmino(message), + }; + }, + fromProtoMsg(message: ModeInfo_MultiProtoMsg): ModeInfo_Multi { + return ModeInfo_Multi.decode(message.value); + }, + toProto(message: ModeInfo_Multi): Uint8Array { + return ModeInfo_Multi.encode(message).finish(); + }, + toProtoMsg(message: ModeInfo_Multi): ModeInfo_MultiProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.Multi', + value: ModeInfo_Multi.encode(message).finish(), + }; + }, +}; +function createBaseFee(): Fee { + return { + amount: [], + gasLimit: BigInt(0), + payer: '', + granter: '', + }; +} +export const Fee = { + typeUrl: '/cosmos.tx.v1beta1.Fee', + encode(message: Fee, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.gasLimit !== BigInt(0)) { + writer.uint32(16).uint64(message.gasLimit); + } + if (message.payer !== '') { + writer.uint32(26).string(message.payer); + } + if (message.granter !== '') { + writer.uint32(34).string(message.granter); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Fee { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFee(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.amount.push(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; + }, + fromPartial(object: Partial): Fee { + const message = createBaseFee(); + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + message.gasLimit = + object.gasLimit !== undefined && object.gasLimit !== null ? BigInt(object.gasLimit.toString()) : BigInt(0); + message.payer = object.payer ?? ''; + message.granter = object.granter ?? ''; + return message; + }, + fromAmino(object: FeeAmino): Fee { + const message = createBaseFee(); + message.amount = object.amount?.map((e) => Coin.fromAmino(e)) || []; + if (object.gas_limit !== undefined && object.gas_limit !== null) { + message.gasLimit = BigInt(object.gas_limit); + } + if (object.payer !== undefined && object.payer !== null) { + message.payer = object.payer; + } + if (object.granter !== undefined && object.granter !== null) { + message.granter = object.granter; + } + return message; + }, + toAmino(message: Fee): FeeAmino { + const obj: any = {}; + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amount = message.amount; + } + obj.gas_limit = message.gasLimit !== BigInt(0) ? (message.gasLimit?.toString)() : undefined; + obj.payer = message.payer === '' ? undefined : message.payer; + obj.granter = message.granter === '' ? undefined : message.granter; + return obj; + }, + fromAminoMsg(object: FeeAminoMsg): Fee { + return Fee.fromAmino(object.value); + }, + toAminoMsg(message: Fee): FeeAminoMsg { + return { + type: 'cosmos-sdk/Fee', + value: Fee.toAmino(message), + }; + }, + fromProtoMsg(message: FeeProtoMsg): Fee { + return Fee.decode(message.value); + }, + toProto(message: Fee): Uint8Array { + return Fee.encode(message).finish(); + }, + toProtoMsg(message: Fee): FeeProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.Fee', + value: Fee.encode(message).finish(), + }; + }, +}; +function createBaseTip(): Tip { + return { + amount: [], + tipper: '', + }; +} +export const Tip = { + typeUrl: '/cosmos.tx.v1beta1.Tip', + encode(message: Tip, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.amount) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.tipper !== '') { + writer.uint32(18).string(message.tipper); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Tip { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTip(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.amount.push(Coin.decode(reader, reader.uint32())); + break; + case 2: + message.tipper = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Tip { + const message = createBaseTip(); + message.amount = object.amount?.map((e) => Coin.fromPartial(e)) || []; + message.tipper = object.tipper ?? ''; + return message; + }, + fromAmino(object: TipAmino): Tip { + const message = createBaseTip(); + message.amount = object.amount?.map((e) => Coin.fromAmino(e)) || []; + if (object.tipper !== undefined && object.tipper !== null) { + message.tipper = object.tipper; + } + return message; + }, + toAmino(message: Tip): TipAmino { + const obj: any = {}; + if (message.amount) { + obj.amount = message.amount.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amount = message.amount; + } + obj.tipper = message.tipper === '' ? undefined : message.tipper; + return obj; + }, + fromAminoMsg(object: TipAminoMsg): Tip { + return Tip.fromAmino(object.value); + }, + toAminoMsg(message: Tip): TipAminoMsg { + return { + type: 'cosmos-sdk/Tip', + value: Tip.toAmino(message), + }; + }, + fromProtoMsg(message: TipProtoMsg): Tip { + return Tip.decode(message.value); + }, + toProto(message: Tip): Uint8Array { + return Tip.encode(message).finish(); + }, + toProtoMsg(message: Tip): TipProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.Tip', + value: Tip.encode(message).finish(), + }; + }, +}; +function createBaseAuxSignerData(): AuxSignerData { + return { + address: '', + signDoc: undefined, + mode: 0, + sig: new Uint8Array(), + }; +} +export const AuxSignerData = { + typeUrl: '/cosmos.tx.v1beta1.AuxSignerData', + encode(message: AuxSignerData, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.address !== '') { + writer.uint32(10).string(message.address); + } + if (message.signDoc !== undefined) { + SignDocDirectAux.encode(message.signDoc, writer.uint32(18).fork()).ldelim(); + } + if (message.mode !== 0) { + writer.uint32(24).int32(message.mode); + } + if (message.sig.length !== 0) { + writer.uint32(34).bytes(message.sig); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AuxSignerData { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAuxSignerData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.signDoc = SignDocDirectAux.decode(reader, reader.uint32()); + break; + case 3: + message.mode = reader.int32() as any; + break; + case 4: + message.sig = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AuxSignerData { + const message = createBaseAuxSignerData(); + message.address = object.address ?? ''; + message.signDoc = + object.signDoc !== undefined && object.signDoc !== null + ? SignDocDirectAux.fromPartial(object.signDoc) + : undefined; + message.mode = object.mode ?? 0; + message.sig = object.sig ?? new Uint8Array(); + return message; + }, + fromAmino(object: AuxSignerDataAmino): AuxSignerData { + const message = createBaseAuxSignerData(); + if (object.address !== undefined && object.address !== null) { + message.address = object.address; + } + if (object.sign_doc !== undefined && object.sign_doc !== null) { + message.signDoc = SignDocDirectAux.fromAmino(object.sign_doc); + } + if (object.mode !== undefined && object.mode !== null) { + message.mode = object.mode; + } + if (object.sig !== undefined && object.sig !== null) { + message.sig = bytesFromBase64(object.sig); + } + return message; + }, + toAmino(message: AuxSignerData): AuxSignerDataAmino { + const obj: any = {}; + obj.address = message.address === '' ? undefined : message.address; + obj.sign_doc = message.signDoc ? SignDocDirectAux.toAmino(message.signDoc) : undefined; + obj.mode = message.mode === 0 ? undefined : message.mode; + obj.sig = message.sig ? base64FromBytes(message.sig) : undefined; + return obj; + }, + fromAminoMsg(object: AuxSignerDataAminoMsg): AuxSignerData { + return AuxSignerData.fromAmino(object.value); + }, + toAminoMsg(message: AuxSignerData): AuxSignerDataAminoMsg { + return { + type: 'cosmos-sdk/AuxSignerData', + value: AuxSignerData.toAmino(message), + }; + }, + fromProtoMsg(message: AuxSignerDataProtoMsg): AuxSignerData { + return AuxSignerData.decode(message.value); + }, + toProto(message: AuxSignerData): Uint8Array { + return AuxSignerData.encode(message).finish(); + }, + toProtoMsg(message: AuxSignerData): AuxSignerDataProtoMsg { + return { + typeUrl: '/cosmos.tx.v1beta1.AuxSignerData', + value: AuxSignerData.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/upgrade/v1beta1/upgrade.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/upgrade/v1beta1/upgrade.ts new file mode 100644 index 00000000..971c2a65 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmos/upgrade/v1beta1/upgrade.ts @@ -0,0 +1,611 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Any, AnyAmino, AnySDKType } from 'cosmjs-types/google/protobuf/any'; +import { Timestamp } from 'cosmjs-types/google/protobuf/timestamp'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { fromTimestamp, toTimestamp } from '../../../../../helpers'; +/** Plan specifies information about a planned upgrade and when it should occur. */ +export interface Plan { + /** + * Sets the name for the upgrade. This name will be used by the upgraded + * version of the software to apply any special "on-upgrade" commands during + * the first BeginBlock method after the upgrade is applied. It is also used + * to detect whether a software version can handle a given upgrade. If no + * upgrade handler with this name has been set in the software, it will be + * assumed that the software is out-of-date when the upgrade Time or Height is + * reached and the software will exit. + */ + name: string; + /** + * Deprecated: Time based upgrades have been deprecated. Time based upgrade logic + * has been removed from the SDK. + * If this field is not empty, an error will be thrown. + */ + /** @deprecated */ + time: Date; + /** The height at which the upgrade must be performed. */ + height: bigint; + /** + * Any application specific upgrade info to be included on-chain + * such as a git commit that validators could automatically upgrade to + */ + info: string; + /** + * Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been + * moved to the IBC module in the sub module 02-client. + * If this field is not empty, an error will be thrown. + */ + /** @deprecated */ + upgradedClientState?: Any; +} +export interface PlanProtoMsg { + typeUrl: '/cosmos.upgrade.v1beta1.Plan'; + value: Uint8Array; +} +/** Plan specifies information about a planned upgrade and when it should occur. */ +export interface PlanAmino { + /** + * Sets the name for the upgrade. This name will be used by the upgraded + * version of the software to apply any special "on-upgrade" commands during + * the first BeginBlock method after the upgrade is applied. It is also used + * to detect whether a software version can handle a given upgrade. If no + * upgrade handler with this name has been set in the software, it will be + * assumed that the software is out-of-date when the upgrade Time or Height is + * reached and the software will exit. + */ + name?: string; + /** + * Deprecated: Time based upgrades have been deprecated. Time based upgrade logic + * has been removed from the SDK. + * If this field is not empty, an error will be thrown. + */ + /** @deprecated */ + time: string; + /** The height at which the upgrade must be performed. */ + height?: string; + /** + * Any application specific upgrade info to be included on-chain + * such as a git commit that validators could automatically upgrade to + */ + info?: string; + /** + * Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been + * moved to the IBC module in the sub module 02-client. + * If this field is not empty, an error will be thrown. + */ + /** @deprecated */ + upgraded_client_state?: AnyAmino; +} +export interface PlanAminoMsg { + type: 'cosmos-sdk/Plan'; + value: PlanAmino; +} +/** Plan specifies information about a planned upgrade and when it should occur. */ +export interface PlanSDKType { + name: string; + /** @deprecated */ + time: Date; + height: bigint; + info: string; + /** @deprecated */ + upgraded_client_state?: AnySDKType; +} +/** + * SoftwareUpgradeProposal is a gov Content type for initiating a software + * upgrade. + * Deprecated: This legacy proposal is deprecated in favor of Msg-based gov + * proposals, see MsgSoftwareUpgrade. + */ +/** @deprecated */ +export interface SoftwareUpgradeProposal { + $typeUrl?: '/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal'; + /** title of the proposal */ + title: string; + /** description of the proposal */ + description: string; + /** plan of the proposal */ + plan: Plan; +} +export interface SoftwareUpgradeProposalProtoMsg { + typeUrl: '/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal'; + value: Uint8Array; +} +/** + * SoftwareUpgradeProposal is a gov Content type for initiating a software + * upgrade. + * Deprecated: This legacy proposal is deprecated in favor of Msg-based gov + * proposals, see MsgSoftwareUpgrade. + */ +/** @deprecated */ +export interface SoftwareUpgradeProposalAmino { + /** title of the proposal */ + title?: string; + /** description of the proposal */ + description?: string; + /** plan of the proposal */ + plan: PlanAmino; +} +export interface SoftwareUpgradeProposalAminoMsg { + type: 'cosmos-sdk/SoftwareUpgradeProposal'; + value: SoftwareUpgradeProposalAmino; +} +/** + * SoftwareUpgradeProposal is a gov Content type for initiating a software + * upgrade. + * Deprecated: This legacy proposal is deprecated in favor of Msg-based gov + * proposals, see MsgSoftwareUpgrade. + */ +/** @deprecated */ +export interface SoftwareUpgradeProposalSDKType { + $typeUrl?: '/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal'; + title: string; + description: string; + plan: PlanSDKType; +} +/** + * CancelSoftwareUpgradeProposal is a gov Content type for cancelling a software + * upgrade. + * Deprecated: This legacy proposal is deprecated in favor of Msg-based gov + * proposals, see MsgCancelUpgrade. + */ +/** @deprecated */ +export interface CancelSoftwareUpgradeProposal { + $typeUrl?: '/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal'; + /** title of the proposal */ + title: string; + /** description of the proposal */ + description: string; +} +export interface CancelSoftwareUpgradeProposalProtoMsg { + typeUrl: '/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal'; + value: Uint8Array; +} +/** + * CancelSoftwareUpgradeProposal is a gov Content type for cancelling a software + * upgrade. + * Deprecated: This legacy proposal is deprecated in favor of Msg-based gov + * proposals, see MsgCancelUpgrade. + */ +/** @deprecated */ +export interface CancelSoftwareUpgradeProposalAmino { + /** title of the proposal */ + title?: string; + /** description of the proposal */ + description?: string; +} +export interface CancelSoftwareUpgradeProposalAminoMsg { + type: 'cosmos-sdk/CancelSoftwareUpgradeProposal'; + value: CancelSoftwareUpgradeProposalAmino; +} +/** + * CancelSoftwareUpgradeProposal is a gov Content type for cancelling a software + * upgrade. + * Deprecated: This legacy proposal is deprecated in favor of Msg-based gov + * proposals, see MsgCancelUpgrade. + */ +/** @deprecated */ +export interface CancelSoftwareUpgradeProposalSDKType { + $typeUrl?: '/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal'; + title: string; + description: string; +} +/** + * ModuleVersion specifies a module and its consensus version. + * + * Since: cosmos-sdk 0.43 + */ +export interface ModuleVersion { + /** name of the app module */ + name: string; + /** consensus version of the app module */ + version: bigint; +} +export interface ModuleVersionProtoMsg { + typeUrl: '/cosmos.upgrade.v1beta1.ModuleVersion'; + value: Uint8Array; +} +/** + * ModuleVersion specifies a module and its consensus version. + * + * Since: cosmos-sdk 0.43 + */ +export interface ModuleVersionAmino { + /** name of the app module */ + name?: string; + /** consensus version of the app module */ + version?: string; +} +export interface ModuleVersionAminoMsg { + type: 'cosmos-sdk/ModuleVersion'; + value: ModuleVersionAmino; +} +/** + * ModuleVersion specifies a module and its consensus version. + * + * Since: cosmos-sdk 0.43 + */ +export interface ModuleVersionSDKType { + name: string; + version: bigint; +} +function createBasePlan(): Plan { + return { + name: '', + time: new Date(), + height: BigInt(0), + info: '', + upgradedClientState: undefined, + }; +} +export const Plan = { + typeUrl: '/cosmos.upgrade.v1beta1.Plan', + encode(message: Plan, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.name !== '') { + writer.uint32(10).string(message.name); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(18).fork()).ldelim(); + } + if (message.height !== BigInt(0)) { + writer.uint32(24).int64(message.height); + } + if (message.info !== '') { + writer.uint32(34).string(message.info); + } + if (message.upgradedClientState !== undefined) { + Any.encode(message.upgradedClientState, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Plan { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePlan(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 3: + message.height = reader.int64(); + break; + case 4: + message.info = reader.string(); + break; + case 5: + message.upgradedClientState = Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Plan { + const message = createBasePlan(); + message.name = object.name ?? ''; + message.time = object.time ?? undefined; + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.info = object.info ?? ''; + message.upgradedClientState = + object.upgradedClientState !== undefined && object.upgradedClientState !== null + ? Any.fromPartial(object.upgradedClientState) + : undefined; + return message; + }, + fromAmino(object: PlanAmino): Plan { + const message = createBasePlan(); + if (object.name !== undefined && object.name !== null) { + message.name = object.name; + } + if (object.time !== undefined && object.time !== null) { + message.time = fromTimestamp(Timestamp.fromAmino(object.time)); + } + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.info !== undefined && object.info !== null) { + message.info = object.info; + } + if (object.upgraded_client_state !== undefined && object.upgraded_client_state !== null) { + message.upgradedClientState = Any.fromAmino(object.upgraded_client_state); + } + return message; + }, + toAmino(message: Plan): PlanAmino { + const obj: any = {}; + obj.name = message.name === '' ? undefined : message.name; + obj.time = message.time ? Timestamp.toAmino(toTimestamp(message.time)) : new Date(); + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.info = message.info === '' ? undefined : message.info; + obj.upgraded_client_state = message.upgradedClientState ? Any.toAmino(message.upgradedClientState) : undefined; + return obj; + }, + fromAminoMsg(object: PlanAminoMsg): Plan { + return Plan.fromAmino(object.value); + }, + toAminoMsg(message: Plan): PlanAminoMsg { + return { + type: 'cosmos-sdk/Plan', + value: Plan.toAmino(message), + }; + }, + fromProtoMsg(message: PlanProtoMsg): Plan { + return Plan.decode(message.value); + }, + toProto(message: Plan): Uint8Array { + return Plan.encode(message).finish(); + }, + toProtoMsg(message: Plan): PlanProtoMsg { + return { + typeUrl: '/cosmos.upgrade.v1beta1.Plan', + value: Plan.encode(message).finish(), + }; + }, +}; +function createBaseSoftwareUpgradeProposal(): SoftwareUpgradeProposal { + return { + $typeUrl: '/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal', + title: '', + description: '', + plan: Plan.fromPartial({}), + }; +} +export const SoftwareUpgradeProposal = { + typeUrl: '/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal', + encode(message: SoftwareUpgradeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.plan !== undefined) { + Plan.encode(message.plan, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SoftwareUpgradeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSoftwareUpgradeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.plan = Plan.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SoftwareUpgradeProposal { + const message = createBaseSoftwareUpgradeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.plan = object.plan !== undefined && object.plan !== null ? Plan.fromPartial(object.plan) : undefined; + return message; + }, + fromAmino(object: SoftwareUpgradeProposalAmino): SoftwareUpgradeProposal { + const message = createBaseSoftwareUpgradeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.plan !== undefined && object.plan !== null) { + message.plan = Plan.fromAmino(object.plan); + } + return message; + }, + toAmino(message: SoftwareUpgradeProposal): SoftwareUpgradeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.plan = message.plan ? Plan.toAmino(message.plan) : Plan.toAmino(Plan.fromPartial({})); + return obj; + }, + fromAminoMsg(object: SoftwareUpgradeProposalAminoMsg): SoftwareUpgradeProposal { + return SoftwareUpgradeProposal.fromAmino(object.value); + }, + toAminoMsg(message: SoftwareUpgradeProposal): SoftwareUpgradeProposalAminoMsg { + return { + type: 'cosmos-sdk/SoftwareUpgradeProposal', + value: SoftwareUpgradeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: SoftwareUpgradeProposalProtoMsg): SoftwareUpgradeProposal { + return SoftwareUpgradeProposal.decode(message.value); + }, + toProto(message: SoftwareUpgradeProposal): Uint8Array { + return SoftwareUpgradeProposal.encode(message).finish(); + }, + toProtoMsg(message: SoftwareUpgradeProposal): SoftwareUpgradeProposalProtoMsg { + return { + typeUrl: '/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal', + value: SoftwareUpgradeProposal.encode(message).finish(), + }; + }, +}; +function createBaseCancelSoftwareUpgradeProposal(): CancelSoftwareUpgradeProposal { + return { + $typeUrl: '/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal', + title: '', + description: '', + }; +} +export const CancelSoftwareUpgradeProposal = { + typeUrl: '/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal', + encode(message: CancelSoftwareUpgradeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): CancelSoftwareUpgradeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCancelSoftwareUpgradeProposal(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): CancelSoftwareUpgradeProposal { + const message = createBaseCancelSoftwareUpgradeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + return message; + }, + fromAmino(object: CancelSoftwareUpgradeProposalAmino): CancelSoftwareUpgradeProposal { + const message = createBaseCancelSoftwareUpgradeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + return message; + }, + toAmino(message: CancelSoftwareUpgradeProposal): CancelSoftwareUpgradeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + return obj; + }, + fromAminoMsg(object: CancelSoftwareUpgradeProposalAminoMsg): CancelSoftwareUpgradeProposal { + return CancelSoftwareUpgradeProposal.fromAmino(object.value); + }, + toAminoMsg(message: CancelSoftwareUpgradeProposal): CancelSoftwareUpgradeProposalAminoMsg { + return { + type: 'cosmos-sdk/CancelSoftwareUpgradeProposal', + value: CancelSoftwareUpgradeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: CancelSoftwareUpgradeProposalProtoMsg): CancelSoftwareUpgradeProposal { + return CancelSoftwareUpgradeProposal.decode(message.value); + }, + toProto(message: CancelSoftwareUpgradeProposal): Uint8Array { + return CancelSoftwareUpgradeProposal.encode(message).finish(); + }, + toProtoMsg(message: CancelSoftwareUpgradeProposal): CancelSoftwareUpgradeProposalProtoMsg { + return { + typeUrl: '/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal', + value: CancelSoftwareUpgradeProposal.encode(message).finish(), + }; + }, +}; +function createBaseModuleVersion(): ModuleVersion { + return { + name: '', + version: BigInt(0), + }; +} +export const ModuleVersion = { + typeUrl: '/cosmos.upgrade.v1beta1.ModuleVersion', + encode(message: ModuleVersion, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.name !== '') { + writer.uint32(10).string(message.name); + } + if (message.version !== BigInt(0)) { + writer.uint32(16).uint64(message.version); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ModuleVersion { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleVersion(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.name = reader.string(); + break; + case 2: + message.version = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ModuleVersion { + const message = createBaseModuleVersion(); + message.name = object.name ?? ''; + message.version = + object.version !== undefined && object.version !== null ? BigInt(object.version.toString()) : BigInt(0); + return message; + }, + fromAmino(object: ModuleVersionAmino): ModuleVersion { + const message = createBaseModuleVersion(); + if (object.name !== undefined && object.name !== null) { + message.name = object.name; + } + if (object.version !== undefined && object.version !== null) { + message.version = BigInt(object.version); + } + return message; + }, + toAmino(message: ModuleVersion): ModuleVersionAmino { + const obj: any = {}; + obj.name = message.name === '' ? undefined : message.name; + obj.version = message.version !== BigInt(0) ? (message.version?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: ModuleVersionAminoMsg): ModuleVersion { + return ModuleVersion.fromAmino(object.value); + }, + toAminoMsg(message: ModuleVersion): ModuleVersionAminoMsg { + return { + type: 'cosmos-sdk/ModuleVersion', + value: ModuleVersion.toAmino(message), + }; + }, + fromProtoMsg(message: ModuleVersionProtoMsg): ModuleVersion { + return ModuleVersion.decode(message.value); + }, + toProto(message: ModuleVersion): Uint8Array { + return ModuleVersion.encode(message).finish(); + }, + toProtoMsg(message: ModuleVersion): ModuleVersionProtoMsg { + return { + typeUrl: '/cosmos.upgrade.v1beta1.ModuleVersion', + value: ModuleVersion.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmwasm/wasm/v1/authz.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmwasm/wasm/v1/authz.ts new file mode 100644 index 00000000..74b8819c --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmwasm/wasm/v1/authz.ts @@ -0,0 +1,1386 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { fromUtf8, toUtf8 } from '@cosmjs/encoding'; +import { Any, AnyAmino, AnyProtoMsg, AnySDKType } from 'cosmjs-types/google/protobuf/any'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +import { Coin, CoinAmino, CoinSDKType } from '../../../cosmos/base/v1beta1/coin'; +import { AccessConfig, AccessConfigAmino, AccessConfigSDKType } from './types'; +/** + * StoreCodeAuthorization defines authorization for wasm code upload. + * Since: wasmd 0.42 + */ +export interface StoreCodeAuthorization { + $typeUrl?: '/cosmwasm.wasm.v1.StoreCodeAuthorization'; + /** Grants for code upload */ + grants: CodeGrant[]; +} +export interface StoreCodeAuthorizationProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.StoreCodeAuthorization'; + value: Uint8Array; +} +/** + * StoreCodeAuthorization defines authorization for wasm code upload. + * Since: wasmd 0.42 + */ +export interface StoreCodeAuthorizationAmino { + /** Grants for code upload */ + grants: CodeGrantAmino[]; +} +export interface StoreCodeAuthorizationAminoMsg { + type: 'wasm/StoreCodeAuthorization'; + value: StoreCodeAuthorizationAmino; +} +/** + * StoreCodeAuthorization defines authorization for wasm code upload. + * Since: wasmd 0.42 + */ +export interface StoreCodeAuthorizationSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.StoreCodeAuthorization'; + grants: CodeGrantSDKType[]; +} +/** + * ContractExecutionAuthorization defines authorization for wasm execute. + * Since: wasmd 0.30 + */ +export interface ContractExecutionAuthorization { + $typeUrl?: '/cosmwasm.wasm.v1.ContractExecutionAuthorization'; + /** Grants for contract executions */ + grants: ContractGrant[]; +} +export interface ContractExecutionAuthorizationProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.ContractExecutionAuthorization'; + value: Uint8Array; +} +/** + * ContractExecutionAuthorization defines authorization for wasm execute. + * Since: wasmd 0.30 + */ +export interface ContractExecutionAuthorizationAmino { + /** Grants for contract executions */ + grants: ContractGrantAmino[]; +} +export interface ContractExecutionAuthorizationAminoMsg { + type: 'wasm/ContractExecutionAuthorization'; + value: ContractExecutionAuthorizationAmino; +} +/** + * ContractExecutionAuthorization defines authorization for wasm execute. + * Since: wasmd 0.30 + */ +export interface ContractExecutionAuthorizationSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.ContractExecutionAuthorization'; + grants: ContractGrantSDKType[]; +} +/** + * ContractMigrationAuthorization defines authorization for wasm contract + * migration. Since: wasmd 0.30 + */ +export interface ContractMigrationAuthorization { + $typeUrl?: '/cosmwasm.wasm.v1.ContractMigrationAuthorization'; + /** Grants for contract migrations */ + grants: ContractGrant[]; +} +export interface ContractMigrationAuthorizationProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.ContractMigrationAuthorization'; + value: Uint8Array; +} +/** + * ContractMigrationAuthorization defines authorization for wasm contract + * migration. Since: wasmd 0.30 + */ +export interface ContractMigrationAuthorizationAmino { + /** Grants for contract migrations */ + grants: ContractGrantAmino[]; +} +export interface ContractMigrationAuthorizationAminoMsg { + type: 'wasm/ContractMigrationAuthorization'; + value: ContractMigrationAuthorizationAmino; +} +/** + * ContractMigrationAuthorization defines authorization for wasm contract + * migration. Since: wasmd 0.30 + */ +export interface ContractMigrationAuthorizationSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.ContractMigrationAuthorization'; + grants: ContractGrantSDKType[]; +} +/** CodeGrant a granted permission for a single code */ +export interface CodeGrant { + /** + * CodeHash is the unique identifier created by wasmvm + * Wildcard "*" is used to specify any kind of grant. + */ + codeHash: Uint8Array; + /** + * InstantiatePermission is the superset access control to apply + * on contract creation. + * Optional + */ + instantiatePermission?: AccessConfig; +} +export interface CodeGrantProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.CodeGrant'; + value: Uint8Array; +} +/** CodeGrant a granted permission for a single code */ +export interface CodeGrantAmino { + /** + * CodeHash is the unique identifier created by wasmvm + * Wildcard "*" is used to specify any kind of grant. + */ + code_hash?: string; + /** + * InstantiatePermission is the superset access control to apply + * on contract creation. + * Optional + */ + instantiate_permission?: AccessConfigAmino; +} +export interface CodeGrantAminoMsg { + type: 'wasm/CodeGrant'; + value: CodeGrantAmino; +} +/** CodeGrant a granted permission for a single code */ +export interface CodeGrantSDKType { + code_hash: Uint8Array; + instantiate_permission?: AccessConfigSDKType; +} +/** + * ContractGrant a granted permission for a single contract + * Since: wasmd 0.30 + */ +export interface ContractGrant { + /** Contract is the bech32 address of the smart contract */ + contract: string; + /** + * Limit defines execution limits that are enforced and updated when the grant + * is applied. When the limit lapsed the grant is removed. + */ + limit?: MaxCallsLimit | MaxFundsLimit | CombinedLimit | Any | undefined; + /** + * Filter define more fine-grained control on the message payload passed + * to the contract in the operation. When no filter applies on execution, the + * operation is prohibited. + */ + filter?: AllowAllMessagesFilter | AcceptedMessageKeysFilter | AcceptedMessagesFilter | Any | undefined; +} +export interface ContractGrantProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.ContractGrant'; + value: Uint8Array; +} +export type ContractGrantEncoded = Omit & { + /** + * Limit defines execution limits that are enforced and updated when the grant + * is applied. When the limit lapsed the grant is removed. + */ + limit?: MaxCallsLimitProtoMsg | MaxFundsLimitProtoMsg | CombinedLimitProtoMsg | AnyProtoMsg | undefined; + /** + * Filter define more fine-grained control on the message payload passed + * to the contract in the operation. When no filter applies on execution, the + * operation is prohibited. + */ + filter?: + | AllowAllMessagesFilterProtoMsg + | AcceptedMessageKeysFilterProtoMsg + | AcceptedMessagesFilterProtoMsg + | AnyProtoMsg + | undefined; +}; +/** + * ContractGrant a granted permission for a single contract + * Since: wasmd 0.30 + */ +export interface ContractGrantAmino { + /** Contract is the bech32 address of the smart contract */ + contract?: string; + /** + * Limit defines execution limits that are enforced and updated when the grant + * is applied. When the limit lapsed the grant is removed. + */ + limit?: AnyAmino; + /** + * Filter define more fine-grained control on the message payload passed + * to the contract in the operation. When no filter applies on execution, the + * operation is prohibited. + */ + filter?: AnyAmino; +} +export interface ContractGrantAminoMsg { + type: 'wasm/ContractGrant'; + value: ContractGrantAmino; +} +/** + * ContractGrant a granted permission for a single contract + * Since: wasmd 0.30 + */ +export interface ContractGrantSDKType { + contract: string; + limit?: MaxCallsLimitSDKType | MaxFundsLimitSDKType | CombinedLimitSDKType | AnySDKType | undefined; + filter?: + | AllowAllMessagesFilterSDKType + | AcceptedMessageKeysFilterSDKType + | AcceptedMessagesFilterSDKType + | AnySDKType + | undefined; +} +/** + * MaxCallsLimit limited number of calls to the contract. No funds transferable. + * Since: wasmd 0.30 + */ +export interface MaxCallsLimit { + $typeUrl?: '/cosmwasm.wasm.v1.MaxCallsLimit'; + /** Remaining number that is decremented on each execution */ + remaining: bigint; +} +export interface MaxCallsLimitProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MaxCallsLimit'; + value: Uint8Array; +} +/** + * MaxCallsLimit limited number of calls to the contract. No funds transferable. + * Since: wasmd 0.30 + */ +export interface MaxCallsLimitAmino { + /** Remaining number that is decremented on each execution */ + remaining?: string; +} +export interface MaxCallsLimitAminoMsg { + type: 'wasm/MaxCallsLimit'; + value: MaxCallsLimitAmino; +} +/** + * MaxCallsLimit limited number of calls to the contract. No funds transferable. + * Since: wasmd 0.30 + */ +export interface MaxCallsLimitSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.MaxCallsLimit'; + remaining: bigint; +} +/** + * MaxFundsLimit defines the maximal amounts that can be sent to the contract. + * Since: wasmd 0.30 + */ +export interface MaxFundsLimit { + $typeUrl?: '/cosmwasm.wasm.v1.MaxFundsLimit'; + /** Amounts is the maximal amount of tokens transferable to the contract. */ + amounts: Coin[]; +} +export interface MaxFundsLimitProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MaxFundsLimit'; + value: Uint8Array; +} +/** + * MaxFundsLimit defines the maximal amounts that can be sent to the contract. + * Since: wasmd 0.30 + */ +export interface MaxFundsLimitAmino { + /** Amounts is the maximal amount of tokens transferable to the contract. */ + amounts: CoinAmino[]; +} +export interface MaxFundsLimitAminoMsg { + type: 'wasm/MaxFundsLimit'; + value: MaxFundsLimitAmino; +} +/** + * MaxFundsLimit defines the maximal amounts that can be sent to the contract. + * Since: wasmd 0.30 + */ +export interface MaxFundsLimitSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.MaxFundsLimit'; + amounts: CoinSDKType[]; +} +/** + * CombinedLimit defines the maximal amounts that can be sent to a contract and + * the maximal number of calls executable. Both need to remain >0 to be valid. + * Since: wasmd 0.30 + */ +export interface CombinedLimit { + $typeUrl?: '/cosmwasm.wasm.v1.CombinedLimit'; + /** Remaining number that is decremented on each execution */ + callsRemaining: bigint; + /** Amounts is the maximal amount of tokens transferable to the contract. */ + amounts: Coin[]; +} +export interface CombinedLimitProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.CombinedLimit'; + value: Uint8Array; +} +/** + * CombinedLimit defines the maximal amounts that can be sent to a contract and + * the maximal number of calls executable. Both need to remain >0 to be valid. + * Since: wasmd 0.30 + */ +export interface CombinedLimitAmino { + /** Remaining number that is decremented on each execution */ + calls_remaining?: string; + /** Amounts is the maximal amount of tokens transferable to the contract. */ + amounts: CoinAmino[]; +} +export interface CombinedLimitAminoMsg { + type: 'wasm/CombinedLimit'; + value: CombinedLimitAmino; +} +/** + * CombinedLimit defines the maximal amounts that can be sent to a contract and + * the maximal number of calls executable. Both need to remain >0 to be valid. + * Since: wasmd 0.30 + */ +export interface CombinedLimitSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.CombinedLimit'; + calls_remaining: bigint; + amounts: CoinSDKType[]; +} +/** + * AllowAllMessagesFilter is a wildcard to allow any type of contract payload + * message. + * Since: wasmd 0.30 + */ +export interface AllowAllMessagesFilter { + $typeUrl?: '/cosmwasm.wasm.v1.AllowAllMessagesFilter'; +} +export interface AllowAllMessagesFilterProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.AllowAllMessagesFilter'; + value: Uint8Array; +} +/** + * AllowAllMessagesFilter is a wildcard to allow any type of contract payload + * message. + * Since: wasmd 0.30 + */ +export interface AllowAllMessagesFilterAmino {} +export interface AllowAllMessagesFilterAminoMsg { + type: 'wasm/AllowAllMessagesFilter'; + value: AllowAllMessagesFilterAmino; +} +/** + * AllowAllMessagesFilter is a wildcard to allow any type of contract payload + * message. + * Since: wasmd 0.30 + */ +export interface AllowAllMessagesFilterSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.AllowAllMessagesFilter'; +} +/** + * AcceptedMessageKeysFilter accept only the specific contract message keys in + * the json object to be executed. + * Since: wasmd 0.30 + */ +export interface AcceptedMessageKeysFilter { + $typeUrl?: '/cosmwasm.wasm.v1.AcceptedMessageKeysFilter'; + /** Messages is the list of unique keys */ + keys: string[]; +} +export interface AcceptedMessageKeysFilterProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.AcceptedMessageKeysFilter'; + value: Uint8Array; +} +/** + * AcceptedMessageKeysFilter accept only the specific contract message keys in + * the json object to be executed. + * Since: wasmd 0.30 + */ +export interface AcceptedMessageKeysFilterAmino { + /** Messages is the list of unique keys */ + keys?: string[]; +} +export interface AcceptedMessageKeysFilterAminoMsg { + type: 'wasm/AcceptedMessageKeysFilter'; + value: AcceptedMessageKeysFilterAmino; +} +/** + * AcceptedMessageKeysFilter accept only the specific contract message keys in + * the json object to be executed. + * Since: wasmd 0.30 + */ +export interface AcceptedMessageKeysFilterSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.AcceptedMessageKeysFilter'; + keys: string[]; +} +/** + * AcceptedMessagesFilter accept only the specific raw contract messages to be + * executed. + * Since: wasmd 0.30 + */ +export interface AcceptedMessagesFilter { + $typeUrl?: '/cosmwasm.wasm.v1.AcceptedMessagesFilter'; + /** Messages is the list of raw contract messages */ + messages: Uint8Array[]; +} +export interface AcceptedMessagesFilterProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.AcceptedMessagesFilter'; + value: Uint8Array; +} +/** + * AcceptedMessagesFilter accept only the specific raw contract messages to be + * executed. + * Since: wasmd 0.30 + */ +export interface AcceptedMessagesFilterAmino { + /** Messages is the list of raw contract messages */ + messages?: any[]; +} +export interface AcceptedMessagesFilterAminoMsg { + type: 'wasm/AcceptedMessagesFilter'; + value: AcceptedMessagesFilterAmino; +} +/** + * AcceptedMessagesFilter accept only the specific raw contract messages to be + * executed. + * Since: wasmd 0.30 + */ +export interface AcceptedMessagesFilterSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.AcceptedMessagesFilter'; + messages: Uint8Array[]; +} +function createBaseStoreCodeAuthorization(): StoreCodeAuthorization { + return { + $typeUrl: '/cosmwasm.wasm.v1.StoreCodeAuthorization', + grants: [], + }; +} +export const StoreCodeAuthorization = { + typeUrl: '/cosmwasm.wasm.v1.StoreCodeAuthorization', + encode(message: StoreCodeAuthorization, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.grants) { + CodeGrant.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): StoreCodeAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStoreCodeAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.grants.push(CodeGrant.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): StoreCodeAuthorization { + const message = createBaseStoreCodeAuthorization(); + message.grants = object.grants?.map((e) => CodeGrant.fromPartial(e)) || []; + return message; + }, + fromAmino(object: StoreCodeAuthorizationAmino): StoreCodeAuthorization { + const message = createBaseStoreCodeAuthorization(); + message.grants = object.grants?.map((e) => CodeGrant.fromAmino(e)) || []; + return message; + }, + toAmino(message: StoreCodeAuthorization): StoreCodeAuthorizationAmino { + const obj: any = {}; + if (message.grants) { + obj.grants = message.grants.map((e) => (e ? CodeGrant.toAmino(e) : undefined)); + } else { + obj.grants = message.grants; + } + return obj; + }, + fromAminoMsg(object: StoreCodeAuthorizationAminoMsg): StoreCodeAuthorization { + return StoreCodeAuthorization.fromAmino(object.value); + }, + toAminoMsg(message: StoreCodeAuthorization): StoreCodeAuthorizationAminoMsg { + return { + type: 'wasm/StoreCodeAuthorization', + value: StoreCodeAuthorization.toAmino(message), + }; + }, + fromProtoMsg(message: StoreCodeAuthorizationProtoMsg): StoreCodeAuthorization { + return StoreCodeAuthorization.decode(message.value); + }, + toProto(message: StoreCodeAuthorization): Uint8Array { + return StoreCodeAuthorization.encode(message).finish(); + }, + toProtoMsg(message: StoreCodeAuthorization): StoreCodeAuthorizationProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.StoreCodeAuthorization', + value: StoreCodeAuthorization.encode(message).finish(), + }; + }, +}; +function createBaseContractExecutionAuthorization(): ContractExecutionAuthorization { + return { + $typeUrl: '/cosmwasm.wasm.v1.ContractExecutionAuthorization', + grants: [], + }; +} +export const ContractExecutionAuthorization = { + typeUrl: '/cosmwasm.wasm.v1.ContractExecutionAuthorization', + encode(message: ContractExecutionAuthorization, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.grants) { + ContractGrant.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ContractExecutionAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractExecutionAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.grants.push(ContractGrant.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ContractExecutionAuthorization { + const message = createBaseContractExecutionAuthorization(); + message.grants = object.grants?.map((e) => ContractGrant.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ContractExecutionAuthorizationAmino): ContractExecutionAuthorization { + const message = createBaseContractExecutionAuthorization(); + message.grants = object.grants?.map((e) => ContractGrant.fromAmino(e)) || []; + return message; + }, + toAmino(message: ContractExecutionAuthorization): ContractExecutionAuthorizationAmino { + const obj: any = {}; + if (message.grants) { + obj.grants = message.grants.map((e) => (e ? ContractGrant.toAmino(e) : undefined)); + } else { + obj.grants = message.grants; + } + return obj; + }, + fromAminoMsg(object: ContractExecutionAuthorizationAminoMsg): ContractExecutionAuthorization { + return ContractExecutionAuthorization.fromAmino(object.value); + }, + toAminoMsg(message: ContractExecutionAuthorization): ContractExecutionAuthorizationAminoMsg { + return { + type: 'wasm/ContractExecutionAuthorization', + value: ContractExecutionAuthorization.toAmino(message), + }; + }, + fromProtoMsg(message: ContractExecutionAuthorizationProtoMsg): ContractExecutionAuthorization { + return ContractExecutionAuthorization.decode(message.value); + }, + toProto(message: ContractExecutionAuthorization): Uint8Array { + return ContractExecutionAuthorization.encode(message).finish(); + }, + toProtoMsg(message: ContractExecutionAuthorization): ContractExecutionAuthorizationProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.ContractExecutionAuthorization', + value: ContractExecutionAuthorization.encode(message).finish(), + }; + }, +}; +function createBaseContractMigrationAuthorization(): ContractMigrationAuthorization { + return { + $typeUrl: '/cosmwasm.wasm.v1.ContractMigrationAuthorization', + grants: [], + }; +} +export const ContractMigrationAuthorization = { + typeUrl: '/cosmwasm.wasm.v1.ContractMigrationAuthorization', + encode(message: ContractMigrationAuthorization, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.grants) { + ContractGrant.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ContractMigrationAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractMigrationAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.grants.push(ContractGrant.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ContractMigrationAuthorization { + const message = createBaseContractMigrationAuthorization(); + message.grants = object.grants?.map((e) => ContractGrant.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ContractMigrationAuthorizationAmino): ContractMigrationAuthorization { + const message = createBaseContractMigrationAuthorization(); + message.grants = object.grants?.map((e) => ContractGrant.fromAmino(e)) || []; + return message; + }, + toAmino(message: ContractMigrationAuthorization): ContractMigrationAuthorizationAmino { + const obj: any = {}; + if (message.grants) { + obj.grants = message.grants.map((e) => (e ? ContractGrant.toAmino(e) : undefined)); + } else { + obj.grants = message.grants; + } + return obj; + }, + fromAminoMsg(object: ContractMigrationAuthorizationAminoMsg): ContractMigrationAuthorization { + return ContractMigrationAuthorization.fromAmino(object.value); + }, + toAminoMsg(message: ContractMigrationAuthorization): ContractMigrationAuthorizationAminoMsg { + return { + type: 'wasm/ContractMigrationAuthorization', + value: ContractMigrationAuthorization.toAmino(message), + }; + }, + fromProtoMsg(message: ContractMigrationAuthorizationProtoMsg): ContractMigrationAuthorization { + return ContractMigrationAuthorization.decode(message.value); + }, + toProto(message: ContractMigrationAuthorization): Uint8Array { + return ContractMigrationAuthorization.encode(message).finish(); + }, + toProtoMsg(message: ContractMigrationAuthorization): ContractMigrationAuthorizationProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.ContractMigrationAuthorization', + value: ContractMigrationAuthorization.encode(message).finish(), + }; + }, +}; +function createBaseCodeGrant(): CodeGrant { + return { + codeHash: new Uint8Array(), + instantiatePermission: undefined, + }; +} +export const CodeGrant = { + typeUrl: '/cosmwasm.wasm.v1.CodeGrant', + encode(message: CodeGrant, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.codeHash.length !== 0) { + writer.uint32(10).bytes(message.codeHash); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): CodeGrant { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCodeGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.codeHash = reader.bytes(); + break; + case 2: + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): CodeGrant { + const message = createBaseCodeGrant(); + message.codeHash = object.codeHash ?? new Uint8Array(); + message.instantiatePermission = + object.instantiatePermission !== undefined && object.instantiatePermission !== null + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + return message; + }, + fromAmino(object: CodeGrantAmino): CodeGrant { + const message = createBaseCodeGrant(); + if (object.code_hash !== undefined && object.code_hash !== null) { + message.codeHash = bytesFromBase64(object.code_hash); + } + if (object.instantiate_permission !== undefined && object.instantiate_permission !== null) { + message.instantiatePermission = AccessConfig.fromAmino(object.instantiate_permission); + } + return message; + }, + toAmino(message: CodeGrant): CodeGrantAmino { + const obj: any = {}; + obj.code_hash = message.codeHash ? base64FromBytes(message.codeHash) : undefined; + obj.instantiate_permission = message.instantiatePermission + ? AccessConfig.toAmino(message.instantiatePermission) + : undefined; + return obj; + }, + fromAminoMsg(object: CodeGrantAminoMsg): CodeGrant { + return CodeGrant.fromAmino(object.value); + }, + toAminoMsg(message: CodeGrant): CodeGrantAminoMsg { + return { + type: 'wasm/CodeGrant', + value: CodeGrant.toAmino(message), + }; + }, + fromProtoMsg(message: CodeGrantProtoMsg): CodeGrant { + return CodeGrant.decode(message.value); + }, + toProto(message: CodeGrant): Uint8Array { + return CodeGrant.encode(message).finish(); + }, + toProtoMsg(message: CodeGrant): CodeGrantProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.CodeGrant', + value: CodeGrant.encode(message).finish(), + }; + }, +}; +function createBaseContractGrant(): ContractGrant { + return { + contract: '', + limit: undefined, + filter: undefined, + }; +} +export const ContractGrant = { + typeUrl: '/cosmwasm.wasm.v1.ContractGrant', + encode(message: ContractGrant, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.contract !== '') { + writer.uint32(10).string(message.contract); + } + if (message.limit !== undefined) { + Any.encode(message.limit as Any, writer.uint32(18).fork()).ldelim(); + } + if (message.filter !== undefined) { + Any.encode(message.filter as Any, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ContractGrant { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contract = reader.string(); + break; + case 2: + message.limit = Cosmwasm_wasmv1ContractAuthzLimitX_InterfaceDecoder(reader) as Any; + break; + case 3: + message.filter = Cosmwasm_wasmv1ContractAuthzFilterX_InterfaceDecoder(reader) as Any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ContractGrant { + const message = createBaseContractGrant(); + message.contract = object.contract ?? ''; + message.limit = object.limit !== undefined && object.limit !== null ? Any.fromPartial(object.limit) : undefined; + message.filter = object.filter !== undefined && object.filter !== null ? Any.fromPartial(object.filter) : undefined; + return message; + }, + fromAmino(object: ContractGrantAmino): ContractGrant { + const message = createBaseContractGrant(); + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + if (object.limit !== undefined && object.limit !== null) { + message.limit = Cosmwasm_wasmv1ContractAuthzLimitX_FromAmino(object.limit); + } + if (object.filter !== undefined && object.filter !== null) { + message.filter = Cosmwasm_wasmv1ContractAuthzFilterX_FromAmino(object.filter); + } + return message; + }, + toAmino(message: ContractGrant): ContractGrantAmino { + const obj: any = {}; + obj.contract = message.contract === '' ? undefined : message.contract; + obj.limit = message.limit ? Cosmwasm_wasmv1ContractAuthzLimitX_ToAmino(message.limit as Any) : undefined; + obj.filter = message.filter ? Cosmwasm_wasmv1ContractAuthzFilterX_ToAmino(message.filter as Any) : undefined; + return obj; + }, + fromAminoMsg(object: ContractGrantAminoMsg): ContractGrant { + return ContractGrant.fromAmino(object.value); + }, + toAminoMsg(message: ContractGrant): ContractGrantAminoMsg { + return { + type: 'wasm/ContractGrant', + value: ContractGrant.toAmino(message), + }; + }, + fromProtoMsg(message: ContractGrantProtoMsg): ContractGrant { + return ContractGrant.decode(message.value); + }, + toProto(message: ContractGrant): Uint8Array { + return ContractGrant.encode(message).finish(); + }, + toProtoMsg(message: ContractGrant): ContractGrantProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.ContractGrant', + value: ContractGrant.encode(message).finish(), + }; + }, +}; +function createBaseMaxCallsLimit(): MaxCallsLimit { + return { + $typeUrl: '/cosmwasm.wasm.v1.MaxCallsLimit', + remaining: BigInt(0), + }; +} +export const MaxCallsLimit = { + typeUrl: '/cosmwasm.wasm.v1.MaxCallsLimit', + encode(message: MaxCallsLimit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.remaining !== BigInt(0)) { + writer.uint32(8).uint64(message.remaining); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MaxCallsLimit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMaxCallsLimit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.remaining = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MaxCallsLimit { + const message = createBaseMaxCallsLimit(); + message.remaining = + object.remaining !== undefined && object.remaining !== null ? BigInt(object.remaining.toString()) : BigInt(0); + return message; + }, + fromAmino(object: MaxCallsLimitAmino): MaxCallsLimit { + const message = createBaseMaxCallsLimit(); + if (object.remaining !== undefined && object.remaining !== null) { + message.remaining = BigInt(object.remaining); + } + return message; + }, + toAmino(message: MaxCallsLimit): MaxCallsLimitAmino { + const obj: any = {}; + obj.remaining = message.remaining !== BigInt(0) ? (message.remaining?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: MaxCallsLimitAminoMsg): MaxCallsLimit { + return MaxCallsLimit.fromAmino(object.value); + }, + toAminoMsg(message: MaxCallsLimit): MaxCallsLimitAminoMsg { + return { + type: 'wasm/MaxCallsLimit', + value: MaxCallsLimit.toAmino(message), + }; + }, + fromProtoMsg(message: MaxCallsLimitProtoMsg): MaxCallsLimit { + return MaxCallsLimit.decode(message.value); + }, + toProto(message: MaxCallsLimit): Uint8Array { + return MaxCallsLimit.encode(message).finish(); + }, + toProtoMsg(message: MaxCallsLimit): MaxCallsLimitProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MaxCallsLimit', + value: MaxCallsLimit.encode(message).finish(), + }; + }, +}; +function createBaseMaxFundsLimit(): MaxFundsLimit { + return { + $typeUrl: '/cosmwasm.wasm.v1.MaxFundsLimit', + amounts: [], + }; +} +export const MaxFundsLimit = { + typeUrl: '/cosmwasm.wasm.v1.MaxFundsLimit', + encode(message: MaxFundsLimit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.amounts) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MaxFundsLimit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMaxFundsLimit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.amounts.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MaxFundsLimit { + const message = createBaseMaxFundsLimit(); + message.amounts = object.amounts?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MaxFundsLimitAmino): MaxFundsLimit { + const message = createBaseMaxFundsLimit(); + message.amounts = object.amounts?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: MaxFundsLimit): MaxFundsLimitAmino { + const obj: any = {}; + if (message.amounts) { + obj.amounts = message.amounts.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amounts = message.amounts; + } + return obj; + }, + fromAminoMsg(object: MaxFundsLimitAminoMsg): MaxFundsLimit { + return MaxFundsLimit.fromAmino(object.value); + }, + toAminoMsg(message: MaxFundsLimit): MaxFundsLimitAminoMsg { + return { + type: 'wasm/MaxFundsLimit', + value: MaxFundsLimit.toAmino(message), + }; + }, + fromProtoMsg(message: MaxFundsLimitProtoMsg): MaxFundsLimit { + return MaxFundsLimit.decode(message.value); + }, + toProto(message: MaxFundsLimit): Uint8Array { + return MaxFundsLimit.encode(message).finish(); + }, + toProtoMsg(message: MaxFundsLimit): MaxFundsLimitProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MaxFundsLimit', + value: MaxFundsLimit.encode(message).finish(), + }; + }, +}; +function createBaseCombinedLimit(): CombinedLimit { + return { + $typeUrl: '/cosmwasm.wasm.v1.CombinedLimit', + callsRemaining: BigInt(0), + amounts: [], + }; +} +export const CombinedLimit = { + typeUrl: '/cosmwasm.wasm.v1.CombinedLimit', + encode(message: CombinedLimit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.callsRemaining !== BigInt(0)) { + writer.uint32(8).uint64(message.callsRemaining); + } + for (const v of message.amounts) { + Coin.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): CombinedLimit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCombinedLimit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.callsRemaining = reader.uint64(); + break; + case 2: + message.amounts.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): CombinedLimit { + const message = createBaseCombinedLimit(); + message.callsRemaining = + object.callsRemaining !== undefined && object.callsRemaining !== null + ? BigInt(object.callsRemaining.toString()) + : BigInt(0); + message.amounts = object.amounts?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: CombinedLimitAmino): CombinedLimit { + const message = createBaseCombinedLimit(); + if (object.calls_remaining !== undefined && object.calls_remaining !== null) { + message.callsRemaining = BigInt(object.calls_remaining); + } + message.amounts = object.amounts?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: CombinedLimit): CombinedLimitAmino { + const obj: any = {}; + obj.calls_remaining = message.callsRemaining !== BigInt(0) ? (message.callsRemaining?.toString)() : undefined; + if (message.amounts) { + obj.amounts = message.amounts.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.amounts = message.amounts; + } + return obj; + }, + fromAminoMsg(object: CombinedLimitAminoMsg): CombinedLimit { + return CombinedLimit.fromAmino(object.value); + }, + toAminoMsg(message: CombinedLimit): CombinedLimitAminoMsg { + return { + type: 'wasm/CombinedLimit', + value: CombinedLimit.toAmino(message), + }; + }, + fromProtoMsg(message: CombinedLimitProtoMsg): CombinedLimit { + return CombinedLimit.decode(message.value); + }, + toProto(message: CombinedLimit): Uint8Array { + return CombinedLimit.encode(message).finish(); + }, + toProtoMsg(message: CombinedLimit): CombinedLimitProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.CombinedLimit', + value: CombinedLimit.encode(message).finish(), + }; + }, +}; +function createBaseAllowAllMessagesFilter(): AllowAllMessagesFilter { + return { + $typeUrl: '/cosmwasm.wasm.v1.AllowAllMessagesFilter', + }; +} +export const AllowAllMessagesFilter = { + typeUrl: '/cosmwasm.wasm.v1.AllowAllMessagesFilter', + encode(_: AllowAllMessagesFilter, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AllowAllMessagesFilter { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAllowAllMessagesFilter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): AllowAllMessagesFilter { + const message = createBaseAllowAllMessagesFilter(); + return message; + }, + fromAmino(_: AllowAllMessagesFilterAmino): AllowAllMessagesFilter { + const message = createBaseAllowAllMessagesFilter(); + return message; + }, + toAmino(_: AllowAllMessagesFilter): AllowAllMessagesFilterAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: AllowAllMessagesFilterAminoMsg): AllowAllMessagesFilter { + return AllowAllMessagesFilter.fromAmino(object.value); + }, + toAminoMsg(message: AllowAllMessagesFilter): AllowAllMessagesFilterAminoMsg { + return { + type: 'wasm/AllowAllMessagesFilter', + value: AllowAllMessagesFilter.toAmino(message), + }; + }, + fromProtoMsg(message: AllowAllMessagesFilterProtoMsg): AllowAllMessagesFilter { + return AllowAllMessagesFilter.decode(message.value); + }, + toProto(message: AllowAllMessagesFilter): Uint8Array { + return AllowAllMessagesFilter.encode(message).finish(); + }, + toProtoMsg(message: AllowAllMessagesFilter): AllowAllMessagesFilterProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.AllowAllMessagesFilter', + value: AllowAllMessagesFilter.encode(message).finish(), + }; + }, +}; +function createBaseAcceptedMessageKeysFilter(): AcceptedMessageKeysFilter { + return { + $typeUrl: '/cosmwasm.wasm.v1.AcceptedMessageKeysFilter', + keys: [], + }; +} +export const AcceptedMessageKeysFilter = { + typeUrl: '/cosmwasm.wasm.v1.AcceptedMessageKeysFilter', + encode(message: AcceptedMessageKeysFilter, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.keys) { + writer.uint32(10).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AcceptedMessageKeysFilter { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAcceptedMessageKeysFilter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.keys.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AcceptedMessageKeysFilter { + const message = createBaseAcceptedMessageKeysFilter(); + message.keys = object.keys?.map((e) => e) || []; + return message; + }, + fromAmino(object: AcceptedMessageKeysFilterAmino): AcceptedMessageKeysFilter { + const message = createBaseAcceptedMessageKeysFilter(); + message.keys = object.keys?.map((e) => e) || []; + return message; + }, + toAmino(message: AcceptedMessageKeysFilter): AcceptedMessageKeysFilterAmino { + const obj: any = {}; + if (message.keys) { + obj.keys = message.keys.map((e) => e); + } else { + obj.keys = message.keys; + } + return obj; + }, + fromAminoMsg(object: AcceptedMessageKeysFilterAminoMsg): AcceptedMessageKeysFilter { + return AcceptedMessageKeysFilter.fromAmino(object.value); + }, + toAminoMsg(message: AcceptedMessageKeysFilter): AcceptedMessageKeysFilterAminoMsg { + return { + type: 'wasm/AcceptedMessageKeysFilter', + value: AcceptedMessageKeysFilter.toAmino(message), + }; + }, + fromProtoMsg(message: AcceptedMessageKeysFilterProtoMsg): AcceptedMessageKeysFilter { + return AcceptedMessageKeysFilter.decode(message.value); + }, + toProto(message: AcceptedMessageKeysFilter): Uint8Array { + return AcceptedMessageKeysFilter.encode(message).finish(); + }, + toProtoMsg(message: AcceptedMessageKeysFilter): AcceptedMessageKeysFilterProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.AcceptedMessageKeysFilter', + value: AcceptedMessageKeysFilter.encode(message).finish(), + }; + }, +}; +function createBaseAcceptedMessagesFilter(): AcceptedMessagesFilter { + return { + $typeUrl: '/cosmwasm.wasm.v1.AcceptedMessagesFilter', + messages: [], + }; +} +export const AcceptedMessagesFilter = { + typeUrl: '/cosmwasm.wasm.v1.AcceptedMessagesFilter', + encode(message: AcceptedMessagesFilter, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.messages) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AcceptedMessagesFilter { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAcceptedMessagesFilter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.messages.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AcceptedMessagesFilter { + const message = createBaseAcceptedMessagesFilter(); + message.messages = object.messages?.map((e) => e) || []; + return message; + }, + fromAmino(object: AcceptedMessagesFilterAmino): AcceptedMessagesFilter { + const message = createBaseAcceptedMessagesFilter(); + message.messages = object.messages?.map((e) => toUtf8(JSON.stringify(e))) || []; + return message; + }, + toAmino(message: AcceptedMessagesFilter): AcceptedMessagesFilterAmino { + const obj: any = {}; + if (message.messages) { + obj.messages = message.messages.map((e) => JSON.parse(fromUtf8(e))); + } else { + obj.messages = message.messages; + } + return obj; + }, + fromAminoMsg(object: AcceptedMessagesFilterAminoMsg): AcceptedMessagesFilter { + return AcceptedMessagesFilter.fromAmino(object.value); + }, + toAminoMsg(message: AcceptedMessagesFilter): AcceptedMessagesFilterAminoMsg { + return { + type: 'wasm/AcceptedMessagesFilter', + value: AcceptedMessagesFilter.toAmino(message), + }; + }, + fromProtoMsg(message: AcceptedMessagesFilterProtoMsg): AcceptedMessagesFilter { + return AcceptedMessagesFilter.decode(message.value); + }, + toProto(message: AcceptedMessagesFilter): Uint8Array { + return AcceptedMessagesFilter.encode(message).finish(); + }, + toProtoMsg(message: AcceptedMessagesFilter): AcceptedMessagesFilterProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.AcceptedMessagesFilter', + value: AcceptedMessagesFilter.encode(message).finish(), + }; + }, +}; +export const Cosmwasm_wasmv1ContractAuthzLimitX_InterfaceDecoder = ( + input: BinaryReader | Uint8Array, +): MaxCallsLimit | MaxFundsLimit | CombinedLimit | Any => { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const data = Any.decode(reader, reader.uint32()); + switch (data.typeUrl) { + case '/cosmwasm.wasm.v1.MaxCallsLimit': + return MaxCallsLimit.decode(data.value); + case '/cosmwasm.wasm.v1.MaxFundsLimit': + return MaxFundsLimit.decode(data.value); + case '/cosmwasm.wasm.v1.CombinedLimit': + return CombinedLimit.decode(data.value); + default: + return data; + } +}; +export const Cosmwasm_wasmv1ContractAuthzLimitX_FromAmino = (content: AnyAmino): Any => { + switch (content.type) { + case 'wasm/MaxCallsLimit': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.MaxCallsLimit', + value: MaxCallsLimit.encode(MaxCallsLimit.fromPartial(MaxCallsLimit.fromAmino(content.value))).finish(), + }); + case 'wasm/MaxFundsLimit': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.MaxFundsLimit', + value: MaxFundsLimit.encode(MaxFundsLimit.fromPartial(MaxFundsLimit.fromAmino(content.value))).finish(), + }); + case 'wasm/CombinedLimit': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.CombinedLimit', + value: CombinedLimit.encode(CombinedLimit.fromPartial(CombinedLimit.fromAmino(content.value))).finish(), + }); + default: + return Any.fromAmino(content); + } +}; +export const Cosmwasm_wasmv1ContractAuthzLimitX_ToAmino = (content: Any) => { + switch (content.typeUrl) { + case '/cosmwasm.wasm.v1.MaxCallsLimit': + return { + type: 'wasm/MaxCallsLimit', + value: MaxCallsLimit.toAmino(MaxCallsLimit.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.MaxFundsLimit': + return { + type: 'wasm/MaxFundsLimit', + value: MaxFundsLimit.toAmino(MaxFundsLimit.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.CombinedLimit': + return { + type: 'wasm/CombinedLimit', + value: CombinedLimit.toAmino(CombinedLimit.decode(content.value, undefined)), + }; + default: + return Any.toAmino(content); + } +}; +export const Cosmwasm_wasmv1ContractAuthzFilterX_InterfaceDecoder = ( + input: BinaryReader | Uint8Array, +): AllowAllMessagesFilter | AcceptedMessageKeysFilter | AcceptedMessagesFilter | Any => { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const data = Any.decode(reader, reader.uint32()); + switch (data.typeUrl) { + case '/cosmwasm.wasm.v1.AllowAllMessagesFilter': + return AllowAllMessagesFilter.decode(data.value); + case '/cosmwasm.wasm.v1.AcceptedMessageKeysFilter': + return AcceptedMessageKeysFilter.decode(data.value); + case '/cosmwasm.wasm.v1.AcceptedMessagesFilter': + return AcceptedMessagesFilter.decode(data.value); + default: + return data; + } +}; +export const Cosmwasm_wasmv1ContractAuthzFilterX_FromAmino = (content: AnyAmino): Any => { + switch (content.type) { + case 'wasm/AllowAllMessagesFilter': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.AllowAllMessagesFilter', + value: AllowAllMessagesFilter.encode( + AllowAllMessagesFilter.fromPartial(AllowAllMessagesFilter.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/AcceptedMessageKeysFilter': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.AcceptedMessageKeysFilter', + value: AcceptedMessageKeysFilter.encode( + AcceptedMessageKeysFilter.fromPartial(AcceptedMessageKeysFilter.fromAmino(content.value)), + ).finish(), + }); + case 'wasm/AcceptedMessagesFilter': + return Any.fromPartial({ + typeUrl: '/cosmwasm.wasm.v1.AcceptedMessagesFilter', + value: AcceptedMessagesFilter.encode( + AcceptedMessagesFilter.fromPartial(AcceptedMessagesFilter.fromAmino(content.value)), + ).finish(), + }); + default: + return Any.fromAmino(content); + } +}; +export const Cosmwasm_wasmv1ContractAuthzFilterX_ToAmino = (content: Any) => { + switch (content.typeUrl) { + case '/cosmwasm.wasm.v1.AllowAllMessagesFilter': + return { + type: 'wasm/AllowAllMessagesFilter', + value: AllowAllMessagesFilter.toAmino(AllowAllMessagesFilter.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.AcceptedMessageKeysFilter': + return { + type: 'wasm/AcceptedMessageKeysFilter', + value: AcceptedMessageKeysFilter.toAmino(AcceptedMessageKeysFilter.decode(content.value, undefined)), + }; + case '/cosmwasm.wasm.v1.AcceptedMessagesFilter': + return { + type: 'wasm/AcceptedMessagesFilter', + value: AcceptedMessagesFilter.toAmino(AcceptedMessagesFilter.decode(content.value, undefined)), + }; + default: + return Any.toAmino(content); + } +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmwasm/wasm/v1/proposal_legacy.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmwasm/wasm/v1/proposal_legacy.ts new file mode 100644 index 00000000..15696946 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmwasm/wasm/v1/proposal_legacy.ts @@ -0,0 +1,2562 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { fromBase64, fromUtf8, toBase64, toUtf8 } from '@cosmjs/encoding'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +import { Coin, CoinAmino, CoinSDKType } from '../../../cosmos/base/v1beta1/coin'; +import { AccessConfig, AccessConfigAmino, AccessConfigSDKType } from './types'; +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit StoreCodeProposal. To submit WASM code to the system, + * a simple MsgStoreCode can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface StoreCodeProposal { + $typeUrl?: '/cosmwasm.wasm.v1.StoreCodeProposal'; + /** Title is a short summary */ + title: string; + /** Description is a human readable text */ + description: string; + /** RunAs is the address that is passed to the contract's environment as sender */ + runAs: string; + /** WASMByteCode can be raw or gzip compressed */ + wasmByteCode: Uint8Array; + /** InstantiatePermission to apply on contract creation, optional */ + instantiatePermission?: AccessConfig; + /** UnpinCode code on upload, optional */ + unpinCode: boolean; + /** Source is the URL where the code is hosted */ + source: string; + /** + * Builder is the docker image used to build the code deterministically, used + * for smart contract verification + */ + builder: string; + /** + * CodeHash is the SHA256 sum of the code outputted by builder, used for smart + * contract verification + */ + codeHash: Uint8Array; +} +export interface StoreCodeProposalProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.StoreCodeProposal'; + value: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit StoreCodeProposal. To submit WASM code to the system, + * a simple MsgStoreCode can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface StoreCodeProposalAmino { + /** Title is a short summary */ + title?: string; + /** Description is a human readable text */ + description?: string; + /** RunAs is the address that is passed to the contract's environment as sender */ + run_as?: string; + /** WASMByteCode can be raw or gzip compressed */ + wasm_byte_code?: string; + /** InstantiatePermission to apply on contract creation, optional */ + instantiate_permission?: AccessConfigAmino; + /** UnpinCode code on upload, optional */ + unpin_code?: boolean; + /** Source is the URL where the code is hosted */ + source?: string; + /** + * Builder is the docker image used to build the code deterministically, used + * for smart contract verification + */ + builder?: string; + /** + * CodeHash is the SHA256 sum of the code outputted by builder, used for smart + * contract verification + */ + code_hash?: string; +} +export interface StoreCodeProposalAminoMsg { + type: 'wasm/StoreCodeProposal'; + value: StoreCodeProposalAmino; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit StoreCodeProposal. To submit WASM code to the system, + * a simple MsgStoreCode can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface StoreCodeProposalSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.StoreCodeProposal'; + title: string; + description: string; + run_as: string; + wasm_byte_code: Uint8Array; + instantiate_permission?: AccessConfigSDKType; + unpin_code: boolean; + source: string; + builder: string; + code_hash: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit InstantiateContractProposal. To instantiate a contract, + * a simple MsgInstantiateContract can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface InstantiateContractProposal { + $typeUrl?: '/cosmwasm.wasm.v1.InstantiateContractProposal'; + /** Title is a short summary */ + title: string; + /** Description is a human readable text */ + description: string; + /** RunAs is the address that is passed to the contract's environment as sender */ + runAs: string; + /** Admin is an optional address that can execute migrations */ + admin: string; + /** CodeID is the reference to the stored WASM code */ + codeId: bigint; + /** Label is optional metadata to be stored with a constract instance. */ + label: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg: Uint8Array; + /** Funds coins that are transferred to the contract on instantiation */ + funds: Coin[]; +} +export interface InstantiateContractProposalProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.InstantiateContractProposal'; + value: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit InstantiateContractProposal. To instantiate a contract, + * a simple MsgInstantiateContract can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface InstantiateContractProposalAmino { + /** Title is a short summary */ + title?: string; + /** Description is a human readable text */ + description?: string; + /** RunAs is the address that is passed to the contract's environment as sender */ + run_as?: string; + /** Admin is an optional address that can execute migrations */ + admin?: string; + /** CodeID is the reference to the stored WASM code */ + code_id?: string; + /** Label is optional metadata to be stored with a constract instance. */ + label?: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg?: any; + /** Funds coins that are transferred to the contract on instantiation */ + funds: CoinAmino[]; +} +export interface InstantiateContractProposalAminoMsg { + type: 'wasm/InstantiateContractProposal'; + value: InstantiateContractProposalAmino; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit InstantiateContractProposal. To instantiate a contract, + * a simple MsgInstantiateContract can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface InstantiateContractProposalSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.InstantiateContractProposal'; + title: string; + description: string; + run_as: string; + admin: string; + code_id: bigint; + label: string; + msg: Uint8Array; + funds: CoinSDKType[]; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit InstantiateContract2Proposal. To instantiate contract 2, + * a simple MsgInstantiateContract2 can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface InstantiateContract2Proposal { + $typeUrl?: '/cosmwasm.wasm.v1.InstantiateContract2Proposal'; + /** Title is a short summary */ + title: string; + /** Description is a human readable text */ + description: string; + /** RunAs is the address that is passed to the contract's enviroment as sender */ + runAs: string; + /** Admin is an optional address that can execute migrations */ + admin: string; + /** CodeID is the reference to the stored WASM code */ + codeId: bigint; + /** Label is optional metadata to be stored with a constract instance. */ + label: string; + /** Msg json encode message to be passed to the contract on instantiation */ + msg: Uint8Array; + /** Funds coins that are transferred to the contract on instantiation */ + funds: Coin[]; + /** Salt is an arbitrary value provided by the sender. Size can be 1 to 64. */ + salt: Uint8Array; + /** + * FixMsg include the msg value into the hash for the predictable address. + * Default is false + */ + fixMsg: boolean; +} +export interface InstantiateContract2ProposalProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.InstantiateContract2Proposal'; + value: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit InstantiateContract2Proposal. To instantiate contract 2, + * a simple MsgInstantiateContract2 can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface InstantiateContract2ProposalAmino { + /** Title is a short summary */ + title?: string; + /** Description is a human readable text */ + description?: string; + /** RunAs is the address that is passed to the contract's enviroment as sender */ + run_as?: string; + /** Admin is an optional address that can execute migrations */ + admin?: string; + /** CodeID is the reference to the stored WASM code */ + code_id?: string; + /** Label is optional metadata to be stored with a constract instance. */ + label?: string; + /** Msg json encode message to be passed to the contract on instantiation */ + msg?: any; + /** Funds coins that are transferred to the contract on instantiation */ + funds: CoinAmino[]; + /** Salt is an arbitrary value provided by the sender. Size can be 1 to 64. */ + salt?: string; + /** + * FixMsg include the msg value into the hash for the predictable address. + * Default is false + */ + fix_msg?: boolean; +} +export interface InstantiateContract2ProposalAminoMsg { + type: 'wasm/InstantiateContract2Proposal'; + value: InstantiateContract2ProposalAmino; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit InstantiateContract2Proposal. To instantiate contract 2, + * a simple MsgInstantiateContract2 can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface InstantiateContract2ProposalSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.InstantiateContract2Proposal'; + title: string; + description: string; + run_as: string; + admin: string; + code_id: bigint; + label: string; + msg: Uint8Array; + funds: CoinSDKType[]; + salt: Uint8Array; + fix_msg: boolean; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit MigrateContractProposal. To migrate a contract, + * a simple MsgMigrateContract can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface MigrateContractProposal { + $typeUrl?: '/cosmwasm.wasm.v1.MigrateContractProposal'; + /** Title is a short summary */ + title: string; + /** Description is a human readable text */ + description: string; + /** Contract is the address of the smart contract */ + contract: string; + /** CodeID references the new WASM code */ + codeId: bigint; + /** Msg json encoded message to be passed to the contract on migration */ + msg: Uint8Array; +} +export interface MigrateContractProposalProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MigrateContractProposal'; + value: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit MigrateContractProposal. To migrate a contract, + * a simple MsgMigrateContract can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface MigrateContractProposalAmino { + /** Title is a short summary */ + title?: string; + /** Description is a human readable text */ + description?: string; + /** Contract is the address of the smart contract */ + contract?: string; + /** CodeID references the new WASM code */ + code_id?: string; + /** Msg json encoded message to be passed to the contract on migration */ + msg?: any; +} +export interface MigrateContractProposalAminoMsg { + type: 'wasm/MigrateContractProposal'; + value: MigrateContractProposalAmino; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit MigrateContractProposal. To migrate a contract, + * a simple MsgMigrateContract can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface MigrateContractProposalSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.MigrateContractProposal'; + title: string; + description: string; + contract: string; + code_id: bigint; + msg: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit SudoContractProposal. To call sudo on a contract, + * a simple MsgSudoContract can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface SudoContractProposal { + $typeUrl?: '/cosmwasm.wasm.v1.SudoContractProposal'; + /** Title is a short summary */ + title: string; + /** Description is a human readable text */ + description: string; + /** Contract is the address of the smart contract */ + contract: string; + /** Msg json encoded message to be passed to the contract as sudo */ + msg: Uint8Array; +} +export interface SudoContractProposalProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.SudoContractProposal'; + value: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit SudoContractProposal. To call sudo on a contract, + * a simple MsgSudoContract can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface SudoContractProposalAmino { + /** Title is a short summary */ + title?: string; + /** Description is a human readable text */ + description?: string; + /** Contract is the address of the smart contract */ + contract?: string; + /** Msg json encoded message to be passed to the contract as sudo */ + msg?: any; +} +export interface SudoContractProposalAminoMsg { + type: 'wasm/SudoContractProposal'; + value: SudoContractProposalAmino; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit SudoContractProposal. To call sudo on a contract, + * a simple MsgSudoContract can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface SudoContractProposalSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.SudoContractProposal'; + title: string; + description: string; + contract: string; + msg: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit ExecuteContractProposal. To call execute on a contract, + * a simple MsgExecuteContract can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface ExecuteContractProposal { + $typeUrl?: '/cosmwasm.wasm.v1.ExecuteContractProposal'; + /** Title is a short summary */ + title: string; + /** Description is a human readable text */ + description: string; + /** RunAs is the address that is passed to the contract's environment as sender */ + runAs: string; + /** Contract is the address of the smart contract */ + contract: string; + /** Msg json encoded message to be passed to the contract as execute */ + msg: Uint8Array; + /** Funds coins that are transferred to the contract on instantiation */ + funds: Coin[]; +} +export interface ExecuteContractProposalProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.ExecuteContractProposal'; + value: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit ExecuteContractProposal. To call execute on a contract, + * a simple MsgExecuteContract can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface ExecuteContractProposalAmino { + /** Title is a short summary */ + title?: string; + /** Description is a human readable text */ + description?: string; + /** RunAs is the address that is passed to the contract's environment as sender */ + run_as?: string; + /** Contract is the address of the smart contract */ + contract?: string; + /** Msg json encoded message to be passed to the contract as execute */ + msg?: any; + /** Funds coins that are transferred to the contract on instantiation */ + funds: CoinAmino[]; +} +export interface ExecuteContractProposalAminoMsg { + type: 'wasm/ExecuteContractProposal'; + value: ExecuteContractProposalAmino; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit ExecuteContractProposal. To call execute on a contract, + * a simple MsgExecuteContract can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface ExecuteContractProposalSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.ExecuteContractProposal'; + title: string; + description: string; + run_as: string; + contract: string; + msg: Uint8Array; + funds: CoinSDKType[]; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit UpdateAdminProposal. To set an admin for a contract, + * a simple MsgUpdateAdmin can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface UpdateAdminProposal { + $typeUrl?: '/cosmwasm.wasm.v1.UpdateAdminProposal'; + /** Title is a short summary */ + title: string; + /** Description is a human readable text */ + description: string; + /** NewAdmin address to be set */ + newAdmin: string; + /** Contract is the address of the smart contract */ + contract: string; +} +export interface UpdateAdminProposalProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.UpdateAdminProposal'; + value: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit UpdateAdminProposal. To set an admin for a contract, + * a simple MsgUpdateAdmin can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface UpdateAdminProposalAmino { + /** Title is a short summary */ + title?: string; + /** Description is a human readable text */ + description?: string; + /** NewAdmin address to be set */ + new_admin?: string; + /** Contract is the address of the smart contract */ + contract?: string; +} +export interface UpdateAdminProposalAminoMsg { + type: 'wasm/UpdateAdminProposal'; + value: UpdateAdminProposalAmino; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit UpdateAdminProposal. To set an admin for a contract, + * a simple MsgUpdateAdmin can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface UpdateAdminProposalSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.UpdateAdminProposal'; + title: string; + description: string; + new_admin: string; + contract: string; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit ClearAdminProposal. To clear the admin of a contract, + * a simple MsgClearAdmin can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface ClearAdminProposal { + $typeUrl?: '/cosmwasm.wasm.v1.ClearAdminProposal'; + /** Title is a short summary */ + title: string; + /** Description is a human readable text */ + description: string; + /** Contract is the address of the smart contract */ + contract: string; +} +export interface ClearAdminProposalProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.ClearAdminProposal'; + value: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit ClearAdminProposal. To clear the admin of a contract, + * a simple MsgClearAdmin can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface ClearAdminProposalAmino { + /** Title is a short summary */ + title?: string; + /** Description is a human readable text */ + description?: string; + /** Contract is the address of the smart contract */ + contract?: string; +} +export interface ClearAdminProposalAminoMsg { + type: 'wasm/ClearAdminProposal'; + value: ClearAdminProposalAmino; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit ClearAdminProposal. To clear the admin of a contract, + * a simple MsgClearAdmin can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface ClearAdminProposalSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.ClearAdminProposal'; + title: string; + description: string; + contract: string; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit PinCodesProposal. To pin a set of code ids in the wasmvm + * cache, a simple MsgPinCodes can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface PinCodesProposal { + $typeUrl?: '/cosmwasm.wasm.v1.PinCodesProposal'; + /** Title is a short summary */ + title: string; + /** Description is a human readable text */ + description: string; + /** CodeIDs references the new WASM codes */ + codeIds: bigint[]; +} +export interface PinCodesProposalProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.PinCodesProposal'; + value: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit PinCodesProposal. To pin a set of code ids in the wasmvm + * cache, a simple MsgPinCodes can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface PinCodesProposalAmino { + /** Title is a short summary */ + title?: string; + /** Description is a human readable text */ + description?: string; + /** CodeIDs references the new WASM codes */ + code_ids?: string[]; +} +export interface PinCodesProposalAminoMsg { + type: 'wasm/PinCodesProposal'; + value: PinCodesProposalAmino; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit PinCodesProposal. To pin a set of code ids in the wasmvm + * cache, a simple MsgPinCodes can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface PinCodesProposalSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.PinCodesProposal'; + title: string; + description: string; + code_ids: bigint[]; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit UnpinCodesProposal. To unpin a set of code ids in the wasmvm + * cache, a simple MsgUnpinCodes can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface UnpinCodesProposal { + $typeUrl?: '/cosmwasm.wasm.v1.UnpinCodesProposal'; + /** Title is a short summary */ + title: string; + /** Description is a human readable text */ + description: string; + /** CodeIDs references the WASM codes */ + codeIds: bigint[]; +} +export interface UnpinCodesProposalProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.UnpinCodesProposal'; + value: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit UnpinCodesProposal. To unpin a set of code ids in the wasmvm + * cache, a simple MsgUnpinCodes can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface UnpinCodesProposalAmino { + /** Title is a short summary */ + title?: string; + /** Description is a human readable text */ + description?: string; + /** CodeIDs references the WASM codes */ + code_ids?: string[]; +} +export interface UnpinCodesProposalAminoMsg { + type: 'wasm/UnpinCodesProposal'; + value: UnpinCodesProposalAmino; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit UnpinCodesProposal. To unpin a set of code ids in the wasmvm + * cache, a simple MsgUnpinCodes can be invoked from the x/gov module via + * a v1 governance proposal. + */ +/** @deprecated */ +export interface UnpinCodesProposalSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.UnpinCodesProposal'; + title: string; + description: string; + code_ids: bigint[]; +} +/** + * AccessConfigUpdate contains the code id and the access config to be + * applied. + */ +export interface AccessConfigUpdate { + /** CodeID is the reference to the stored WASM code to be updated */ + codeId: bigint; + /** InstantiatePermission to apply to the set of code ids */ + instantiatePermission: AccessConfig; +} +export interface AccessConfigUpdateProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.AccessConfigUpdate'; + value: Uint8Array; +} +/** + * AccessConfigUpdate contains the code id and the access config to be + * applied. + */ +export interface AccessConfigUpdateAmino { + /** CodeID is the reference to the stored WASM code to be updated */ + code_id?: string; + /** InstantiatePermission to apply to the set of code ids */ + instantiate_permission: AccessConfigAmino; +} +export interface AccessConfigUpdateAminoMsg { + type: 'wasm/AccessConfigUpdate'; + value: AccessConfigUpdateAmino; +} +/** + * AccessConfigUpdate contains the code id and the access config to be + * applied. + */ +export interface AccessConfigUpdateSDKType { + code_id: bigint; + instantiate_permission: AccessConfigSDKType; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit UpdateInstantiateConfigProposal. To update instantiate config + * to a set of code ids, a simple MsgUpdateInstantiateConfig can be invoked from + * the x/gov module via a v1 governance proposal. + */ +/** @deprecated */ +export interface UpdateInstantiateConfigProposal { + $typeUrl?: '/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal'; + /** Title is a short summary */ + title: string; + /** Description is a human readable text */ + description: string; + /** + * AccessConfigUpdate contains the list of code ids and the access config + * to be applied. + */ + accessConfigUpdates: AccessConfigUpdate[]; +} +export interface UpdateInstantiateConfigProposalProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal'; + value: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit UpdateInstantiateConfigProposal. To update instantiate config + * to a set of code ids, a simple MsgUpdateInstantiateConfig can be invoked from + * the x/gov module via a v1 governance proposal. + */ +/** @deprecated */ +export interface UpdateInstantiateConfigProposalAmino { + /** Title is a short summary */ + title?: string; + /** Description is a human readable text */ + description?: string; + /** + * AccessConfigUpdate contains the list of code ids and the access config + * to be applied. + */ + access_config_updates: AccessConfigUpdateAmino[]; +} +export interface UpdateInstantiateConfigProposalAminoMsg { + type: 'wasm/UpdateInstantiateConfigProposal'; + value: UpdateInstantiateConfigProposalAmino; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit UpdateInstantiateConfigProposal. To update instantiate config + * to a set of code ids, a simple MsgUpdateInstantiateConfig can be invoked from + * the x/gov module via a v1 governance proposal. + */ +/** @deprecated */ +export interface UpdateInstantiateConfigProposalSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal'; + title: string; + description: string; + access_config_updates: AccessConfigUpdateSDKType[]; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit StoreAndInstantiateContractProposal. To store and instantiate + * the contract, a simple MsgStoreAndInstantiateContract can be invoked from + * the x/gov module via a v1 governance proposal. + */ +/** @deprecated */ +export interface StoreAndInstantiateContractProposal { + $typeUrl?: '/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal'; + /** Title is a short summary */ + title: string; + /** Description is a human readable text */ + description: string; + /** RunAs is the address that is passed to the contract's environment as sender */ + runAs: string; + /** WASMByteCode can be raw or gzip compressed */ + wasmByteCode: Uint8Array; + /** InstantiatePermission to apply on contract creation, optional */ + instantiatePermission?: AccessConfig; + /** UnpinCode code on upload, optional */ + unpinCode: boolean; + /** Admin is an optional address that can execute migrations */ + admin: string; + /** Label is optional metadata to be stored with a constract instance. */ + label: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg: Uint8Array; + /** Funds coins that are transferred to the contract on instantiation */ + funds: Coin[]; + /** Source is the URL where the code is hosted */ + source: string; + /** + * Builder is the docker image used to build the code deterministically, used + * for smart contract verification + */ + builder: string; + /** + * CodeHash is the SHA256 sum of the code outputted by builder, used for smart + * contract verification + */ + codeHash: Uint8Array; +} +export interface StoreAndInstantiateContractProposalProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal'; + value: Uint8Array; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit StoreAndInstantiateContractProposal. To store and instantiate + * the contract, a simple MsgStoreAndInstantiateContract can be invoked from + * the x/gov module via a v1 governance proposal. + */ +/** @deprecated */ +export interface StoreAndInstantiateContractProposalAmino { + /** Title is a short summary */ + title?: string; + /** Description is a human readable text */ + description?: string; + /** RunAs is the address that is passed to the contract's environment as sender */ + run_as?: string; + /** WASMByteCode can be raw or gzip compressed */ + wasm_byte_code?: string; + /** InstantiatePermission to apply on contract creation, optional */ + instantiate_permission?: AccessConfigAmino; + /** UnpinCode code on upload, optional */ + unpin_code?: boolean; + /** Admin is an optional address that can execute migrations */ + admin?: string; + /** Label is optional metadata to be stored with a constract instance. */ + label?: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg?: any; + /** Funds coins that are transferred to the contract on instantiation */ + funds: CoinAmino[]; + /** Source is the URL where the code is hosted */ + source?: string; + /** + * Builder is the docker image used to build the code deterministically, used + * for smart contract verification + */ + builder?: string; + /** + * CodeHash is the SHA256 sum of the code outputted by builder, used for smart + * contract verification + */ + code_hash?: string; +} +export interface StoreAndInstantiateContractProposalAminoMsg { + type: 'wasm/StoreAndInstantiateContractProposal'; + value: StoreAndInstantiateContractProposalAmino; +} +/** + * Deprecated: Do not use. Since wasmd v0.40, there is no longer a need for + * an explicit StoreAndInstantiateContractProposal. To store and instantiate + * the contract, a simple MsgStoreAndInstantiateContract can be invoked from + * the x/gov module via a v1 governance proposal. + */ +/** @deprecated */ +export interface StoreAndInstantiateContractProposalSDKType { + $typeUrl?: '/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal'; + title: string; + description: string; + run_as: string; + wasm_byte_code: Uint8Array; + instantiate_permission?: AccessConfigSDKType; + unpin_code: boolean; + admin: string; + label: string; + msg: Uint8Array; + funds: CoinSDKType[]; + source: string; + builder: string; + code_hash: Uint8Array; +} +function createBaseStoreCodeProposal(): StoreCodeProposal { + return { + $typeUrl: '/cosmwasm.wasm.v1.StoreCodeProposal', + title: '', + description: '', + runAs: '', + wasmByteCode: new Uint8Array(), + instantiatePermission: undefined, + unpinCode: false, + source: '', + builder: '', + codeHash: new Uint8Array(), + }; +} +export const StoreCodeProposal = { + typeUrl: '/cosmwasm.wasm.v1.StoreCodeProposal', + encode(message: StoreCodeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.runAs !== '') { + writer.uint32(26).string(message.runAs); + } + if (message.wasmByteCode.length !== 0) { + writer.uint32(34).bytes(message.wasmByteCode); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(58).fork()).ldelim(); + } + if (message.unpinCode === true) { + writer.uint32(64).bool(message.unpinCode); + } + if (message.source !== '') { + writer.uint32(74).string(message.source); + } + if (message.builder !== '') { + writer.uint32(82).string(message.builder); + } + if (message.codeHash.length !== 0) { + writer.uint32(90).bytes(message.codeHash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): StoreCodeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStoreCodeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.runAs = reader.string(); + break; + case 4: + message.wasmByteCode = reader.bytes(); + break; + case 7: + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + break; + case 8: + message.unpinCode = reader.bool(); + break; + case 9: + message.source = reader.string(); + break; + case 10: + message.builder = reader.string(); + break; + case 11: + message.codeHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): StoreCodeProposal { + const message = createBaseStoreCodeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.runAs = object.runAs ?? ''; + message.wasmByteCode = object.wasmByteCode ?? new Uint8Array(); + message.instantiatePermission = + object.instantiatePermission !== undefined && object.instantiatePermission !== null + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + message.unpinCode = object.unpinCode ?? false; + message.source = object.source ?? ''; + message.builder = object.builder ?? ''; + message.codeHash = object.codeHash ?? new Uint8Array(); + return message; + }, + fromAmino(object: StoreCodeProposalAmino): StoreCodeProposal { + const message = createBaseStoreCodeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.run_as !== undefined && object.run_as !== null) { + message.runAs = object.run_as; + } + if (object.wasm_byte_code !== undefined && object.wasm_byte_code !== null) { + message.wasmByteCode = fromBase64(object.wasm_byte_code); + } + if (object.instantiate_permission !== undefined && object.instantiate_permission !== null) { + message.instantiatePermission = AccessConfig.fromAmino(object.instantiate_permission); + } + if (object.unpin_code !== undefined && object.unpin_code !== null) { + message.unpinCode = object.unpin_code; + } + if (object.source !== undefined && object.source !== null) { + message.source = object.source; + } + if (object.builder !== undefined && object.builder !== null) { + message.builder = object.builder; + } + if (object.code_hash !== undefined && object.code_hash !== null) { + message.codeHash = bytesFromBase64(object.code_hash); + } + return message; + }, + toAmino(message: StoreCodeProposal): StoreCodeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.run_as = message.runAs === '' ? undefined : message.runAs; + obj.wasm_byte_code = message.wasmByteCode ? toBase64(message.wasmByteCode) : undefined; + obj.instantiate_permission = message.instantiatePermission + ? AccessConfig.toAmino(message.instantiatePermission) + : undefined; + obj.unpin_code = message.unpinCode === false ? undefined : message.unpinCode; + obj.source = message.source === '' ? undefined : message.source; + obj.builder = message.builder === '' ? undefined : message.builder; + obj.code_hash = message.codeHash ? base64FromBytes(message.codeHash) : undefined; + return obj; + }, + fromAminoMsg(object: StoreCodeProposalAminoMsg): StoreCodeProposal { + return StoreCodeProposal.fromAmino(object.value); + }, + toAminoMsg(message: StoreCodeProposal): StoreCodeProposalAminoMsg { + return { + type: 'wasm/StoreCodeProposal', + value: StoreCodeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: StoreCodeProposalProtoMsg): StoreCodeProposal { + return StoreCodeProposal.decode(message.value); + }, + toProto(message: StoreCodeProposal): Uint8Array { + return StoreCodeProposal.encode(message).finish(); + }, + toProtoMsg(message: StoreCodeProposal): StoreCodeProposalProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.StoreCodeProposal', + value: StoreCodeProposal.encode(message).finish(), + }; + }, +}; +function createBaseInstantiateContractProposal(): InstantiateContractProposal { + return { + $typeUrl: '/cosmwasm.wasm.v1.InstantiateContractProposal', + title: '', + description: '', + runAs: '', + admin: '', + codeId: BigInt(0), + label: '', + msg: new Uint8Array(), + funds: [], + }; +} +export const InstantiateContractProposal = { + typeUrl: '/cosmwasm.wasm.v1.InstantiateContractProposal', + encode(message: InstantiateContractProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.runAs !== '') { + writer.uint32(26).string(message.runAs); + } + if (message.admin !== '') { + writer.uint32(34).string(message.admin); + } + if (message.codeId !== BigInt(0)) { + writer.uint32(40).uint64(message.codeId); + } + if (message.label !== '') { + writer.uint32(50).string(message.label); + } + if (message.msg.length !== 0) { + writer.uint32(58).bytes(message.msg); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(66).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): InstantiateContractProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInstantiateContractProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.runAs = reader.string(); + break; + case 4: + message.admin = reader.string(); + break; + case 5: + message.codeId = reader.uint64(); + break; + case 6: + message.label = reader.string(); + break; + case 7: + message.msg = reader.bytes(); + break; + case 8: + message.funds.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): InstantiateContractProposal { + const message = createBaseInstantiateContractProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.runAs = object.runAs ?? ''; + message.admin = object.admin ?? ''; + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.label = object.label ?? ''; + message.msg = object.msg ?? new Uint8Array(); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: InstantiateContractProposalAmino): InstantiateContractProposal { + const message = createBaseInstantiateContractProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.run_as !== undefined && object.run_as !== null) { + message.runAs = object.run_as; + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.label !== undefined && object.label !== null) { + message.label = object.label; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + message.funds = object.funds?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: InstantiateContractProposal): InstantiateContractProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.run_as = message.runAs === '' ? undefined : message.runAs; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.label = message.label === '' ? undefined : message.label; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + if (message.funds) { + obj.funds = message.funds.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.funds = message.funds; + } + return obj; + }, + fromAminoMsg(object: InstantiateContractProposalAminoMsg): InstantiateContractProposal { + return InstantiateContractProposal.fromAmino(object.value); + }, + toAminoMsg(message: InstantiateContractProposal): InstantiateContractProposalAminoMsg { + return { + type: 'wasm/InstantiateContractProposal', + value: InstantiateContractProposal.toAmino(message), + }; + }, + fromProtoMsg(message: InstantiateContractProposalProtoMsg): InstantiateContractProposal { + return InstantiateContractProposal.decode(message.value); + }, + toProto(message: InstantiateContractProposal): Uint8Array { + return InstantiateContractProposal.encode(message).finish(); + }, + toProtoMsg(message: InstantiateContractProposal): InstantiateContractProposalProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.InstantiateContractProposal', + value: InstantiateContractProposal.encode(message).finish(), + }; + }, +}; +function createBaseInstantiateContract2Proposal(): InstantiateContract2Proposal { + return { + $typeUrl: '/cosmwasm.wasm.v1.InstantiateContract2Proposal', + title: '', + description: '', + runAs: '', + admin: '', + codeId: BigInt(0), + label: '', + msg: new Uint8Array(), + funds: [], + salt: new Uint8Array(), + fixMsg: false, + }; +} +export const InstantiateContract2Proposal = { + typeUrl: '/cosmwasm.wasm.v1.InstantiateContract2Proposal', + encode(message: InstantiateContract2Proposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.runAs !== '') { + writer.uint32(26).string(message.runAs); + } + if (message.admin !== '') { + writer.uint32(34).string(message.admin); + } + if (message.codeId !== BigInt(0)) { + writer.uint32(40).uint64(message.codeId); + } + if (message.label !== '') { + writer.uint32(50).string(message.label); + } + if (message.msg.length !== 0) { + writer.uint32(58).bytes(message.msg); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(66).fork()).ldelim(); + } + if (message.salt.length !== 0) { + writer.uint32(74).bytes(message.salt); + } + if (message.fixMsg === true) { + writer.uint32(80).bool(message.fixMsg); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): InstantiateContract2Proposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseInstantiateContract2Proposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.runAs = reader.string(); + break; + case 4: + message.admin = reader.string(); + break; + case 5: + message.codeId = reader.uint64(); + break; + case 6: + message.label = reader.string(); + break; + case 7: + message.msg = reader.bytes(); + break; + case 8: + message.funds.push(Coin.decode(reader, reader.uint32())); + break; + case 9: + message.salt = reader.bytes(); + break; + case 10: + message.fixMsg = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): InstantiateContract2Proposal { + const message = createBaseInstantiateContract2Proposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.runAs = object.runAs ?? ''; + message.admin = object.admin ?? ''; + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.label = object.label ?? ''; + message.msg = object.msg ?? new Uint8Array(); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + message.salt = object.salt ?? new Uint8Array(); + message.fixMsg = object.fixMsg ?? false; + return message; + }, + fromAmino(object: InstantiateContract2ProposalAmino): InstantiateContract2Proposal { + const message = createBaseInstantiateContract2Proposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.run_as !== undefined && object.run_as !== null) { + message.runAs = object.run_as; + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.label !== undefined && object.label !== null) { + message.label = object.label; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + message.funds = object.funds?.map((e) => Coin.fromAmino(e)) || []; + if (object.salt !== undefined && object.salt !== null) { + message.salt = bytesFromBase64(object.salt); + } + if (object.fix_msg !== undefined && object.fix_msg !== null) { + message.fixMsg = object.fix_msg; + } + return message; + }, + toAmino(message: InstantiateContract2Proposal): InstantiateContract2ProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.run_as = message.runAs === '' ? undefined : message.runAs; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.label = message.label === '' ? undefined : message.label; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + if (message.funds) { + obj.funds = message.funds.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.funds = message.funds; + } + obj.salt = message.salt ? base64FromBytes(message.salt) : undefined; + obj.fix_msg = message.fixMsg === false ? undefined : message.fixMsg; + return obj; + }, + fromAminoMsg(object: InstantiateContract2ProposalAminoMsg): InstantiateContract2Proposal { + return InstantiateContract2Proposal.fromAmino(object.value); + }, + toAminoMsg(message: InstantiateContract2Proposal): InstantiateContract2ProposalAminoMsg { + return { + type: 'wasm/InstantiateContract2Proposal', + value: InstantiateContract2Proposal.toAmino(message), + }; + }, + fromProtoMsg(message: InstantiateContract2ProposalProtoMsg): InstantiateContract2Proposal { + return InstantiateContract2Proposal.decode(message.value); + }, + toProto(message: InstantiateContract2Proposal): Uint8Array { + return InstantiateContract2Proposal.encode(message).finish(); + }, + toProtoMsg(message: InstantiateContract2Proposal): InstantiateContract2ProposalProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.InstantiateContract2Proposal', + value: InstantiateContract2Proposal.encode(message).finish(), + }; + }, +}; +function createBaseMigrateContractProposal(): MigrateContractProposal { + return { + $typeUrl: '/cosmwasm.wasm.v1.MigrateContractProposal', + title: '', + description: '', + contract: '', + codeId: BigInt(0), + msg: new Uint8Array(), + }; +} +export const MigrateContractProposal = { + typeUrl: '/cosmwasm.wasm.v1.MigrateContractProposal', + encode(message: MigrateContractProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.contract !== '') { + writer.uint32(34).string(message.contract); + } + if (message.codeId !== BigInt(0)) { + writer.uint32(40).uint64(message.codeId); + } + if (message.msg.length !== 0) { + writer.uint32(50).bytes(message.msg); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MigrateContractProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMigrateContractProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 4: + message.contract = reader.string(); + break; + case 5: + message.codeId = reader.uint64(); + break; + case 6: + message.msg = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MigrateContractProposal { + const message = createBaseMigrateContractProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.contract = object.contract ?? ''; + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.msg = object.msg ?? new Uint8Array(); + return message; + }, + fromAmino(object: MigrateContractProposalAmino): MigrateContractProposal { + const message = createBaseMigrateContractProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + return message; + }, + toAmino(message: MigrateContractProposal): MigrateContractProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.contract = message.contract === '' ? undefined : message.contract; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + return obj; + }, + fromAminoMsg(object: MigrateContractProposalAminoMsg): MigrateContractProposal { + return MigrateContractProposal.fromAmino(object.value); + }, + toAminoMsg(message: MigrateContractProposal): MigrateContractProposalAminoMsg { + return { + type: 'wasm/MigrateContractProposal', + value: MigrateContractProposal.toAmino(message), + }; + }, + fromProtoMsg(message: MigrateContractProposalProtoMsg): MigrateContractProposal { + return MigrateContractProposal.decode(message.value); + }, + toProto(message: MigrateContractProposal): Uint8Array { + return MigrateContractProposal.encode(message).finish(); + }, + toProtoMsg(message: MigrateContractProposal): MigrateContractProposalProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MigrateContractProposal', + value: MigrateContractProposal.encode(message).finish(), + }; + }, +}; +function createBaseSudoContractProposal(): SudoContractProposal { + return { + $typeUrl: '/cosmwasm.wasm.v1.SudoContractProposal', + title: '', + description: '', + contract: '', + msg: new Uint8Array(), + }; +} +export const SudoContractProposal = { + typeUrl: '/cosmwasm.wasm.v1.SudoContractProposal', + encode(message: SudoContractProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.contract !== '') { + writer.uint32(26).string(message.contract); + } + if (message.msg.length !== 0) { + writer.uint32(34).bytes(message.msg); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SudoContractProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSudoContractProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.contract = reader.string(); + break; + case 4: + message.msg = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SudoContractProposal { + const message = createBaseSudoContractProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.contract = object.contract ?? ''; + message.msg = object.msg ?? new Uint8Array(); + return message; + }, + fromAmino(object: SudoContractProposalAmino): SudoContractProposal { + const message = createBaseSudoContractProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + return message; + }, + toAmino(message: SudoContractProposal): SudoContractProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.contract = message.contract === '' ? undefined : message.contract; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + return obj; + }, + fromAminoMsg(object: SudoContractProposalAminoMsg): SudoContractProposal { + return SudoContractProposal.fromAmino(object.value); + }, + toAminoMsg(message: SudoContractProposal): SudoContractProposalAminoMsg { + return { + type: 'wasm/SudoContractProposal', + value: SudoContractProposal.toAmino(message), + }; + }, + fromProtoMsg(message: SudoContractProposalProtoMsg): SudoContractProposal { + return SudoContractProposal.decode(message.value); + }, + toProto(message: SudoContractProposal): Uint8Array { + return SudoContractProposal.encode(message).finish(); + }, + toProtoMsg(message: SudoContractProposal): SudoContractProposalProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.SudoContractProposal', + value: SudoContractProposal.encode(message).finish(), + }; + }, +}; +function createBaseExecuteContractProposal(): ExecuteContractProposal { + return { + $typeUrl: '/cosmwasm.wasm.v1.ExecuteContractProposal', + title: '', + description: '', + runAs: '', + contract: '', + msg: new Uint8Array(), + funds: [], + }; +} +export const ExecuteContractProposal = { + typeUrl: '/cosmwasm.wasm.v1.ExecuteContractProposal', + encode(message: ExecuteContractProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.runAs !== '') { + writer.uint32(26).string(message.runAs); + } + if (message.contract !== '') { + writer.uint32(34).string(message.contract); + } + if (message.msg.length !== 0) { + writer.uint32(42).bytes(message.msg); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ExecuteContractProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExecuteContractProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.runAs = reader.string(); + break; + case 4: + message.contract = reader.string(); + break; + case 5: + message.msg = reader.bytes(); + break; + case 6: + message.funds.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ExecuteContractProposal { + const message = createBaseExecuteContractProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.runAs = object.runAs ?? ''; + message.contract = object.contract ?? ''; + message.msg = object.msg ?? new Uint8Array(); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ExecuteContractProposalAmino): ExecuteContractProposal { + const message = createBaseExecuteContractProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.run_as !== undefined && object.run_as !== null) { + message.runAs = object.run_as; + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + message.funds = object.funds?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: ExecuteContractProposal): ExecuteContractProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.run_as = message.runAs === '' ? undefined : message.runAs; + obj.contract = message.contract === '' ? undefined : message.contract; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + if (message.funds) { + obj.funds = message.funds.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.funds = message.funds; + } + return obj; + }, + fromAminoMsg(object: ExecuteContractProposalAminoMsg): ExecuteContractProposal { + return ExecuteContractProposal.fromAmino(object.value); + }, + toAminoMsg(message: ExecuteContractProposal): ExecuteContractProposalAminoMsg { + return { + type: 'wasm/ExecuteContractProposal', + value: ExecuteContractProposal.toAmino(message), + }; + }, + fromProtoMsg(message: ExecuteContractProposalProtoMsg): ExecuteContractProposal { + return ExecuteContractProposal.decode(message.value); + }, + toProto(message: ExecuteContractProposal): Uint8Array { + return ExecuteContractProposal.encode(message).finish(); + }, + toProtoMsg(message: ExecuteContractProposal): ExecuteContractProposalProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.ExecuteContractProposal', + value: ExecuteContractProposal.encode(message).finish(), + }; + }, +}; +function createBaseUpdateAdminProposal(): UpdateAdminProposal { + return { + $typeUrl: '/cosmwasm.wasm.v1.UpdateAdminProposal', + title: '', + description: '', + newAdmin: '', + contract: '', + }; +} +export const UpdateAdminProposal = { + typeUrl: '/cosmwasm.wasm.v1.UpdateAdminProposal', + encode(message: UpdateAdminProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.newAdmin !== '') { + writer.uint32(26).string(message.newAdmin); + } + if (message.contract !== '') { + writer.uint32(34).string(message.contract); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): UpdateAdminProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpdateAdminProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.newAdmin = reader.string(); + break; + case 4: + message.contract = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): UpdateAdminProposal { + const message = createBaseUpdateAdminProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.newAdmin = object.newAdmin ?? ''; + message.contract = object.contract ?? ''; + return message; + }, + fromAmino(object: UpdateAdminProposalAmino): UpdateAdminProposal { + const message = createBaseUpdateAdminProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.new_admin !== undefined && object.new_admin !== null) { + message.newAdmin = object.new_admin; + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + return message; + }, + toAmino(message: UpdateAdminProposal): UpdateAdminProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.new_admin = message.newAdmin === '' ? undefined : message.newAdmin; + obj.contract = message.contract === '' ? undefined : message.contract; + return obj; + }, + fromAminoMsg(object: UpdateAdminProposalAminoMsg): UpdateAdminProposal { + return UpdateAdminProposal.fromAmino(object.value); + }, + toAminoMsg(message: UpdateAdminProposal): UpdateAdminProposalAminoMsg { + return { + type: 'wasm/UpdateAdminProposal', + value: UpdateAdminProposal.toAmino(message), + }; + }, + fromProtoMsg(message: UpdateAdminProposalProtoMsg): UpdateAdminProposal { + return UpdateAdminProposal.decode(message.value); + }, + toProto(message: UpdateAdminProposal): Uint8Array { + return UpdateAdminProposal.encode(message).finish(); + }, + toProtoMsg(message: UpdateAdminProposal): UpdateAdminProposalProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.UpdateAdminProposal', + value: UpdateAdminProposal.encode(message).finish(), + }; + }, +}; +function createBaseClearAdminProposal(): ClearAdminProposal { + return { + $typeUrl: '/cosmwasm.wasm.v1.ClearAdminProposal', + title: '', + description: '', + contract: '', + }; +} +export const ClearAdminProposal = { + typeUrl: '/cosmwasm.wasm.v1.ClearAdminProposal', + encode(message: ClearAdminProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.contract !== '') { + writer.uint32(26).string(message.contract); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ClearAdminProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseClearAdminProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.contract = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ClearAdminProposal { + const message = createBaseClearAdminProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.contract = object.contract ?? ''; + return message; + }, + fromAmino(object: ClearAdminProposalAmino): ClearAdminProposal { + const message = createBaseClearAdminProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + return message; + }, + toAmino(message: ClearAdminProposal): ClearAdminProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.contract = message.contract === '' ? undefined : message.contract; + return obj; + }, + fromAminoMsg(object: ClearAdminProposalAminoMsg): ClearAdminProposal { + return ClearAdminProposal.fromAmino(object.value); + }, + toAminoMsg(message: ClearAdminProposal): ClearAdminProposalAminoMsg { + return { + type: 'wasm/ClearAdminProposal', + value: ClearAdminProposal.toAmino(message), + }; + }, + fromProtoMsg(message: ClearAdminProposalProtoMsg): ClearAdminProposal { + return ClearAdminProposal.decode(message.value); + }, + toProto(message: ClearAdminProposal): Uint8Array { + return ClearAdminProposal.encode(message).finish(); + }, + toProtoMsg(message: ClearAdminProposal): ClearAdminProposalProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.ClearAdminProposal', + value: ClearAdminProposal.encode(message).finish(), + }; + }, +}; +function createBasePinCodesProposal(): PinCodesProposal { + return { + $typeUrl: '/cosmwasm.wasm.v1.PinCodesProposal', + title: '', + description: '', + codeIds: [], + }; +} +export const PinCodesProposal = { + typeUrl: '/cosmwasm.wasm.v1.PinCodesProposal', + encode(message: PinCodesProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + writer.uint32(26).fork(); + for (const v of message.codeIds) { + writer.uint64(v); + } + writer.ldelim(); + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PinCodesProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePinCodesProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.codeIds.push(reader.uint64()); + } + } else { + message.codeIds.push(reader.uint64()); + } + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PinCodesProposal { + const message = createBasePinCodesProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.codeIds = object.codeIds?.map((e) => BigInt(e.toString())) || []; + return message; + }, + fromAmino(object: PinCodesProposalAmino): PinCodesProposal { + const message = createBasePinCodesProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.codeIds = object.code_ids?.map((e) => BigInt(e)) || []; + return message; + }, + toAmino(message: PinCodesProposal): PinCodesProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.codeIds) { + obj.code_ids = message.codeIds.map((e) => e.toString()); + } else { + obj.code_ids = message.codeIds; + } + return obj; + }, + fromAminoMsg(object: PinCodesProposalAminoMsg): PinCodesProposal { + return PinCodesProposal.fromAmino(object.value); + }, + toAminoMsg(message: PinCodesProposal): PinCodesProposalAminoMsg { + return { + type: 'wasm/PinCodesProposal', + value: PinCodesProposal.toAmino(message), + }; + }, + fromProtoMsg(message: PinCodesProposalProtoMsg): PinCodesProposal { + return PinCodesProposal.decode(message.value); + }, + toProto(message: PinCodesProposal): Uint8Array { + return PinCodesProposal.encode(message).finish(); + }, + toProtoMsg(message: PinCodesProposal): PinCodesProposalProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.PinCodesProposal', + value: PinCodesProposal.encode(message).finish(), + }; + }, +}; +function createBaseUnpinCodesProposal(): UnpinCodesProposal { + return { + $typeUrl: '/cosmwasm.wasm.v1.UnpinCodesProposal', + title: '', + description: '', + codeIds: [], + }; +} +export const UnpinCodesProposal = { + typeUrl: '/cosmwasm.wasm.v1.UnpinCodesProposal', + encode(message: UnpinCodesProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + writer.uint32(26).fork(); + for (const v of message.codeIds) { + writer.uint64(v); + } + writer.ldelim(); + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): UnpinCodesProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUnpinCodesProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.codeIds.push(reader.uint64()); + } + } else { + message.codeIds.push(reader.uint64()); + } + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): UnpinCodesProposal { + const message = createBaseUnpinCodesProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.codeIds = object.codeIds?.map((e) => BigInt(e.toString())) || []; + return message; + }, + fromAmino(object: UnpinCodesProposalAmino): UnpinCodesProposal { + const message = createBaseUnpinCodesProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.codeIds = object.code_ids?.map((e) => BigInt(e)) || []; + return message; + }, + toAmino(message: UnpinCodesProposal): UnpinCodesProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.codeIds) { + obj.code_ids = message.codeIds.map((e) => e.toString()); + } else { + obj.code_ids = message.codeIds; + } + return obj; + }, + fromAminoMsg(object: UnpinCodesProposalAminoMsg): UnpinCodesProposal { + return UnpinCodesProposal.fromAmino(object.value); + }, + toAminoMsg(message: UnpinCodesProposal): UnpinCodesProposalAminoMsg { + return { + type: 'wasm/UnpinCodesProposal', + value: UnpinCodesProposal.toAmino(message), + }; + }, + fromProtoMsg(message: UnpinCodesProposalProtoMsg): UnpinCodesProposal { + return UnpinCodesProposal.decode(message.value); + }, + toProto(message: UnpinCodesProposal): Uint8Array { + return UnpinCodesProposal.encode(message).finish(); + }, + toProtoMsg(message: UnpinCodesProposal): UnpinCodesProposalProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.UnpinCodesProposal', + value: UnpinCodesProposal.encode(message).finish(), + }; + }, +}; +function createBaseAccessConfigUpdate(): AccessConfigUpdate { + return { + codeId: BigInt(0), + instantiatePermission: AccessConfig.fromPartial({}), + }; +} +export const AccessConfigUpdate = { + typeUrl: '/cosmwasm.wasm.v1.AccessConfigUpdate', + encode(message: AccessConfigUpdate, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.codeId !== BigInt(0)) { + writer.uint32(8).uint64(message.codeId); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AccessConfigUpdate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccessConfigUpdate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.codeId = reader.uint64(); + break; + case 2: + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AccessConfigUpdate { + const message = createBaseAccessConfigUpdate(); + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.instantiatePermission = + object.instantiatePermission !== undefined && object.instantiatePermission !== null + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + return message; + }, + fromAmino(object: AccessConfigUpdateAmino): AccessConfigUpdate { + const message = createBaseAccessConfigUpdate(); + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.instantiate_permission !== undefined && object.instantiate_permission !== null) { + message.instantiatePermission = AccessConfig.fromAmino(object.instantiate_permission); + } + return message; + }, + toAmino(message: AccessConfigUpdate): AccessConfigUpdateAmino { + const obj: any = {}; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.instantiate_permission = message.instantiatePermission + ? AccessConfig.toAmino(message.instantiatePermission) + : AccessConfig.toAmino(AccessConfig.fromPartial({})); + return obj; + }, + fromAminoMsg(object: AccessConfigUpdateAminoMsg): AccessConfigUpdate { + return AccessConfigUpdate.fromAmino(object.value); + }, + toAminoMsg(message: AccessConfigUpdate): AccessConfigUpdateAminoMsg { + return { + type: 'wasm/AccessConfigUpdate', + value: AccessConfigUpdate.toAmino(message), + }; + }, + fromProtoMsg(message: AccessConfigUpdateProtoMsg): AccessConfigUpdate { + return AccessConfigUpdate.decode(message.value); + }, + toProto(message: AccessConfigUpdate): Uint8Array { + return AccessConfigUpdate.encode(message).finish(); + }, + toProtoMsg(message: AccessConfigUpdate): AccessConfigUpdateProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.AccessConfigUpdate', + value: AccessConfigUpdate.encode(message).finish(), + }; + }, +}; +function createBaseUpdateInstantiateConfigProposal(): UpdateInstantiateConfigProposal { + return { + $typeUrl: '/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal', + title: '', + description: '', + accessConfigUpdates: [], + }; +} +export const UpdateInstantiateConfigProposal = { + typeUrl: '/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal', + encode(message: UpdateInstantiateConfigProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.accessConfigUpdates) { + AccessConfigUpdate.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): UpdateInstantiateConfigProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpdateInstantiateConfigProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.accessConfigUpdates.push(AccessConfigUpdate.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): UpdateInstantiateConfigProposal { + const message = createBaseUpdateInstantiateConfigProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.accessConfigUpdates = object.accessConfigUpdates?.map((e) => AccessConfigUpdate.fromPartial(e)) || []; + return message; + }, + fromAmino(object: UpdateInstantiateConfigProposalAmino): UpdateInstantiateConfigProposal { + const message = createBaseUpdateInstantiateConfigProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.accessConfigUpdates = object.access_config_updates?.map((e) => AccessConfigUpdate.fromAmino(e)) || []; + return message; + }, + toAmino(message: UpdateInstantiateConfigProposal): UpdateInstantiateConfigProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.accessConfigUpdates) { + obj.access_config_updates = message.accessConfigUpdates.map((e) => + e ? AccessConfigUpdate.toAmino(e) : undefined, + ); + } else { + obj.access_config_updates = message.accessConfigUpdates; + } + return obj; + }, + fromAminoMsg(object: UpdateInstantiateConfigProposalAminoMsg): UpdateInstantiateConfigProposal { + return UpdateInstantiateConfigProposal.fromAmino(object.value); + }, + toAminoMsg(message: UpdateInstantiateConfigProposal): UpdateInstantiateConfigProposalAminoMsg { + return { + type: 'wasm/UpdateInstantiateConfigProposal', + value: UpdateInstantiateConfigProposal.toAmino(message), + }; + }, + fromProtoMsg(message: UpdateInstantiateConfigProposalProtoMsg): UpdateInstantiateConfigProposal { + return UpdateInstantiateConfigProposal.decode(message.value); + }, + toProto(message: UpdateInstantiateConfigProposal): Uint8Array { + return UpdateInstantiateConfigProposal.encode(message).finish(); + }, + toProtoMsg(message: UpdateInstantiateConfigProposal): UpdateInstantiateConfigProposalProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.UpdateInstantiateConfigProposal', + value: UpdateInstantiateConfigProposal.encode(message).finish(), + }; + }, +}; +function createBaseStoreAndInstantiateContractProposal(): StoreAndInstantiateContractProposal { + return { + $typeUrl: '/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal', + title: '', + description: '', + runAs: '', + wasmByteCode: new Uint8Array(), + instantiatePermission: undefined, + unpinCode: false, + admin: '', + label: '', + msg: new Uint8Array(), + funds: [], + source: '', + builder: '', + codeHash: new Uint8Array(), + }; +} +export const StoreAndInstantiateContractProposal = { + typeUrl: '/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal', + encode(message: StoreAndInstantiateContractProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.runAs !== '') { + writer.uint32(26).string(message.runAs); + } + if (message.wasmByteCode.length !== 0) { + writer.uint32(34).bytes(message.wasmByteCode); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(42).fork()).ldelim(); + } + if (message.unpinCode === true) { + writer.uint32(48).bool(message.unpinCode); + } + if (message.admin !== '') { + writer.uint32(58).string(message.admin); + } + if (message.label !== '') { + writer.uint32(66).string(message.label); + } + if (message.msg.length !== 0) { + writer.uint32(74).bytes(message.msg); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(82).fork()).ldelim(); + } + if (message.source !== '') { + writer.uint32(90).string(message.source); + } + if (message.builder !== '') { + writer.uint32(98).string(message.builder); + } + if (message.codeHash.length !== 0) { + writer.uint32(106).bytes(message.codeHash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): StoreAndInstantiateContractProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStoreAndInstantiateContractProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.runAs = reader.string(); + break; + case 4: + message.wasmByteCode = reader.bytes(); + break; + case 5: + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + break; + case 6: + message.unpinCode = reader.bool(); + break; + case 7: + message.admin = reader.string(); + break; + case 8: + message.label = reader.string(); + break; + case 9: + message.msg = reader.bytes(); + break; + case 10: + message.funds.push(Coin.decode(reader, reader.uint32())); + break; + case 11: + message.source = reader.string(); + break; + case 12: + message.builder = reader.string(); + break; + case 13: + message.codeHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): StoreAndInstantiateContractProposal { + const message = createBaseStoreAndInstantiateContractProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.runAs = object.runAs ?? ''; + message.wasmByteCode = object.wasmByteCode ?? new Uint8Array(); + message.instantiatePermission = + object.instantiatePermission !== undefined && object.instantiatePermission !== null + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + message.unpinCode = object.unpinCode ?? false; + message.admin = object.admin ?? ''; + message.label = object.label ?? ''; + message.msg = object.msg ?? new Uint8Array(); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + message.source = object.source ?? ''; + message.builder = object.builder ?? ''; + message.codeHash = object.codeHash ?? new Uint8Array(); + return message; + }, + fromAmino(object: StoreAndInstantiateContractProposalAmino): StoreAndInstantiateContractProposal { + const message = createBaseStoreAndInstantiateContractProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.run_as !== undefined && object.run_as !== null) { + message.runAs = object.run_as; + } + if (object.wasm_byte_code !== undefined && object.wasm_byte_code !== null) { + message.wasmByteCode = fromBase64(object.wasm_byte_code); + } + if (object.instantiate_permission !== undefined && object.instantiate_permission !== null) { + message.instantiatePermission = AccessConfig.fromAmino(object.instantiate_permission); + } + if (object.unpin_code !== undefined && object.unpin_code !== null) { + message.unpinCode = object.unpin_code; + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.label !== undefined && object.label !== null) { + message.label = object.label; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + message.funds = object.funds?.map((e) => Coin.fromAmino(e)) || []; + if (object.source !== undefined && object.source !== null) { + message.source = object.source; + } + if (object.builder !== undefined && object.builder !== null) { + message.builder = object.builder; + } + if (object.code_hash !== undefined && object.code_hash !== null) { + message.codeHash = bytesFromBase64(object.code_hash); + } + return message; + }, + toAmino(message: StoreAndInstantiateContractProposal): StoreAndInstantiateContractProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.run_as = message.runAs === '' ? undefined : message.runAs; + obj.wasm_byte_code = message.wasmByteCode ? toBase64(message.wasmByteCode) : undefined; + obj.instantiate_permission = message.instantiatePermission + ? AccessConfig.toAmino(message.instantiatePermission) + : undefined; + obj.unpin_code = message.unpinCode === false ? undefined : message.unpinCode; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.label = message.label === '' ? undefined : message.label; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + if (message.funds) { + obj.funds = message.funds.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.funds = message.funds; + } + obj.source = message.source === '' ? undefined : message.source; + obj.builder = message.builder === '' ? undefined : message.builder; + obj.code_hash = message.codeHash ? base64FromBytes(message.codeHash) : undefined; + return obj; + }, + fromAminoMsg(object: StoreAndInstantiateContractProposalAminoMsg): StoreAndInstantiateContractProposal { + return StoreAndInstantiateContractProposal.fromAmino(object.value); + }, + toAminoMsg(message: StoreAndInstantiateContractProposal): StoreAndInstantiateContractProposalAminoMsg { + return { + type: 'wasm/StoreAndInstantiateContractProposal', + value: StoreAndInstantiateContractProposal.toAmino(message), + }; + }, + fromProtoMsg(message: StoreAndInstantiateContractProposalProtoMsg): StoreAndInstantiateContractProposal { + return StoreAndInstantiateContractProposal.decode(message.value); + }, + toProto(message: StoreAndInstantiateContractProposal): Uint8Array { + return StoreAndInstantiateContractProposal.encode(message).finish(); + }, + toProtoMsg(message: StoreAndInstantiateContractProposal): StoreAndInstantiateContractProposalProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.StoreAndInstantiateContractProposal', + value: StoreAndInstantiateContractProposal.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmwasm/wasm/v1/tx.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmwasm/wasm/v1/tx.ts new file mode 100644 index 00000000..402c8ffb --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmwasm/wasm/v1/tx.ts @@ -0,0 +1,4163 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { fromBase64, fromUtf8, toBase64, toUtf8 } from '@cosmjs/encoding'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +import { Coin, CoinAmino, CoinSDKType } from '../../../cosmos/base/v1beta1/coin'; +import { AccessConfig, AccessConfigAmino, AccessConfigSDKType, Params, ParamsAmino, ParamsSDKType } from './types'; +/** MsgStoreCode submit Wasm code to the system */ +export interface MsgStoreCode { + /** Sender is the actor that signed the messages */ + sender: string; + /** WASMByteCode can be raw or gzip compressed */ + wasmByteCode: Uint8Array; + /** + * InstantiatePermission access control to apply on contract creation, + * optional + */ + instantiatePermission?: AccessConfig; +} +export interface MsgStoreCodeProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreCode'; + value: Uint8Array; +} +/** MsgStoreCode submit Wasm code to the system */ +export interface MsgStoreCodeAmino { + /** Sender is the actor that signed the messages */ + sender?: string; + /** WASMByteCode can be raw or gzip compressed */ + wasm_byte_code?: string; + /** + * InstantiatePermission access control to apply on contract creation, + * optional + */ + instantiate_permission?: AccessConfigAmino; +} +export interface MsgStoreCodeAminoMsg { + type: 'wasm/MsgStoreCode'; + value: MsgStoreCodeAmino; +} +/** MsgStoreCode submit Wasm code to the system */ +export interface MsgStoreCodeSDKType { + sender: string; + wasm_byte_code: Uint8Array; + instantiate_permission?: AccessConfigSDKType; +} +/** MsgStoreCodeResponse returns store result data. */ +export interface MsgStoreCodeResponse { + /** CodeID is the reference to the stored WASM code */ + codeId: bigint; + /** Checksum is the sha256 hash of the stored code */ + checksum: Uint8Array; +} +export interface MsgStoreCodeResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreCodeResponse'; + value: Uint8Array; +} +/** MsgStoreCodeResponse returns store result data. */ +export interface MsgStoreCodeResponseAmino { + /** CodeID is the reference to the stored WASM code */ + code_id?: string; + /** Checksum is the sha256 hash of the stored code */ + checksum?: string; +} +export interface MsgStoreCodeResponseAminoMsg { + type: 'wasm/MsgStoreCodeResponse'; + value: MsgStoreCodeResponseAmino; +} +/** MsgStoreCodeResponse returns store result data. */ +export interface MsgStoreCodeResponseSDKType { + code_id: bigint; + checksum: Uint8Array; +} +/** + * MsgInstantiateContract create a new smart contract instance for the given + * code id. + */ +export interface MsgInstantiateContract { + /** Sender is the that actor that signed the messages */ + sender: string; + /** Admin is an optional address that can execute migrations */ + admin: string; + /** CodeID is the reference to the stored WASM code */ + codeId: bigint; + /** Label is optional metadata to be stored with a contract instance. */ + label: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg: Uint8Array; + /** Funds coins that are transferred to the contract on instantiation */ + funds: Coin[]; +} +export interface MsgInstantiateContractProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgInstantiateContract'; + value: Uint8Array; +} +/** + * MsgInstantiateContract create a new smart contract instance for the given + * code id. + */ +export interface MsgInstantiateContractAmino { + /** Sender is the that actor that signed the messages */ + sender?: string; + /** Admin is an optional address that can execute migrations */ + admin?: string; + /** CodeID is the reference to the stored WASM code */ + code_id?: string; + /** Label is optional metadata to be stored with a contract instance. */ + label?: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg?: any; + /** Funds coins that are transferred to the contract on instantiation */ + funds: CoinAmino[]; +} +export interface MsgInstantiateContractAminoMsg { + type: 'wasm/MsgInstantiateContract'; + value: MsgInstantiateContractAmino; +} +/** + * MsgInstantiateContract create a new smart contract instance for the given + * code id. + */ +export interface MsgInstantiateContractSDKType { + sender: string; + admin: string; + code_id: bigint; + label: string; + msg: Uint8Array; + funds: CoinSDKType[]; +} +/** MsgInstantiateContractResponse return instantiation result data */ +export interface MsgInstantiateContractResponse { + /** Address is the bech32 address of the new contract instance. */ + address: string; + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} +export interface MsgInstantiateContractResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgInstantiateContractResponse'; + value: Uint8Array; +} +/** MsgInstantiateContractResponse return instantiation result data */ +export interface MsgInstantiateContractResponseAmino { + /** Address is the bech32 address of the new contract instance. */ + address?: string; + /** Data contains bytes to returned from the contract */ + data?: string; +} +export interface MsgInstantiateContractResponseAminoMsg { + type: 'wasm/MsgInstantiateContractResponse'; + value: MsgInstantiateContractResponseAmino; +} +/** MsgInstantiateContractResponse return instantiation result data */ +export interface MsgInstantiateContractResponseSDKType { + address: string; + data: Uint8Array; +} +/** + * MsgInstantiateContract2 create a new smart contract instance for the given + * code id with a predicable address. + */ +export interface MsgInstantiateContract2 { + /** Sender is the that actor that signed the messages */ + sender: string; + /** Admin is an optional address that can execute migrations */ + admin: string; + /** CodeID is the reference to the stored WASM code */ + codeId: bigint; + /** Label is optional metadata to be stored with a contract instance. */ + label: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg: Uint8Array; + /** Funds coins that are transferred to the contract on instantiation */ + funds: Coin[]; + /** Salt is an arbitrary value provided by the sender. Size can be 1 to 64. */ + salt: Uint8Array; + /** + * FixMsg include the msg value into the hash for the predictable address. + * Default is false + */ + fixMsg: boolean; +} +export interface MsgInstantiateContract2ProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgInstantiateContract2'; + value: Uint8Array; +} +/** + * MsgInstantiateContract2 create a new smart contract instance for the given + * code id with a predicable address. + */ +export interface MsgInstantiateContract2Amino { + /** Sender is the that actor that signed the messages */ + sender?: string; + /** Admin is an optional address that can execute migrations */ + admin?: string; + /** CodeID is the reference to the stored WASM code */ + code_id?: string; + /** Label is optional metadata to be stored with a contract instance. */ + label?: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg?: any; + /** Funds coins that are transferred to the contract on instantiation */ + funds: CoinAmino[]; + /** Salt is an arbitrary value provided by the sender. Size can be 1 to 64. */ + salt?: string; + /** + * FixMsg include the msg value into the hash for the predictable address. + * Default is false + */ + fix_msg?: boolean; +} +export interface MsgInstantiateContract2AminoMsg { + type: 'wasm/MsgInstantiateContract2'; + value: MsgInstantiateContract2Amino; +} +/** + * MsgInstantiateContract2 create a new smart contract instance for the given + * code id with a predicable address. + */ +export interface MsgInstantiateContract2SDKType { + sender: string; + admin: string; + code_id: bigint; + label: string; + msg: Uint8Array; + funds: CoinSDKType[]; + salt: Uint8Array; + fix_msg: boolean; +} +/** MsgInstantiateContract2Response return instantiation result data */ +export interface MsgInstantiateContract2Response { + /** Address is the bech32 address of the new contract instance. */ + address: string; + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} +export interface MsgInstantiateContract2ResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgInstantiateContract2Response'; + value: Uint8Array; +} +/** MsgInstantiateContract2Response return instantiation result data */ +export interface MsgInstantiateContract2ResponseAmino { + /** Address is the bech32 address of the new contract instance. */ + address?: string; + /** Data contains bytes to returned from the contract */ + data?: string; +} +export interface MsgInstantiateContract2ResponseAminoMsg { + type: 'wasm/MsgInstantiateContract2Response'; + value: MsgInstantiateContract2ResponseAmino; +} +/** MsgInstantiateContract2Response return instantiation result data */ +export interface MsgInstantiateContract2ResponseSDKType { + address: string; + data: Uint8Array; +} +/** MsgExecuteContract submits the given message data to a smart contract */ +export interface MsgExecuteContract { + /** Sender is the that actor that signed the messages */ + sender: string; + /** Contract is the address of the smart contract */ + contract: string; + /** Msg json encoded message to be passed to the contract */ + msg: Uint8Array; + /** Funds coins that are transferred to the contract on execution */ + funds: Coin[]; +} +export interface MsgExecuteContractProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgExecuteContract'; + value: Uint8Array; +} +/** MsgExecuteContract submits the given message data to a smart contract */ +export interface MsgExecuteContractAmino { + /** Sender is the that actor that signed the messages */ + sender?: string; + /** Contract is the address of the smart contract */ + contract?: string; + /** Msg json encoded message to be passed to the contract */ + msg?: any; + /** Funds coins that are transferred to the contract on execution */ + funds: CoinAmino[]; +} +export interface MsgExecuteContractAminoMsg { + type: 'wasm/MsgExecuteContract'; + value: MsgExecuteContractAmino; +} +/** MsgExecuteContract submits the given message data to a smart contract */ +export interface MsgExecuteContractSDKType { + sender: string; + contract: string; + msg: Uint8Array; + funds: CoinSDKType[]; +} +/** MsgExecuteContractResponse returns execution result data. */ +export interface MsgExecuteContractResponse { + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} +export interface MsgExecuteContractResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgExecuteContractResponse'; + value: Uint8Array; +} +/** MsgExecuteContractResponse returns execution result data. */ +export interface MsgExecuteContractResponseAmino { + /** Data contains bytes to returned from the contract */ + data?: string; +} +export interface MsgExecuteContractResponseAminoMsg { + type: 'wasm/MsgExecuteContractResponse'; + value: MsgExecuteContractResponseAmino; +} +/** MsgExecuteContractResponse returns execution result data. */ +export interface MsgExecuteContractResponseSDKType { + data: Uint8Array; +} +/** MsgMigrateContract runs a code upgrade/ downgrade for a smart contract */ +export interface MsgMigrateContract { + /** Sender is the that actor that signed the messages */ + sender: string; + /** Contract is the address of the smart contract */ + contract: string; + /** CodeID references the new WASM code */ + codeId: bigint; + /** Msg json encoded message to be passed to the contract on migration */ + msg: Uint8Array; +} +export interface MsgMigrateContractProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgMigrateContract'; + value: Uint8Array; +} +/** MsgMigrateContract runs a code upgrade/ downgrade for a smart contract */ +export interface MsgMigrateContractAmino { + /** Sender is the that actor that signed the messages */ + sender?: string; + /** Contract is the address of the smart contract */ + contract?: string; + /** CodeID references the new WASM code */ + code_id?: string; + /** Msg json encoded message to be passed to the contract on migration */ + msg?: any; +} +export interface MsgMigrateContractAminoMsg { + type: 'wasm/MsgMigrateContract'; + value: MsgMigrateContractAmino; +} +/** MsgMigrateContract runs a code upgrade/ downgrade for a smart contract */ +export interface MsgMigrateContractSDKType { + sender: string; + contract: string; + code_id: bigint; + msg: Uint8Array; +} +/** MsgMigrateContractResponse returns contract migration result data. */ +export interface MsgMigrateContractResponse { + /** + * Data contains same raw bytes returned as data from the wasm contract. + * (May be empty) + */ + data: Uint8Array; +} +export interface MsgMigrateContractResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgMigrateContractResponse'; + value: Uint8Array; +} +/** MsgMigrateContractResponse returns contract migration result data. */ +export interface MsgMigrateContractResponseAmino { + /** + * Data contains same raw bytes returned as data from the wasm contract. + * (May be empty) + */ + data?: string; +} +export interface MsgMigrateContractResponseAminoMsg { + type: 'wasm/MsgMigrateContractResponse'; + value: MsgMigrateContractResponseAmino; +} +/** MsgMigrateContractResponse returns contract migration result data. */ +export interface MsgMigrateContractResponseSDKType { + data: Uint8Array; +} +/** MsgUpdateAdmin sets a new admin for a smart contract */ +export interface MsgUpdateAdmin { + /** Sender is the that actor that signed the messages */ + sender: string; + /** NewAdmin address to be set */ + newAdmin: string; + /** Contract is the address of the smart contract */ + contract: string; +} +export interface MsgUpdateAdminProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateAdmin'; + value: Uint8Array; +} +/** MsgUpdateAdmin sets a new admin for a smart contract */ +export interface MsgUpdateAdminAmino { + /** Sender is the that actor that signed the messages */ + sender?: string; + /** NewAdmin address to be set */ + new_admin?: string; + /** Contract is the address of the smart contract */ + contract?: string; +} +export interface MsgUpdateAdminAminoMsg { + type: 'wasm/MsgUpdateAdmin'; + value: MsgUpdateAdminAmino; +} +/** MsgUpdateAdmin sets a new admin for a smart contract */ +export interface MsgUpdateAdminSDKType { + sender: string; + new_admin: string; + contract: string; +} +/** MsgUpdateAdminResponse returns empty data */ +export interface MsgUpdateAdminResponse {} +export interface MsgUpdateAdminResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateAdminResponse'; + value: Uint8Array; +} +/** MsgUpdateAdminResponse returns empty data */ +export interface MsgUpdateAdminResponseAmino {} +export interface MsgUpdateAdminResponseAminoMsg { + type: 'wasm/MsgUpdateAdminResponse'; + value: MsgUpdateAdminResponseAmino; +} +/** MsgUpdateAdminResponse returns empty data */ +export interface MsgUpdateAdminResponseSDKType {} +/** MsgClearAdmin removes any admin stored for a smart contract */ +export interface MsgClearAdmin { + /** Sender is the actor that signed the messages */ + sender: string; + /** Contract is the address of the smart contract */ + contract: string; +} +export interface MsgClearAdminProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgClearAdmin'; + value: Uint8Array; +} +/** MsgClearAdmin removes any admin stored for a smart contract */ +export interface MsgClearAdminAmino { + /** Sender is the actor that signed the messages */ + sender?: string; + /** Contract is the address of the smart contract */ + contract?: string; +} +export interface MsgClearAdminAminoMsg { + type: 'wasm/MsgClearAdmin'; + value: MsgClearAdminAmino; +} +/** MsgClearAdmin removes any admin stored for a smart contract */ +export interface MsgClearAdminSDKType { + sender: string; + contract: string; +} +/** MsgClearAdminResponse returns empty data */ +export interface MsgClearAdminResponse {} +export interface MsgClearAdminResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgClearAdminResponse'; + value: Uint8Array; +} +/** MsgClearAdminResponse returns empty data */ +export interface MsgClearAdminResponseAmino {} +export interface MsgClearAdminResponseAminoMsg { + type: 'wasm/MsgClearAdminResponse'; + value: MsgClearAdminResponseAmino; +} +/** MsgClearAdminResponse returns empty data */ +export interface MsgClearAdminResponseSDKType {} +/** MsgUpdateInstantiateConfig updates instantiate config for a smart contract */ +export interface MsgUpdateInstantiateConfig { + /** Sender is the that actor that signed the messages */ + sender: string; + /** CodeID references the stored WASM code */ + codeId: bigint; + /** NewInstantiatePermission is the new access control */ + newInstantiatePermission?: AccessConfig; +} +export interface MsgUpdateInstantiateConfigProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateInstantiateConfig'; + value: Uint8Array; +} +/** MsgUpdateInstantiateConfig updates instantiate config for a smart contract */ +export interface MsgUpdateInstantiateConfigAmino { + /** Sender is the that actor that signed the messages */ + sender?: string; + /** CodeID references the stored WASM code */ + code_id?: string; + /** NewInstantiatePermission is the new access control */ + new_instantiate_permission?: AccessConfigAmino; +} +export interface MsgUpdateInstantiateConfigAminoMsg { + type: 'wasm/MsgUpdateInstantiateConfig'; + value: MsgUpdateInstantiateConfigAmino; +} +/** MsgUpdateInstantiateConfig updates instantiate config for a smart contract */ +export interface MsgUpdateInstantiateConfigSDKType { + sender: string; + code_id: bigint; + new_instantiate_permission?: AccessConfigSDKType; +} +/** MsgUpdateInstantiateConfigResponse returns empty data */ +export interface MsgUpdateInstantiateConfigResponse {} +export interface MsgUpdateInstantiateConfigResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateInstantiateConfigResponse'; + value: Uint8Array; +} +/** MsgUpdateInstantiateConfigResponse returns empty data */ +export interface MsgUpdateInstantiateConfigResponseAmino {} +export interface MsgUpdateInstantiateConfigResponseAminoMsg { + type: 'wasm/MsgUpdateInstantiateConfigResponse'; + value: MsgUpdateInstantiateConfigResponseAmino; +} +/** MsgUpdateInstantiateConfigResponse returns empty data */ +export interface MsgUpdateInstantiateConfigResponseSDKType {} +/** + * MsgUpdateParams is the MsgUpdateParams request type. + * + * Since: 0.40 + */ +export interface MsgUpdateParams { + /** Authority is the address of the governance account. */ + authority: string; + /** + * params defines the x/wasm parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params: Params; +} +export interface MsgUpdateParamsProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateParams'; + value: Uint8Array; +} +/** + * MsgUpdateParams is the MsgUpdateParams request type. + * + * Since: 0.40 + */ +export interface MsgUpdateParamsAmino { + /** Authority is the address of the governance account. */ + authority?: string; + /** + * params defines the x/wasm parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params: ParamsAmino; +} +export interface MsgUpdateParamsAminoMsg { + type: 'wasm/MsgUpdateParams'; + value: MsgUpdateParamsAmino; +} +/** + * MsgUpdateParams is the MsgUpdateParams request type. + * + * Since: 0.40 + */ +export interface MsgUpdateParamsSDKType { + authority: string; + params: ParamsSDKType; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: 0.40 + */ +export interface MsgUpdateParamsResponse {} +export interface MsgUpdateParamsResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateParamsResponse'; + value: Uint8Array; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: 0.40 + */ +export interface MsgUpdateParamsResponseAmino {} +export interface MsgUpdateParamsResponseAminoMsg { + type: 'wasm/MsgUpdateParamsResponse'; + value: MsgUpdateParamsResponseAmino; +} +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: 0.40 + */ +export interface MsgUpdateParamsResponseSDKType {} +/** + * MsgSudoContract is the MsgSudoContract request type. + * + * Since: 0.40 + */ +export interface MsgSudoContract { + /** Authority is the address of the governance account. */ + authority: string; + /** Contract is the address of the smart contract */ + contract: string; + /** Msg json encoded message to be passed to the contract as sudo */ + msg: Uint8Array; +} +export interface MsgSudoContractProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgSudoContract'; + value: Uint8Array; +} +/** + * MsgSudoContract is the MsgSudoContract request type. + * + * Since: 0.40 + */ +export interface MsgSudoContractAmino { + /** Authority is the address of the governance account. */ + authority?: string; + /** Contract is the address of the smart contract */ + contract?: string; + /** Msg json encoded message to be passed to the contract as sudo */ + msg?: any; +} +export interface MsgSudoContractAminoMsg { + type: 'wasm/MsgSudoContract'; + value: MsgSudoContractAmino; +} +/** + * MsgSudoContract is the MsgSudoContract request type. + * + * Since: 0.40 + */ +export interface MsgSudoContractSDKType { + authority: string; + contract: string; + msg: Uint8Array; +} +/** + * MsgSudoContractResponse defines the response structure for executing a + * MsgSudoContract message. + * + * Since: 0.40 + */ +export interface MsgSudoContractResponse { + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} +export interface MsgSudoContractResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgSudoContractResponse'; + value: Uint8Array; +} +/** + * MsgSudoContractResponse defines the response structure for executing a + * MsgSudoContract message. + * + * Since: 0.40 + */ +export interface MsgSudoContractResponseAmino { + /** Data contains bytes to returned from the contract */ + data?: string; +} +export interface MsgSudoContractResponseAminoMsg { + type: 'wasm/MsgSudoContractResponse'; + value: MsgSudoContractResponseAmino; +} +/** + * MsgSudoContractResponse defines the response structure for executing a + * MsgSudoContract message. + * + * Since: 0.40 + */ +export interface MsgSudoContractResponseSDKType { + data: Uint8Array; +} +/** + * MsgPinCodes is the MsgPinCodes request type. + * + * Since: 0.40 + */ +export interface MsgPinCodes { + /** Authority is the address of the governance account. */ + authority: string; + /** CodeIDs references the new WASM codes */ + codeIds: bigint[]; +} +export interface MsgPinCodesProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgPinCodes'; + value: Uint8Array; +} +/** + * MsgPinCodes is the MsgPinCodes request type. + * + * Since: 0.40 + */ +export interface MsgPinCodesAmino { + /** Authority is the address of the governance account. */ + authority?: string; + /** CodeIDs references the new WASM codes */ + code_ids?: string[]; +} +export interface MsgPinCodesAminoMsg { + type: 'wasm/MsgPinCodes'; + value: MsgPinCodesAmino; +} +/** + * MsgPinCodes is the MsgPinCodes request type. + * + * Since: 0.40 + */ +export interface MsgPinCodesSDKType { + authority: string; + code_ids: bigint[]; +} +/** + * MsgPinCodesResponse defines the response structure for executing a + * MsgPinCodes message. + * + * Since: 0.40 + */ +export interface MsgPinCodesResponse {} +export interface MsgPinCodesResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgPinCodesResponse'; + value: Uint8Array; +} +/** + * MsgPinCodesResponse defines the response structure for executing a + * MsgPinCodes message. + * + * Since: 0.40 + */ +export interface MsgPinCodesResponseAmino {} +export interface MsgPinCodesResponseAminoMsg { + type: 'wasm/MsgPinCodesResponse'; + value: MsgPinCodesResponseAmino; +} +/** + * MsgPinCodesResponse defines the response structure for executing a + * MsgPinCodes message. + * + * Since: 0.40 + */ +export interface MsgPinCodesResponseSDKType {} +/** + * MsgUnpinCodes is the MsgUnpinCodes request type. + * + * Since: 0.40 + */ +export interface MsgUnpinCodes { + /** Authority is the address of the governance account. */ + authority: string; + /** CodeIDs references the WASM codes */ + codeIds: bigint[]; +} +export interface MsgUnpinCodesProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgUnpinCodes'; + value: Uint8Array; +} +/** + * MsgUnpinCodes is the MsgUnpinCodes request type. + * + * Since: 0.40 + */ +export interface MsgUnpinCodesAmino { + /** Authority is the address of the governance account. */ + authority?: string; + /** CodeIDs references the WASM codes */ + code_ids?: string[]; +} +export interface MsgUnpinCodesAminoMsg { + type: 'wasm/MsgUnpinCodes'; + value: MsgUnpinCodesAmino; +} +/** + * MsgUnpinCodes is the MsgUnpinCodes request type. + * + * Since: 0.40 + */ +export interface MsgUnpinCodesSDKType { + authority: string; + code_ids: bigint[]; +} +/** + * MsgUnpinCodesResponse defines the response structure for executing a + * MsgUnpinCodes message. + * + * Since: 0.40 + */ +export interface MsgUnpinCodesResponse {} +export interface MsgUnpinCodesResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgUnpinCodesResponse'; + value: Uint8Array; +} +/** + * MsgUnpinCodesResponse defines the response structure for executing a + * MsgUnpinCodes message. + * + * Since: 0.40 + */ +export interface MsgUnpinCodesResponseAmino {} +export interface MsgUnpinCodesResponseAminoMsg { + type: 'wasm/MsgUnpinCodesResponse'; + value: MsgUnpinCodesResponseAmino; +} +/** + * MsgUnpinCodesResponse defines the response structure for executing a + * MsgUnpinCodes message. + * + * Since: 0.40 + */ +export interface MsgUnpinCodesResponseSDKType {} +/** + * MsgStoreAndInstantiateContract is the MsgStoreAndInstantiateContract + * request type. + * + * Since: 0.40 + */ +export interface MsgStoreAndInstantiateContract { + /** Authority is the address of the governance account. */ + authority: string; + /** WASMByteCode can be raw or gzip compressed */ + wasmByteCode: Uint8Array; + /** InstantiatePermission to apply on contract creation, optional */ + instantiatePermission?: AccessConfig; + /** + * UnpinCode code on upload, optional. As default the uploaded contract is + * pinned to cache. + */ + unpinCode: boolean; + /** Admin is an optional address that can execute migrations */ + admin: string; + /** Label is optional metadata to be stored with a constract instance. */ + label: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg: Uint8Array; + /** + * Funds coins that are transferred from the authority account to the contract + * on instantiation + */ + funds: Coin[]; + /** Source is the URL where the code is hosted */ + source: string; + /** + * Builder is the docker image used to build the code deterministically, used + * for smart contract verification + */ + builder: string; + /** + * CodeHash is the SHA256 sum of the code outputted by builder, used for smart + * contract verification + */ + codeHash: Uint8Array; +} +export interface MsgStoreAndInstantiateContractProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreAndInstantiateContract'; + value: Uint8Array; +} +/** + * MsgStoreAndInstantiateContract is the MsgStoreAndInstantiateContract + * request type. + * + * Since: 0.40 + */ +export interface MsgStoreAndInstantiateContractAmino { + /** Authority is the address of the governance account. */ + authority?: string; + /** WASMByteCode can be raw or gzip compressed */ + wasm_byte_code?: string; + /** InstantiatePermission to apply on contract creation, optional */ + instantiate_permission?: AccessConfigAmino; + /** + * UnpinCode code on upload, optional. As default the uploaded contract is + * pinned to cache. + */ + unpin_code?: boolean; + /** Admin is an optional address that can execute migrations */ + admin?: string; + /** Label is optional metadata to be stored with a constract instance. */ + label?: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg?: any; + /** + * Funds coins that are transferred from the authority account to the contract + * on instantiation + */ + funds: CoinAmino[]; + /** Source is the URL where the code is hosted */ + source?: string; + /** + * Builder is the docker image used to build the code deterministically, used + * for smart contract verification + */ + builder?: string; + /** + * CodeHash is the SHA256 sum of the code outputted by builder, used for smart + * contract verification + */ + code_hash?: string; +} +export interface MsgStoreAndInstantiateContractAminoMsg { + type: 'wasm/MsgStoreAndInstantiateContract'; + value: MsgStoreAndInstantiateContractAmino; +} +/** + * MsgStoreAndInstantiateContract is the MsgStoreAndInstantiateContract + * request type. + * + * Since: 0.40 + */ +export interface MsgStoreAndInstantiateContractSDKType { + authority: string; + wasm_byte_code: Uint8Array; + instantiate_permission?: AccessConfigSDKType; + unpin_code: boolean; + admin: string; + label: string; + msg: Uint8Array; + funds: CoinSDKType[]; + source: string; + builder: string; + code_hash: Uint8Array; +} +/** + * MsgStoreAndInstantiateContractResponse defines the response structure + * for executing a MsgStoreAndInstantiateContract message. + * + * Since: 0.40 + */ +export interface MsgStoreAndInstantiateContractResponse { + /** Address is the bech32 address of the new contract instance. */ + address: string; + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} +export interface MsgStoreAndInstantiateContractResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreAndInstantiateContractResponse'; + value: Uint8Array; +} +/** + * MsgStoreAndInstantiateContractResponse defines the response structure + * for executing a MsgStoreAndInstantiateContract message. + * + * Since: 0.40 + */ +export interface MsgStoreAndInstantiateContractResponseAmino { + /** Address is the bech32 address of the new contract instance. */ + address?: string; + /** Data contains bytes to returned from the contract */ + data?: string; +} +export interface MsgStoreAndInstantiateContractResponseAminoMsg { + type: 'wasm/MsgStoreAndInstantiateContractResponse'; + value: MsgStoreAndInstantiateContractResponseAmino; +} +/** + * MsgStoreAndInstantiateContractResponse defines the response structure + * for executing a MsgStoreAndInstantiateContract message. + * + * Since: 0.40 + */ +export interface MsgStoreAndInstantiateContractResponseSDKType { + address: string; + data: Uint8Array; +} +/** + * MsgAddCodeUploadParamsAddresses is the + * MsgAddCodeUploadParamsAddresses request type. + */ +export interface MsgAddCodeUploadParamsAddresses { + /** Authority is the address of the governance account. */ + authority: string; + addresses: string[]; +} +export interface MsgAddCodeUploadParamsAddressesProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgAddCodeUploadParamsAddresses'; + value: Uint8Array; +} +/** + * MsgAddCodeUploadParamsAddresses is the + * MsgAddCodeUploadParamsAddresses request type. + */ +export interface MsgAddCodeUploadParamsAddressesAmino { + /** Authority is the address of the governance account. */ + authority?: string; + addresses?: string[]; +} +export interface MsgAddCodeUploadParamsAddressesAminoMsg { + type: 'wasm/MsgAddCodeUploadParamsAddresses'; + value: MsgAddCodeUploadParamsAddressesAmino; +} +/** + * MsgAddCodeUploadParamsAddresses is the + * MsgAddCodeUploadParamsAddresses request type. + */ +export interface MsgAddCodeUploadParamsAddressesSDKType { + authority: string; + addresses: string[]; +} +/** + * MsgAddCodeUploadParamsAddressesResponse defines the response + * structure for executing a MsgAddCodeUploadParamsAddresses message. + */ +export interface MsgAddCodeUploadParamsAddressesResponse {} +export interface MsgAddCodeUploadParamsAddressesResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgAddCodeUploadParamsAddressesResponse'; + value: Uint8Array; +} +/** + * MsgAddCodeUploadParamsAddressesResponse defines the response + * structure for executing a MsgAddCodeUploadParamsAddresses message. + */ +export interface MsgAddCodeUploadParamsAddressesResponseAmino {} +export interface MsgAddCodeUploadParamsAddressesResponseAminoMsg { + type: 'wasm/MsgAddCodeUploadParamsAddressesResponse'; + value: MsgAddCodeUploadParamsAddressesResponseAmino; +} +/** + * MsgAddCodeUploadParamsAddressesResponse defines the response + * structure for executing a MsgAddCodeUploadParamsAddresses message. + */ +export interface MsgAddCodeUploadParamsAddressesResponseSDKType {} +/** + * MsgRemoveCodeUploadParamsAddresses is the + * MsgRemoveCodeUploadParamsAddresses request type. + */ +export interface MsgRemoveCodeUploadParamsAddresses { + /** Authority is the address of the governance account. */ + authority: string; + addresses: string[]; +} +export interface MsgRemoveCodeUploadParamsAddressesProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgRemoveCodeUploadParamsAddresses'; + value: Uint8Array; +} +/** + * MsgRemoveCodeUploadParamsAddresses is the + * MsgRemoveCodeUploadParamsAddresses request type. + */ +export interface MsgRemoveCodeUploadParamsAddressesAmino { + /** Authority is the address of the governance account. */ + authority?: string; + addresses?: string[]; +} +export interface MsgRemoveCodeUploadParamsAddressesAminoMsg { + type: 'wasm/MsgRemoveCodeUploadParamsAddresses'; + value: MsgRemoveCodeUploadParamsAddressesAmino; +} +/** + * MsgRemoveCodeUploadParamsAddresses is the + * MsgRemoveCodeUploadParamsAddresses request type. + */ +export interface MsgRemoveCodeUploadParamsAddressesSDKType { + authority: string; + addresses: string[]; +} +/** + * MsgRemoveCodeUploadParamsAddressesResponse defines the response + * structure for executing a MsgRemoveCodeUploadParamsAddresses message. + */ +export interface MsgRemoveCodeUploadParamsAddressesResponse {} +export interface MsgRemoveCodeUploadParamsAddressesResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgRemoveCodeUploadParamsAddressesResponse'; + value: Uint8Array; +} +/** + * MsgRemoveCodeUploadParamsAddressesResponse defines the response + * structure for executing a MsgRemoveCodeUploadParamsAddresses message. + */ +export interface MsgRemoveCodeUploadParamsAddressesResponseAmino {} +export interface MsgRemoveCodeUploadParamsAddressesResponseAminoMsg { + type: 'wasm/MsgRemoveCodeUploadParamsAddressesResponse'; + value: MsgRemoveCodeUploadParamsAddressesResponseAmino; +} +/** + * MsgRemoveCodeUploadParamsAddressesResponse defines the response + * structure for executing a MsgRemoveCodeUploadParamsAddresses message. + */ +export interface MsgRemoveCodeUploadParamsAddressesResponseSDKType {} +/** + * MsgStoreAndMigrateContract is the MsgStoreAndMigrateContract + * request type. + * + * Since: 0.42 + */ +export interface MsgStoreAndMigrateContract { + /** Authority is the address of the governance account. */ + authority: string; + /** WASMByteCode can be raw or gzip compressed */ + wasmByteCode: Uint8Array; + /** InstantiatePermission to apply on contract creation, optional */ + instantiatePermission?: AccessConfig; + /** Contract is the address of the smart contract */ + contract: string; + /** Msg json encoded message to be passed to the contract on migration */ + msg: Uint8Array; +} +export interface MsgStoreAndMigrateContractProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreAndMigrateContract'; + value: Uint8Array; +} +/** + * MsgStoreAndMigrateContract is the MsgStoreAndMigrateContract + * request type. + * + * Since: 0.42 + */ +export interface MsgStoreAndMigrateContractAmino { + /** Authority is the address of the governance account. */ + authority?: string; + /** WASMByteCode can be raw or gzip compressed */ + wasm_byte_code?: string; + /** InstantiatePermission to apply on contract creation, optional */ + instantiate_permission?: AccessConfigAmino; + /** Contract is the address of the smart contract */ + contract?: string; + /** Msg json encoded message to be passed to the contract on migration */ + msg?: any; +} +export interface MsgStoreAndMigrateContractAminoMsg { + type: 'wasm/MsgStoreAndMigrateContract'; + value: MsgStoreAndMigrateContractAmino; +} +/** + * MsgStoreAndMigrateContract is the MsgStoreAndMigrateContract + * request type. + * + * Since: 0.42 + */ +export interface MsgStoreAndMigrateContractSDKType { + authority: string; + wasm_byte_code: Uint8Array; + instantiate_permission?: AccessConfigSDKType; + contract: string; + msg: Uint8Array; +} +/** + * MsgStoreAndMigrateContractResponse defines the response structure + * for executing a MsgStoreAndMigrateContract message. + * + * Since: 0.42 + */ +export interface MsgStoreAndMigrateContractResponse { + /** CodeID is the reference to the stored WASM code */ + codeId: bigint; + /** Checksum is the sha256 hash of the stored code */ + checksum: Uint8Array; + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} +export interface MsgStoreAndMigrateContractResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreAndMigrateContractResponse'; + value: Uint8Array; +} +/** + * MsgStoreAndMigrateContractResponse defines the response structure + * for executing a MsgStoreAndMigrateContract message. + * + * Since: 0.42 + */ +export interface MsgStoreAndMigrateContractResponseAmino { + /** CodeID is the reference to the stored WASM code */ + code_id?: string; + /** Checksum is the sha256 hash of the stored code */ + checksum?: string; + /** Data contains bytes to returned from the contract */ + data?: string; +} +export interface MsgStoreAndMigrateContractResponseAminoMsg { + type: 'wasm/MsgStoreAndMigrateContractResponse'; + value: MsgStoreAndMigrateContractResponseAmino; +} +/** + * MsgStoreAndMigrateContractResponse defines the response structure + * for executing a MsgStoreAndMigrateContract message. + * + * Since: 0.42 + */ +export interface MsgStoreAndMigrateContractResponseSDKType { + code_id: bigint; + checksum: Uint8Array; + data: Uint8Array; +} +/** MsgUpdateContractLabel sets a new label for a smart contract */ +export interface MsgUpdateContractLabel { + /** Sender is the that actor that signed the messages */ + sender: string; + /** NewLabel string to be set */ + newLabel: string; + /** Contract is the address of the smart contract */ + contract: string; +} +export interface MsgUpdateContractLabelProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateContractLabel'; + value: Uint8Array; +} +/** MsgUpdateContractLabel sets a new label for a smart contract */ +export interface MsgUpdateContractLabelAmino { + /** Sender is the that actor that signed the messages */ + sender?: string; + /** NewLabel string to be set */ + new_label?: string; + /** Contract is the address of the smart contract */ + contract?: string; +} +export interface MsgUpdateContractLabelAminoMsg { + type: 'wasm/MsgUpdateContractLabel'; + value: MsgUpdateContractLabelAmino; +} +/** MsgUpdateContractLabel sets a new label for a smart contract */ +export interface MsgUpdateContractLabelSDKType { + sender: string; + new_label: string; + contract: string; +} +/** MsgUpdateContractLabelResponse returns empty data */ +export interface MsgUpdateContractLabelResponse {} +export interface MsgUpdateContractLabelResponseProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateContractLabelResponse'; + value: Uint8Array; +} +/** MsgUpdateContractLabelResponse returns empty data */ +export interface MsgUpdateContractLabelResponseAmino {} +export interface MsgUpdateContractLabelResponseAminoMsg { + type: 'wasm/MsgUpdateContractLabelResponse'; + value: MsgUpdateContractLabelResponseAmino; +} +/** MsgUpdateContractLabelResponse returns empty data */ +export interface MsgUpdateContractLabelResponseSDKType {} +function createBaseMsgStoreCode(): MsgStoreCode { + return { + sender: '', + wasmByteCode: new Uint8Array(), + instantiatePermission: undefined, + }; +} +export const MsgStoreCode = { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreCode', + encode(message: MsgStoreCode, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.wasmByteCode.length !== 0) { + writer.uint32(18).bytes(message.wasmByteCode); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgStoreCode { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStoreCode(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.wasmByteCode = reader.bytes(); + break; + case 5: + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgStoreCode { + const message = createBaseMsgStoreCode(); + message.sender = object.sender ?? ''; + message.wasmByteCode = object.wasmByteCode ?? new Uint8Array(); + message.instantiatePermission = + object.instantiatePermission !== undefined && object.instantiatePermission !== null + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + return message; + }, + fromAmino(object: MsgStoreCodeAmino): MsgStoreCode { + const message = createBaseMsgStoreCode(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.wasm_byte_code !== undefined && object.wasm_byte_code !== null) { + message.wasmByteCode = fromBase64(object.wasm_byte_code); + } + if (object.instantiate_permission !== undefined && object.instantiate_permission !== null) { + message.instantiatePermission = AccessConfig.fromAmino(object.instantiate_permission); + } + return message; + }, + toAmino(message: MsgStoreCode): MsgStoreCodeAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.wasm_byte_code = message.wasmByteCode ? toBase64(message.wasmByteCode) : undefined; + obj.instantiate_permission = message.instantiatePermission + ? AccessConfig.toAmino(message.instantiatePermission) + : undefined; + return obj; + }, + fromAminoMsg(object: MsgStoreCodeAminoMsg): MsgStoreCode { + return MsgStoreCode.fromAmino(object.value); + }, + toAminoMsg(message: MsgStoreCode): MsgStoreCodeAminoMsg { + return { + type: 'wasm/MsgStoreCode', + value: MsgStoreCode.toAmino(message), + }; + }, + fromProtoMsg(message: MsgStoreCodeProtoMsg): MsgStoreCode { + return MsgStoreCode.decode(message.value); + }, + toProto(message: MsgStoreCode): Uint8Array { + return MsgStoreCode.encode(message).finish(); + }, + toProtoMsg(message: MsgStoreCode): MsgStoreCodeProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreCode', + value: MsgStoreCode.encode(message).finish(), + }; + }, +}; +function createBaseMsgStoreCodeResponse(): MsgStoreCodeResponse { + return { + codeId: BigInt(0), + checksum: new Uint8Array(), + }; +} +export const MsgStoreCodeResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreCodeResponse', + encode(message: MsgStoreCodeResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.codeId !== BigInt(0)) { + writer.uint32(8).uint64(message.codeId); + } + if (message.checksum.length !== 0) { + writer.uint32(18).bytes(message.checksum); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgStoreCodeResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStoreCodeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.codeId = reader.uint64(); + break; + case 2: + message.checksum = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgStoreCodeResponse { + const message = createBaseMsgStoreCodeResponse(); + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.checksum = object.checksum ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgStoreCodeResponseAmino): MsgStoreCodeResponse { + const message = createBaseMsgStoreCodeResponse(); + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.checksum !== undefined && object.checksum !== null) { + message.checksum = bytesFromBase64(object.checksum); + } + return message; + }, + toAmino(message: MsgStoreCodeResponse): MsgStoreCodeResponseAmino { + const obj: any = {}; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.checksum = message.checksum ? base64FromBytes(message.checksum) : undefined; + return obj; + }, + fromAminoMsg(object: MsgStoreCodeResponseAminoMsg): MsgStoreCodeResponse { + return MsgStoreCodeResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgStoreCodeResponse): MsgStoreCodeResponseAminoMsg { + return { + type: 'wasm/MsgStoreCodeResponse', + value: MsgStoreCodeResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgStoreCodeResponseProtoMsg): MsgStoreCodeResponse { + return MsgStoreCodeResponse.decode(message.value); + }, + toProto(message: MsgStoreCodeResponse): Uint8Array { + return MsgStoreCodeResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgStoreCodeResponse): MsgStoreCodeResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreCodeResponse', + value: MsgStoreCodeResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgInstantiateContract(): MsgInstantiateContract { + return { + sender: '', + admin: '', + codeId: BigInt(0), + label: '', + msg: new Uint8Array(), + funds: [], + }; +} +export const MsgInstantiateContract = { + typeUrl: '/cosmwasm.wasm.v1.MsgInstantiateContract', + encode(message: MsgInstantiateContract, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.admin !== '') { + writer.uint32(18).string(message.admin); + } + if (message.codeId !== BigInt(0)) { + writer.uint32(24).uint64(message.codeId); + } + if (message.label !== '') { + writer.uint32(34).string(message.label); + } + if (message.msg.length !== 0) { + writer.uint32(42).bytes(message.msg); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgInstantiateContract { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantiateContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.admin = reader.string(); + break; + case 3: + message.codeId = reader.uint64(); + break; + case 4: + message.label = reader.string(); + break; + case 5: + message.msg = reader.bytes(); + break; + case 6: + message.funds.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgInstantiateContract { + const message = createBaseMsgInstantiateContract(); + message.sender = object.sender ?? ''; + message.admin = object.admin ?? ''; + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.label = object.label ?? ''; + message.msg = object.msg ?? new Uint8Array(); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgInstantiateContractAmino): MsgInstantiateContract { + const message = createBaseMsgInstantiateContract(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.label !== undefined && object.label !== null) { + message.label = object.label; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + message.funds = object.funds?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgInstantiateContract): MsgInstantiateContractAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.label = message.label === '' ? undefined : message.label; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + if (message.funds) { + obj.funds = message.funds.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.funds = message.funds; + } + return obj; + }, + fromAminoMsg(object: MsgInstantiateContractAminoMsg): MsgInstantiateContract { + return MsgInstantiateContract.fromAmino(object.value); + }, + toAminoMsg(message: MsgInstantiateContract): MsgInstantiateContractAminoMsg { + return { + type: 'wasm/MsgInstantiateContract', + value: MsgInstantiateContract.toAmino(message), + }; + }, + fromProtoMsg(message: MsgInstantiateContractProtoMsg): MsgInstantiateContract { + return MsgInstantiateContract.decode(message.value); + }, + toProto(message: MsgInstantiateContract): Uint8Array { + return MsgInstantiateContract.encode(message).finish(); + }, + toProtoMsg(message: MsgInstantiateContract): MsgInstantiateContractProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgInstantiateContract', + value: MsgInstantiateContract.encode(message).finish(), + }; + }, +}; +function createBaseMsgInstantiateContractResponse(): MsgInstantiateContractResponse { + return { + address: '', + data: new Uint8Array(), + }; +} +export const MsgInstantiateContractResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgInstantiateContractResponse', + encode(message: MsgInstantiateContractResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.address !== '') { + writer.uint32(10).string(message.address); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgInstantiateContractResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantiateContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgInstantiateContractResponse { + const message = createBaseMsgInstantiateContractResponse(); + message.address = object.address ?? ''; + message.data = object.data ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgInstantiateContractResponseAmino): MsgInstantiateContractResponse { + const message = createBaseMsgInstantiateContractResponse(); + if (object.address !== undefined && object.address !== null) { + message.address = object.address; + } + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + return message; + }, + toAmino(message: MsgInstantiateContractResponse): MsgInstantiateContractResponseAmino { + const obj: any = {}; + obj.address = message.address === '' ? undefined : message.address; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + return obj; + }, + fromAminoMsg(object: MsgInstantiateContractResponseAminoMsg): MsgInstantiateContractResponse { + return MsgInstantiateContractResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgInstantiateContractResponse): MsgInstantiateContractResponseAminoMsg { + return { + type: 'wasm/MsgInstantiateContractResponse', + value: MsgInstantiateContractResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgInstantiateContractResponseProtoMsg): MsgInstantiateContractResponse { + return MsgInstantiateContractResponse.decode(message.value); + }, + toProto(message: MsgInstantiateContractResponse): Uint8Array { + return MsgInstantiateContractResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgInstantiateContractResponse): MsgInstantiateContractResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgInstantiateContractResponse', + value: MsgInstantiateContractResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgInstantiateContract2(): MsgInstantiateContract2 { + return { + sender: '', + admin: '', + codeId: BigInt(0), + label: '', + msg: new Uint8Array(), + funds: [], + salt: new Uint8Array(), + fixMsg: false, + }; +} +export const MsgInstantiateContract2 = { + typeUrl: '/cosmwasm.wasm.v1.MsgInstantiateContract2', + encode(message: MsgInstantiateContract2, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.admin !== '') { + writer.uint32(18).string(message.admin); + } + if (message.codeId !== BigInt(0)) { + writer.uint32(24).uint64(message.codeId); + } + if (message.label !== '') { + writer.uint32(34).string(message.label); + } + if (message.msg.length !== 0) { + writer.uint32(42).bytes(message.msg); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(50).fork()).ldelim(); + } + if (message.salt.length !== 0) { + writer.uint32(58).bytes(message.salt); + } + if (message.fixMsg === true) { + writer.uint32(64).bool(message.fixMsg); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgInstantiateContract2 { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantiateContract2(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.admin = reader.string(); + break; + case 3: + message.codeId = reader.uint64(); + break; + case 4: + message.label = reader.string(); + break; + case 5: + message.msg = reader.bytes(); + break; + case 6: + message.funds.push(Coin.decode(reader, reader.uint32())); + break; + case 7: + message.salt = reader.bytes(); + break; + case 8: + message.fixMsg = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgInstantiateContract2 { + const message = createBaseMsgInstantiateContract2(); + message.sender = object.sender ?? ''; + message.admin = object.admin ?? ''; + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.label = object.label ?? ''; + message.msg = object.msg ?? new Uint8Array(); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + message.salt = object.salt ?? new Uint8Array(); + message.fixMsg = object.fixMsg ?? false; + return message; + }, + fromAmino(object: MsgInstantiateContract2Amino): MsgInstantiateContract2 { + const message = createBaseMsgInstantiateContract2(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.label !== undefined && object.label !== null) { + message.label = object.label; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + message.funds = object.funds?.map((e) => Coin.fromAmino(e)) || []; + if (object.salt !== undefined && object.salt !== null) { + message.salt = bytesFromBase64(object.salt); + } + if (object.fix_msg !== undefined && object.fix_msg !== null) { + message.fixMsg = object.fix_msg; + } + return message; + }, + toAmino(message: MsgInstantiateContract2): MsgInstantiateContract2Amino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.label = message.label === '' ? undefined : message.label; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + if (message.funds) { + obj.funds = message.funds.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.funds = message.funds; + } + obj.salt = message.salt ? base64FromBytes(message.salt) : undefined; + obj.fix_msg = message.fixMsg === false ? undefined : message.fixMsg; + return obj; + }, + fromAminoMsg(object: MsgInstantiateContract2AminoMsg): MsgInstantiateContract2 { + return MsgInstantiateContract2.fromAmino(object.value); + }, + toAminoMsg(message: MsgInstantiateContract2): MsgInstantiateContract2AminoMsg { + return { + type: 'wasm/MsgInstantiateContract2', + value: MsgInstantiateContract2.toAmino(message), + }; + }, + fromProtoMsg(message: MsgInstantiateContract2ProtoMsg): MsgInstantiateContract2 { + return MsgInstantiateContract2.decode(message.value); + }, + toProto(message: MsgInstantiateContract2): Uint8Array { + return MsgInstantiateContract2.encode(message).finish(); + }, + toProtoMsg(message: MsgInstantiateContract2): MsgInstantiateContract2ProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgInstantiateContract2', + value: MsgInstantiateContract2.encode(message).finish(), + }; + }, +}; +function createBaseMsgInstantiateContract2Response(): MsgInstantiateContract2Response { + return { + address: '', + data: new Uint8Array(), + }; +} +export const MsgInstantiateContract2Response = { + typeUrl: '/cosmwasm.wasm.v1.MsgInstantiateContract2Response', + encode(message: MsgInstantiateContract2Response, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.address !== '') { + writer.uint32(10).string(message.address); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgInstantiateContract2Response { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantiateContract2Response(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgInstantiateContract2Response { + const message = createBaseMsgInstantiateContract2Response(); + message.address = object.address ?? ''; + message.data = object.data ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgInstantiateContract2ResponseAmino): MsgInstantiateContract2Response { + const message = createBaseMsgInstantiateContract2Response(); + if (object.address !== undefined && object.address !== null) { + message.address = object.address; + } + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + return message; + }, + toAmino(message: MsgInstantiateContract2Response): MsgInstantiateContract2ResponseAmino { + const obj: any = {}; + obj.address = message.address === '' ? undefined : message.address; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + return obj; + }, + fromAminoMsg(object: MsgInstantiateContract2ResponseAminoMsg): MsgInstantiateContract2Response { + return MsgInstantiateContract2Response.fromAmino(object.value); + }, + toAminoMsg(message: MsgInstantiateContract2Response): MsgInstantiateContract2ResponseAminoMsg { + return { + type: 'wasm/MsgInstantiateContract2Response', + value: MsgInstantiateContract2Response.toAmino(message), + }; + }, + fromProtoMsg(message: MsgInstantiateContract2ResponseProtoMsg): MsgInstantiateContract2Response { + return MsgInstantiateContract2Response.decode(message.value); + }, + toProto(message: MsgInstantiateContract2Response): Uint8Array { + return MsgInstantiateContract2Response.encode(message).finish(); + }, + toProtoMsg(message: MsgInstantiateContract2Response): MsgInstantiateContract2ResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgInstantiateContract2Response', + value: MsgInstantiateContract2Response.encode(message).finish(), + }; + }, +}; +function createBaseMsgExecuteContract(): MsgExecuteContract { + return { + sender: '', + contract: '', + msg: new Uint8Array(), + funds: [], + }; +} +export const MsgExecuteContract = { + typeUrl: '/cosmwasm.wasm.v1.MsgExecuteContract', + encode(message: MsgExecuteContract, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.contract !== '') { + writer.uint32(18).string(message.contract); + } + if (message.msg.length !== 0) { + writer.uint32(26).bytes(message.msg); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgExecuteContract { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecuteContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.contract = reader.string(); + break; + case 3: + message.msg = reader.bytes(); + break; + case 5: + message.funds.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgExecuteContract { + const message = createBaseMsgExecuteContract(); + message.sender = object.sender ?? ''; + message.contract = object.contract ?? ''; + message.msg = object.msg ?? new Uint8Array(); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgExecuteContractAmino): MsgExecuteContract { + const message = createBaseMsgExecuteContract(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + message.funds = object.funds?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgExecuteContract): MsgExecuteContractAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.contract = message.contract === '' ? undefined : message.contract; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + if (message.funds) { + obj.funds = message.funds.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.funds = message.funds; + } + return obj; + }, + fromAminoMsg(object: MsgExecuteContractAminoMsg): MsgExecuteContract { + return MsgExecuteContract.fromAmino(object.value); + }, + toAminoMsg(message: MsgExecuteContract): MsgExecuteContractAminoMsg { + return { + type: 'wasm/MsgExecuteContract', + value: MsgExecuteContract.toAmino(message), + }; + }, + fromProtoMsg(message: MsgExecuteContractProtoMsg): MsgExecuteContract { + return MsgExecuteContract.decode(message.value); + }, + toProto(message: MsgExecuteContract): Uint8Array { + return MsgExecuteContract.encode(message).finish(); + }, + toProtoMsg(message: MsgExecuteContract): MsgExecuteContractProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgExecuteContract', + value: MsgExecuteContract.encode(message).finish(), + }; + }, +}; +function createBaseMsgExecuteContractResponse(): MsgExecuteContractResponse { + return { + data: new Uint8Array(), + }; +} +export const MsgExecuteContractResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgExecuteContractResponse', + encode(message: MsgExecuteContractResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgExecuteContractResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecuteContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgExecuteContractResponse { + const message = createBaseMsgExecuteContractResponse(); + message.data = object.data ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgExecuteContractResponseAmino): MsgExecuteContractResponse { + const message = createBaseMsgExecuteContractResponse(); + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + return message; + }, + toAmino(message: MsgExecuteContractResponse): MsgExecuteContractResponseAmino { + const obj: any = {}; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + return obj; + }, + fromAminoMsg(object: MsgExecuteContractResponseAminoMsg): MsgExecuteContractResponse { + return MsgExecuteContractResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgExecuteContractResponse): MsgExecuteContractResponseAminoMsg { + return { + type: 'wasm/MsgExecuteContractResponse', + value: MsgExecuteContractResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgExecuteContractResponseProtoMsg): MsgExecuteContractResponse { + return MsgExecuteContractResponse.decode(message.value); + }, + toProto(message: MsgExecuteContractResponse): Uint8Array { + return MsgExecuteContractResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgExecuteContractResponse): MsgExecuteContractResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgExecuteContractResponse', + value: MsgExecuteContractResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgMigrateContract(): MsgMigrateContract { + return { + sender: '', + contract: '', + codeId: BigInt(0), + msg: new Uint8Array(), + }; +} +export const MsgMigrateContract = { + typeUrl: '/cosmwasm.wasm.v1.MsgMigrateContract', + encode(message: MsgMigrateContract, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.contract !== '') { + writer.uint32(18).string(message.contract); + } + if (message.codeId !== BigInt(0)) { + writer.uint32(24).uint64(message.codeId); + } + if (message.msg.length !== 0) { + writer.uint32(34).bytes(message.msg); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgMigrateContract { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgMigrateContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.contract = reader.string(); + break; + case 3: + message.codeId = reader.uint64(); + break; + case 4: + message.msg = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgMigrateContract { + const message = createBaseMsgMigrateContract(); + message.sender = object.sender ?? ''; + message.contract = object.contract ?? ''; + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.msg = object.msg ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgMigrateContractAmino): MsgMigrateContract { + const message = createBaseMsgMigrateContract(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + return message; + }, + toAmino(message: MsgMigrateContract): MsgMigrateContractAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.contract = message.contract === '' ? undefined : message.contract; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + return obj; + }, + fromAminoMsg(object: MsgMigrateContractAminoMsg): MsgMigrateContract { + return MsgMigrateContract.fromAmino(object.value); + }, + toAminoMsg(message: MsgMigrateContract): MsgMigrateContractAminoMsg { + return { + type: 'wasm/MsgMigrateContract', + value: MsgMigrateContract.toAmino(message), + }; + }, + fromProtoMsg(message: MsgMigrateContractProtoMsg): MsgMigrateContract { + return MsgMigrateContract.decode(message.value); + }, + toProto(message: MsgMigrateContract): Uint8Array { + return MsgMigrateContract.encode(message).finish(); + }, + toProtoMsg(message: MsgMigrateContract): MsgMigrateContractProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgMigrateContract', + value: MsgMigrateContract.encode(message).finish(), + }; + }, +}; +function createBaseMsgMigrateContractResponse(): MsgMigrateContractResponse { + return { + data: new Uint8Array(), + }; +} +export const MsgMigrateContractResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgMigrateContractResponse', + encode(message: MsgMigrateContractResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgMigrateContractResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgMigrateContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgMigrateContractResponse { + const message = createBaseMsgMigrateContractResponse(); + message.data = object.data ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgMigrateContractResponseAmino): MsgMigrateContractResponse { + const message = createBaseMsgMigrateContractResponse(); + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + return message; + }, + toAmino(message: MsgMigrateContractResponse): MsgMigrateContractResponseAmino { + const obj: any = {}; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + return obj; + }, + fromAminoMsg(object: MsgMigrateContractResponseAminoMsg): MsgMigrateContractResponse { + return MsgMigrateContractResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgMigrateContractResponse): MsgMigrateContractResponseAminoMsg { + return { + type: 'wasm/MsgMigrateContractResponse', + value: MsgMigrateContractResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgMigrateContractResponseProtoMsg): MsgMigrateContractResponse { + return MsgMigrateContractResponse.decode(message.value); + }, + toProto(message: MsgMigrateContractResponse): Uint8Array { + return MsgMigrateContractResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgMigrateContractResponse): MsgMigrateContractResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgMigrateContractResponse', + value: MsgMigrateContractResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateAdmin(): MsgUpdateAdmin { + return { + sender: '', + newAdmin: '', + contract: '', + }; +} +export const MsgUpdateAdmin = { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateAdmin', + encode(message: MsgUpdateAdmin, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.newAdmin !== '') { + writer.uint32(18).string(message.newAdmin); + } + if (message.contract !== '') { + writer.uint32(26).string(message.contract); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateAdmin { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateAdmin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.newAdmin = reader.string(); + break; + case 3: + message.contract = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateAdmin { + const message = createBaseMsgUpdateAdmin(); + message.sender = object.sender ?? ''; + message.newAdmin = object.newAdmin ?? ''; + message.contract = object.contract ?? ''; + return message; + }, + fromAmino(object: MsgUpdateAdminAmino): MsgUpdateAdmin { + const message = createBaseMsgUpdateAdmin(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.new_admin !== undefined && object.new_admin !== null) { + message.newAdmin = object.new_admin; + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + return message; + }, + toAmino(message: MsgUpdateAdmin): MsgUpdateAdminAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.new_admin = message.newAdmin === '' ? undefined : message.newAdmin; + obj.contract = message.contract === '' ? undefined : message.contract; + return obj; + }, + fromAminoMsg(object: MsgUpdateAdminAminoMsg): MsgUpdateAdmin { + return MsgUpdateAdmin.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateAdmin): MsgUpdateAdminAminoMsg { + return { + type: 'wasm/MsgUpdateAdmin', + value: MsgUpdateAdmin.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateAdminProtoMsg): MsgUpdateAdmin { + return MsgUpdateAdmin.decode(message.value); + }, + toProto(message: MsgUpdateAdmin): Uint8Array { + return MsgUpdateAdmin.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateAdmin): MsgUpdateAdminProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateAdmin', + value: MsgUpdateAdmin.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateAdminResponse(): MsgUpdateAdminResponse { + return {}; +} +export const MsgUpdateAdminResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateAdminResponse', + encode(_: MsgUpdateAdminResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateAdminResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateAdminResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateAdminResponse { + const message = createBaseMsgUpdateAdminResponse(); + return message; + }, + fromAmino(_: MsgUpdateAdminResponseAmino): MsgUpdateAdminResponse { + const message = createBaseMsgUpdateAdminResponse(); + return message; + }, + toAmino(_: MsgUpdateAdminResponse): MsgUpdateAdminResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateAdminResponseAminoMsg): MsgUpdateAdminResponse { + return MsgUpdateAdminResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateAdminResponse): MsgUpdateAdminResponseAminoMsg { + return { + type: 'wasm/MsgUpdateAdminResponse', + value: MsgUpdateAdminResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateAdminResponseProtoMsg): MsgUpdateAdminResponse { + return MsgUpdateAdminResponse.decode(message.value); + }, + toProto(message: MsgUpdateAdminResponse): Uint8Array { + return MsgUpdateAdminResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateAdminResponse): MsgUpdateAdminResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateAdminResponse', + value: MsgUpdateAdminResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgClearAdmin(): MsgClearAdmin { + return { + sender: '', + contract: '', + }; +} +export const MsgClearAdmin = { + typeUrl: '/cosmwasm.wasm.v1.MsgClearAdmin', + encode(message: MsgClearAdmin, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.contract !== '') { + writer.uint32(26).string(message.contract); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgClearAdmin { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgClearAdmin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 3: + message.contract = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgClearAdmin { + const message = createBaseMsgClearAdmin(); + message.sender = object.sender ?? ''; + message.contract = object.contract ?? ''; + return message; + }, + fromAmino(object: MsgClearAdminAmino): MsgClearAdmin { + const message = createBaseMsgClearAdmin(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + return message; + }, + toAmino(message: MsgClearAdmin): MsgClearAdminAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.contract = message.contract === '' ? undefined : message.contract; + return obj; + }, + fromAminoMsg(object: MsgClearAdminAminoMsg): MsgClearAdmin { + return MsgClearAdmin.fromAmino(object.value); + }, + toAminoMsg(message: MsgClearAdmin): MsgClearAdminAminoMsg { + return { + type: 'wasm/MsgClearAdmin', + value: MsgClearAdmin.toAmino(message), + }; + }, + fromProtoMsg(message: MsgClearAdminProtoMsg): MsgClearAdmin { + return MsgClearAdmin.decode(message.value); + }, + toProto(message: MsgClearAdmin): Uint8Array { + return MsgClearAdmin.encode(message).finish(); + }, + toProtoMsg(message: MsgClearAdmin): MsgClearAdminProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgClearAdmin', + value: MsgClearAdmin.encode(message).finish(), + }; + }, +}; +function createBaseMsgClearAdminResponse(): MsgClearAdminResponse { + return {}; +} +export const MsgClearAdminResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgClearAdminResponse', + encode(_: MsgClearAdminResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgClearAdminResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgClearAdminResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgClearAdminResponse { + const message = createBaseMsgClearAdminResponse(); + return message; + }, + fromAmino(_: MsgClearAdminResponseAmino): MsgClearAdminResponse { + const message = createBaseMsgClearAdminResponse(); + return message; + }, + toAmino(_: MsgClearAdminResponse): MsgClearAdminResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgClearAdminResponseAminoMsg): MsgClearAdminResponse { + return MsgClearAdminResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgClearAdminResponse): MsgClearAdminResponseAminoMsg { + return { + type: 'wasm/MsgClearAdminResponse', + value: MsgClearAdminResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgClearAdminResponseProtoMsg): MsgClearAdminResponse { + return MsgClearAdminResponse.decode(message.value); + }, + toProto(message: MsgClearAdminResponse): Uint8Array { + return MsgClearAdminResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgClearAdminResponse): MsgClearAdminResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgClearAdminResponse', + value: MsgClearAdminResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateInstantiateConfig(): MsgUpdateInstantiateConfig { + return { + sender: '', + codeId: BigInt(0), + newInstantiatePermission: undefined, + }; +} +export const MsgUpdateInstantiateConfig = { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateInstantiateConfig', + encode(message: MsgUpdateInstantiateConfig, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.codeId !== BigInt(0)) { + writer.uint32(16).uint64(message.codeId); + } + if (message.newInstantiatePermission !== undefined) { + AccessConfig.encode(message.newInstantiatePermission, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateInstantiateConfig { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateInstantiateConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.codeId = reader.uint64(); + break; + case 3: + message.newInstantiatePermission = AccessConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateInstantiateConfig { + const message = createBaseMsgUpdateInstantiateConfig(); + message.sender = object.sender ?? ''; + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.newInstantiatePermission = + object.newInstantiatePermission !== undefined && object.newInstantiatePermission !== null + ? AccessConfig.fromPartial(object.newInstantiatePermission) + : undefined; + return message; + }, + fromAmino(object: MsgUpdateInstantiateConfigAmino): MsgUpdateInstantiateConfig { + const message = createBaseMsgUpdateInstantiateConfig(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.new_instantiate_permission !== undefined && object.new_instantiate_permission !== null) { + message.newInstantiatePermission = AccessConfig.fromAmino(object.new_instantiate_permission); + } + return message; + }, + toAmino(message: MsgUpdateInstantiateConfig): MsgUpdateInstantiateConfigAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.new_instantiate_permission = message.newInstantiatePermission + ? AccessConfig.toAmino(message.newInstantiatePermission) + : undefined; + return obj; + }, + fromAminoMsg(object: MsgUpdateInstantiateConfigAminoMsg): MsgUpdateInstantiateConfig { + return MsgUpdateInstantiateConfig.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateInstantiateConfig): MsgUpdateInstantiateConfigAminoMsg { + return { + type: 'wasm/MsgUpdateInstantiateConfig', + value: MsgUpdateInstantiateConfig.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateInstantiateConfigProtoMsg): MsgUpdateInstantiateConfig { + return MsgUpdateInstantiateConfig.decode(message.value); + }, + toProto(message: MsgUpdateInstantiateConfig): Uint8Array { + return MsgUpdateInstantiateConfig.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateInstantiateConfig): MsgUpdateInstantiateConfigProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateInstantiateConfig', + value: MsgUpdateInstantiateConfig.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateInstantiateConfigResponse(): MsgUpdateInstantiateConfigResponse { + return {}; +} +export const MsgUpdateInstantiateConfigResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateInstantiateConfigResponse', + encode(_: MsgUpdateInstantiateConfigResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateInstantiateConfigResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateInstantiateConfigResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateInstantiateConfigResponse { + const message = createBaseMsgUpdateInstantiateConfigResponse(); + return message; + }, + fromAmino(_: MsgUpdateInstantiateConfigResponseAmino): MsgUpdateInstantiateConfigResponse { + const message = createBaseMsgUpdateInstantiateConfigResponse(); + return message; + }, + toAmino(_: MsgUpdateInstantiateConfigResponse): MsgUpdateInstantiateConfigResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateInstantiateConfigResponseAminoMsg): MsgUpdateInstantiateConfigResponse { + return MsgUpdateInstantiateConfigResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateInstantiateConfigResponse): MsgUpdateInstantiateConfigResponseAminoMsg { + return { + type: 'wasm/MsgUpdateInstantiateConfigResponse', + value: MsgUpdateInstantiateConfigResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateInstantiateConfigResponseProtoMsg): MsgUpdateInstantiateConfigResponse { + return MsgUpdateInstantiateConfigResponse.decode(message.value); + }, + toProto(message: MsgUpdateInstantiateConfigResponse): Uint8Array { + return MsgUpdateInstantiateConfigResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateInstantiateConfigResponse): MsgUpdateInstantiateConfigResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateInstantiateConfigResponse', + value: MsgUpdateInstantiateConfigResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParams(): MsgUpdateParams { + return { + authority: '', + params: Params.fromPartial({}), + }; +} +export const MsgUpdateParams = { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateParams', + encode(message: MsgUpdateParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.params = Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + message.authority = object.authority ?? ''; + message.params = + object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, + fromAmino(object: MsgUpdateParamsAmino): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + if (object.params !== undefined && object.params !== null) { + message.params = Params.fromAmino(object.params); + } + return message; + }, + toAmino(message: MsgUpdateParams): MsgUpdateParamsAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + obj.params = message.params ? Params.toAmino(message.params) : Params.toAmino(Params.fromPartial({})); + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsAminoMsg): MsgUpdateParams { + return MsgUpdateParams.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateParams): MsgUpdateParamsAminoMsg { + return { + type: 'wasm/MsgUpdateParams', + value: MsgUpdateParams.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateParamsProtoMsg): MsgUpdateParams { + return MsgUpdateParams.decode(message.value); + }, + toProto(message: MsgUpdateParams): Uint8Array { + return MsgUpdateParams.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParams): MsgUpdateParamsProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateParams', + value: MsgUpdateParams.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse { + return {}; +} +export const MsgUpdateParamsResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateParamsResponse', + encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + fromAmino(_: MsgUpdateParamsResponseAmino): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + toAmino(_: MsgUpdateParamsResponse): MsgUpdateParamsResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsResponseAminoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseAminoMsg { + return { + type: 'wasm/MsgUpdateParamsResponse', + value: MsgUpdateParamsResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateParamsResponseProtoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.decode(message.value); + }, + toProto(message: MsgUpdateParamsResponse): Uint8Array { + return MsgUpdateParamsResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateParamsResponse', + value: MsgUpdateParamsResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgSudoContract(): MsgSudoContract { + return { + authority: '', + contract: '', + msg: new Uint8Array(), + }; +} +export const MsgSudoContract = { + typeUrl: '/cosmwasm.wasm.v1.MsgSudoContract', + encode(message: MsgSudoContract, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + if (message.contract !== '') { + writer.uint32(18).string(message.contract); + } + if (message.msg.length !== 0) { + writer.uint32(26).bytes(message.msg); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSudoContract { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSudoContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.contract = reader.string(); + break; + case 3: + message.msg = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgSudoContract { + const message = createBaseMsgSudoContract(); + message.authority = object.authority ?? ''; + message.contract = object.contract ?? ''; + message.msg = object.msg ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgSudoContractAmino): MsgSudoContract { + const message = createBaseMsgSudoContract(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + return message; + }, + toAmino(message: MsgSudoContract): MsgSudoContractAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + obj.contract = message.contract === '' ? undefined : message.contract; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + return obj; + }, + fromAminoMsg(object: MsgSudoContractAminoMsg): MsgSudoContract { + return MsgSudoContract.fromAmino(object.value); + }, + toAminoMsg(message: MsgSudoContract): MsgSudoContractAminoMsg { + return { + type: 'wasm/MsgSudoContract', + value: MsgSudoContract.toAmino(message), + }; + }, + fromProtoMsg(message: MsgSudoContractProtoMsg): MsgSudoContract { + return MsgSudoContract.decode(message.value); + }, + toProto(message: MsgSudoContract): Uint8Array { + return MsgSudoContract.encode(message).finish(); + }, + toProtoMsg(message: MsgSudoContract): MsgSudoContractProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgSudoContract', + value: MsgSudoContract.encode(message).finish(), + }; + }, +}; +function createBaseMsgSudoContractResponse(): MsgSudoContractResponse { + return { + data: new Uint8Array(), + }; +} +export const MsgSudoContractResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgSudoContractResponse', + encode(message: MsgSudoContractResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSudoContractResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSudoContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgSudoContractResponse { + const message = createBaseMsgSudoContractResponse(); + message.data = object.data ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgSudoContractResponseAmino): MsgSudoContractResponse { + const message = createBaseMsgSudoContractResponse(); + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + return message; + }, + toAmino(message: MsgSudoContractResponse): MsgSudoContractResponseAmino { + const obj: any = {}; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + return obj; + }, + fromAminoMsg(object: MsgSudoContractResponseAminoMsg): MsgSudoContractResponse { + return MsgSudoContractResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgSudoContractResponse): MsgSudoContractResponseAminoMsg { + return { + type: 'wasm/MsgSudoContractResponse', + value: MsgSudoContractResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgSudoContractResponseProtoMsg): MsgSudoContractResponse { + return MsgSudoContractResponse.decode(message.value); + }, + toProto(message: MsgSudoContractResponse): Uint8Array { + return MsgSudoContractResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgSudoContractResponse): MsgSudoContractResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgSudoContractResponse', + value: MsgSudoContractResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgPinCodes(): MsgPinCodes { + return { + authority: '', + codeIds: [], + }; +} +export const MsgPinCodes = { + typeUrl: '/cosmwasm.wasm.v1.MsgPinCodes', + encode(message: MsgPinCodes, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + writer.uint32(18).fork(); + for (const v of message.codeIds) { + writer.uint64(v); + } + writer.ldelim(); + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgPinCodes { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPinCodes(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.codeIds.push(reader.uint64()); + } + } else { + message.codeIds.push(reader.uint64()); + } + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgPinCodes { + const message = createBaseMsgPinCodes(); + message.authority = object.authority ?? ''; + message.codeIds = object.codeIds?.map((e) => BigInt(e.toString())) || []; + return message; + }, + fromAmino(object: MsgPinCodesAmino): MsgPinCodes { + const message = createBaseMsgPinCodes(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + message.codeIds = object.code_ids?.map((e) => BigInt(e)) || []; + return message; + }, + toAmino(message: MsgPinCodes): MsgPinCodesAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + if (message.codeIds) { + obj.code_ids = message.codeIds.map((e) => e.toString()); + } else { + obj.code_ids = message.codeIds; + } + return obj; + }, + fromAminoMsg(object: MsgPinCodesAminoMsg): MsgPinCodes { + return MsgPinCodes.fromAmino(object.value); + }, + toAminoMsg(message: MsgPinCodes): MsgPinCodesAminoMsg { + return { + type: 'wasm/MsgPinCodes', + value: MsgPinCodes.toAmino(message), + }; + }, + fromProtoMsg(message: MsgPinCodesProtoMsg): MsgPinCodes { + return MsgPinCodes.decode(message.value); + }, + toProto(message: MsgPinCodes): Uint8Array { + return MsgPinCodes.encode(message).finish(); + }, + toProtoMsg(message: MsgPinCodes): MsgPinCodesProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgPinCodes', + value: MsgPinCodes.encode(message).finish(), + }; + }, +}; +function createBaseMsgPinCodesResponse(): MsgPinCodesResponse { + return {}; +} +export const MsgPinCodesResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgPinCodesResponse', + encode(_: MsgPinCodesResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgPinCodesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPinCodesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgPinCodesResponse { + const message = createBaseMsgPinCodesResponse(); + return message; + }, + fromAmino(_: MsgPinCodesResponseAmino): MsgPinCodesResponse { + const message = createBaseMsgPinCodesResponse(); + return message; + }, + toAmino(_: MsgPinCodesResponse): MsgPinCodesResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgPinCodesResponseAminoMsg): MsgPinCodesResponse { + return MsgPinCodesResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgPinCodesResponse): MsgPinCodesResponseAminoMsg { + return { + type: 'wasm/MsgPinCodesResponse', + value: MsgPinCodesResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgPinCodesResponseProtoMsg): MsgPinCodesResponse { + return MsgPinCodesResponse.decode(message.value); + }, + toProto(message: MsgPinCodesResponse): Uint8Array { + return MsgPinCodesResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgPinCodesResponse): MsgPinCodesResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgPinCodesResponse', + value: MsgPinCodesResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUnpinCodes(): MsgUnpinCodes { + return { + authority: '', + codeIds: [], + }; +} +export const MsgUnpinCodes = { + typeUrl: '/cosmwasm.wasm.v1.MsgUnpinCodes', + encode(message: MsgUnpinCodes, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + writer.uint32(18).fork(); + for (const v of message.codeIds) { + writer.uint64(v); + } + writer.ldelim(); + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUnpinCodes { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUnpinCodes(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.codeIds.push(reader.uint64()); + } + } else { + message.codeIds.push(reader.uint64()); + } + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUnpinCodes { + const message = createBaseMsgUnpinCodes(); + message.authority = object.authority ?? ''; + message.codeIds = object.codeIds?.map((e) => BigInt(e.toString())) || []; + return message; + }, + fromAmino(object: MsgUnpinCodesAmino): MsgUnpinCodes { + const message = createBaseMsgUnpinCodes(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + message.codeIds = object.code_ids?.map((e) => BigInt(e)) || []; + return message; + }, + toAmino(message: MsgUnpinCodes): MsgUnpinCodesAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + if (message.codeIds) { + obj.code_ids = message.codeIds.map((e) => e.toString()); + } else { + obj.code_ids = message.codeIds; + } + return obj; + }, + fromAminoMsg(object: MsgUnpinCodesAminoMsg): MsgUnpinCodes { + return MsgUnpinCodes.fromAmino(object.value); + }, + toAminoMsg(message: MsgUnpinCodes): MsgUnpinCodesAminoMsg { + return { + type: 'wasm/MsgUnpinCodes', + value: MsgUnpinCodes.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUnpinCodesProtoMsg): MsgUnpinCodes { + return MsgUnpinCodes.decode(message.value); + }, + toProto(message: MsgUnpinCodes): Uint8Array { + return MsgUnpinCodes.encode(message).finish(); + }, + toProtoMsg(message: MsgUnpinCodes): MsgUnpinCodesProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgUnpinCodes', + value: MsgUnpinCodes.encode(message).finish(), + }; + }, +}; +function createBaseMsgUnpinCodesResponse(): MsgUnpinCodesResponse { + return {}; +} +export const MsgUnpinCodesResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgUnpinCodesResponse', + encode(_: MsgUnpinCodesResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUnpinCodesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUnpinCodesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUnpinCodesResponse { + const message = createBaseMsgUnpinCodesResponse(); + return message; + }, + fromAmino(_: MsgUnpinCodesResponseAmino): MsgUnpinCodesResponse { + const message = createBaseMsgUnpinCodesResponse(); + return message; + }, + toAmino(_: MsgUnpinCodesResponse): MsgUnpinCodesResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUnpinCodesResponseAminoMsg): MsgUnpinCodesResponse { + return MsgUnpinCodesResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgUnpinCodesResponse): MsgUnpinCodesResponseAminoMsg { + return { + type: 'wasm/MsgUnpinCodesResponse', + value: MsgUnpinCodesResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUnpinCodesResponseProtoMsg): MsgUnpinCodesResponse { + return MsgUnpinCodesResponse.decode(message.value); + }, + toProto(message: MsgUnpinCodesResponse): Uint8Array { + return MsgUnpinCodesResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUnpinCodesResponse): MsgUnpinCodesResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgUnpinCodesResponse', + value: MsgUnpinCodesResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgStoreAndInstantiateContract(): MsgStoreAndInstantiateContract { + return { + authority: '', + wasmByteCode: new Uint8Array(), + instantiatePermission: undefined, + unpinCode: false, + admin: '', + label: '', + msg: new Uint8Array(), + funds: [], + source: '', + builder: '', + codeHash: new Uint8Array(), + }; +} +export const MsgStoreAndInstantiateContract = { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreAndInstantiateContract', + encode(message: MsgStoreAndInstantiateContract, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + if (message.wasmByteCode.length !== 0) { + writer.uint32(26).bytes(message.wasmByteCode); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(34).fork()).ldelim(); + } + if (message.unpinCode === true) { + writer.uint32(40).bool(message.unpinCode); + } + if (message.admin !== '') { + writer.uint32(50).string(message.admin); + } + if (message.label !== '') { + writer.uint32(58).string(message.label); + } + if (message.msg.length !== 0) { + writer.uint32(66).bytes(message.msg); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(74).fork()).ldelim(); + } + if (message.source !== '') { + writer.uint32(82).string(message.source); + } + if (message.builder !== '') { + writer.uint32(90).string(message.builder); + } + if (message.codeHash.length !== 0) { + writer.uint32(98).bytes(message.codeHash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgStoreAndInstantiateContract { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStoreAndInstantiateContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 3: + message.wasmByteCode = reader.bytes(); + break; + case 4: + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + break; + case 5: + message.unpinCode = reader.bool(); + break; + case 6: + message.admin = reader.string(); + break; + case 7: + message.label = reader.string(); + break; + case 8: + message.msg = reader.bytes(); + break; + case 9: + message.funds.push(Coin.decode(reader, reader.uint32())); + break; + case 10: + message.source = reader.string(); + break; + case 11: + message.builder = reader.string(); + break; + case 12: + message.codeHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgStoreAndInstantiateContract { + const message = createBaseMsgStoreAndInstantiateContract(); + message.authority = object.authority ?? ''; + message.wasmByteCode = object.wasmByteCode ?? new Uint8Array(); + message.instantiatePermission = + object.instantiatePermission !== undefined && object.instantiatePermission !== null + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + message.unpinCode = object.unpinCode ?? false; + message.admin = object.admin ?? ''; + message.label = object.label ?? ''; + message.msg = object.msg ?? new Uint8Array(); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + message.source = object.source ?? ''; + message.builder = object.builder ?? ''; + message.codeHash = object.codeHash ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgStoreAndInstantiateContractAmino): MsgStoreAndInstantiateContract { + const message = createBaseMsgStoreAndInstantiateContract(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + if (object.wasm_byte_code !== undefined && object.wasm_byte_code !== null) { + message.wasmByteCode = fromBase64(object.wasm_byte_code); + } + if (object.instantiate_permission !== undefined && object.instantiate_permission !== null) { + message.instantiatePermission = AccessConfig.fromAmino(object.instantiate_permission); + } + if (object.unpin_code !== undefined && object.unpin_code !== null) { + message.unpinCode = object.unpin_code; + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.label !== undefined && object.label !== null) { + message.label = object.label; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + message.funds = object.funds?.map((e) => Coin.fromAmino(e)) || []; + if (object.source !== undefined && object.source !== null) { + message.source = object.source; + } + if (object.builder !== undefined && object.builder !== null) { + message.builder = object.builder; + } + if (object.code_hash !== undefined && object.code_hash !== null) { + message.codeHash = bytesFromBase64(object.code_hash); + } + return message; + }, + toAmino(message: MsgStoreAndInstantiateContract): MsgStoreAndInstantiateContractAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + obj.wasm_byte_code = message.wasmByteCode ? toBase64(message.wasmByteCode) : undefined; + obj.instantiate_permission = message.instantiatePermission + ? AccessConfig.toAmino(message.instantiatePermission) + : undefined; + obj.unpin_code = message.unpinCode === false ? undefined : message.unpinCode; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.label = message.label === '' ? undefined : message.label; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + if (message.funds) { + obj.funds = message.funds.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.funds = message.funds; + } + obj.source = message.source === '' ? undefined : message.source; + obj.builder = message.builder === '' ? undefined : message.builder; + obj.code_hash = message.codeHash ? base64FromBytes(message.codeHash) : undefined; + return obj; + }, + fromAminoMsg(object: MsgStoreAndInstantiateContractAminoMsg): MsgStoreAndInstantiateContract { + return MsgStoreAndInstantiateContract.fromAmino(object.value); + }, + toAminoMsg(message: MsgStoreAndInstantiateContract): MsgStoreAndInstantiateContractAminoMsg { + return { + type: 'wasm/MsgStoreAndInstantiateContract', + value: MsgStoreAndInstantiateContract.toAmino(message), + }; + }, + fromProtoMsg(message: MsgStoreAndInstantiateContractProtoMsg): MsgStoreAndInstantiateContract { + return MsgStoreAndInstantiateContract.decode(message.value); + }, + toProto(message: MsgStoreAndInstantiateContract): Uint8Array { + return MsgStoreAndInstantiateContract.encode(message).finish(); + }, + toProtoMsg(message: MsgStoreAndInstantiateContract): MsgStoreAndInstantiateContractProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreAndInstantiateContract', + value: MsgStoreAndInstantiateContract.encode(message).finish(), + }; + }, +}; +function createBaseMsgStoreAndInstantiateContractResponse(): MsgStoreAndInstantiateContractResponse { + return { + address: '', + data: new Uint8Array(), + }; +} +export const MsgStoreAndInstantiateContractResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreAndInstantiateContractResponse', + encode(message: MsgStoreAndInstantiateContractResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.address !== '') { + writer.uint32(10).string(message.address); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgStoreAndInstantiateContractResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStoreAndInstantiateContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + case 2: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgStoreAndInstantiateContractResponse { + const message = createBaseMsgStoreAndInstantiateContractResponse(); + message.address = object.address ?? ''; + message.data = object.data ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgStoreAndInstantiateContractResponseAmino): MsgStoreAndInstantiateContractResponse { + const message = createBaseMsgStoreAndInstantiateContractResponse(); + if (object.address !== undefined && object.address !== null) { + message.address = object.address; + } + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + return message; + }, + toAmino(message: MsgStoreAndInstantiateContractResponse): MsgStoreAndInstantiateContractResponseAmino { + const obj: any = {}; + obj.address = message.address === '' ? undefined : message.address; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + return obj; + }, + fromAminoMsg(object: MsgStoreAndInstantiateContractResponseAminoMsg): MsgStoreAndInstantiateContractResponse { + return MsgStoreAndInstantiateContractResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgStoreAndInstantiateContractResponse): MsgStoreAndInstantiateContractResponseAminoMsg { + return { + type: 'wasm/MsgStoreAndInstantiateContractResponse', + value: MsgStoreAndInstantiateContractResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgStoreAndInstantiateContractResponseProtoMsg): MsgStoreAndInstantiateContractResponse { + return MsgStoreAndInstantiateContractResponse.decode(message.value); + }, + toProto(message: MsgStoreAndInstantiateContractResponse): Uint8Array { + return MsgStoreAndInstantiateContractResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgStoreAndInstantiateContractResponse): MsgStoreAndInstantiateContractResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreAndInstantiateContractResponse', + value: MsgStoreAndInstantiateContractResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgAddCodeUploadParamsAddresses(): MsgAddCodeUploadParamsAddresses { + return { + authority: '', + addresses: [], + }; +} +export const MsgAddCodeUploadParamsAddresses = { + typeUrl: '/cosmwasm.wasm.v1.MsgAddCodeUploadParamsAddresses', + encode(message: MsgAddCodeUploadParamsAddresses, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + for (const v of message.addresses) { + writer.uint32(18).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgAddCodeUploadParamsAddresses { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAddCodeUploadParamsAddresses(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.addresses.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgAddCodeUploadParamsAddresses { + const message = createBaseMsgAddCodeUploadParamsAddresses(); + message.authority = object.authority ?? ''; + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, + fromAmino(object: MsgAddCodeUploadParamsAddressesAmino): MsgAddCodeUploadParamsAddresses { + const message = createBaseMsgAddCodeUploadParamsAddresses(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, + toAmino(message: MsgAddCodeUploadParamsAddresses): MsgAddCodeUploadParamsAddressesAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + if (message.addresses) { + obj.addresses = message.addresses.map((e) => e); + } else { + obj.addresses = message.addresses; + } + return obj; + }, + fromAminoMsg(object: MsgAddCodeUploadParamsAddressesAminoMsg): MsgAddCodeUploadParamsAddresses { + return MsgAddCodeUploadParamsAddresses.fromAmino(object.value); + }, + toAminoMsg(message: MsgAddCodeUploadParamsAddresses): MsgAddCodeUploadParamsAddressesAminoMsg { + return { + type: 'wasm/MsgAddCodeUploadParamsAddresses', + value: MsgAddCodeUploadParamsAddresses.toAmino(message), + }; + }, + fromProtoMsg(message: MsgAddCodeUploadParamsAddressesProtoMsg): MsgAddCodeUploadParamsAddresses { + return MsgAddCodeUploadParamsAddresses.decode(message.value); + }, + toProto(message: MsgAddCodeUploadParamsAddresses): Uint8Array { + return MsgAddCodeUploadParamsAddresses.encode(message).finish(); + }, + toProtoMsg(message: MsgAddCodeUploadParamsAddresses): MsgAddCodeUploadParamsAddressesProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgAddCodeUploadParamsAddresses', + value: MsgAddCodeUploadParamsAddresses.encode(message).finish(), + }; + }, +}; +function createBaseMsgAddCodeUploadParamsAddressesResponse(): MsgAddCodeUploadParamsAddressesResponse { + return {}; +} +export const MsgAddCodeUploadParamsAddressesResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgAddCodeUploadParamsAddressesResponse', + encode(_: MsgAddCodeUploadParamsAddressesResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgAddCodeUploadParamsAddressesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAddCodeUploadParamsAddressesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgAddCodeUploadParamsAddressesResponse { + const message = createBaseMsgAddCodeUploadParamsAddressesResponse(); + return message; + }, + fromAmino(_: MsgAddCodeUploadParamsAddressesResponseAmino): MsgAddCodeUploadParamsAddressesResponse { + const message = createBaseMsgAddCodeUploadParamsAddressesResponse(); + return message; + }, + toAmino(_: MsgAddCodeUploadParamsAddressesResponse): MsgAddCodeUploadParamsAddressesResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgAddCodeUploadParamsAddressesResponseAminoMsg): MsgAddCodeUploadParamsAddressesResponse { + return MsgAddCodeUploadParamsAddressesResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgAddCodeUploadParamsAddressesResponse): MsgAddCodeUploadParamsAddressesResponseAminoMsg { + return { + type: 'wasm/MsgAddCodeUploadParamsAddressesResponse', + value: MsgAddCodeUploadParamsAddressesResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgAddCodeUploadParamsAddressesResponseProtoMsg): MsgAddCodeUploadParamsAddressesResponse { + return MsgAddCodeUploadParamsAddressesResponse.decode(message.value); + }, + toProto(message: MsgAddCodeUploadParamsAddressesResponse): Uint8Array { + return MsgAddCodeUploadParamsAddressesResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgAddCodeUploadParamsAddressesResponse): MsgAddCodeUploadParamsAddressesResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgAddCodeUploadParamsAddressesResponse', + value: MsgAddCodeUploadParamsAddressesResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgRemoveCodeUploadParamsAddresses(): MsgRemoveCodeUploadParamsAddresses { + return { + authority: '', + addresses: [], + }; +} +export const MsgRemoveCodeUploadParamsAddresses = { + typeUrl: '/cosmwasm.wasm.v1.MsgRemoveCodeUploadParamsAddresses', + encode(message: MsgRemoveCodeUploadParamsAddresses, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + for (const v of message.addresses) { + writer.uint32(18).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgRemoveCodeUploadParamsAddresses { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRemoveCodeUploadParamsAddresses(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.addresses.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgRemoveCodeUploadParamsAddresses { + const message = createBaseMsgRemoveCodeUploadParamsAddresses(); + message.authority = object.authority ?? ''; + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, + fromAmino(object: MsgRemoveCodeUploadParamsAddressesAmino): MsgRemoveCodeUploadParamsAddresses { + const message = createBaseMsgRemoveCodeUploadParamsAddresses(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, + toAmino(message: MsgRemoveCodeUploadParamsAddresses): MsgRemoveCodeUploadParamsAddressesAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + if (message.addresses) { + obj.addresses = message.addresses.map((e) => e); + } else { + obj.addresses = message.addresses; + } + return obj; + }, + fromAminoMsg(object: MsgRemoveCodeUploadParamsAddressesAminoMsg): MsgRemoveCodeUploadParamsAddresses { + return MsgRemoveCodeUploadParamsAddresses.fromAmino(object.value); + }, + toAminoMsg(message: MsgRemoveCodeUploadParamsAddresses): MsgRemoveCodeUploadParamsAddressesAminoMsg { + return { + type: 'wasm/MsgRemoveCodeUploadParamsAddresses', + value: MsgRemoveCodeUploadParamsAddresses.toAmino(message), + }; + }, + fromProtoMsg(message: MsgRemoveCodeUploadParamsAddressesProtoMsg): MsgRemoveCodeUploadParamsAddresses { + return MsgRemoveCodeUploadParamsAddresses.decode(message.value); + }, + toProto(message: MsgRemoveCodeUploadParamsAddresses): Uint8Array { + return MsgRemoveCodeUploadParamsAddresses.encode(message).finish(); + }, + toProtoMsg(message: MsgRemoveCodeUploadParamsAddresses): MsgRemoveCodeUploadParamsAddressesProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgRemoveCodeUploadParamsAddresses', + value: MsgRemoveCodeUploadParamsAddresses.encode(message).finish(), + }; + }, +}; +function createBaseMsgRemoveCodeUploadParamsAddressesResponse(): MsgRemoveCodeUploadParamsAddressesResponse { + return {}; +} +export const MsgRemoveCodeUploadParamsAddressesResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgRemoveCodeUploadParamsAddressesResponse', + encode(_: MsgRemoveCodeUploadParamsAddressesResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgRemoveCodeUploadParamsAddressesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRemoveCodeUploadParamsAddressesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgRemoveCodeUploadParamsAddressesResponse { + const message = createBaseMsgRemoveCodeUploadParamsAddressesResponse(); + return message; + }, + fromAmino(_: MsgRemoveCodeUploadParamsAddressesResponseAmino): MsgRemoveCodeUploadParamsAddressesResponse { + const message = createBaseMsgRemoveCodeUploadParamsAddressesResponse(); + return message; + }, + toAmino(_: MsgRemoveCodeUploadParamsAddressesResponse): MsgRemoveCodeUploadParamsAddressesResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgRemoveCodeUploadParamsAddressesResponseAminoMsg): MsgRemoveCodeUploadParamsAddressesResponse { + return MsgRemoveCodeUploadParamsAddressesResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgRemoveCodeUploadParamsAddressesResponse): MsgRemoveCodeUploadParamsAddressesResponseAminoMsg { + return { + type: 'wasm/MsgRemoveCodeUploadParamsAddressesResponse', + value: MsgRemoveCodeUploadParamsAddressesResponse.toAmino(message), + }; + }, + fromProtoMsg( + message: MsgRemoveCodeUploadParamsAddressesResponseProtoMsg, + ): MsgRemoveCodeUploadParamsAddressesResponse { + return MsgRemoveCodeUploadParamsAddressesResponse.decode(message.value); + }, + toProto(message: MsgRemoveCodeUploadParamsAddressesResponse): Uint8Array { + return MsgRemoveCodeUploadParamsAddressesResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgRemoveCodeUploadParamsAddressesResponse): MsgRemoveCodeUploadParamsAddressesResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgRemoveCodeUploadParamsAddressesResponse', + value: MsgRemoveCodeUploadParamsAddressesResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgStoreAndMigrateContract(): MsgStoreAndMigrateContract { + return { + authority: '', + wasmByteCode: new Uint8Array(), + instantiatePermission: undefined, + contract: '', + msg: new Uint8Array(), + }; +} +export const MsgStoreAndMigrateContract = { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreAndMigrateContract', + encode(message: MsgStoreAndMigrateContract, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + if (message.wasmByteCode.length !== 0) { + writer.uint32(18).bytes(message.wasmByteCode); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(26).fork()).ldelim(); + } + if (message.contract !== '') { + writer.uint32(34).string(message.contract); + } + if (message.msg.length !== 0) { + writer.uint32(42).bytes(message.msg); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgStoreAndMigrateContract { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStoreAndMigrateContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.wasmByteCode = reader.bytes(); + break; + case 3: + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + break; + case 4: + message.contract = reader.string(); + break; + case 5: + message.msg = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgStoreAndMigrateContract { + const message = createBaseMsgStoreAndMigrateContract(); + message.authority = object.authority ?? ''; + message.wasmByteCode = object.wasmByteCode ?? new Uint8Array(); + message.instantiatePermission = + object.instantiatePermission !== undefined && object.instantiatePermission !== null + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + message.contract = object.contract ?? ''; + message.msg = object.msg ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgStoreAndMigrateContractAmino): MsgStoreAndMigrateContract { + const message = createBaseMsgStoreAndMigrateContract(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + if (object.wasm_byte_code !== undefined && object.wasm_byte_code !== null) { + message.wasmByteCode = fromBase64(object.wasm_byte_code); + } + if (object.instantiate_permission !== undefined && object.instantiate_permission !== null) { + message.instantiatePermission = AccessConfig.fromAmino(object.instantiate_permission); + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + return message; + }, + toAmino(message: MsgStoreAndMigrateContract): MsgStoreAndMigrateContractAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + obj.wasm_byte_code = message.wasmByteCode ? toBase64(message.wasmByteCode) : undefined; + obj.instantiate_permission = message.instantiatePermission + ? AccessConfig.toAmino(message.instantiatePermission) + : undefined; + obj.contract = message.contract === '' ? undefined : message.contract; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + return obj; + }, + fromAminoMsg(object: MsgStoreAndMigrateContractAminoMsg): MsgStoreAndMigrateContract { + return MsgStoreAndMigrateContract.fromAmino(object.value); + }, + toAminoMsg(message: MsgStoreAndMigrateContract): MsgStoreAndMigrateContractAminoMsg { + return { + type: 'wasm/MsgStoreAndMigrateContract', + value: MsgStoreAndMigrateContract.toAmino(message), + }; + }, + fromProtoMsg(message: MsgStoreAndMigrateContractProtoMsg): MsgStoreAndMigrateContract { + return MsgStoreAndMigrateContract.decode(message.value); + }, + toProto(message: MsgStoreAndMigrateContract): Uint8Array { + return MsgStoreAndMigrateContract.encode(message).finish(); + }, + toProtoMsg(message: MsgStoreAndMigrateContract): MsgStoreAndMigrateContractProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreAndMigrateContract', + value: MsgStoreAndMigrateContract.encode(message).finish(), + }; + }, +}; +function createBaseMsgStoreAndMigrateContractResponse(): MsgStoreAndMigrateContractResponse { + return { + codeId: BigInt(0), + checksum: new Uint8Array(), + data: new Uint8Array(), + }; +} +export const MsgStoreAndMigrateContractResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreAndMigrateContractResponse', + encode(message: MsgStoreAndMigrateContractResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.codeId !== BigInt(0)) { + writer.uint32(8).uint64(message.codeId); + } + if (message.checksum.length !== 0) { + writer.uint32(18).bytes(message.checksum); + } + if (message.data.length !== 0) { + writer.uint32(26).bytes(message.data); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgStoreAndMigrateContractResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStoreAndMigrateContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.codeId = reader.uint64(); + break; + case 2: + message.checksum = reader.bytes(); + break; + case 3: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgStoreAndMigrateContractResponse { + const message = createBaseMsgStoreAndMigrateContractResponse(); + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.checksum = object.checksum ?? new Uint8Array(); + message.data = object.data ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgStoreAndMigrateContractResponseAmino): MsgStoreAndMigrateContractResponse { + const message = createBaseMsgStoreAndMigrateContractResponse(); + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.checksum !== undefined && object.checksum !== null) { + message.checksum = bytesFromBase64(object.checksum); + } + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + return message; + }, + toAmino(message: MsgStoreAndMigrateContractResponse): MsgStoreAndMigrateContractResponseAmino { + const obj: any = {}; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.checksum = message.checksum ? base64FromBytes(message.checksum) : undefined; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + return obj; + }, + fromAminoMsg(object: MsgStoreAndMigrateContractResponseAminoMsg): MsgStoreAndMigrateContractResponse { + return MsgStoreAndMigrateContractResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgStoreAndMigrateContractResponse): MsgStoreAndMigrateContractResponseAminoMsg { + return { + type: 'wasm/MsgStoreAndMigrateContractResponse', + value: MsgStoreAndMigrateContractResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgStoreAndMigrateContractResponseProtoMsg): MsgStoreAndMigrateContractResponse { + return MsgStoreAndMigrateContractResponse.decode(message.value); + }, + toProto(message: MsgStoreAndMigrateContractResponse): Uint8Array { + return MsgStoreAndMigrateContractResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgStoreAndMigrateContractResponse): MsgStoreAndMigrateContractResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgStoreAndMigrateContractResponse', + value: MsgStoreAndMigrateContractResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateContractLabel(): MsgUpdateContractLabel { + return { + sender: '', + newLabel: '', + contract: '', + }; +} +export const MsgUpdateContractLabel = { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateContractLabel', + encode(message: MsgUpdateContractLabel, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.newLabel !== '') { + writer.uint32(18).string(message.newLabel); + } + if (message.contract !== '') { + writer.uint32(26).string(message.contract); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateContractLabel { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateContractLabel(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.newLabel = reader.string(); + break; + case 3: + message.contract = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateContractLabel { + const message = createBaseMsgUpdateContractLabel(); + message.sender = object.sender ?? ''; + message.newLabel = object.newLabel ?? ''; + message.contract = object.contract ?? ''; + return message; + }, + fromAmino(object: MsgUpdateContractLabelAmino): MsgUpdateContractLabel { + const message = createBaseMsgUpdateContractLabel(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.new_label !== undefined && object.new_label !== null) { + message.newLabel = object.new_label; + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + return message; + }, + toAmino(message: MsgUpdateContractLabel): MsgUpdateContractLabelAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.new_label = message.newLabel === '' ? undefined : message.newLabel; + obj.contract = message.contract === '' ? undefined : message.contract; + return obj; + }, + fromAminoMsg(object: MsgUpdateContractLabelAminoMsg): MsgUpdateContractLabel { + return MsgUpdateContractLabel.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateContractLabel): MsgUpdateContractLabelAminoMsg { + return { + type: 'wasm/MsgUpdateContractLabel', + value: MsgUpdateContractLabel.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateContractLabelProtoMsg): MsgUpdateContractLabel { + return MsgUpdateContractLabel.decode(message.value); + }, + toProto(message: MsgUpdateContractLabel): Uint8Array { + return MsgUpdateContractLabel.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateContractLabel): MsgUpdateContractLabelProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateContractLabel', + value: MsgUpdateContractLabel.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateContractLabelResponse(): MsgUpdateContractLabelResponse { + return {}; +} +export const MsgUpdateContractLabelResponse = { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateContractLabelResponse', + encode(_: MsgUpdateContractLabelResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateContractLabelResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateContractLabelResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateContractLabelResponse { + const message = createBaseMsgUpdateContractLabelResponse(); + return message; + }, + fromAmino(_: MsgUpdateContractLabelResponseAmino): MsgUpdateContractLabelResponse { + const message = createBaseMsgUpdateContractLabelResponse(); + return message; + }, + toAmino(_: MsgUpdateContractLabelResponse): MsgUpdateContractLabelResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateContractLabelResponseAminoMsg): MsgUpdateContractLabelResponse { + return MsgUpdateContractLabelResponse.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateContractLabelResponse): MsgUpdateContractLabelResponseAminoMsg { + return { + type: 'wasm/MsgUpdateContractLabelResponse', + value: MsgUpdateContractLabelResponse.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateContractLabelResponseProtoMsg): MsgUpdateContractLabelResponse { + return MsgUpdateContractLabelResponse.decode(message.value); + }, + toProto(message: MsgUpdateContractLabelResponse): Uint8Array { + return MsgUpdateContractLabelResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateContractLabelResponse): MsgUpdateContractLabelResponseProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.MsgUpdateContractLabelResponse', + value: MsgUpdateContractLabelResponse.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmwasm/wasm/v1/types.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmwasm/wasm/v1/types.ts new file mode 100644 index 00000000..a690fe62 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/cosmwasm/wasm/v1/types.ts @@ -0,0 +1,1694 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { fromUtf8, toUtf8 } from '@cosmjs/encoding'; +import { Any, AnyAmino, AnyProtoMsg, AnySDKType } from 'cosmjs-types/google/protobuf/any'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { Coin, CoinAmino, CoinSDKType } from '../../../../../coin'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +/** AccessType permission types */ +export enum AccessType { + /** ACCESS_TYPE_UNSPECIFIED - AccessTypeUnspecified placeholder for empty value */ + ACCESS_TYPE_UNSPECIFIED = 0, + /** ACCESS_TYPE_NOBODY - AccessTypeNobody forbidden */ + ACCESS_TYPE_NOBODY = 1, + /** ACCESS_TYPE_EVERYBODY - AccessTypeEverybody unrestricted */ + ACCESS_TYPE_EVERYBODY = 3, + /** ACCESS_TYPE_ANY_OF_ADDRESSES - AccessTypeAnyOfAddresses allow any of the addresses */ + ACCESS_TYPE_ANY_OF_ADDRESSES = 4, + UNRECOGNIZED = -1, +} +export const AccessTypeSDKType = AccessType; +export const AccessTypeAmino = AccessType; +export function accessTypeFromJSON(object: any): AccessType { + switch (object) { + case 0: + case 'ACCESS_TYPE_UNSPECIFIED': + return AccessType.ACCESS_TYPE_UNSPECIFIED; + case 1: + case 'ACCESS_TYPE_NOBODY': + return AccessType.ACCESS_TYPE_NOBODY; + case 3: + case 'ACCESS_TYPE_EVERYBODY': + return AccessType.ACCESS_TYPE_EVERYBODY; + case 4: + case 'ACCESS_TYPE_ANY_OF_ADDRESSES': + return AccessType.ACCESS_TYPE_ANY_OF_ADDRESSES; + case -1: + case 'UNRECOGNIZED': + default: + return AccessType.UNRECOGNIZED; + } +} +export function accessTypeToJSON(object: AccessType): string { + switch (object) { + case AccessType.ACCESS_TYPE_UNSPECIFIED: + return 'ACCESS_TYPE_UNSPECIFIED'; + case AccessType.ACCESS_TYPE_NOBODY: + return 'ACCESS_TYPE_NOBODY'; + case AccessType.ACCESS_TYPE_EVERYBODY: + return 'ACCESS_TYPE_EVERYBODY'; + case AccessType.ACCESS_TYPE_ANY_OF_ADDRESSES: + return 'ACCESS_TYPE_ANY_OF_ADDRESSES'; + case AccessType.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** ContractCodeHistoryOperationType actions that caused a code change */ +export enum ContractCodeHistoryOperationType { + /** CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED - ContractCodeHistoryOperationTypeUnspecified placeholder for empty value */ + CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED = 0, + /** CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT - ContractCodeHistoryOperationTypeInit on chain contract instantiation */ + CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT = 1, + /** CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE - ContractCodeHistoryOperationTypeMigrate code migration */ + CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE = 2, + /** CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS - ContractCodeHistoryOperationTypeGenesis based on genesis data */ + CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS = 3, + UNRECOGNIZED = -1, +} +export const ContractCodeHistoryOperationTypeSDKType = ContractCodeHistoryOperationType; +export const ContractCodeHistoryOperationTypeAmino = ContractCodeHistoryOperationType; +export function contractCodeHistoryOperationTypeFromJSON(object: any): ContractCodeHistoryOperationType { + switch (object) { + case 0: + case 'CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED': + return ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED; + case 1: + case 'CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT': + return ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT; + case 2: + case 'CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE': + return ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE; + case 3: + case 'CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS': + return ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS; + case -1: + case 'UNRECOGNIZED': + default: + return ContractCodeHistoryOperationType.UNRECOGNIZED; + } +} +export function contractCodeHistoryOperationTypeToJSON(object: ContractCodeHistoryOperationType): string { + switch (object) { + case ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED: + return 'CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED'; + case ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT: + return 'CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT'; + case ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE: + return 'CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE'; + case ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS: + return 'CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS'; + case ContractCodeHistoryOperationType.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** AccessTypeParam */ +export interface AccessTypeParam { + value: AccessType; +} +export interface AccessTypeParamProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.AccessTypeParam'; + value: Uint8Array; +} +/** AccessTypeParam */ +export interface AccessTypeParamAmino { + value?: AccessType; +} +export interface AccessTypeParamAminoMsg { + type: 'wasm/AccessTypeParam'; + value: AccessTypeParamAmino; +} +/** AccessTypeParam */ +export interface AccessTypeParamSDKType { + value: AccessType; +} +/** AccessConfig access control type. */ +export interface AccessConfig { + permission: AccessType; + addresses: string[]; +} +export interface AccessConfigProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.AccessConfig'; + value: Uint8Array; +} +/** AccessConfig access control type. */ +export interface AccessConfigAmino { + permission?: AccessType; + addresses?: string[]; +} +export interface AccessConfigAminoMsg { + type: 'wasm/AccessConfig'; + value: AccessConfigAmino; +} +/** AccessConfig access control type. */ +export interface AccessConfigSDKType { + permission: AccessType; + addresses: string[]; +} +/** Params defines the set of wasm parameters. */ +export interface Params { + codeUploadAccess: AccessConfig; + instantiateDefaultPermission: AccessType; +} +export interface ParamsProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.Params'; + value: Uint8Array; +} +/** Params defines the set of wasm parameters. */ +export interface ParamsAmino { + code_upload_access: AccessConfigAmino; + instantiate_default_permission?: AccessType; +} +export interface ParamsAminoMsg { + type: 'wasm/Params'; + value: ParamsAmino; +} +/** Params defines the set of wasm parameters. */ +export interface ParamsSDKType { + code_upload_access: AccessConfigSDKType; + instantiate_default_permission: AccessType; +} +/** CodeInfo is data for the uploaded contract WASM code */ +export interface CodeInfo { + /** CodeHash is the unique identifier created by wasmvm */ + codeHash: Uint8Array; + /** Creator address who initially stored the code */ + creator: string; + /** InstantiateConfig access control to apply on contract creation, optional */ + instantiateConfig: AccessConfig; +} +export interface CodeInfoProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.CodeInfo'; + value: Uint8Array; +} +/** CodeInfo is data for the uploaded contract WASM code */ +export interface CodeInfoAmino { + /** CodeHash is the unique identifier created by wasmvm */ + code_hash?: string; + /** Creator address who initially stored the code */ + creator?: string; + /** InstantiateConfig access control to apply on contract creation, optional */ + instantiate_config: AccessConfigAmino; +} +export interface CodeInfoAminoMsg { + type: 'wasm/CodeInfo'; + value: CodeInfoAmino; +} +/** CodeInfo is data for the uploaded contract WASM code */ +export interface CodeInfoSDKType { + code_hash: Uint8Array; + creator: string; + instantiate_config: AccessConfigSDKType; +} +/** ContractInfo stores a WASM contract instance */ +export interface ContractInfo { + /** CodeID is the reference to the stored Wasm code */ + codeId: bigint; + /** Creator address who initially instantiated the contract */ + creator: string; + /** Admin is an optional address that can execute migrations */ + admin: string; + /** Label is optional metadata to be stored with a contract instance. */ + label: string; + /** Created Tx position when the contract was instantiated. */ + created?: AbsoluteTxPosition; + ibcPortId: string; + /** + * Extension is an extension point to store custom metadata within the + * persistence model. + */ + extension?: Any | undefined; +} +export interface ContractInfoProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.ContractInfo'; + value: Uint8Array; +} +export type ContractInfoEncoded = Omit & { + /** + * Extension is an extension point to store custom metadata within the + * persistence model. + */ + extension?: AnyProtoMsg | undefined; +}; +/** ContractInfo stores a WASM contract instance */ +export interface ContractInfoAmino { + /** CodeID is the reference to the stored Wasm code */ + code_id?: string; + /** Creator address who initially instantiated the contract */ + creator?: string; + /** Admin is an optional address that can execute migrations */ + admin?: string; + /** Label is optional metadata to be stored with a contract instance. */ + label?: string; + /** Created Tx position when the contract was instantiated. */ + created?: AbsoluteTxPositionAmino; + ibc_port_id?: string; + /** + * Extension is an extension point to store custom metadata within the + * persistence model. + */ + extension?: AnyAmino; +} +export interface ContractInfoAminoMsg { + type: 'wasm/ContractInfo'; + value: ContractInfoAmino; +} +/** ContractInfo stores a WASM contract instance */ +export interface ContractInfoSDKType { + code_id: bigint; + creator: string; + admin: string; + label: string; + created?: AbsoluteTxPositionSDKType; + ibc_port_id: string; + extension?: AnySDKType | undefined; +} +/** ContractCodeHistoryEntry metadata to a contract. */ +export interface ContractCodeHistoryEntry { + operation: ContractCodeHistoryOperationType; + /** CodeID is the reference to the stored WASM code */ + codeId: bigint; + /** Updated Tx position when the operation was executed. */ + updated?: AbsoluteTxPosition; + msg: Uint8Array; +} +export interface ContractCodeHistoryEntryProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.ContractCodeHistoryEntry'; + value: Uint8Array; +} +/** ContractCodeHistoryEntry metadata to a contract. */ +export interface ContractCodeHistoryEntryAmino { + operation?: ContractCodeHistoryOperationType; + /** CodeID is the reference to the stored WASM code */ + code_id?: string; + /** Updated Tx position when the operation was executed. */ + updated?: AbsoluteTxPositionAmino; + msg?: any; +} +export interface ContractCodeHistoryEntryAminoMsg { + type: 'wasm/ContractCodeHistoryEntry'; + value: ContractCodeHistoryEntryAmino; +} +/** ContractCodeHistoryEntry metadata to a contract. */ +export interface ContractCodeHistoryEntrySDKType { + operation: ContractCodeHistoryOperationType; + code_id: bigint; + updated?: AbsoluteTxPositionSDKType; + msg: Uint8Array; +} +/** + * AbsoluteTxPosition is a unique transaction position that allows for global + * ordering of transactions. + */ +export interface AbsoluteTxPosition { + /** BlockHeight is the block the contract was created at */ + blockHeight: bigint; + /** + * TxIndex is a monotonic counter within the block (actual transaction index, + * or gas consumed) + */ + txIndex: bigint; +} +export interface AbsoluteTxPositionProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.AbsoluteTxPosition'; + value: Uint8Array; +} +/** + * AbsoluteTxPosition is a unique transaction position that allows for global + * ordering of transactions. + */ +export interface AbsoluteTxPositionAmino { + /** BlockHeight is the block the contract was created at */ + block_height?: string; + /** + * TxIndex is a monotonic counter within the block (actual transaction index, + * or gas consumed) + */ + tx_index?: string; +} +export interface AbsoluteTxPositionAminoMsg { + type: 'wasm/AbsoluteTxPosition'; + value: AbsoluteTxPositionAmino; +} +/** + * AbsoluteTxPosition is a unique transaction position that allows for global + * ordering of transactions. + */ +export interface AbsoluteTxPositionSDKType { + block_height: bigint; + tx_index: bigint; +} +/** Model is a struct that holds a KV pair */ +export interface Model { + /** hex-encode key to read it better (this is often ascii) */ + key: Uint8Array; + /** base64-encode raw value */ + value: Uint8Array; +} +export interface ModelProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.Model'; + value: Uint8Array; +} +/** Model is a struct that holds a KV pair */ +export interface ModelAmino { + /** hex-encode key to read it better (this is often ascii) */ + key?: string; + /** base64-encode raw value */ + value?: string; +} +export interface ModelAminoMsg { + type: 'wasm/Model'; + value: ModelAmino; +} +/** Model is a struct that holds a KV pair */ +export interface ModelSDKType { + key: Uint8Array; + value: Uint8Array; +} +/** EventCodeStored is emitted when contract code is checked and stored */ +export interface EventCodeStored { + /** CodeID is the reference to the stored Wasm code */ + codeId: bigint; + /** Creator address who initially stored the code */ + creator: string; + accessConfig?: AccessConfig; + checksum: Uint8Array; +} +export interface EventCodeStoredProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.EventCodeStored'; + value: Uint8Array; +} +/** EventCodeStored is emitted when contract code is checked and stored */ +export interface EventCodeStoredAmino { + /** CodeID is the reference to the stored Wasm code */ + code_id?: string; + /** Creator address who initially stored the code */ + creator?: string; + access_config?: AccessConfigAmino; + checksum?: string; +} +export interface EventCodeStoredAminoMsg { + type: 'wasm/EventCodeStored'; + value: EventCodeStoredAmino; +} +/** EventCodeStored is emitted when contract code is checked and stored */ +export interface EventCodeStoredSDKType { + code_id: bigint; + creator: string; + access_config?: AccessConfigSDKType; + checksum: Uint8Array; +} +/** EventContractInstantiated is emitted when contract is instantiated */ +export interface EventContractInstantiated { + contractAddress: string; + admin: string; + codeId: bigint; + /** Funds coins that are transferred to the contract on instantiation */ + funds: Coin[]; + msg: Uint8Array; + label: string; + creator: string; +} +export interface EventContractInstantiatedProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.EventContractInstantiated'; + value: Uint8Array; +} +/** EventContractInstantiated is emitted when contract is instantiated */ +export interface EventContractInstantiatedAmino { + contract_address?: string; + admin?: string; + code_id?: string; + /** Funds coins that are transferred to the contract on instantiation */ + funds?: CoinAmino[]; + msg?: any; + label?: string; + creator?: string; +} +export interface EventContractInstantiatedAminoMsg { + type: 'wasm/EventContractInstantiated'; + value: EventContractInstantiatedAmino; +} +/** EventContractInstantiated is emitted when contract is instantiated */ +export interface EventContractInstantiatedSDKType { + contract_address: string; + admin: string; + code_id: bigint; + funds: CoinSDKType[]; + msg: Uint8Array; + label: string; + creator: string; +} +/** EventContractMigrated is emitted when a contract get migrated to another code */ +export interface EventContractMigrated { + codeId: bigint; + contractAddress: string; + msg: Uint8Array; +} +export interface EventContractMigratedProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.EventContractMigrated'; + value: Uint8Array; +} +/** EventContractMigrated is emitted when a contract get migrated to another code */ +export interface EventContractMigratedAmino { + code_id?: string; + contract_address?: string; + msg?: any; +} +export interface EventContractMigratedAminoMsg { + type: 'wasm/EventContractMigrated'; + value: EventContractMigratedAmino; +} +/** EventContractMigrated is emitted when a contract get migrated to another code */ +export interface EventContractMigratedSDKType { + code_id: bigint; + contract_address: string; + msg: Uint8Array; +} +/** EventContractAdminSet is emitted when new admin is set */ +export interface EventContractAdminSet { + contractAddress: string; + newAdmin: string; +} +export interface EventContractAdminSetProtoMsg { + typeUrl: '/cosmwasm.wasm.v1.EventContractAdminSet'; + value: Uint8Array; +} +/** EventContractAdminSet is emitted when new admin is set */ +export interface EventContractAdminSetAmino { + contract_address?: string; + new_admin?: string; +} +export interface EventContractAdminSetAminoMsg { + type: 'wasm/EventContractAdminSet'; + value: EventContractAdminSetAmino; +} +/** EventContractAdminSet is emitted when new admin is set */ +export interface EventContractAdminSetSDKType { + contract_address: string; + new_admin: string; +} +function createBaseAccessTypeParam(): AccessTypeParam { + return { + value: 0, + }; +} +export const AccessTypeParam = { + typeUrl: '/cosmwasm.wasm.v1.AccessTypeParam', + encode(message: AccessTypeParam, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.value !== 0) { + writer.uint32(8).int32(message.value); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AccessTypeParam { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccessTypeParam(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.value = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AccessTypeParam { + const message = createBaseAccessTypeParam(); + message.value = object.value ?? 0; + return message; + }, + fromAmino(object: AccessTypeParamAmino): AccessTypeParam { + const message = createBaseAccessTypeParam(); + if (object.value !== undefined && object.value !== null) { + message.value = object.value; + } + return message; + }, + toAmino(message: AccessTypeParam): AccessTypeParamAmino { + const obj: any = {}; + obj.value = message.value === 0 ? undefined : message.value; + return obj; + }, + fromAminoMsg(object: AccessTypeParamAminoMsg): AccessTypeParam { + return AccessTypeParam.fromAmino(object.value); + }, + toAminoMsg(message: AccessTypeParam): AccessTypeParamAminoMsg { + return { + type: 'wasm/AccessTypeParam', + value: AccessTypeParam.toAmino(message), + }; + }, + fromProtoMsg(message: AccessTypeParamProtoMsg): AccessTypeParam { + return AccessTypeParam.decode(message.value); + }, + toProto(message: AccessTypeParam): Uint8Array { + return AccessTypeParam.encode(message).finish(); + }, + toProtoMsg(message: AccessTypeParam): AccessTypeParamProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.AccessTypeParam', + value: AccessTypeParam.encode(message).finish(), + }; + }, +}; +function createBaseAccessConfig(): AccessConfig { + return { + permission: 0, + addresses: [], + }; +} +export const AccessConfig = { + typeUrl: '/cosmwasm.wasm.v1.AccessConfig', + encode(message: AccessConfig, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.permission !== 0) { + writer.uint32(8).int32(message.permission); + } + for (const v of message.addresses) { + writer.uint32(26).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AccessConfig { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccessConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.permission = reader.int32() as any; + break; + case 3: + message.addresses.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AccessConfig { + const message = createBaseAccessConfig(); + message.permission = object.permission ?? 0; + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, + fromAmino(object: AccessConfigAmino): AccessConfig { + const message = createBaseAccessConfig(); + if (object.permission !== undefined && object.permission !== null) { + message.permission = object.permission; + } + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, + toAmino(message: AccessConfig): AccessConfigAmino { + const obj: any = {}; + obj.permission = message.permission === 0 ? undefined : message.permission; + if (message.addresses) { + obj.addresses = message.addresses.map((e) => e); + } else { + obj.addresses = message.addresses; + } + return obj; + }, + fromAminoMsg(object: AccessConfigAminoMsg): AccessConfig { + return AccessConfig.fromAmino(object.value); + }, + toAminoMsg(message: AccessConfig): AccessConfigAminoMsg { + return { + type: 'wasm/AccessConfig', + value: AccessConfig.toAmino(message), + }; + }, + fromProtoMsg(message: AccessConfigProtoMsg): AccessConfig { + return AccessConfig.decode(message.value); + }, + toProto(message: AccessConfig): Uint8Array { + return AccessConfig.encode(message).finish(); + }, + toProtoMsg(message: AccessConfig): AccessConfigProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.AccessConfig', + value: AccessConfig.encode(message).finish(), + }; + }, +}; +function createBaseParams(): Params { + return { + codeUploadAccess: AccessConfig.fromPartial({}), + instantiateDefaultPermission: 0, + }; +} +export const Params = { + typeUrl: '/cosmwasm.wasm.v1.Params', + encode(message: Params, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.codeUploadAccess !== undefined) { + AccessConfig.encode(message.codeUploadAccess, writer.uint32(10).fork()).ldelim(); + } + if (message.instantiateDefaultPermission !== 0) { + writer.uint32(16).int32(message.instantiateDefaultPermission); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.codeUploadAccess = AccessConfig.decode(reader, reader.uint32()); + break; + case 2: + message.instantiateDefaultPermission = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Params { + const message = createBaseParams(); + message.codeUploadAccess = + object.codeUploadAccess !== undefined && object.codeUploadAccess !== null + ? AccessConfig.fromPartial(object.codeUploadAccess) + : undefined; + message.instantiateDefaultPermission = object.instantiateDefaultPermission ?? 0; + return message; + }, + fromAmino(object: ParamsAmino): Params { + const message = createBaseParams(); + if (object.code_upload_access !== undefined && object.code_upload_access !== null) { + message.codeUploadAccess = AccessConfig.fromAmino(object.code_upload_access); + } + if (object.instantiate_default_permission !== undefined && object.instantiate_default_permission !== null) { + message.instantiateDefaultPermission = object.instantiate_default_permission; + } + return message; + }, + toAmino(message: Params): ParamsAmino { + const obj: any = {}; + obj.code_upload_access = message.codeUploadAccess + ? AccessConfig.toAmino(message.codeUploadAccess) + : AccessConfig.toAmino(AccessConfig.fromPartial({})); + obj.instantiate_default_permission = + message.instantiateDefaultPermission === 0 ? undefined : message.instantiateDefaultPermission; + return obj; + }, + fromAminoMsg(object: ParamsAminoMsg): Params { + return Params.fromAmino(object.value); + }, + toAminoMsg(message: Params): ParamsAminoMsg { + return { + type: 'wasm/Params', + value: Params.toAmino(message), + }; + }, + fromProtoMsg(message: ParamsProtoMsg): Params { + return Params.decode(message.value); + }, + toProto(message: Params): Uint8Array { + return Params.encode(message).finish(); + }, + toProtoMsg(message: Params): ParamsProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.Params', + value: Params.encode(message).finish(), + }; + }, +}; +function createBaseCodeInfo(): CodeInfo { + return { + codeHash: new Uint8Array(), + creator: '', + instantiateConfig: AccessConfig.fromPartial({}), + }; +} +export const CodeInfo = { + typeUrl: '/cosmwasm.wasm.v1.CodeInfo', + encode(message: CodeInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.codeHash.length !== 0) { + writer.uint32(10).bytes(message.codeHash); + } + if (message.creator !== '') { + writer.uint32(18).string(message.creator); + } + if (message.instantiateConfig !== undefined) { + AccessConfig.encode(message.instantiateConfig, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): CodeInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCodeInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.codeHash = reader.bytes(); + break; + case 2: + message.creator = reader.string(); + break; + case 5: + message.instantiateConfig = AccessConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): CodeInfo { + const message = createBaseCodeInfo(); + message.codeHash = object.codeHash ?? new Uint8Array(); + message.creator = object.creator ?? ''; + message.instantiateConfig = + object.instantiateConfig !== undefined && object.instantiateConfig !== null + ? AccessConfig.fromPartial(object.instantiateConfig) + : undefined; + return message; + }, + fromAmino(object: CodeInfoAmino): CodeInfo { + const message = createBaseCodeInfo(); + if (object.code_hash !== undefined && object.code_hash !== null) { + message.codeHash = bytesFromBase64(object.code_hash); + } + if (object.creator !== undefined && object.creator !== null) { + message.creator = object.creator; + } + if (object.instantiate_config !== undefined && object.instantiate_config !== null) { + message.instantiateConfig = AccessConfig.fromAmino(object.instantiate_config); + } + return message; + }, + toAmino(message: CodeInfo): CodeInfoAmino { + const obj: any = {}; + obj.code_hash = message.codeHash ? base64FromBytes(message.codeHash) : undefined; + obj.creator = message.creator === '' ? undefined : message.creator; + obj.instantiate_config = message.instantiateConfig + ? AccessConfig.toAmino(message.instantiateConfig) + : AccessConfig.toAmino(AccessConfig.fromPartial({})); + return obj; + }, + fromAminoMsg(object: CodeInfoAminoMsg): CodeInfo { + return CodeInfo.fromAmino(object.value); + }, + toAminoMsg(message: CodeInfo): CodeInfoAminoMsg { + return { + type: 'wasm/CodeInfo', + value: CodeInfo.toAmino(message), + }; + }, + fromProtoMsg(message: CodeInfoProtoMsg): CodeInfo { + return CodeInfo.decode(message.value); + }, + toProto(message: CodeInfo): Uint8Array { + return CodeInfo.encode(message).finish(); + }, + toProtoMsg(message: CodeInfo): CodeInfoProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.CodeInfo', + value: CodeInfo.encode(message).finish(), + }; + }, +}; +function createBaseContractInfo(): ContractInfo { + return { + codeId: BigInt(0), + creator: '', + admin: '', + label: '', + created: undefined, + ibcPortId: '', + extension: undefined, + }; +} +export const ContractInfo = { + typeUrl: '/cosmwasm.wasm.v1.ContractInfo', + encode(message: ContractInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.codeId !== BigInt(0)) { + writer.uint32(8).uint64(message.codeId); + } + if (message.creator !== '') { + writer.uint32(18).string(message.creator); + } + if (message.admin !== '') { + writer.uint32(26).string(message.admin); + } + if (message.label !== '') { + writer.uint32(34).string(message.label); + } + if (message.created !== undefined) { + AbsoluteTxPosition.encode(message.created, writer.uint32(42).fork()).ldelim(); + } + if (message.ibcPortId !== '') { + writer.uint32(50).string(message.ibcPortId); + } + if (message.extension !== undefined) { + Any.encode(message.extension as Any, writer.uint32(58).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ContractInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.codeId = reader.uint64(); + break; + case 2: + message.creator = reader.string(); + break; + case 3: + message.admin = reader.string(); + break; + case 4: + message.label = reader.string(); + break; + case 5: + message.created = AbsoluteTxPosition.decode(reader, reader.uint32()); + break; + case 6: + message.ibcPortId = reader.string(); + break; + case 7: + message.extension = Cosmwasm_wasmv1ContractInfoExtension_InterfaceDecoder(reader) as Any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ContractInfo { + const message = createBaseContractInfo(); + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.creator = object.creator ?? ''; + message.admin = object.admin ?? ''; + message.label = object.label ?? ''; + message.created = + object.created !== undefined && object.created !== null + ? AbsoluteTxPosition.fromPartial(object.created) + : undefined; + message.ibcPortId = object.ibcPortId ?? ''; + message.extension = + object.extension !== undefined && object.extension !== null ? Any.fromPartial(object.extension) : undefined; + return message; + }, + fromAmino(object: ContractInfoAmino): ContractInfo { + const message = createBaseContractInfo(); + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.creator !== undefined && object.creator !== null) { + message.creator = object.creator; + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.label !== undefined && object.label !== null) { + message.label = object.label; + } + if (object.created !== undefined && object.created !== null) { + message.created = AbsoluteTxPosition.fromAmino(object.created); + } + if (object.ibc_port_id !== undefined && object.ibc_port_id !== null) { + message.ibcPortId = object.ibc_port_id; + } + if (object.extension !== undefined && object.extension !== null) { + message.extension = Cosmwasm_wasmv1ContractInfoExtension_FromAmino(object.extension); + } + return message; + }, + toAmino(message: ContractInfo): ContractInfoAmino { + const obj: any = {}; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.creator = message.creator === '' ? undefined : message.creator; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.label = message.label === '' ? undefined : message.label; + obj.created = message.created ? AbsoluteTxPosition.toAmino(message.created) : undefined; + obj.ibc_port_id = message.ibcPortId === '' ? undefined : message.ibcPortId; + obj.extension = message.extension + ? Cosmwasm_wasmv1ContractInfoExtension_ToAmino(message.extension as Any) + : undefined; + return obj; + }, + fromAminoMsg(object: ContractInfoAminoMsg): ContractInfo { + return ContractInfo.fromAmino(object.value); + }, + toAminoMsg(message: ContractInfo): ContractInfoAminoMsg { + return { + type: 'wasm/ContractInfo', + value: ContractInfo.toAmino(message), + }; + }, + fromProtoMsg(message: ContractInfoProtoMsg): ContractInfo { + return ContractInfo.decode(message.value); + }, + toProto(message: ContractInfo): Uint8Array { + return ContractInfo.encode(message).finish(); + }, + toProtoMsg(message: ContractInfo): ContractInfoProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.ContractInfo', + value: ContractInfo.encode(message).finish(), + }; + }, +}; +function createBaseContractCodeHistoryEntry(): ContractCodeHistoryEntry { + return { + operation: 0, + codeId: BigInt(0), + updated: undefined, + msg: new Uint8Array(), + }; +} +export const ContractCodeHistoryEntry = { + typeUrl: '/cosmwasm.wasm.v1.ContractCodeHistoryEntry', + encode(message: ContractCodeHistoryEntry, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.operation !== 0) { + writer.uint32(8).int32(message.operation); + } + if (message.codeId !== BigInt(0)) { + writer.uint32(16).uint64(message.codeId); + } + if (message.updated !== undefined) { + AbsoluteTxPosition.encode(message.updated, writer.uint32(26).fork()).ldelim(); + } + if (message.msg.length !== 0) { + writer.uint32(34).bytes(message.msg); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ContractCodeHistoryEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractCodeHistoryEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.operation = reader.int32() as any; + break; + case 2: + message.codeId = reader.uint64(); + break; + case 3: + message.updated = AbsoluteTxPosition.decode(reader, reader.uint32()); + break; + case 4: + message.msg = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ContractCodeHistoryEntry { + const message = createBaseContractCodeHistoryEntry(); + message.operation = object.operation ?? 0; + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.updated = + object.updated !== undefined && object.updated !== null + ? AbsoluteTxPosition.fromPartial(object.updated) + : undefined; + message.msg = object.msg ?? new Uint8Array(); + return message; + }, + fromAmino(object: ContractCodeHistoryEntryAmino): ContractCodeHistoryEntry { + const message = createBaseContractCodeHistoryEntry(); + if (object.operation !== undefined && object.operation !== null) { + message.operation = object.operation; + } + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.updated !== undefined && object.updated !== null) { + message.updated = AbsoluteTxPosition.fromAmino(object.updated); + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + return message; + }, + toAmino(message: ContractCodeHistoryEntry): ContractCodeHistoryEntryAmino { + const obj: any = {}; + obj.operation = message.operation === 0 ? undefined : message.operation; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.updated = message.updated ? AbsoluteTxPosition.toAmino(message.updated) : undefined; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + return obj; + }, + fromAminoMsg(object: ContractCodeHistoryEntryAminoMsg): ContractCodeHistoryEntry { + return ContractCodeHistoryEntry.fromAmino(object.value); + }, + toAminoMsg(message: ContractCodeHistoryEntry): ContractCodeHistoryEntryAminoMsg { + return { + type: 'wasm/ContractCodeHistoryEntry', + value: ContractCodeHistoryEntry.toAmino(message), + }; + }, + fromProtoMsg(message: ContractCodeHistoryEntryProtoMsg): ContractCodeHistoryEntry { + return ContractCodeHistoryEntry.decode(message.value); + }, + toProto(message: ContractCodeHistoryEntry): Uint8Array { + return ContractCodeHistoryEntry.encode(message).finish(); + }, + toProtoMsg(message: ContractCodeHistoryEntry): ContractCodeHistoryEntryProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.ContractCodeHistoryEntry', + value: ContractCodeHistoryEntry.encode(message).finish(), + }; + }, +}; +function createBaseAbsoluteTxPosition(): AbsoluteTxPosition { + return { + blockHeight: BigInt(0), + txIndex: BigInt(0), + }; +} +export const AbsoluteTxPosition = { + typeUrl: '/cosmwasm.wasm.v1.AbsoluteTxPosition', + encode(message: AbsoluteTxPosition, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.blockHeight !== BigInt(0)) { + writer.uint32(8).uint64(message.blockHeight); + } + if (message.txIndex !== BigInt(0)) { + writer.uint32(16).uint64(message.txIndex); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AbsoluteTxPosition { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAbsoluteTxPosition(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.blockHeight = reader.uint64(); + break; + case 2: + message.txIndex = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AbsoluteTxPosition { + const message = createBaseAbsoluteTxPosition(); + message.blockHeight = + object.blockHeight !== undefined && object.blockHeight !== null + ? BigInt(object.blockHeight.toString()) + : BigInt(0); + message.txIndex = + object.txIndex !== undefined && object.txIndex !== null ? BigInt(object.txIndex.toString()) : BigInt(0); + return message; + }, + fromAmino(object: AbsoluteTxPositionAmino): AbsoluteTxPosition { + const message = createBaseAbsoluteTxPosition(); + if (object.block_height !== undefined && object.block_height !== null) { + message.blockHeight = BigInt(object.block_height); + } + if (object.tx_index !== undefined && object.tx_index !== null) { + message.txIndex = BigInt(object.tx_index); + } + return message; + }, + toAmino(message: AbsoluteTxPosition): AbsoluteTxPositionAmino { + const obj: any = {}; + obj.block_height = message.blockHeight !== BigInt(0) ? (message.blockHeight?.toString)() : undefined; + obj.tx_index = message.txIndex !== BigInt(0) ? (message.txIndex?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: AbsoluteTxPositionAminoMsg): AbsoluteTxPosition { + return AbsoluteTxPosition.fromAmino(object.value); + }, + toAminoMsg(message: AbsoluteTxPosition): AbsoluteTxPositionAminoMsg { + return { + type: 'wasm/AbsoluteTxPosition', + value: AbsoluteTxPosition.toAmino(message), + }; + }, + fromProtoMsg(message: AbsoluteTxPositionProtoMsg): AbsoluteTxPosition { + return AbsoluteTxPosition.decode(message.value); + }, + toProto(message: AbsoluteTxPosition): Uint8Array { + return AbsoluteTxPosition.encode(message).finish(); + }, + toProtoMsg(message: AbsoluteTxPosition): AbsoluteTxPositionProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.AbsoluteTxPosition', + value: AbsoluteTxPosition.encode(message).finish(), + }; + }, +}; +function createBaseModel(): Model { + return { + key: new Uint8Array(), + value: new Uint8Array(), + }; +} +export const Model = { + typeUrl: '/cosmwasm.wasm.v1.Model', + encode(message: Model, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(18).bytes(message.value); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Model { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModel(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): Model { + const message = createBaseModel(); + message.key = object.key ?? new Uint8Array(); + message.value = object.value ?? new Uint8Array(); + return message; + }, + fromAmino(object: ModelAmino): Model { + const message = createBaseModel(); + if (object.key !== undefined && object.key !== null) { + message.key = bytesFromBase64(object.key); + } + if (object.value !== undefined && object.value !== null) { + message.value = bytesFromBase64(object.value); + } + return message; + }, + toAmino(message: Model): ModelAmino { + const obj: any = {}; + obj.key = message.key ? base64FromBytes(message.key) : undefined; + obj.value = message.value ? base64FromBytes(message.value) : undefined; + return obj; + }, + fromAminoMsg(object: ModelAminoMsg): Model { + return Model.fromAmino(object.value); + }, + toAminoMsg(message: Model): ModelAminoMsg { + return { + type: 'wasm/Model', + value: Model.toAmino(message), + }; + }, + fromProtoMsg(message: ModelProtoMsg): Model { + return Model.decode(message.value); + }, + toProto(message: Model): Uint8Array { + return Model.encode(message).finish(); + }, + toProtoMsg(message: Model): ModelProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.Model', + value: Model.encode(message).finish(), + }; + }, +}; +function createBaseEventCodeStored(): EventCodeStored { + return { + codeId: BigInt(0), + creator: '', + accessConfig: undefined, + checksum: new Uint8Array(), + }; +} +export const EventCodeStored = { + typeUrl: '/cosmwasm.wasm.v1.EventCodeStored', + encode(message: EventCodeStored, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.codeId !== BigInt(0)) { + writer.uint32(8).uint64(message.codeId); + } + if (message.creator !== '') { + writer.uint32(18).string(message.creator); + } + if (message.accessConfig !== undefined) { + AccessConfig.encode(message.accessConfig, writer.uint32(26).fork()).ldelim(); + } + if (message.checksum.length !== 0) { + writer.uint32(34).bytes(message.checksum); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EventCodeStored { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventCodeStored(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.codeId = reader.uint64(); + break; + case 2: + message.creator = reader.string(); + break; + case 3: + message.accessConfig = AccessConfig.decode(reader, reader.uint32()); + break; + case 4: + message.checksum = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EventCodeStored { + const message = createBaseEventCodeStored(); + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.creator = object.creator ?? ''; + message.accessConfig = + object.accessConfig !== undefined && object.accessConfig !== null + ? AccessConfig.fromPartial(object.accessConfig) + : undefined; + message.checksum = object.checksum ?? new Uint8Array(); + return message; + }, + fromAmino(object: EventCodeStoredAmino): EventCodeStored { + const message = createBaseEventCodeStored(); + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.creator !== undefined && object.creator !== null) { + message.creator = object.creator; + } + if (object.access_config !== undefined && object.access_config !== null) { + message.accessConfig = AccessConfig.fromAmino(object.access_config); + } + if (object.checksum !== undefined && object.checksum !== null) { + message.checksum = bytesFromBase64(object.checksum); + } + return message; + }, + toAmino(message: EventCodeStored): EventCodeStoredAmino { + const obj: any = {}; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.creator = message.creator === '' ? undefined : message.creator; + obj.access_config = message.accessConfig ? AccessConfig.toAmino(message.accessConfig) : undefined; + obj.checksum = message.checksum ? base64FromBytes(message.checksum) : undefined; + return obj; + }, + fromAminoMsg(object: EventCodeStoredAminoMsg): EventCodeStored { + return EventCodeStored.fromAmino(object.value); + }, + toAminoMsg(message: EventCodeStored): EventCodeStoredAminoMsg { + return { + type: 'wasm/EventCodeStored', + value: EventCodeStored.toAmino(message), + }; + }, + fromProtoMsg(message: EventCodeStoredProtoMsg): EventCodeStored { + return EventCodeStored.decode(message.value); + }, + toProto(message: EventCodeStored): Uint8Array { + return EventCodeStored.encode(message).finish(); + }, + toProtoMsg(message: EventCodeStored): EventCodeStoredProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.EventCodeStored', + value: EventCodeStored.encode(message).finish(), + }; + }, +}; +function createBaseEventContractInstantiated(): EventContractInstantiated { + return { + contractAddress: '', + admin: '', + codeId: BigInt(0), + funds: [], + msg: new Uint8Array(), + label: '', + creator: '', + }; +} +export const EventContractInstantiated = { + typeUrl: '/cosmwasm.wasm.v1.EventContractInstantiated', + encode(message: EventContractInstantiated, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.contractAddress !== '') { + writer.uint32(10).string(message.contractAddress); + } + if (message.admin !== '') { + writer.uint32(18).string(message.admin); + } + if (message.codeId !== BigInt(0)) { + writer.uint32(24).uint64(message.codeId); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(34).fork()).ldelim(); + } + if (message.msg.length !== 0) { + writer.uint32(42).bytes(message.msg); + } + if (message.label !== '') { + writer.uint32(50).string(message.label); + } + if (message.creator !== '') { + writer.uint32(58).string(message.creator); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EventContractInstantiated { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventContractInstantiated(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contractAddress = reader.string(); + break; + case 2: + message.admin = reader.string(); + break; + case 3: + message.codeId = reader.uint64(); + break; + case 4: + message.funds.push(Coin.decode(reader, reader.uint32())); + break; + case 5: + message.msg = reader.bytes(); + break; + case 6: + message.label = reader.string(); + break; + case 7: + message.creator = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EventContractInstantiated { + const message = createBaseEventContractInstantiated(); + message.contractAddress = object.contractAddress ?? ''; + message.admin = object.admin ?? ''; + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + message.msg = object.msg ?? new Uint8Array(); + message.label = object.label ?? ''; + message.creator = object.creator ?? ''; + return message; + }, + fromAmino(object: EventContractInstantiatedAmino): EventContractInstantiated { + const message = createBaseEventContractInstantiated(); + if (object.contract_address !== undefined && object.contract_address !== null) { + message.contractAddress = object.contract_address; + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + message.funds = object.funds?.map((e) => Coin.fromAmino(e)) || []; + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + if (object.label !== undefined && object.label !== null) { + message.label = object.label; + } + if (object.creator !== undefined && object.creator !== null) { + message.creator = object.creator; + } + return message; + }, + toAmino(message: EventContractInstantiated): EventContractInstantiatedAmino { + const obj: any = {}; + obj.contract_address = message.contractAddress === '' ? undefined : message.contractAddress; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + if (message.funds) { + obj.funds = message.funds.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.funds = message.funds; + } + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + obj.label = message.label === '' ? undefined : message.label; + obj.creator = message.creator === '' ? undefined : message.creator; + return obj; + }, + fromAminoMsg(object: EventContractInstantiatedAminoMsg): EventContractInstantiated { + return EventContractInstantiated.fromAmino(object.value); + }, + toAminoMsg(message: EventContractInstantiated): EventContractInstantiatedAminoMsg { + return { + type: 'wasm/EventContractInstantiated', + value: EventContractInstantiated.toAmino(message), + }; + }, + fromProtoMsg(message: EventContractInstantiatedProtoMsg): EventContractInstantiated { + return EventContractInstantiated.decode(message.value); + }, + toProto(message: EventContractInstantiated): Uint8Array { + return EventContractInstantiated.encode(message).finish(); + }, + toProtoMsg(message: EventContractInstantiated): EventContractInstantiatedProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.EventContractInstantiated', + value: EventContractInstantiated.encode(message).finish(), + }; + }, +}; +function createBaseEventContractMigrated(): EventContractMigrated { + return { + codeId: BigInt(0), + contractAddress: '', + msg: new Uint8Array(), + }; +} +export const EventContractMigrated = { + typeUrl: '/cosmwasm.wasm.v1.EventContractMigrated', + encode(message: EventContractMigrated, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.codeId !== BigInt(0)) { + writer.uint32(8).uint64(message.codeId); + } + if (message.contractAddress !== '') { + writer.uint32(18).string(message.contractAddress); + } + if (message.msg.length !== 0) { + writer.uint32(26).bytes(message.msg); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EventContractMigrated { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventContractMigrated(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.codeId = reader.uint64(); + break; + case 2: + message.contractAddress = reader.string(); + break; + case 3: + message.msg = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EventContractMigrated { + const message = createBaseEventContractMigrated(); + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.contractAddress = object.contractAddress ?? ''; + message.msg = object.msg ?? new Uint8Array(); + return message; + }, + fromAmino(object: EventContractMigratedAmino): EventContractMigrated { + const message = createBaseEventContractMigrated(); + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.contract_address !== undefined && object.contract_address !== null) { + message.contractAddress = object.contract_address; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = toUtf8(JSON.stringify(object.msg)); + } + return message; + }, + toAmino(message: EventContractMigrated): EventContractMigratedAmino { + const obj: any = {}; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.contract_address = message.contractAddress === '' ? undefined : message.contractAddress; + obj.msg = message.msg ? JSON.parse(fromUtf8(message.msg)) : undefined; + return obj; + }, + fromAminoMsg(object: EventContractMigratedAminoMsg): EventContractMigrated { + return EventContractMigrated.fromAmino(object.value); + }, + toAminoMsg(message: EventContractMigrated): EventContractMigratedAminoMsg { + return { + type: 'wasm/EventContractMigrated', + value: EventContractMigrated.toAmino(message), + }; + }, + fromProtoMsg(message: EventContractMigratedProtoMsg): EventContractMigrated { + return EventContractMigrated.decode(message.value); + }, + toProto(message: EventContractMigrated): Uint8Array { + return EventContractMigrated.encode(message).finish(); + }, + toProtoMsg(message: EventContractMigrated): EventContractMigratedProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.EventContractMigrated', + value: EventContractMigrated.encode(message).finish(), + }; + }, +}; +function createBaseEventContractAdminSet(): EventContractAdminSet { + return { + contractAddress: '', + newAdmin: '', + }; +} +export const EventContractAdminSet = { + typeUrl: '/cosmwasm.wasm.v1.EventContractAdminSet', + encode(message: EventContractAdminSet, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.contractAddress !== '') { + writer.uint32(10).string(message.contractAddress); + } + if (message.newAdmin !== '') { + writer.uint32(18).string(message.newAdmin); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EventContractAdminSet { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventContractAdminSet(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contractAddress = reader.string(); + break; + case 2: + message.newAdmin = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EventContractAdminSet { + const message = createBaseEventContractAdminSet(); + message.contractAddress = object.contractAddress ?? ''; + message.newAdmin = object.newAdmin ?? ''; + return message; + }, + fromAmino(object: EventContractAdminSetAmino): EventContractAdminSet { + const message = createBaseEventContractAdminSet(); + if (object.contract_address !== undefined && object.contract_address !== null) { + message.contractAddress = object.contract_address; + } + if (object.new_admin !== undefined && object.new_admin !== null) { + message.newAdmin = object.new_admin; + } + return message; + }, + toAmino(message: EventContractAdminSet): EventContractAdminSetAmino { + const obj: any = {}; + obj.contract_address = message.contractAddress === '' ? undefined : message.contractAddress; + obj.new_admin = message.newAdmin === '' ? undefined : message.newAdmin; + return obj; + }, + fromAminoMsg(object: EventContractAdminSetAminoMsg): EventContractAdminSet { + return EventContractAdminSet.fromAmino(object.value); + }, + toAminoMsg(message: EventContractAdminSet): EventContractAdminSetAminoMsg { + return { + type: 'wasm/EventContractAdminSet', + value: EventContractAdminSet.toAmino(message), + }; + }, + fromProtoMsg(message: EventContractAdminSetProtoMsg): EventContractAdminSet { + return EventContractAdminSet.decode(message.value); + }, + toProto(message: EventContractAdminSet): Uint8Array { + return EventContractAdminSet.encode(message).finish(); + }, + toProtoMsg(message: EventContractAdminSet): EventContractAdminSetProtoMsg { + return { + typeUrl: '/cosmwasm.wasm.v1.EventContractAdminSet', + value: EventContractAdminSet.encode(message).finish(), + }; + }, +}; +export const Cosmwasm_wasmv1ContractInfoExtension_InterfaceDecoder = (input: BinaryReader | Uint8Array): Any => { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const data = Any.decode(reader, reader.uint32()); + switch (data.typeUrl) { + default: + return data; + } +}; +export const Cosmwasm_wasmv1ContractInfoExtension_FromAmino = (content: AnyAmino): Any => { + return Any.fromAmino(content); +}; +export const Cosmwasm_wasmv1ContractInfoExtension_ToAmino = (content: Any) => { + return Any.toAmino(content); +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/ibc/applications/transfer/v1/authz.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/ibc/applications/transfer/v1/authz.ts new file mode 100644 index 00000000..ad2112c2 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/ibc/applications/transfer/v1/authz.ts @@ -0,0 +1,159 @@ +/* eslint-disable */ +import { Coin } from '../../../../cosmos/base/v1beta1/coin'; +import { BinaryReader, BinaryWriter } from '../../../../../../binary'; +import { isSet, DeepPartial, Exact } from '../../../../../../helpers'; +export const protobufPackage = 'ibc.applications.transfer.v1'; +/** Allocation defines the spend limit for a particular port and channel */ +export interface Allocation { + /** the port on which the packet will be sent */ + sourcePort: string; + /** the channel by which the packet will be sent */ + sourceChannel: string; + /** spend limitation on the channel */ + spendLimit: Coin[]; + /** allow list of receivers, an empty allow list permits any receiver address */ + allowList: string[]; +} +/** + * TransferAuthorization allows the grantee to spend up to spend_limit coins from + * the granter's account for ibc transfer on a specific channel + */ +export interface TransferAuthorization { + /** port and channel amounts */ + allocations: Allocation[]; +} +function createBaseAllocation(): Allocation { + return { + sourcePort: '', + sourceChannel: '', + spendLimit: [], + allowList: [], + }; +} +export const Allocation = { + typeUrl: '/ibc.applications.transfer.v1.Allocation', + encode(message: Allocation, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sourcePort !== '') { + writer.uint32(10).string(message.sourcePort); + } + if (message.sourceChannel !== '') { + writer.uint32(18).string(message.sourceChannel); + } + for (const v of message.spendLimit) { + Coin.encode(v!, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.allowList) { + writer.uint32(34).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Allocation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAllocation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sourcePort = reader.string(); + break; + case 2: + message.sourceChannel = reader.string(); + break; + case 3: + message.spendLimit.push(Coin.decode(reader, reader.uint32())); + break; + case 4: + message.allowList.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): Allocation { + const obj = createBaseAllocation(); + if (isSet(object.sourcePort)) obj.sourcePort = String(object.sourcePort); + if (isSet(object.sourceChannel)) obj.sourceChannel = String(object.sourceChannel); + if (Array.isArray(object?.spendLimit)) obj.spendLimit = object.spendLimit.map((e: any) => Coin.fromJSON(e)); + if (Array.isArray(object?.allowList)) obj.allowList = object.allowList.map((e: any) => String(e)); + return obj; + }, + toJSON(message: Allocation): unknown { + const obj: any = {}; + message.sourcePort !== undefined && (obj.sourcePort = message.sourcePort); + message.sourceChannel !== undefined && (obj.sourceChannel = message.sourceChannel); + if (message.spendLimit) { + obj.spendLimit = message.spendLimit.map((e) => (e ? Coin.toJSON(e) : undefined)); + } else { + obj.spendLimit = []; + } + if (message.allowList) { + obj.allowList = message.allowList.map((e) => e); + } else { + obj.allowList = []; + } + return obj; + }, + fromPartial, I>>(object: I): Allocation { + const message = createBaseAllocation(); + message.sourcePort = object.sourcePort ?? ''; + message.sourceChannel = object.sourceChannel ?? ''; + message.spendLimit = object.spendLimit?.map((e) => Coin.fromPartial(e)) || []; + message.allowList = object.allowList?.map((e) => e) || []; + return message; + }, +}; +function createBaseTransferAuthorization(): TransferAuthorization { + return { + allocations: [], + }; +} +export const TransferAuthorization = { + typeUrl: '/ibc.applications.transfer.v1.TransferAuthorization', + encode(message: TransferAuthorization, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.allocations) { + Allocation.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TransferAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTransferAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.allocations.push(Allocation.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): TransferAuthorization { + const obj = createBaseTransferAuthorization(); + if (Array.isArray(object?.allocations)) + obj.allocations = object.allocations.map((e: any) => Allocation.fromJSON(e)); + return obj; + }, + toJSON(message: TransferAuthorization): unknown { + const obj: any = {}; + if (message.allocations) { + obj.allocations = message.allocations.map((e) => (e ? Allocation.toJSON(e) : undefined)); + } else { + obj.allocations = []; + } + return obj; + }, + fromPartial, I>>(object: I): TransferAuthorization { + const message = createBaseTransferAuthorization(); + message.allocations = object.allocations?.map((e) => Allocation.fromPartial(e)) || []; + return message; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/ibc/applications/transfer/v1/transfer.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/ibc/applications/transfer/v1/transfer.ts new file mode 100644 index 00000000..9283a90e --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/ibc/applications/transfer/v1/transfer.ts @@ -0,0 +1,147 @@ +/* eslint-disable */ +import { BinaryReader, BinaryWriter } from '../../../../../../binary'; +import { isSet, DeepPartial, Exact } from '../../../../../../helpers'; +export const protobufPackage = 'ibc.applications.transfer.v1'; +/** + * DenomTrace contains the base denomination for ICS20 fungible tokens and the + * source tracing information path. + */ +export interface DenomTrace { + /** + * path defines the chain of port/channel identifiers used for tracing the + * source of the fungible token. + */ + path: string; + /** base denomination of the relayed fungible token. */ + baseDenom: string; +} +/** + * Params defines the set of IBC transfer parameters. + * NOTE: To prevent a single token from being transferred, set the + * TransfersEnabled parameter to true and then set the bank module's SendEnabled + * parameter for the denomination to false. + */ +export interface Params { + /** + * send_enabled enables or disables all cross-chain token transfers from this + * chain. + */ + sendEnabled: boolean; + /** + * receive_enabled enables or disables all cross-chain token transfers to this + * chain. + */ + receiveEnabled: boolean; +} +function createBaseDenomTrace(): DenomTrace { + return { + path: '', + baseDenom: '', + }; +} +export const DenomTrace = { + typeUrl: '/ibc.applications.transfer.v1.DenomTrace', + encode(message: DenomTrace, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.path !== '') { + writer.uint32(10).string(message.path); + } + if (message.baseDenom !== '') { + writer.uint32(18).string(message.baseDenom); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DenomTrace { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDenomTrace(); + while (reader.pos < end) { + const 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; + }, + fromJSON(object: any): DenomTrace { + const obj = createBaseDenomTrace(); + if (isSet(object.path)) obj.path = String(object.path); + if (isSet(object.baseDenom)) obj.baseDenom = String(object.baseDenom); + return obj; + }, + toJSON(message: DenomTrace): unknown { + const obj: any = {}; + message.path !== undefined && (obj.path = message.path); + message.baseDenom !== undefined && (obj.baseDenom = message.baseDenom); + return obj; + }, + fromPartial, I>>(object: I): DenomTrace { + const message = createBaseDenomTrace(); + message.path = object.path ?? ''; + message.baseDenom = object.baseDenom ?? ''; + return message; + }, +}; +function createBaseParams(): Params { + return { + sendEnabled: false, + receiveEnabled: false, + }; +} +export const Params = { + typeUrl: '/ibc.applications.transfer.v1.Params', + encode(message: Params, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sendEnabled === true) { + writer.uint32(8).bool(message.sendEnabled); + } + if (message.receiveEnabled === true) { + writer.uint32(16).bool(message.receiveEnabled); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const 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; + }, + fromJSON(object: any): Params { + const obj = createBaseParams(); + if (isSet(object.sendEnabled)) obj.sendEnabled = Boolean(object.sendEnabled); + if (isSet(object.receiveEnabled)) obj.receiveEnabled = Boolean(object.receiveEnabled); + return obj; + }, + toJSON(message: Params): unknown { + const obj: any = {}; + message.sendEnabled !== undefined && (obj.sendEnabled = message.sendEnabled); + message.receiveEnabled !== undefined && (obj.receiveEnabled = message.receiveEnabled); + return obj; + }, + fromPartial, I>>(object: I): Params { + const message = createBaseParams(); + message.sendEnabled = object.sendEnabled ?? false; + message.receiveEnabled = object.receiveEnabled ?? false; + return message; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/ibc/applications/transfer/v1/tx.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/ibc/applications/transfer/v1/tx.ts new file mode 100644 index 00000000..113db210 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/ibc/applications/transfer/v1/tx.ts @@ -0,0 +1,229 @@ +/* eslint-disable */ +import { Coin } from '../../../../cosmos/base/v1beta1/coin'; +import { Height } from '../../../core/client/v1/client'; +import { BinaryReader, BinaryWriter } from '../../../../../../binary'; +import { isSet, DeepPartial, Exact, Rpc } from '../../../../../../helpers'; +export const protobufPackage = 'ibc.applications.transfer.v1'; +/** + * MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between + * ICS20 enabled chains. See ICS Spec here: + * https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures + */ +export interface MsgTransfer { + /** the port on which the packet will be sent */ + sourcePort: string; + /** the channel by which the packet will be sent */ + sourceChannel: string; + /** the tokens to be transferred */ + token: Coin; + /** the sender address */ + sender: string; + /** the recipient address on the destination chain */ + receiver: string; + /** + * Timeout height relative to the current block height. + * The timeout is disabled when set to 0. + */ + timeoutHeight: Height; + /** + * Timeout timestamp in absolute nanoseconds since unix epoch. + * The timeout is disabled when set to 0. + */ + timeoutTimestamp: bigint; + /** optional memo */ + memo: string; +} +/** MsgTransferResponse defines the Msg/Transfer response type. */ +export interface MsgTransferResponse { + /** sequence number of the transfer packet sent */ + sequence: bigint; +} +function createBaseMsgTransfer(): MsgTransfer { + return { + sourcePort: '', + sourceChannel: '', + token: Coin.fromPartial({}), + sender: '', + receiver: '', + timeoutHeight: Height.fromPartial({}), + timeoutTimestamp: BigInt(0), + memo: '', + }; +} +export const MsgTransfer = { + typeUrl: '/ibc.applications.transfer.v1.MsgTransfer', + encode(message: MsgTransfer, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sourcePort !== '') { + writer.uint32(10).string(message.sourcePort); + } + if (message.sourceChannel !== '') { + writer.uint32(18).string(message.sourceChannel); + } + if (message.token !== undefined) { + Coin.encode(message.token, writer.uint32(26).fork()).ldelim(); + } + if (message.sender !== '') { + writer.uint32(34).string(message.sender); + } + if (message.receiver !== '') { + writer.uint32(42).string(message.receiver); + } + if (message.timeoutHeight !== undefined) { + Height.encode(message.timeoutHeight, writer.uint32(50).fork()).ldelim(); + } + if (message.timeoutTimestamp !== BigInt(0)) { + writer.uint32(56).uint64(message.timeoutTimestamp); + } + if (message.memo !== '') { + writer.uint32(66).string(message.memo); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgTransfer { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgTransfer(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sourcePort = reader.string(); + break; + case 2: + message.sourceChannel = reader.string(); + break; + case 3: + message.token = Coin.decode(reader, reader.uint32()); + break; + case 4: + message.sender = reader.string(); + break; + case 5: + message.receiver = reader.string(); + break; + case 6: + message.timeoutHeight = Height.decode(reader, reader.uint32()); + break; + case 7: + message.timeoutTimestamp = reader.uint64(); + break; + case 8: + message.memo = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): MsgTransfer { + const obj = createBaseMsgTransfer(); + if (isSet(object.sourcePort)) obj.sourcePort = String(object.sourcePort); + if (isSet(object.sourceChannel)) obj.sourceChannel = String(object.sourceChannel); + if (isSet(object.token)) obj.token = Coin.fromJSON(object.token); + if (isSet(object.sender)) obj.sender = String(object.sender); + if (isSet(object.receiver)) obj.receiver = String(object.receiver); + if (isSet(object.timeoutHeight)) obj.timeoutHeight = Height.fromJSON(object.timeoutHeight); + if (isSet(object.timeoutTimestamp)) obj.timeoutTimestamp = BigInt(object.timeoutTimestamp.toString()); + if (isSet(object.memo)) obj.memo = String(object.memo); + return obj; + }, + toJSON(message: MsgTransfer): unknown { + const obj: any = {}; + message.sourcePort !== undefined && (obj.sourcePort = message.sourcePort); + message.sourceChannel !== undefined && (obj.sourceChannel = message.sourceChannel); + message.token !== undefined && (obj.token = message.token ? Coin.toJSON(message.token) : undefined); + message.sender !== undefined && (obj.sender = message.sender); + message.receiver !== undefined && (obj.receiver = message.receiver); + message.timeoutHeight !== undefined && + (obj.timeoutHeight = message.timeoutHeight ? Height.toJSON(message.timeoutHeight) : undefined); + message.timeoutTimestamp !== undefined && + (obj.timeoutTimestamp = (message.timeoutTimestamp || BigInt(0)).toString()); + message.memo !== undefined && (obj.memo = message.memo); + return obj; + }, + fromPartial, I>>(object: I): MsgTransfer { + const message = createBaseMsgTransfer(); + message.sourcePort = object.sourcePort ?? ''; + message.sourceChannel = object.sourceChannel ?? ''; + if (object.token !== undefined && object.token !== null) { + message.token = Coin.fromPartial(object.token); + } + message.sender = object.sender ?? ''; + message.receiver = object.receiver ?? ''; + if (object.timeoutHeight !== undefined && object.timeoutHeight !== null) { + message.timeoutHeight = Height.fromPartial(object.timeoutHeight); + } + if (object.timeoutTimestamp !== undefined && object.timeoutTimestamp !== null) { + message.timeoutTimestamp = BigInt(object.timeoutTimestamp.toString()); + } + message.memo = object.memo ?? ''; + return message; + }, +}; +function createBaseMsgTransferResponse(): MsgTransferResponse { + return { + sequence: BigInt(0), + }; +} +export const MsgTransferResponse = { + typeUrl: '/ibc.applications.transfer.v1.MsgTransferResponse', + encode(message: MsgTransferResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sequence !== BigInt(0)) { + writer.uint32(8).uint64(message.sequence); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgTransferResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgTransferResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sequence = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromJSON(object: any): MsgTransferResponse { + const obj = createBaseMsgTransferResponse(); + if (isSet(object.sequence)) obj.sequence = BigInt(object.sequence.toString()); + return obj; + }, + toJSON(message: MsgTransferResponse): unknown { + const obj: any = {}; + message.sequence !== undefined && (obj.sequence = (message.sequence || BigInt(0)).toString()); + return obj; + }, + fromPartial, I>>(object: I): MsgTransferResponse { + const message = createBaseMsgTransferResponse(); + if (object.sequence !== undefined && object.sequence !== null) { + message.sequence = BigInt(object.sequence.toString()); + } + return message; + }, +}; +/** Msg defines the ibc/transfer Msg service. */ +export interface Msg { + /** Transfer defines a rpc handler method for MsgTransfer. */ + Transfer(request: MsgTransfer): Promise; +} +export class MsgClientImpl implements Msg { + private readonly rpc: Rpc; + constructor(rpc: Rpc) { + this.rpc = rpc; + this.Transfer = this.Transfer.bind(this); + } + Transfer(request: MsgTransfer): Promise { + const data = MsgTransfer.encode(request).finish(); + const promise = this.rpc.request('ibc.applications.transfer.v1.Msg', 'Transfer', data); + return promise.then((data) => MsgTransferResponse.decode(new BinaryReader(data))); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/ibc/core/client/v1/client.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/ibc/core/client/v1/client.ts new file mode 100644 index 00000000..ce73b0b6 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/ibc/core/client/v1/client.ts @@ -0,0 +1,629 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Any, AnyAmino, AnySDKType } from 'cosmjs-types/google/protobuf/any'; + +import { BinaryReader, BinaryWriter } from '../../../../../../binary'; +/** + * IdentifiedClientState defines a client state with an additional client + * identifier field. + */ +export interface IdentifiedClientState { + /** client identifier */ + clientId: string; + /** client state */ + clientState?: Any; +} +export interface IdentifiedClientStateProtoMsg { + typeUrl: '/ibc.core.client.v1.IdentifiedClientState'; + value: Uint8Array; +} +/** + * IdentifiedClientState defines a client state with an additional client + * identifier field. + */ +export interface IdentifiedClientStateAmino { + /** client identifier */ + client_id?: string; + /** client state */ + client_state?: AnyAmino; +} +export interface IdentifiedClientStateAminoMsg { + type: 'cosmos-sdk/IdentifiedClientState'; + value: IdentifiedClientStateAmino; +} +/** + * IdentifiedClientState defines a client state with an additional client + * identifier field. + */ +export interface IdentifiedClientStateSDKType { + client_id: string; + client_state?: AnySDKType; +} +/** + * ConsensusStateWithHeight defines a consensus state with an additional height + * field. + */ +export interface ConsensusStateWithHeight { + /** consensus state height */ + height: Height; + /** consensus state */ + consensusState?: Any; +} +export interface ConsensusStateWithHeightProtoMsg { + typeUrl: '/ibc.core.client.v1.ConsensusStateWithHeight'; + value: Uint8Array; +} +/** + * ConsensusStateWithHeight defines a consensus state with an additional height + * field. + */ +export interface ConsensusStateWithHeightAmino { + /** consensus state height */ + height?: HeightAmino; + /** consensus state */ + consensus_state?: AnyAmino; +} +export interface ConsensusStateWithHeightAminoMsg { + type: 'cosmos-sdk/ConsensusStateWithHeight'; + value: ConsensusStateWithHeightAmino; +} +/** + * ConsensusStateWithHeight defines a consensus state with an additional height + * field. + */ +export interface ConsensusStateWithHeightSDKType { + height: HeightSDKType; + consensus_state?: AnySDKType; +} +/** + * ClientConsensusStates defines all the stored consensus states for a given + * client. + */ +export interface ClientConsensusStates { + /** client identifier */ + clientId: string; + /** consensus states and their heights associated with the client */ + consensusStates: ConsensusStateWithHeight[]; +} +export interface ClientConsensusStatesProtoMsg { + typeUrl: '/ibc.core.client.v1.ClientConsensusStates'; + value: Uint8Array; +} +/** + * ClientConsensusStates defines all the stored consensus states for a given + * client. + */ +export interface ClientConsensusStatesAmino { + /** client identifier */ + client_id?: string; + /** consensus states and their heights associated with the client */ + consensus_states?: ConsensusStateWithHeightAmino[]; +} +export interface ClientConsensusStatesAminoMsg { + type: 'cosmos-sdk/ClientConsensusStates'; + value: ClientConsensusStatesAmino; +} +/** + * ClientConsensusStates defines all the stored consensus states for a given + * client. + */ +export interface ClientConsensusStatesSDKType { + client_id: string; + consensus_states: ConsensusStateWithHeightSDKType[]; +} +/** + * Height is a monotonically increasing data type + * that can be compared against another Height for the purposes of updating and + * freezing clients + * + * Normally the RevisionHeight is incremented at each height while keeping + * RevisionNumber the same. However some consensus algorithms may choose to + * reset the height in certain conditions e.g. hard forks, state-machine + * breaking changes In these cases, the RevisionNumber is incremented so that + * height continues to be monitonically increasing even as the RevisionHeight + * gets reset + * + * Please note that json tags for generated Go code are overridden to explicitly exclude the omitempty jsontag. + * This enforces the Go json marshaller to always emit zero values for both revision_number and revision_height. + */ +export interface Height { + /** the revision that the client is currently on */ + revisionNumber: bigint; + /** the height within the given revision */ + revisionHeight: bigint; +} +export interface HeightProtoMsg { + typeUrl: '/ibc.core.client.v1.Height'; + value: Uint8Array; +} +/** + * Height is a monotonically increasing data type + * that can be compared against another Height for the purposes of updating and + * freezing clients + * + * Normally the RevisionHeight is incremented at each height while keeping + * RevisionNumber the same. However some consensus algorithms may choose to + * reset the height in certain conditions e.g. hard forks, state-machine + * breaking changes In these cases, the RevisionNumber is incremented so that + * height continues to be monitonically increasing even as the RevisionHeight + * gets reset + * + * Please note that json tags for generated Go code are overridden to explicitly exclude the omitempty jsontag. + * This enforces the Go json marshaller to always emit zero values for both revision_number and revision_height. + */ +export interface HeightAmino { + /** the revision that the client is currently on */ + revision_number: string; + /** the height within the given revision */ + revision_height: string; +} +export interface HeightAminoMsg { + type: 'cosmos-sdk/Height'; + value: HeightAmino; +} +/** + * Height is a monotonically increasing data type + * that can be compared against another Height for the purposes of updating and + * freezing clients + * + * Normally the RevisionHeight is incremented at each height while keeping + * RevisionNumber the same. However some consensus algorithms may choose to + * reset the height in certain conditions e.g. hard forks, state-machine + * breaking changes In these cases, the RevisionNumber is incremented so that + * height continues to be monitonically increasing even as the RevisionHeight + * gets reset + * + * Please note that json tags for generated Go code are overridden to explicitly exclude the omitempty jsontag. + * This enforces the Go json marshaller to always emit zero values for both revision_number and revision_height. + */ +export interface HeightSDKType { + revision_number: bigint; + revision_height: bigint; +} +/** Params defines the set of IBC light client parameters. */ +export interface Params { + /** + * allowed_clients defines the list of allowed client state types which can be created + * and interacted with. If a client type is removed from the allowed clients list, usage + * of this client will be disabled until it is added again to the list. + */ + allowedClients: string[]; +} +export interface ParamsProtoMsg { + typeUrl: '/ibc.core.client.v1.Params'; + value: Uint8Array; +} +/** Params defines the set of IBC light client parameters. */ +export interface ParamsAmino { + /** + * allowed_clients defines the list of allowed client state types which can be created + * and interacted with. If a client type is removed from the allowed clients list, usage + * of this client will be disabled until it is added again to the list. + */ + allowed_clients?: string[]; +} +export interface ParamsAminoMsg { + type: 'cosmos-sdk/Params'; + value: ParamsAmino; +} +/** Params defines the set of IBC light client parameters. */ +export interface ParamsSDKType { + allowed_clients: string[]; +} +function createBaseIdentifiedClientState(): IdentifiedClientState { + return { + clientId: '', + clientState: undefined, + }; +} +export const IdentifiedClientState = { + typeUrl: '/ibc.core.client.v1.IdentifiedClientState', + encode(message: IdentifiedClientState, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.clientId !== '') { + writer.uint32(10).string(message.clientId); + } + if (message.clientState !== undefined) { + Any.encode(message.clientState, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): IdentifiedClientState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseIdentifiedClientState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.clientId = reader.string(); + break; + case 2: + message.clientState = Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): IdentifiedClientState { + const message = createBaseIdentifiedClientState(); + message.clientId = object.clientId ?? ''; + message.clientState = + object.clientState !== undefined && object.clientState !== null ? Any.fromPartial(object.clientState) : undefined; + return message; + }, + fromAmino(object: IdentifiedClientStateAmino): IdentifiedClientState { + const message = createBaseIdentifiedClientState(); + if (object.client_id !== undefined && object.client_id !== null) { + message.clientId = object.client_id; + } + if (object.client_state !== undefined && object.client_state !== null) { + message.clientState = Any.fromAmino(object.client_state); + } + return message; + }, + toAmino(message: IdentifiedClientState): IdentifiedClientStateAmino { + const obj: any = {}; + obj.client_id = message.clientId === '' ? undefined : message.clientId; + obj.client_state = message.clientState ? Any.toAmino(message.clientState) : undefined; + return obj; + }, + fromAminoMsg(object: IdentifiedClientStateAminoMsg): IdentifiedClientState { + return IdentifiedClientState.fromAmino(object.value); + }, + toAminoMsg(message: IdentifiedClientState): IdentifiedClientStateAminoMsg { + return { + type: 'cosmos-sdk/IdentifiedClientState', + value: IdentifiedClientState.toAmino(message), + }; + }, + fromProtoMsg(message: IdentifiedClientStateProtoMsg): IdentifiedClientState { + return IdentifiedClientState.decode(message.value); + }, + toProto(message: IdentifiedClientState): Uint8Array { + return IdentifiedClientState.encode(message).finish(); + }, + toProtoMsg(message: IdentifiedClientState): IdentifiedClientStateProtoMsg { + return { + typeUrl: '/ibc.core.client.v1.IdentifiedClientState', + value: IdentifiedClientState.encode(message).finish(), + }; + }, +}; +function createBaseConsensusStateWithHeight(): ConsensusStateWithHeight { + return { + height: Height.fromPartial({}), + consensusState: undefined, + }; +} +export const ConsensusStateWithHeight = { + typeUrl: '/ibc.core.client.v1.ConsensusStateWithHeight', + encode(message: ConsensusStateWithHeight, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.height !== undefined) { + Height.encode(message.height, writer.uint32(10).fork()).ldelim(); + } + if (message.consensusState !== undefined) { + Any.encode(message.consensusState, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ConsensusStateWithHeight { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConsensusStateWithHeight(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = Height.decode(reader, reader.uint32()); + break; + case 2: + message.consensusState = Any.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ConsensusStateWithHeight { + const message = createBaseConsensusStateWithHeight(); + message.height = + object.height !== undefined && object.height !== null ? Height.fromPartial(object.height) : undefined; + message.consensusState = + object.consensusState !== undefined && object.consensusState !== null + ? Any.fromPartial(object.consensusState) + : undefined; + return message; + }, + fromAmino(object: ConsensusStateWithHeightAmino): ConsensusStateWithHeight { + const message = createBaseConsensusStateWithHeight(); + if (object.height !== undefined && object.height !== null) { + message.height = Height.fromAmino(object.height); + } + if (object.consensus_state !== undefined && object.consensus_state !== null) { + message.consensusState = Any.fromAmino(object.consensus_state); + } + return message; + }, + toAmino(message: ConsensusStateWithHeight): ConsensusStateWithHeightAmino { + const obj: any = {}; + obj.height = message.height ? Height.toAmino(message.height) : undefined; + obj.consensus_state = message.consensusState ? Any.toAmino(message.consensusState) : undefined; + return obj; + }, + fromAminoMsg(object: ConsensusStateWithHeightAminoMsg): ConsensusStateWithHeight { + return ConsensusStateWithHeight.fromAmino(object.value); + }, + toAminoMsg(message: ConsensusStateWithHeight): ConsensusStateWithHeightAminoMsg { + return { + type: 'cosmos-sdk/ConsensusStateWithHeight', + value: ConsensusStateWithHeight.toAmino(message), + }; + }, + fromProtoMsg(message: ConsensusStateWithHeightProtoMsg): ConsensusStateWithHeight { + return ConsensusStateWithHeight.decode(message.value); + }, + toProto(message: ConsensusStateWithHeight): Uint8Array { + return ConsensusStateWithHeight.encode(message).finish(); + }, + toProtoMsg(message: ConsensusStateWithHeight): ConsensusStateWithHeightProtoMsg { + return { + typeUrl: '/ibc.core.client.v1.ConsensusStateWithHeight', + value: ConsensusStateWithHeight.encode(message).finish(), + }; + }, +}; +function createBaseClientConsensusStates(): ClientConsensusStates { + return { + clientId: '', + consensusStates: [], + }; +} +export const ClientConsensusStates = { + typeUrl: '/ibc.core.client.v1.ClientConsensusStates', + encode(message: ClientConsensusStates, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.clientId !== '') { + writer.uint32(10).string(message.clientId); + } + for (const v of message.consensusStates) { + ConsensusStateWithHeight.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ClientConsensusStates { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseClientConsensusStates(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.clientId = reader.string(); + break; + case 2: + message.consensusStates.push(ConsensusStateWithHeight.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ClientConsensusStates { + const message = createBaseClientConsensusStates(); + message.clientId = object.clientId ?? ''; + message.consensusStates = object.consensusStates?.map((e) => ConsensusStateWithHeight.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ClientConsensusStatesAmino): ClientConsensusStates { + const message = createBaseClientConsensusStates(); + if (object.client_id !== undefined && object.client_id !== null) { + message.clientId = object.client_id; + } + message.consensusStates = object.consensus_states?.map((e) => ConsensusStateWithHeight.fromAmino(e)) || []; + return message; + }, + toAmino(message: ClientConsensusStates): ClientConsensusStatesAmino { + const obj: any = {}; + obj.client_id = message.clientId === '' ? undefined : message.clientId; + if (message.consensusStates) { + obj.consensus_states = message.consensusStates.map((e) => (e ? ConsensusStateWithHeight.toAmino(e) : undefined)); + } else { + obj.consensus_states = message.consensusStates; + } + return obj; + }, + fromAminoMsg(object: ClientConsensusStatesAminoMsg): ClientConsensusStates { + return ClientConsensusStates.fromAmino(object.value); + }, + toAminoMsg(message: ClientConsensusStates): ClientConsensusStatesAminoMsg { + return { + type: 'cosmos-sdk/ClientConsensusStates', + value: ClientConsensusStates.toAmino(message), + }; + }, + fromProtoMsg(message: ClientConsensusStatesProtoMsg): ClientConsensusStates { + return ClientConsensusStates.decode(message.value); + }, + toProto(message: ClientConsensusStates): Uint8Array { + return ClientConsensusStates.encode(message).finish(); + }, + toProtoMsg(message: ClientConsensusStates): ClientConsensusStatesProtoMsg { + return { + typeUrl: '/ibc.core.client.v1.ClientConsensusStates', + value: ClientConsensusStates.encode(message).finish(), + }; + }, +}; +function createBaseHeight(): Height { + return { + revisionNumber: BigInt(0), + revisionHeight: BigInt(0), + }; +} +export const Height = { + typeUrl: '/ibc.core.client.v1.Height', + encode(message: Height, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.revisionNumber !== BigInt(0)) { + writer.uint32(8).uint64(message.revisionNumber); + } + if (message.revisionHeight !== BigInt(0)) { + writer.uint32(16).uint64(message.revisionHeight); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Height { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHeight(); + while (reader.pos < end) { + const 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; + }, + fromJSON(object: any): Height { + const obj = createBaseHeight(); + if (isSet(object.revisionNumber)) obj.revisionNumber = BigInt(object.revisionNumber.toString()); + if (isSet(object.revisionHeight)) obj.revisionHeight = BigInt(object.revisionHeight.toString()); + return obj; + }, + toJSON(message: Height): unknown { + const obj: any = {}; + message.revisionNumber !== undefined && (obj.revisionNumber = (message.revisionNumber || BigInt(0)).toString()); + message.revisionHeight !== undefined && (obj.revisionHeight = (message.revisionHeight || BigInt(0)).toString()); + return obj; + }, + fromPartial(object: Partial): Height { + const message = createBaseHeight(); + message.revisionNumber = + object.revisionNumber !== undefined && object.revisionNumber !== null + ? BigInt(object.revisionNumber.toString()) + : BigInt(0); + message.revisionHeight = + object.revisionHeight !== undefined && object.revisionHeight !== null + ? BigInt(object.revisionHeight.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: HeightAmino): Height { + return { + revisionNumber: BigInt(object.revision_number || '0'), + revisionHeight: BigInt(object.revision_height || '0'), + }; + }, + toAmino(message: Height): HeightAmino { + const obj: any = {}; + obj.revision_number = message.revisionNumber ? (message.revisionNumber?.toString)() : '0'; + obj.revision_height = message.revisionHeight ? (message.revisionHeight?.toString)() : '0'; + return obj; + }, + fromAminoMsg(object: HeightAminoMsg): Height { + return Height.fromAmino(object.value); + }, + toAminoMsg(message: Height): HeightAminoMsg { + return { + type: 'cosmos-sdk/Height', + value: Height.toAmino(message), + }; + }, + fromProtoMsg(message: HeightProtoMsg): Height { + return Height.decode(message.value); + }, + toProto(message: Height): Uint8Array { + return Height.encode(message).finish(); + }, + toProtoMsg(message: Height): HeightProtoMsg { + return { + typeUrl: '/ibc.core.client.v1.Height', + value: Height.encode(message).finish(), + }; + }, +}; +function createBaseParams(): Params { + return { + allowedClients: [], + }; +} +export const Params = { + typeUrl: '/ibc.core.client.v1.Params', + encode(message: Params, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.allowedClients) { + writer.uint32(10).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.allowedClients.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Params { + const message = createBaseParams(); + message.allowedClients = object.allowedClients?.map((e) => e) || []; + return message; + }, + fromAmino(object: ParamsAmino): Params { + const message = createBaseParams(); + message.allowedClients = object.allowed_clients?.map((e) => e) || []; + return message; + }, + toAmino(message: Params): ParamsAmino { + const obj: any = {}; + if (message.allowedClients) { + obj.allowed_clients = message.allowedClients.map((e) => e); + } else { + obj.allowed_clients = message.allowedClients; + } + return obj; + }, + fromAminoMsg(object: ParamsAminoMsg): Params { + return Params.fromAmino(object.value); + }, + toAminoMsg(message: Params): ParamsAminoMsg { + return { + type: 'cosmos-sdk/Params', + value: Params.toAmino(message), + }; + }, + fromProtoMsg(message: ParamsProtoMsg): Params { + return Params.decode(message.value); + }, + toProto(message: Params): Uint8Array { + return Params.encode(message).finish(); + }, + toProtoMsg(message: Params): ParamsProtoMsg { + return { + typeUrl: '/ibc.core.client.v1.Params', + value: Params.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/index.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/index.ts new file mode 100644 index 00000000..fc7a4755 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/index.ts @@ -0,0 +1,58 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +/** + * This file and any referenced files were automatically generated by @cosmology/telescope@1.8.4 + * DO NOT MODIFY BY HAND. Instead, download the latest proto files for your chain + * and run the transpile command or npm scripts command that is used to regenerate this bundle. + */ + +export * as CosmosAuthzV1Beta1Authz from './cosmos/authz/v1beta1/authz'; +export * as CosmosAuthzV1Beta1Tx from './cosmos/authz/v1beta1/tx'; +export * as CosmosBankV1Beta1Bank from './cosmos/bank/v1beta1/bank'; +export * as CosmosBankV1Beta1Tx from './cosmos/bank/v1beta1/tx'; +export * as CosmosBaseAbciV1Beta1Abci from './cosmos/base/abci/v1beta1/abci'; +export * as CosmosBaseQueryV1Beta1Pagination from './cosmos/base/query/v1beta1/pagination'; +export * as CosmosBaseV1Beta1Coin from './cosmos/base/v1beta1/coin'; +export * as CosmosCryptoV1Beta1Multisig from './cosmos/crypto/multisig/v1beta1/multisig'; +export * as CosmosCryptoSecp256k1Keys from './cosmos/crypto/secp256k1/keys'; +export * as CosmosDistributionV1Beta1Distribution from './cosmos/distribution/v1beta1/distribution'; +export * as CosmosDistributionV1Beta1Tx from './cosmos/distribution/v1beta1/tx'; +export * as CosmosGovV1Gov from './cosmos/gov/v1/gov'; +export * as CosmosGovV1Tx from './cosmos/gov/v1/tx'; +export * as CosmosGovV1Beta1Gov from './cosmos/gov/v1beta1/gov'; +export * as CosmosStakingV1Beta1Authz from './cosmos/staking/v1beta1/authz'; +export * as CosmosStakingV1Beta1Staking from './cosmos/staking/v1beta1/staking'; +export * as CosmosStakingV1Beta1Tx from './cosmos/staking/v1beta1/tx'; +export * as CosmosTxSigningV1Beta1Signing from './cosmos/tx/signing/v1beta1/signing'; +export * as CosmosTxV1Beta1Service from './cosmos/tx/v1beta1/service'; +export * as CosmosTxV1Beta1Tx from './cosmos/tx/v1beta1/tx'; +export * as CosmosUpgradeV1Beta1Upgrade from './cosmos/upgrade/v1beta1/upgrade'; +export * as CosmwasmWasmV1Proposal from './cosmwasm/wasm/v1/proposal_legacy'; +export * as CosmwasmWasmV1Tx from './cosmwasm/wasm/v1/tx'; +export * as CosmwasmWasmV1Types from './cosmwasm/wasm/v1/types'; +export * as IbcApplicationsTransferV1Transfer from './ibc/applications/transfer/v1/transfer'; +export * as IbcApplicationsTransferV1Tx from './ibc/applications/transfer/v1/tx'; +export * as IbcCoreClientV1Client from './ibc/core/client/v1/client'; +export * as InjectiveCryptoV1Beta1Ethsecp256k1Keys from './injective/crypto/v1beta1/ethsecp256k1/keys'; +export * as InjectiveExchangeV1Beta1Exchange from './injective/exchange/v1beta1/exchange'; +export * as InjectiveExchangeV1Beta1Proposal from './injective/exchange/v1beta1/proposal'; +export * as InjectiveExchangeV1Beta1Tx from './injective/exchange/v1beta1/tx'; +export * as InjectiveOcrV1Beta1Ocr from './injective/ocr/v1beta1/ocr'; +export * as InjectiveOracleV1Beta1Oracle from './injective/oracle/v1beta1/oracle'; +export * as InjectiveOracleV1Beta1Proposal from './injective/oracle/v1beta1/proposal'; +export * as InjectiveTypesV1TxExt from './injective/types/v1beta1/tx_ext'; +export * as InjectiveWasmxV1Beta1Proposal from './injective/wasmx/v1/proposal'; +export * as InjectiveWasmxV1Beta1Tx from './injective/wasmx/v1/tx'; +export * as InjectiveWasmxV1Beta1Wasmx from './injective/wasmx/v1/wasmx'; +export * as TendermintAbciTypes from './tendermint/abci/types'; +export * as TendermintCryptoKeys from './tendermint/crypto/keys'; +export * as TendermintCryptoProof from './tendermint/crypto/proof'; +export * as TendermintTypesBlock from './tendermint/types/block'; +export * as TendermintTypesEvidence from './tendermint/types/evidence'; +export * as TendermintTypesParams from './tendermint/types/params'; +export * as TendermintTypesTypes from './tendermint/types/types'; +export * as TendermintTypesValidator from './tendermint/types/validator'; +export * as TendermintVersionTypes from './tendermint/version/types'; +export * as GoogleProtobufAny from 'cosmjs-types/google/protobuf/any'; +export * as GoogleProtobufDuration from 'cosmjs-types/google/protobuf/duration'; +export * as GoogleProtobufTimestamp from 'cosmjs-types/google/protobuf/timestamp'; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/crypto/v1beta1/ethsecp256k1/keys.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/crypto/v1beta1/ethsecp256k1/keys.ts new file mode 100644 index 00000000..41f25252 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/crypto/v1beta1/ethsecp256k1/keys.ts @@ -0,0 +1,203 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../../helpers'; +/** + * PubKey defines a type alias for an ecdsa.PublicKey that implements + * Tendermint's PubKey interface. It represents the 33-byte compressed public + * key format. + */ +export interface PubKey { + key: Uint8Array; +} +export interface PubKeyProtoMsg { + typeUrl: '/injective.crypto.v1beta1.ethsecp256k1.PubKey'; + value: Uint8Array; +} +/** + * PubKey defines a type alias for an ecdsa.PublicKey that implements + * Tendermint's PubKey interface. It represents the 33-byte compressed public + * key format. + */ +export interface PubKeyAmino { + key?: string; +} +export interface PubKeyAminoMsg { + type: 'injective/PubKeyEthSecp256k1'; + value: PubKeyAmino; +} +/** + * PubKey defines a type alias for an ecdsa.PublicKey that implements + * Tendermint's PubKey interface. It represents the 33-byte compressed public + * key format. + */ +export interface PubKeySDKType { + key: Uint8Array; +} +/** + * PrivKey defines a type alias for an ecdsa.PrivateKey that implements + * Tendermint's PrivateKey interface. + */ +export interface PrivKey { + key: Uint8Array; +} +export interface PrivKeyProtoMsg { + typeUrl: '/injective.crypto.v1beta1.ethsecp256k1.PrivKey'; + value: Uint8Array; +} +/** + * PrivKey defines a type alias for an ecdsa.PrivateKey that implements + * Tendermint's PrivateKey interface. + */ +export interface PrivKeyAmino { + key?: string; +} +export interface PrivKeyAminoMsg { + type: 'injective/PrivKeyEthSecp256k1'; + value: PrivKeyAmino; +} +/** + * PrivKey defines a type alias for an ecdsa.PrivateKey that implements + * Tendermint's PrivateKey interface. + */ +export interface PrivKeySDKType { + key: Uint8Array; +} +function createBasePubKey(): PubKey { + return { + key: new Uint8Array(), + }; +} +export const PubKey = { + typeUrl: '/injective.crypto.v1beta1.ethsecp256k1.PubKey', + encode(message: PubKey, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PubKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePubKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PubKey { + const message = createBasePubKey(); + message.key = object.key ?? new Uint8Array(); + return message; + }, + fromAmino(object: PubKeyAmino): PubKey { + const message = createBasePubKey(); + if (object.key !== undefined && object.key !== null) { + message.key = bytesFromBase64(object.key); + } + return message; + }, + toAmino(message: PubKey): PubKeyAmino { + const obj: any = {}; + obj.key = message.key ? base64FromBytes(message.key) : undefined; + return obj; + }, + fromAminoMsg(object: PubKeyAminoMsg): PubKey { + return PubKey.fromAmino(object.value); + }, + toAminoMsg(message: PubKey): PubKeyAminoMsg { + return { + type: 'injective/PubKeyEthSecp256k1', + value: PubKey.toAmino(message), + }; + }, + fromProtoMsg(message: PubKeyProtoMsg): PubKey { + return PubKey.decode(message.value); + }, + toProto(message: PubKey): Uint8Array { + return PubKey.encode(message).finish(); + }, + toProtoMsg(message: PubKey): PubKeyProtoMsg { + return { + typeUrl: '/injective.crypto.v1beta1.ethsecp256k1.PubKey', + value: PubKey.encode(message).finish(), + }; + }, +}; +function createBasePrivKey(): PrivKey { + return { + key: new Uint8Array(), + }; +} +export const PrivKey = { + typeUrl: '/injective.crypto.v1beta1.ethsecp256k1.PrivKey', + encode(message: PrivKey, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PrivKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePrivKey(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PrivKey { + const message = createBasePrivKey(); + message.key = object.key ?? new Uint8Array(); + return message; + }, + fromAmino(object: PrivKeyAmino): PrivKey { + const message = createBasePrivKey(); + if (object.key !== undefined && object.key !== null) { + message.key = bytesFromBase64(object.key); + } + return message; + }, + toAmino(message: PrivKey): PrivKeyAmino { + const obj: any = {}; + obj.key = message.key ? base64FromBytes(message.key) : undefined; + return obj; + }, + fromAminoMsg(object: PrivKeyAminoMsg): PrivKey { + return PrivKey.fromAmino(object.value); + }, + toAminoMsg(message: PrivKey): PrivKeyAminoMsg { + return { + type: 'injective/PrivKeyEthSecp256k1', + value: PrivKey.toAmino(message), + }; + }, + fromProtoMsg(message: PrivKeyProtoMsg): PrivKey { + return PrivKey.decode(message.value); + }, + toProto(message: PrivKey): Uint8Array { + return PrivKey.encode(message).finish(); + }, + toProtoMsg(message: PrivKey): PrivKeyProtoMsg { + return { + typeUrl: '/injective.crypto.v1beta1.ethsecp256k1.PrivKey', + value: PrivKey.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/exchange/v1beta1/exchange.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/exchange/v1beta1/exchange.ts new file mode 100644 index 00000000..5fe5000f --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/exchange/v1beta1/exchange.ts @@ -0,0 +1,7952 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Decimal } from '@cosmjs/math'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +import { Coin, CoinAmino, CoinSDKType } from '../../../cosmos/base/v1beta1/coin'; +import { OracleType } from '../../oracle/v1beta1/oracle'; +export enum AtomicMarketOrderAccessLevel { + Nobody = 0, + /** BeginBlockerSmartContractsOnly - currently unsupported */ + BeginBlockerSmartContractsOnly = 1, + SmartContractsOnly = 2, + Everyone = 3, + UNRECOGNIZED = -1, +} +export const AtomicMarketOrderAccessLevelSDKType = AtomicMarketOrderAccessLevel; +export const AtomicMarketOrderAccessLevelAmino = AtomicMarketOrderAccessLevel; +export function atomicMarketOrderAccessLevelFromJSON(object: any): AtomicMarketOrderAccessLevel { + switch (object) { + case 0: + case 'Nobody': + return AtomicMarketOrderAccessLevel.Nobody; + case 1: + case 'BeginBlockerSmartContractsOnly': + return AtomicMarketOrderAccessLevel.BeginBlockerSmartContractsOnly; + case 2: + case 'SmartContractsOnly': + return AtomicMarketOrderAccessLevel.SmartContractsOnly; + case 3: + case 'Everyone': + return AtomicMarketOrderAccessLevel.Everyone; + case -1: + case 'UNRECOGNIZED': + default: + return AtomicMarketOrderAccessLevel.UNRECOGNIZED; + } +} +export function atomicMarketOrderAccessLevelToJSON(object: AtomicMarketOrderAccessLevel): string { + switch (object) { + case AtomicMarketOrderAccessLevel.Nobody: + return 'Nobody'; + case AtomicMarketOrderAccessLevel.BeginBlockerSmartContractsOnly: + return 'BeginBlockerSmartContractsOnly'; + case AtomicMarketOrderAccessLevel.SmartContractsOnly: + return 'SmartContractsOnly'; + case AtomicMarketOrderAccessLevel.Everyone: + return 'Everyone'; + case AtomicMarketOrderAccessLevel.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export enum MarketStatus { + Unspecified = 0, + Active = 1, + Paused = 2, + Demolished = 3, + Expired = 4, + UNRECOGNIZED = -1, +} +export const MarketStatusSDKType = MarketStatus; +export const MarketStatusAmino = MarketStatus; +export function marketStatusFromJSON(object: any): MarketStatus { + switch (object) { + case 0: + case 'Unspecified': + return MarketStatus.Unspecified; + case 1: + case 'Active': + return MarketStatus.Active; + case 2: + case 'Paused': + return MarketStatus.Paused; + case 3: + case 'Demolished': + return MarketStatus.Demolished; + case 4: + case 'Expired': + return MarketStatus.Expired; + case -1: + case 'UNRECOGNIZED': + default: + return MarketStatus.UNRECOGNIZED; + } +} +export function marketStatusToJSON(object: MarketStatus): string { + switch (object) { + case MarketStatus.Unspecified: + return 'Unspecified'; + case MarketStatus.Active: + return 'Active'; + case MarketStatus.Paused: + return 'Paused'; + case MarketStatus.Demolished: + return 'Demolished'; + case MarketStatus.Expired: + return 'Expired'; + case MarketStatus.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export enum OrderType { + UNSPECIFIED = 0, + BUY = 1, + SELL = 2, + STOP_BUY = 3, + STOP_SELL = 4, + TAKE_BUY = 5, + TAKE_SELL = 6, + BUY_PO = 7, + SELL_PO = 8, + BUY_ATOMIC = 9, + SELL_ATOMIC = 10, + UNRECOGNIZED = -1, +} +export const OrderTypeSDKType = OrderType; +export const OrderTypeAmino = OrderType; +export function orderTypeFromJSON(object: any): OrderType { + switch (object) { + case 0: + case 'UNSPECIFIED': + return OrderType.UNSPECIFIED; + case 1: + case 'BUY': + return OrderType.BUY; + case 2: + case 'SELL': + return OrderType.SELL; + case 3: + case 'STOP_BUY': + return OrderType.STOP_BUY; + case 4: + case 'STOP_SELL': + return OrderType.STOP_SELL; + case 5: + case 'TAKE_BUY': + return OrderType.TAKE_BUY; + case 6: + case 'TAKE_SELL': + return OrderType.TAKE_SELL; + case 7: + case 'BUY_PO': + return OrderType.BUY_PO; + case 8: + case 'SELL_PO': + return OrderType.SELL_PO; + case 9: + case 'BUY_ATOMIC': + return OrderType.BUY_ATOMIC; + case 10: + case 'SELL_ATOMIC': + return OrderType.SELL_ATOMIC; + case -1: + case 'UNRECOGNIZED': + default: + return OrderType.UNRECOGNIZED; + } +} +export function orderTypeToJSON(object: OrderType): string { + switch (object) { + case OrderType.UNSPECIFIED: + return 'UNSPECIFIED'; + case OrderType.BUY: + return 'BUY'; + case OrderType.SELL: + return 'SELL'; + case OrderType.STOP_BUY: + return 'STOP_BUY'; + case OrderType.STOP_SELL: + return 'STOP_SELL'; + case OrderType.TAKE_BUY: + return 'TAKE_BUY'; + case OrderType.TAKE_SELL: + return 'TAKE_SELL'; + case OrderType.BUY_PO: + return 'BUY_PO'; + case OrderType.SELL_PO: + return 'SELL_PO'; + case OrderType.BUY_ATOMIC: + return 'BUY_ATOMIC'; + case OrderType.SELL_ATOMIC: + return 'SELL_ATOMIC'; + case OrderType.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export enum ExecutionType { + UnspecifiedExecutionType = 0, + Market = 1, + LimitFill = 2, + LimitMatchRestingOrder = 3, + LimitMatchNewOrder = 4, + MarketLiquidation = 5, + ExpiryMarketSettlement = 6, + UNRECOGNIZED = -1, +} +export const ExecutionTypeSDKType = ExecutionType; +export const ExecutionTypeAmino = ExecutionType; +export function executionTypeFromJSON(object: any): ExecutionType { + switch (object) { + case 0: + case 'UnspecifiedExecutionType': + return ExecutionType.UnspecifiedExecutionType; + case 1: + case 'Market': + return ExecutionType.Market; + case 2: + case 'LimitFill': + return ExecutionType.LimitFill; + case 3: + case 'LimitMatchRestingOrder': + return ExecutionType.LimitMatchRestingOrder; + case 4: + case 'LimitMatchNewOrder': + return ExecutionType.LimitMatchNewOrder; + case 5: + case 'MarketLiquidation': + return ExecutionType.MarketLiquidation; + case 6: + case 'ExpiryMarketSettlement': + return ExecutionType.ExpiryMarketSettlement; + case -1: + case 'UNRECOGNIZED': + default: + return ExecutionType.UNRECOGNIZED; + } +} +export function executionTypeToJSON(object: ExecutionType): string { + switch (object) { + case ExecutionType.UnspecifiedExecutionType: + return 'UnspecifiedExecutionType'; + case ExecutionType.Market: + return 'Market'; + case ExecutionType.LimitFill: + return 'LimitFill'; + case ExecutionType.LimitMatchRestingOrder: + return 'LimitMatchRestingOrder'; + case ExecutionType.LimitMatchNewOrder: + return 'LimitMatchNewOrder'; + case ExecutionType.MarketLiquidation: + return 'MarketLiquidation'; + case ExecutionType.ExpiryMarketSettlement: + return 'ExpiryMarketSettlement'; + case ExecutionType.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export enum OrderMask { + UNUSED = 0, + ANY = 1, + REGULAR = 2, + CONDITIONAL = 4, + DIRECTION_BUY_OR_HIGHER = 8, + DIRECTION_SELL_OR_LOWER = 16, + TYPE_MARKET = 32, + TYPE_LIMIT = 64, + UNRECOGNIZED = -1, +} +export const OrderMaskSDKType = OrderMask; +export const OrderMaskAmino = OrderMask; +export function orderMaskFromJSON(object: any): OrderMask { + switch (object) { + case 0: + case 'UNUSED': + return OrderMask.UNUSED; + case 1: + case 'ANY': + return OrderMask.ANY; + case 2: + case 'REGULAR': + return OrderMask.REGULAR; + case 4: + case 'CONDITIONAL': + return OrderMask.CONDITIONAL; + case 8: + case 'DIRECTION_BUY_OR_HIGHER': + return OrderMask.DIRECTION_BUY_OR_HIGHER; + case 16: + case 'DIRECTION_SELL_OR_LOWER': + return OrderMask.DIRECTION_SELL_OR_LOWER; + case 32: + case 'TYPE_MARKET': + return OrderMask.TYPE_MARKET; + case 64: + case 'TYPE_LIMIT': + return OrderMask.TYPE_LIMIT; + case -1: + case 'UNRECOGNIZED': + default: + return OrderMask.UNRECOGNIZED; + } +} +export function orderMaskToJSON(object: OrderMask): string { + switch (object) { + case OrderMask.UNUSED: + return 'UNUSED'; + case OrderMask.ANY: + return 'ANY'; + case OrderMask.REGULAR: + return 'REGULAR'; + case OrderMask.CONDITIONAL: + return 'CONDITIONAL'; + case OrderMask.DIRECTION_BUY_OR_HIGHER: + return 'DIRECTION_BUY_OR_HIGHER'; + case OrderMask.DIRECTION_SELL_OR_LOWER: + return 'DIRECTION_SELL_OR_LOWER'; + case OrderMask.TYPE_MARKET: + return 'TYPE_MARKET'; + case OrderMask.TYPE_LIMIT: + return 'TYPE_LIMIT'; + case OrderMask.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export interface Params { + /** + * spot_market_instant_listing_fee defines the expedited fee in INJ required + * to create a spot market by bypassing governance + */ + spotMarketInstantListingFee: Coin; + /** + * derivative_market_instant_listing_fee defines the expedited fee in INJ + * required to create a derivative market by bypassing governance + */ + derivativeMarketInstantListingFee: Coin; + /** + * default_spot_maker_fee defines the default exchange trade fee for makers on + * a spot market + */ + defaultSpotMakerFeeRate: string; + /** + * default_spot_taker_fee_rate defines the default exchange trade fee rate for + * takers on a new spot market + */ + defaultSpotTakerFeeRate: string; + /** + * default_derivative_maker_fee defines the default exchange trade fee for + * makers on a new derivative market + */ + defaultDerivativeMakerFeeRate: string; + /** + * default_derivative_taker_fee defines the default exchange trade fee for + * takers on a new derivative market + */ + defaultDerivativeTakerFeeRate: string; + /** + * default_initial_margin_ratio defines the default initial margin ratio on a + * new derivative market + */ + defaultInitialMarginRatio: string; + /** + * default_maintenance_margin_ratio defines the default maintenance margin + * ratio on a new derivative market + */ + defaultMaintenanceMarginRatio: string; + /** + * default_funding_interval defines the default funding interval on a + * derivative market + */ + defaultFundingInterval: bigint; + /** + * funding_multiple defines the timestamp multiple that the funding timestamp + * should be a multiple of + */ + fundingMultiple: bigint; + /** + * relayer_fee_share_rate defines the trade fee share percentage that goes to + * relayers + */ + relayerFeeShareRate: string; + /** + * default_hourly_funding_rate_cap defines the default maximum absolute value + * of the hourly funding rate + */ + defaultHourlyFundingRateCap: string; + /** hourly_interest_rate defines the hourly interest rate */ + defaultHourlyInterestRate: string; + /** + * max_derivative_order_side_count defines the maximum number of derivative + * active orders a subaccount can have for a given orderbook side + */ + maxDerivativeOrderSideCount: number; + /** + * inj_reward_staked_requirement_threshold defines the threshold on INJ + * rewards after which one also needs staked INJ to receive more + */ + injRewardStakedRequirementThreshold: string; + /** + * the trading_rewards_vesting_duration defines the vesting times for trading + * rewards + */ + tradingRewardsVestingDuration: bigint; + /** + * liquidator_reward_share_rate defines the ratio of the split of the surplus + * collateral that goes to the liquidator + */ + liquidatorRewardShareRate: string; + /** + * binary_options_market_instant_listing_fee defines the expedited fee in INJ + * required to create a derivative market by bypassing governance + */ + binaryOptionsMarketInstantListingFee: Coin; + /** + * atomic_market_order_access_level defines the required access permissions + * for executing atomic market orders + */ + atomicMarketOrderAccessLevel: AtomicMarketOrderAccessLevel; + /** + * spot_atomic_market_order_fee_multiplier defines the default multiplier for + * executing atomic market orders in spot markets + */ + spotAtomicMarketOrderFeeMultiplier: string; + /** + * derivative_atomic_market_order_fee_multiplier defines the default + * multiplier for executing atomic market orders in derivative markets + */ + derivativeAtomicMarketOrderFeeMultiplier: string; + /** + * binary_options_atomic_market_order_fee_multiplier defines the default + * multiplier for executing atomic market orders in binary markets + */ + binaryOptionsAtomicMarketOrderFeeMultiplier: string; + /** minimal_protocol_fee_rate defines the minimal protocol fee rate */ + minimalProtocolFeeRate: string; + /** + * is_instant_derivative_market_launch_enabled defines whether instant + * derivative market launch is enabled + */ + isInstantDerivativeMarketLaunchEnabled: boolean; + postOnlyModeHeightThreshold: bigint; + /** + * Maximum time in seconds since the last mark price update to allow a + * decrease in margin + */ + marginDecreasePriceTimestampThresholdSeconds: bigint; + /** List of addresses that are allowed to perform exchange admin operations */ + exchangeAdmins: string[]; + /** inj_auction_max_cap defines the maximum cap for INJ sent to auction */ + injAuctionMaxCap: string; +} +export interface ParamsProtoMsg { + typeUrl: '/injective.exchange.v1beta1.Params'; + value: Uint8Array; +} +export interface ParamsAmino { + /** + * spot_market_instant_listing_fee defines the expedited fee in INJ required + * to create a spot market by bypassing governance + */ + spot_market_instant_listing_fee?: CoinAmino; + /** + * derivative_market_instant_listing_fee defines the expedited fee in INJ + * required to create a derivative market by bypassing governance + */ + derivative_market_instant_listing_fee?: CoinAmino; + /** + * default_spot_maker_fee defines the default exchange trade fee for makers on + * a spot market + */ + default_spot_maker_fee_rate?: string; + /** + * default_spot_taker_fee_rate defines the default exchange trade fee rate for + * takers on a new spot market + */ + default_spot_taker_fee_rate?: string; + /** + * default_derivative_maker_fee defines the default exchange trade fee for + * makers on a new derivative market + */ + default_derivative_maker_fee_rate?: string; + /** + * default_derivative_taker_fee defines the default exchange trade fee for + * takers on a new derivative market + */ + default_derivative_taker_fee_rate?: string; + /** + * default_initial_margin_ratio defines the default initial margin ratio on a + * new derivative market + */ + default_initial_margin_ratio?: string; + /** + * default_maintenance_margin_ratio defines the default maintenance margin + * ratio on a new derivative market + */ + default_maintenance_margin_ratio?: string; + /** + * default_funding_interval defines the default funding interval on a + * derivative market + */ + default_funding_interval?: string; + /** + * funding_multiple defines the timestamp multiple that the funding timestamp + * should be a multiple of + */ + funding_multiple?: string; + /** + * relayer_fee_share_rate defines the trade fee share percentage that goes to + * relayers + */ + relayer_fee_share_rate?: string; + /** + * default_hourly_funding_rate_cap defines the default maximum absolute value + * of the hourly funding rate + */ + default_hourly_funding_rate_cap?: string; + /** hourly_interest_rate defines the hourly interest rate */ + default_hourly_interest_rate?: string; + /** + * max_derivative_order_side_count defines the maximum number of derivative + * active orders a subaccount can have for a given orderbook side + */ + max_derivative_order_side_count?: number; + /** + * inj_reward_staked_requirement_threshold defines the threshold on INJ + * rewards after which one also needs staked INJ to receive more + */ + inj_reward_staked_requirement_threshold?: string; + /** + * the trading_rewards_vesting_duration defines the vesting times for trading + * rewards + */ + trading_rewards_vesting_duration?: string; + /** + * liquidator_reward_share_rate defines the ratio of the split of the surplus + * collateral that goes to the liquidator + */ + liquidator_reward_share_rate?: string; + /** + * binary_options_market_instant_listing_fee defines the expedited fee in INJ + * required to create a derivative market by bypassing governance + */ + binary_options_market_instant_listing_fee?: CoinAmino; + /** + * atomic_market_order_access_level defines the required access permissions + * for executing atomic market orders + */ + atomic_market_order_access_level?: AtomicMarketOrderAccessLevel; + /** + * spot_atomic_market_order_fee_multiplier defines the default multiplier for + * executing atomic market orders in spot markets + */ + spot_atomic_market_order_fee_multiplier?: string; + /** + * derivative_atomic_market_order_fee_multiplier defines the default + * multiplier for executing atomic market orders in derivative markets + */ + derivative_atomic_market_order_fee_multiplier?: string; + /** + * binary_options_atomic_market_order_fee_multiplier defines the default + * multiplier for executing atomic market orders in binary markets + */ + binary_options_atomic_market_order_fee_multiplier?: string; + /** minimal_protocol_fee_rate defines the minimal protocol fee rate */ + minimal_protocol_fee_rate?: string; + /** + * is_instant_derivative_market_launch_enabled defines whether instant + * derivative market launch is enabled + */ + is_instant_derivative_market_launch_enabled?: boolean; + post_only_mode_height_threshold?: string; + /** + * Maximum time in seconds since the last mark price update to allow a + * decrease in margin + */ + margin_decrease_price_timestamp_threshold_seconds?: string; + /** List of addresses that are allowed to perform exchange admin operations */ + exchange_admins?: string[]; + /** inj_auction_max_cap defines the maximum cap for INJ sent to auction */ + inj_auction_max_cap?: string; +} +export interface ParamsAminoMsg { + type: 'exchange/Params'; + value: ParamsAmino; +} +export interface ParamsSDKType { + spot_market_instant_listing_fee: CoinSDKType; + derivative_market_instant_listing_fee: CoinSDKType; + default_spot_maker_fee_rate: string; + default_spot_taker_fee_rate: string; + default_derivative_maker_fee_rate: string; + default_derivative_taker_fee_rate: string; + default_initial_margin_ratio: string; + default_maintenance_margin_ratio: string; + default_funding_interval: bigint; + funding_multiple: bigint; + relayer_fee_share_rate: string; + default_hourly_funding_rate_cap: string; + default_hourly_interest_rate: string; + max_derivative_order_side_count: number; + inj_reward_staked_requirement_threshold: string; + trading_rewards_vesting_duration: bigint; + liquidator_reward_share_rate: string; + binary_options_market_instant_listing_fee: CoinSDKType; + atomic_market_order_access_level: AtomicMarketOrderAccessLevel; + spot_atomic_market_order_fee_multiplier: string; + derivative_atomic_market_order_fee_multiplier: string; + binary_options_atomic_market_order_fee_multiplier: string; + minimal_protocol_fee_rate: string; + is_instant_derivative_market_launch_enabled: boolean; + post_only_mode_height_threshold: bigint; + margin_decrease_price_timestamp_threshold_seconds: bigint; + exchange_admins: string[]; + inj_auction_max_cap: string; +} +export interface MarketFeeMultiplier { + marketId: string; + feeMultiplier: string; +} +export interface MarketFeeMultiplierProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MarketFeeMultiplier'; + value: Uint8Array; +} +export interface MarketFeeMultiplierAmino { + market_id?: string; + fee_multiplier?: string; +} +export interface MarketFeeMultiplierAminoMsg { + type: '/injective.exchange.v1beta1.MarketFeeMultiplier'; + value: MarketFeeMultiplierAmino; +} +export interface MarketFeeMultiplierSDKType { + market_id: string; + fee_multiplier: string; +} +/** An object describing a derivative market in the Injective Futures Protocol. */ +export interface DerivativeMarket { + /** Ticker for the derivative contract. */ + ticker: string; + /** Oracle base currency */ + oracleBase: string; + /** Oracle quote currency */ + oracleQuote: string; + /** Oracle type */ + oracleType: OracleType; + /** Scale factor for oracle prices. */ + oracleScaleFactor: number; + /** Address of the quote currency denomination for the derivative contract */ + quoteDenom: string; + /** Unique market ID. */ + marketId: string; + /** + * initial_margin_ratio defines the initial margin ratio of a derivative + * market + */ + initialMarginRatio: string; + /** + * maintenance_margin_ratio defines the maintenance margin ratio of a + * derivative market + */ + maintenanceMarginRatio: string; + /** maker_fee_rate defines the maker fee rate of a derivative market */ + makerFeeRate: string; + /** taker_fee_rate defines the taker fee rate of a derivative market */ + takerFeeRate: string; + /** + * relayer_fee_share_rate defines the percentage of the transaction fee shared + * with the relayer in a derivative market + */ + relayerFeeShareRate: string; + /** + * true if the market is a perpetual market. false if the market is an expiry + * futures market + */ + isPerpetual: boolean; + /** Status of the market */ + status: MarketStatus; + /** + * min_price_tick_size defines the minimum tick size that the price and margin + * required for orders in the market + */ + minPriceTickSize: string; + /** + * min_quantity_tick_size defines the minimum tick size of the quantity + * required for orders in the market + */ + minQuantityTickSize: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional: string; + /** current market admin */ + admin: string; + /** level of admin permissions */ + adminPermissions: number; +} +export interface DerivativeMarketProtoMsg { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarket'; + value: Uint8Array; +} +/** An object describing a derivative market in the Injective Futures Protocol. */ +export interface DerivativeMarketAmino { + /** Ticker for the derivative contract. */ + ticker?: string; + /** Oracle base currency */ + oracle_base?: string; + /** Oracle quote currency */ + oracle_quote?: string; + /** Oracle type */ + oracle_type?: OracleType; + /** Scale factor for oracle prices. */ + oracle_scale_factor?: number; + /** Address of the quote currency denomination for the derivative contract */ + quote_denom?: string; + /** Unique market ID. */ + market_id?: string; + /** + * initial_margin_ratio defines the initial margin ratio of a derivative + * market + */ + initial_margin_ratio?: string; + /** + * maintenance_margin_ratio defines the maintenance margin ratio of a + * derivative market + */ + maintenance_margin_ratio?: string; + /** maker_fee_rate defines the maker fee rate of a derivative market */ + maker_fee_rate?: string; + /** taker_fee_rate defines the taker fee rate of a derivative market */ + taker_fee_rate?: string; + /** + * relayer_fee_share_rate defines the percentage of the transaction fee shared + * with the relayer in a derivative market + */ + relayer_fee_share_rate?: string; + /** + * true if the market is a perpetual market. false if the market is an expiry + * futures market + */ + isPerpetual?: boolean; + /** Status of the market */ + status?: MarketStatus; + /** + * min_price_tick_size defines the minimum tick size that the price and margin + * required for orders in the market + */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the quantity + * required for orders in the market + */ + min_quantity_tick_size?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; + /** current market admin */ + admin?: string; + /** level of admin permissions */ + admin_permissions?: number; +} +export interface DerivativeMarketAminoMsg { + type: '/injective.exchange.v1beta1.DerivativeMarket'; + value: DerivativeMarketAmino; +} +/** An object describing a derivative market in the Injective Futures Protocol. */ +export interface DerivativeMarketSDKType { + ticker: string; + oracle_base: string; + oracle_quote: string; + oracle_type: OracleType; + oracle_scale_factor: number; + quote_denom: string; + market_id: string; + initial_margin_ratio: string; + maintenance_margin_ratio: string; + maker_fee_rate: string; + taker_fee_rate: string; + relayer_fee_share_rate: string; + isPerpetual: boolean; + status: MarketStatus; + min_price_tick_size: string; + min_quantity_tick_size: string; + min_notional: string; + admin: string; + admin_permissions: number; +} +/** An object describing a binary options market in Injective Protocol. */ +export interface BinaryOptionsMarket { + /** Ticker for the derivative contract. */ + ticker: string; + /** Oracle symbol */ + oracleSymbol: string; + /** Oracle Provider */ + oracleProvider: string; + /** Oracle type */ + oracleType: OracleType; + /** Scale factor for oracle prices. */ + oracleScaleFactor: number; + /** expiration timestamp */ + expirationTimestamp: bigint; + /** expiration timestamp */ + settlementTimestamp: bigint; + /** admin of the market */ + admin: string; + /** Address of the quote currency denomination for the binary options contract */ + quoteDenom: string; + /** Unique market ID. */ + marketId: string; + /** maker_fee_rate defines the maker fee rate of a binary options market */ + makerFeeRate: string; + /** taker_fee_rate defines the taker fee rate of a derivative market */ + takerFeeRate: string; + /** + * relayer_fee_share_rate defines the percentage of the transaction fee shared + * with the relayer in a derivative market + */ + relayerFeeShareRate: string; + /** Status of the market */ + status: MarketStatus; + /** + * min_price_tick_size defines the minimum tick size that the price and margin + * required for orders in the market + */ + minPriceTickSize: string; + /** + * min_quantity_tick_size defines the minimum tick size of the quantity + * required for orders in the market + */ + minQuantityTickSize: string; + settlementPrice?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional: string; + /** level of admin permissions */ + adminPermissions: number; +} +export interface BinaryOptionsMarketProtoMsg { + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarket'; + value: Uint8Array; +} +/** An object describing a binary options market in Injective Protocol. */ +export interface BinaryOptionsMarketAmino { + /** Ticker for the derivative contract. */ + ticker?: string; + /** Oracle symbol */ + oracle_symbol?: string; + /** Oracle Provider */ + oracle_provider?: string; + /** Oracle type */ + oracle_type?: OracleType; + /** Scale factor for oracle prices. */ + oracle_scale_factor?: number; + /** expiration timestamp */ + expiration_timestamp?: string; + /** expiration timestamp */ + settlement_timestamp?: string; + /** admin of the market */ + admin?: string; + /** Address of the quote currency denomination for the binary options contract */ + quote_denom?: string; + /** Unique market ID. */ + market_id?: string; + /** maker_fee_rate defines the maker fee rate of a binary options market */ + maker_fee_rate?: string; + /** taker_fee_rate defines the taker fee rate of a derivative market */ + taker_fee_rate?: string; + /** + * relayer_fee_share_rate defines the percentage of the transaction fee shared + * with the relayer in a derivative market + */ + relayer_fee_share_rate?: string; + /** Status of the market */ + status?: MarketStatus; + /** + * min_price_tick_size defines the minimum tick size that the price and margin + * required for orders in the market + */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the quantity + * required for orders in the market + */ + min_quantity_tick_size?: string; + settlement_price?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; + /** level of admin permissions */ + admin_permissions?: number; +} +export interface BinaryOptionsMarketAminoMsg { + type: '/injective.exchange.v1beta1.BinaryOptionsMarket'; + value: BinaryOptionsMarketAmino; +} +/** An object describing a binary options market in Injective Protocol. */ +export interface BinaryOptionsMarketSDKType { + ticker: string; + oracle_symbol: string; + oracle_provider: string; + oracle_type: OracleType; + oracle_scale_factor: number; + expiration_timestamp: bigint; + settlement_timestamp: bigint; + admin: string; + quote_denom: string; + market_id: string; + maker_fee_rate: string; + taker_fee_rate: string; + relayer_fee_share_rate: string; + status: MarketStatus; + min_price_tick_size: string; + min_quantity_tick_size: string; + settlement_price?: string; + min_notional: string; + admin_permissions: number; +} +export interface ExpiryFuturesMarketInfo { + /** market ID. */ + marketId: string; + /** + * expiration_timestamp defines the expiration time for a time expiry futures + * market. + */ + expirationTimestamp: bigint; + /** + * expiration_twap_start_timestamp defines the start time of the TWAP + * calculation window + */ + twapStartTimestamp: bigint; + /** + * expiration_twap_start_price_cumulative defines the cumulative price for the + * start of the TWAP window + */ + expirationTwapStartPriceCumulative: string; + /** + * settlement_price defines the settlement price for a time expiry futures + * market. + */ + settlementPrice: string; +} +export interface ExpiryFuturesMarketInfoProtoMsg { + typeUrl: '/injective.exchange.v1beta1.ExpiryFuturesMarketInfo'; + value: Uint8Array; +} +export interface ExpiryFuturesMarketInfoAmino { + /** market ID. */ + market_id?: string; + /** + * expiration_timestamp defines the expiration time for a time expiry futures + * market. + */ + expiration_timestamp?: string; + /** + * expiration_twap_start_timestamp defines the start time of the TWAP + * calculation window + */ + twap_start_timestamp?: string; + /** + * expiration_twap_start_price_cumulative defines the cumulative price for the + * start of the TWAP window + */ + expiration_twap_start_price_cumulative?: string; + /** + * settlement_price defines the settlement price for a time expiry futures + * market. + */ + settlement_price?: string; +} +export interface ExpiryFuturesMarketInfoAminoMsg { + type: '/injective.exchange.v1beta1.ExpiryFuturesMarketInfo'; + value: ExpiryFuturesMarketInfoAmino; +} +export interface ExpiryFuturesMarketInfoSDKType { + market_id: string; + expiration_timestamp: bigint; + twap_start_timestamp: bigint; + expiration_twap_start_price_cumulative: string; + settlement_price: string; +} +export interface PerpetualMarketInfo { + /** market ID. */ + marketId: string; + /** + * hourly_funding_rate_cap defines the maximum absolute value of the hourly + * funding rate + */ + hourlyFundingRateCap: string; + /** hourly_interest_rate defines the hourly interest rate */ + hourlyInterestRate: string; + /** + * next_funding_timestamp defines the next funding timestamp in seconds of a + * perpetual market + */ + nextFundingTimestamp: bigint; + /** + * funding_interval defines the next funding interval in seconds of a + * perpetual market. + */ + fundingInterval: bigint; +} +export interface PerpetualMarketInfoProtoMsg { + typeUrl: '/injective.exchange.v1beta1.PerpetualMarketInfo'; + value: Uint8Array; +} +export interface PerpetualMarketInfoAmino { + /** market ID. */ + market_id?: string; + /** + * hourly_funding_rate_cap defines the maximum absolute value of the hourly + * funding rate + */ + hourly_funding_rate_cap?: string; + /** hourly_interest_rate defines the hourly interest rate */ + hourly_interest_rate?: string; + /** + * next_funding_timestamp defines the next funding timestamp in seconds of a + * perpetual market + */ + next_funding_timestamp?: string; + /** + * funding_interval defines the next funding interval in seconds of a + * perpetual market. + */ + funding_interval?: string; +} +export interface PerpetualMarketInfoAminoMsg { + type: '/injective.exchange.v1beta1.PerpetualMarketInfo'; + value: PerpetualMarketInfoAmino; +} +export interface PerpetualMarketInfoSDKType { + market_id: string; + hourly_funding_rate_cap: string; + hourly_interest_rate: string; + next_funding_timestamp: bigint; + funding_interval: bigint; +} +export interface PerpetualMarketFunding { + /** cumulative_funding defines the cumulative funding of a perpetual market. */ + cumulativeFunding: string; + /** + * cumulative_price defines the cumulative price for the current hour up to + * the last timestamp + */ + cumulativePrice: string; + lastTimestamp: bigint; +} +export interface PerpetualMarketFundingProtoMsg { + typeUrl: '/injective.exchange.v1beta1.PerpetualMarketFunding'; + value: Uint8Array; +} +export interface PerpetualMarketFundingAmino { + /** cumulative_funding defines the cumulative funding of a perpetual market. */ + cumulative_funding?: string; + /** + * cumulative_price defines the cumulative price for the current hour up to + * the last timestamp + */ + cumulative_price?: string; + last_timestamp?: string; +} +export interface PerpetualMarketFundingAminoMsg { + type: '/injective.exchange.v1beta1.PerpetualMarketFunding'; + value: PerpetualMarketFundingAmino; +} +export interface PerpetualMarketFundingSDKType { + cumulative_funding: string; + cumulative_price: string; + last_timestamp: bigint; +} +export interface DerivativeMarketSettlementInfo { + /** market ID. */ + marketId: string; + /** settlement_price defines the settlement price */ + settlementPrice: string; +} +export interface DerivativeMarketSettlementInfoProtoMsg { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketSettlementInfo'; + value: Uint8Array; +} +export interface DerivativeMarketSettlementInfoAmino { + /** market ID. */ + market_id?: string; + /** settlement_price defines the settlement price */ + settlement_price?: string; +} +export interface DerivativeMarketSettlementInfoAminoMsg { + type: '/injective.exchange.v1beta1.DerivativeMarketSettlementInfo'; + value: DerivativeMarketSettlementInfoAmino; +} +export interface DerivativeMarketSettlementInfoSDKType { + market_id: string; + settlement_price: string; +} +export interface NextFundingTimestamp { + nextTimestamp: bigint; +} +export interface NextFundingTimestampProtoMsg { + typeUrl: '/injective.exchange.v1beta1.NextFundingTimestamp'; + value: Uint8Array; +} +export interface NextFundingTimestampAmino { + next_timestamp?: string; +} +export interface NextFundingTimestampAminoMsg { + type: '/injective.exchange.v1beta1.NextFundingTimestamp'; + value: NextFundingTimestampAmino; +} +export interface NextFundingTimestampSDKType { + next_timestamp: bigint; +} +export interface MidPriceAndTOB { + /** mid price of the market */ + midPrice?: string; + /** best buy price of the market */ + bestBuyPrice?: string; + /** best sell price of the market */ + bestSellPrice?: string; +} +export interface MidPriceAndTOBProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MidPriceAndTOB'; + value: Uint8Array; +} +export interface MidPriceAndTOBAmino { + /** mid price of the market */ + mid_price?: string; + /** best buy price of the market */ + best_buy_price?: string; + /** best sell price of the market */ + best_sell_price?: string; +} +export interface MidPriceAndTOBAminoMsg { + type: '/injective.exchange.v1beta1.MidPriceAndTOB'; + value: MidPriceAndTOBAmino; +} +export interface MidPriceAndTOBSDKType { + mid_price?: string; + best_buy_price?: string; + best_sell_price?: string; +} +/** An object describing trade pair of two assets. */ +export interface SpotMarket { + /** + * A name of the pair in format AAA/BBB, where AAA is base asset, BBB is quote + * asset. + */ + ticker: string; + /** Coin denom used for the base asset */ + baseDenom: string; + /** Coin used for the quote asset */ + quoteDenom: string; + /** maker_fee_rate defines the fee percentage makers pay when trading */ + makerFeeRate: string; + /** taker_fee_rate defines the fee percentage takers pay when trading */ + takerFeeRate: string; + /** + * relayer_fee_share_rate defines the percentage of the transaction fee shared + * with the relayer in a derivative market + */ + relayerFeeShareRate: string; + /** Unique market ID. */ + marketId: string; + /** Status of the market */ + status: MarketStatus; + /** + * min_price_tick_size defines the minimum tick size that the price required + * for orders in the market + */ + minPriceTickSize: string; + /** + * min_quantity_tick_size defines the minimum tick size of the quantity + * required for orders in the market + */ + minQuantityTickSize: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional: string; + /** current market admin */ + admin: string; + /** level of admin permissions */ + adminPermissions: number; +} +export interface SpotMarketProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SpotMarket'; + value: Uint8Array; +} +/** An object describing trade pair of two assets. */ +export interface SpotMarketAmino { + /** + * A name of the pair in format AAA/BBB, where AAA is base asset, BBB is quote + * asset. + */ + ticker?: string; + /** Coin denom used for the base asset */ + base_denom?: string; + /** Coin used for the quote asset */ + quote_denom?: string; + /** maker_fee_rate defines the fee percentage makers pay when trading */ + maker_fee_rate?: string; + /** taker_fee_rate defines the fee percentage takers pay when trading */ + taker_fee_rate?: string; + /** + * relayer_fee_share_rate defines the percentage of the transaction fee shared + * with the relayer in a derivative market + */ + relayer_fee_share_rate?: string; + /** Unique market ID. */ + market_id?: string; + /** Status of the market */ + status?: MarketStatus; + /** + * min_price_tick_size defines the minimum tick size that the price required + * for orders in the market + */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the quantity + * required for orders in the market + */ + min_quantity_tick_size?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; + /** current market admin */ + admin?: string; + /** level of admin permissions */ + admin_permissions?: number; +} +export interface SpotMarketAminoMsg { + type: '/injective.exchange.v1beta1.SpotMarket'; + value: SpotMarketAmino; +} +/** An object describing trade pair of two assets. */ +export interface SpotMarketSDKType { + ticker: string; + base_denom: string; + quote_denom: string; + maker_fee_rate: string; + taker_fee_rate: string; + relayer_fee_share_rate: string; + market_id: string; + status: MarketStatus; + min_price_tick_size: string; + min_quantity_tick_size: string; + min_notional: string; + admin: string; + admin_permissions: number; +} +/** A subaccount's deposit for a given base currency */ +export interface Deposit { + availableBalance: string; + totalBalance: string; +} +export interface DepositProtoMsg { + typeUrl: '/injective.exchange.v1beta1.Deposit'; + value: Uint8Array; +} +/** A subaccount's deposit for a given base currency */ +export interface DepositAmino { + available_balance?: string; + total_balance?: string; +} +export interface DepositAminoMsg { + type: '/injective.exchange.v1beta1.Deposit'; + value: DepositAmino; +} +/** A subaccount's deposit for a given base currency */ +export interface DepositSDKType { + available_balance: string; + total_balance: string; +} +export interface SubaccountTradeNonce { + nonce: number; +} +export interface SubaccountTradeNonceProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SubaccountTradeNonce'; + value: Uint8Array; +} +export interface SubaccountTradeNonceAmino { + nonce?: number; +} +export interface SubaccountTradeNonceAminoMsg { + type: '/injective.exchange.v1beta1.SubaccountTradeNonce'; + value: SubaccountTradeNonceAmino; +} +export interface SubaccountTradeNonceSDKType { + nonce: number; +} +export interface OrderInfo { + /** bytes32 subaccount ID that created the order */ + subaccountId: string; + /** address fee_recipient address that will receive fees for the order */ + feeRecipient: string; + /** price of the order */ + price: string; + /** quantity of the order */ + quantity: string; + cid: string; +} +export interface OrderInfoProtoMsg { + typeUrl: '/injective.exchange.v1beta1.OrderInfo'; + value: Uint8Array; +} +export interface OrderInfoAmino { + /** bytes32 subaccount ID that created the order */ + subaccount_id?: string; + /** address fee_recipient address that will receive fees for the order */ + fee_recipient?: string; + /** price of the order */ + price?: string; + /** quantity of the order */ + quantity?: string; + cid?: string; +} +export interface OrderInfoAminoMsg { + type: '/injective.exchange.v1beta1.OrderInfo'; + value: OrderInfoAmino; +} +export interface OrderInfoSDKType { + subaccount_id: string; + fee_recipient: string; + price: string; + quantity: string; + cid: string; +} +export interface SpotOrder { + /** market_id represents the unique ID of the market */ + marketId: string; + /** order_info contains the information of the order */ + orderInfo: OrderInfo; + /** order types */ + orderType: OrderType; + /** trigger_price is the trigger price used by stop/take orders */ + triggerPrice?: string; +} +export interface SpotOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SpotOrder'; + value: Uint8Array; +} +export interface SpotOrderAmino { + /** market_id represents the unique ID of the market */ + market_id?: string; + /** order_info contains the information of the order */ + order_info?: OrderInfoAmino; + /** order types */ + order_type?: OrderType; + /** trigger_price is the trigger price used by stop/take orders */ + trigger_price?: string; +} +export interface SpotOrderAminoMsg { + type: '/injective.exchange.v1beta1.SpotOrder'; + value: SpotOrderAmino; +} +export interface SpotOrderSDKType { + market_id: string; + order_info: OrderInfoSDKType; + order_type: OrderType; + trigger_price?: string; +} +/** A valid Spot limit order with Metadata. */ +export interface SpotLimitOrder { + /** order_info contains the information of the order */ + orderInfo: OrderInfo; + /** order types */ + orderType: OrderType; + /** the amount of the quantity remaining fillable */ + fillable: string; + /** trigger_price is the trigger price used by stop/take orders */ + triggerPrice?: string; + orderHash: Uint8Array; +} +export interface SpotLimitOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SpotLimitOrder'; + value: Uint8Array; +} +/** A valid Spot limit order with Metadata. */ +export interface SpotLimitOrderAmino { + /** order_info contains the information of the order */ + order_info?: OrderInfoAmino; + /** order types */ + order_type?: OrderType; + /** the amount of the quantity remaining fillable */ + fillable?: string; + /** trigger_price is the trigger price used by stop/take orders */ + trigger_price?: string; + order_hash?: string; +} +export interface SpotLimitOrderAminoMsg { + type: '/injective.exchange.v1beta1.SpotLimitOrder'; + value: SpotLimitOrderAmino; +} +/** A valid Spot limit order with Metadata. */ +export interface SpotLimitOrderSDKType { + order_info: OrderInfoSDKType; + order_type: OrderType; + fillable: string; + trigger_price?: string; + order_hash: Uint8Array; +} +/** A valid Spot market order with Metadata. */ +export interface SpotMarketOrder { + /** order_info contains the information of the order */ + orderInfo: OrderInfo; + balanceHold: string; + orderHash: Uint8Array; + /** order types */ + orderType: OrderType; + /** trigger_price is the trigger price used by stop/take orders */ + triggerPrice?: string; +} +export interface SpotMarketOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SpotMarketOrder'; + value: Uint8Array; +} +/** A valid Spot market order with Metadata. */ +export interface SpotMarketOrderAmino { + /** order_info contains the information of the order */ + order_info?: OrderInfoAmino; + balance_hold?: string; + order_hash?: string; + /** order types */ + order_type?: OrderType; + /** trigger_price is the trigger price used by stop/take orders */ + trigger_price?: string; +} +export interface SpotMarketOrderAminoMsg { + type: '/injective.exchange.v1beta1.SpotMarketOrder'; + value: SpotMarketOrderAmino; +} +/** A valid Spot market order with Metadata. */ +export interface SpotMarketOrderSDKType { + order_info: OrderInfoSDKType; + balance_hold: string; + order_hash: Uint8Array; + order_type: OrderType; + trigger_price?: string; +} +export interface DerivativeOrder { + /** market_id represents the unique ID of the market */ + marketId: string; + /** order_info contains the information of the order */ + orderInfo: OrderInfo; + /** order types */ + orderType: OrderType; + /** margin is the margin used by the limit order */ + margin: string; + /** trigger_price is the trigger price used by stop/take orders */ + triggerPrice?: string; +} +export interface DerivativeOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.DerivativeOrder'; + value: Uint8Array; +} +export interface DerivativeOrderAmino { + /** market_id represents the unique ID of the market */ + market_id?: string; + /** order_info contains the information of the order */ + order_info?: OrderInfoAmino; + /** order types */ + order_type?: OrderType; + /** margin is the margin used by the limit order */ + margin?: string; + /** trigger_price is the trigger price used by stop/take orders */ + trigger_price?: string; +} +export interface DerivativeOrderAminoMsg { + type: '/injective.exchange.v1beta1.DerivativeOrder'; + value: DerivativeOrderAmino; +} +export interface DerivativeOrderSDKType { + market_id: string; + order_info: OrderInfoSDKType; + order_type: OrderType; + margin: string; + trigger_price?: string; +} +export interface SubaccountOrderbookMetadata { + vanillaLimitOrderCount: number; + reduceOnlyLimitOrderCount: number; + /** + * AggregateReduceOnlyQuantity is the aggregate fillable quantity of the + * subaccount's reduce-only limit orders in the given direction. + */ + aggregateReduceOnlyQuantity: string; + /** + * AggregateVanillaQuantity is the aggregate fillable quantity of the + * subaccount's vanilla limit orders in the given direction. + */ + aggregateVanillaQuantity: string; + vanillaConditionalOrderCount: number; + reduceOnlyConditionalOrderCount: number; +} +export interface SubaccountOrderbookMetadataProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SubaccountOrderbookMetadata'; + value: Uint8Array; +} +export interface SubaccountOrderbookMetadataAmino { + vanilla_limit_order_count?: number; + reduce_only_limit_order_count?: number; + /** + * AggregateReduceOnlyQuantity is the aggregate fillable quantity of the + * subaccount's reduce-only limit orders in the given direction. + */ + aggregate_reduce_only_quantity?: string; + /** + * AggregateVanillaQuantity is the aggregate fillable quantity of the + * subaccount's vanilla limit orders in the given direction. + */ + aggregate_vanilla_quantity?: string; + vanilla_conditional_order_count?: number; + reduce_only_conditional_order_count?: number; +} +export interface SubaccountOrderbookMetadataAminoMsg { + type: '/injective.exchange.v1beta1.SubaccountOrderbookMetadata'; + value: SubaccountOrderbookMetadataAmino; +} +export interface SubaccountOrderbookMetadataSDKType { + vanilla_limit_order_count: number; + reduce_only_limit_order_count: number; + aggregate_reduce_only_quantity: string; + aggregate_vanilla_quantity: string; + vanilla_conditional_order_count: number; + reduce_only_conditional_order_count: number; +} +export interface SubaccountOrder { + /** price of the order */ + price: string; + /** the amount of the quantity remaining fillable */ + quantity: string; + isReduceOnly: boolean; + cid: string; +} +export interface SubaccountOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SubaccountOrder'; + value: Uint8Array; +} +export interface SubaccountOrderAmino { + /** price of the order */ + price?: string; + /** the amount of the quantity remaining fillable */ + quantity?: string; + isReduceOnly?: boolean; + cid?: string; +} +export interface SubaccountOrderAminoMsg { + type: '/injective.exchange.v1beta1.SubaccountOrder'; + value: SubaccountOrderAmino; +} +export interface SubaccountOrderSDKType { + price: string; + quantity: string; + isReduceOnly: boolean; + cid: string; +} +export interface SubaccountOrderData { + order?: SubaccountOrder; + orderHash: Uint8Array; +} +export interface SubaccountOrderDataProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SubaccountOrderData'; + value: Uint8Array; +} +export interface SubaccountOrderDataAmino { + order?: SubaccountOrderAmino; + order_hash?: string; +} +export interface SubaccountOrderDataAminoMsg { + type: '/injective.exchange.v1beta1.SubaccountOrderData'; + value: SubaccountOrderDataAmino; +} +export interface SubaccountOrderDataSDKType { + order?: SubaccountOrderSDKType; + order_hash: Uint8Array; +} +/** A valid Derivative limit order with Metadata. */ +export interface DerivativeLimitOrder { + /** order_info contains the information of the order */ + orderInfo: OrderInfo; + /** order types */ + orderType: OrderType; + /** margin is the margin used by the limit order */ + margin: string; + /** the amount of the quantity remaining fillable */ + fillable: string; + /** trigger_price is the trigger price used by stop/take orders */ + triggerPrice?: string; + orderHash: Uint8Array; +} +export interface DerivativeLimitOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.DerivativeLimitOrder'; + value: Uint8Array; +} +/** A valid Derivative limit order with Metadata. */ +export interface DerivativeLimitOrderAmino { + /** order_info contains the information of the order */ + order_info?: OrderInfoAmino; + /** order types */ + order_type?: OrderType; + /** margin is the margin used by the limit order */ + margin?: string; + /** the amount of the quantity remaining fillable */ + fillable?: string; + /** trigger_price is the trigger price used by stop/take orders */ + trigger_price?: string; + order_hash?: string; +} +export interface DerivativeLimitOrderAminoMsg { + type: '/injective.exchange.v1beta1.DerivativeLimitOrder'; + value: DerivativeLimitOrderAmino; +} +/** A valid Derivative limit order with Metadata. */ +export interface DerivativeLimitOrderSDKType { + order_info: OrderInfoSDKType; + order_type: OrderType; + margin: string; + fillable: string; + trigger_price?: string; + order_hash: Uint8Array; +} +/** A valid Derivative market order with Metadata. */ +export interface DerivativeMarketOrder { + /** order_info contains the information of the order */ + orderInfo: OrderInfo; + /** order types */ + orderType: OrderType; + margin: string; + marginHold: string; + /** trigger_price is the trigger price used by stop/take orders */ + triggerPrice?: string; + orderHash: Uint8Array; +} +export interface DerivativeMarketOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketOrder'; + value: Uint8Array; +} +/** A valid Derivative market order with Metadata. */ +export interface DerivativeMarketOrderAmino { + /** order_info contains the information of the order */ + order_info?: OrderInfoAmino; + /** order types */ + order_type?: OrderType; + margin?: string; + margin_hold?: string; + /** trigger_price is the trigger price used by stop/take orders */ + trigger_price?: string; + order_hash?: string; +} +export interface DerivativeMarketOrderAminoMsg { + type: '/injective.exchange.v1beta1.DerivativeMarketOrder'; + value: DerivativeMarketOrderAmino; +} +/** A valid Derivative market order with Metadata. */ +export interface DerivativeMarketOrderSDKType { + order_info: OrderInfoSDKType; + order_type: OrderType; + margin: string; + margin_hold: string; + trigger_price?: string; + order_hash: Uint8Array; +} +export interface Position { + isLong: boolean; + quantity: string; + entryPrice: string; + margin: string; + cumulativeFundingEntry: string; +} +export interface PositionProtoMsg { + typeUrl: '/injective.exchange.v1beta1.Position'; + value: Uint8Array; +} +export interface PositionAmino { + isLong?: boolean; + quantity?: string; + entry_price?: string; + margin?: string; + cumulative_funding_entry?: string; +} +export interface PositionAminoMsg { + type: '/injective.exchange.v1beta1.Position'; + value: PositionAmino; +} +export interface PositionSDKType { + isLong: boolean; + quantity: string; + entry_price: string; + margin: string; + cumulative_funding_entry: string; +} +export interface MarketOrderIndicator { + /** market_id represents the unique ID of the market */ + marketId: string; + isBuy: boolean; +} +export interface MarketOrderIndicatorProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MarketOrderIndicator'; + value: Uint8Array; +} +export interface MarketOrderIndicatorAmino { + /** market_id represents the unique ID of the market */ + market_id?: string; + isBuy?: boolean; +} +export interface MarketOrderIndicatorAminoMsg { + type: '/injective.exchange.v1beta1.MarketOrderIndicator'; + value: MarketOrderIndicatorAmino; +} +export interface MarketOrderIndicatorSDKType { + market_id: string; + isBuy: boolean; +} +export interface TradeLog { + quantity: string; + price: string; + /** bytes32 subaccount ID that executed the trade */ + subaccountId: Uint8Array; + fee: string; + orderHash: Uint8Array; + feeRecipientAddress?: Uint8Array; + cid: string; +} +export interface TradeLogProtoMsg { + typeUrl: '/injective.exchange.v1beta1.TradeLog'; + value: Uint8Array; +} +export interface TradeLogAmino { + quantity?: string; + price?: string; + /** bytes32 subaccount ID that executed the trade */ + subaccount_id?: string; + fee?: string; + order_hash?: string; + fee_recipient_address?: string; + cid?: string; +} +export interface TradeLogAminoMsg { + type: '/injective.exchange.v1beta1.TradeLog'; + value: TradeLogAmino; +} +export interface TradeLogSDKType { + quantity: string; + price: string; + subaccount_id: Uint8Array; + fee: string; + order_hash: Uint8Array; + fee_recipient_address?: Uint8Array; + cid: string; +} +export interface PositionDelta { + isLong: boolean; + executionQuantity: string; + executionMargin: string; + executionPrice: string; +} +export interface PositionDeltaProtoMsg { + typeUrl: '/injective.exchange.v1beta1.PositionDelta'; + value: Uint8Array; +} +export interface PositionDeltaAmino { + is_long?: boolean; + execution_quantity?: string; + execution_margin?: string; + execution_price?: string; +} +export interface PositionDeltaAminoMsg { + type: '/injective.exchange.v1beta1.PositionDelta'; + value: PositionDeltaAmino; +} +export interface PositionDeltaSDKType { + is_long: boolean; + execution_quantity: string; + execution_margin: string; + execution_price: string; +} +export interface DerivativeTradeLog { + subaccountId: Uint8Array; + positionDelta?: PositionDelta; + payout: string; + fee: string; + orderHash: Uint8Array; + feeRecipientAddress?: Uint8Array; + cid: string; + pnl: string; +} +export interface DerivativeTradeLogProtoMsg { + typeUrl: '/injective.exchange.v1beta1.DerivativeTradeLog'; + value: Uint8Array; +} +export interface DerivativeTradeLogAmino { + subaccount_id?: string; + position_delta?: PositionDeltaAmino; + payout?: string; + fee?: string; + order_hash?: string; + fee_recipient_address?: string; + cid?: string; + pnl?: string; +} +export interface DerivativeTradeLogAminoMsg { + type: '/injective.exchange.v1beta1.DerivativeTradeLog'; + value: DerivativeTradeLogAmino; +} +export interface DerivativeTradeLogSDKType { + subaccount_id: Uint8Array; + position_delta?: PositionDeltaSDKType; + payout: string; + fee: string; + order_hash: Uint8Array; + fee_recipient_address?: Uint8Array; + cid: string; + pnl: string; +} +export interface SubaccountPosition { + position?: Position; + subaccountId: Uint8Array; +} +export interface SubaccountPositionProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SubaccountPosition'; + value: Uint8Array; +} +export interface SubaccountPositionAmino { + position?: PositionAmino; + subaccount_id?: string; +} +export interface SubaccountPositionAminoMsg { + type: '/injective.exchange.v1beta1.SubaccountPosition'; + value: SubaccountPositionAmino; +} +export interface SubaccountPositionSDKType { + position?: PositionSDKType; + subaccount_id: Uint8Array; +} +export interface SubaccountDeposit { + subaccountId: Uint8Array; + deposit?: Deposit; +} +export interface SubaccountDepositProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SubaccountDeposit'; + value: Uint8Array; +} +export interface SubaccountDepositAmino { + subaccount_id?: string; + deposit?: DepositAmino; +} +export interface SubaccountDepositAminoMsg { + type: '/injective.exchange.v1beta1.SubaccountDeposit'; + value: SubaccountDepositAmino; +} +export interface SubaccountDepositSDKType { + subaccount_id: Uint8Array; + deposit?: DepositSDKType; +} +export interface DepositUpdate { + denom: string; + deposits: SubaccountDeposit[]; +} +export interface DepositUpdateProtoMsg { + typeUrl: '/injective.exchange.v1beta1.DepositUpdate'; + value: Uint8Array; +} +export interface DepositUpdateAmino { + denom?: string; + deposits?: SubaccountDepositAmino[]; +} +export interface DepositUpdateAminoMsg { + type: '/injective.exchange.v1beta1.DepositUpdate'; + value: DepositUpdateAmino; +} +export interface DepositUpdateSDKType { + denom: string; + deposits: SubaccountDepositSDKType[]; +} +export interface PointsMultiplier { + makerPointsMultiplier: string; + takerPointsMultiplier: string; +} +export interface PointsMultiplierProtoMsg { + typeUrl: '/injective.exchange.v1beta1.PointsMultiplier'; + value: Uint8Array; +} +export interface PointsMultiplierAmino { + maker_points_multiplier?: string; + taker_points_multiplier?: string; +} +export interface PointsMultiplierAminoMsg { + type: '/injective.exchange.v1beta1.PointsMultiplier'; + value: PointsMultiplierAmino; +} +export interface PointsMultiplierSDKType { + maker_points_multiplier: string; + taker_points_multiplier: string; +} +export interface TradingRewardCampaignBoostInfo { + boostedSpotMarketIds: string[]; + spotMarketMultipliers: PointsMultiplier[]; + boostedDerivativeMarketIds: string[]; + derivativeMarketMultipliers: PointsMultiplier[]; +} +export interface TradingRewardCampaignBoostInfoProtoMsg { + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignBoostInfo'; + value: Uint8Array; +} +export interface TradingRewardCampaignBoostInfoAmino { + boosted_spot_market_ids?: string[]; + spot_market_multipliers?: PointsMultiplierAmino[]; + boosted_derivative_market_ids?: string[]; + derivative_market_multipliers?: PointsMultiplierAmino[]; +} +export interface TradingRewardCampaignBoostInfoAminoMsg { + type: '/injective.exchange.v1beta1.TradingRewardCampaignBoostInfo'; + value: TradingRewardCampaignBoostInfoAmino; +} +export interface TradingRewardCampaignBoostInfoSDKType { + boosted_spot_market_ids: string[]; + spot_market_multipliers: PointsMultiplierSDKType[]; + boosted_derivative_market_ids: string[]; + derivative_market_multipliers: PointsMultiplierSDKType[]; +} +export interface CampaignRewardPool { + startTimestamp: bigint; + /** + * max_campaign_rewards are the maximum reward amounts to be disbursed at the + * end of the campaign + */ + maxCampaignRewards: Coin[]; +} +export interface CampaignRewardPoolProtoMsg { + typeUrl: '/injective.exchange.v1beta1.CampaignRewardPool'; + value: Uint8Array; +} +export interface CampaignRewardPoolAmino { + start_timestamp?: string; + /** + * max_campaign_rewards are the maximum reward amounts to be disbursed at the + * end of the campaign + */ + max_campaign_rewards?: CoinAmino[]; +} +export interface CampaignRewardPoolAminoMsg { + type: '/injective.exchange.v1beta1.CampaignRewardPool'; + value: CampaignRewardPoolAmino; +} +export interface CampaignRewardPoolSDKType { + start_timestamp: bigint; + max_campaign_rewards: CoinSDKType[]; +} +export interface TradingRewardCampaignInfo { + /** number of seconds of the duration of each campaign */ + campaignDurationSeconds: bigint; + /** the trading fee quote denoms which will be counted for the rewards */ + quoteDenoms: string[]; + /** the optional boost info for markets */ + tradingRewardBoostInfo?: TradingRewardCampaignBoostInfo; + /** the marketIDs which are disqualified from being rewarded */ + disqualifiedMarketIds: string[]; +} +export interface TradingRewardCampaignInfoProtoMsg { + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignInfo'; + value: Uint8Array; +} +export interface TradingRewardCampaignInfoAmino { + /** number of seconds of the duration of each campaign */ + campaign_duration_seconds?: string; + /** the trading fee quote denoms which will be counted for the rewards */ + quote_denoms?: string[]; + /** the optional boost info for markets */ + trading_reward_boost_info?: TradingRewardCampaignBoostInfoAmino; + /** the marketIDs which are disqualified from being rewarded */ + disqualified_market_ids?: string[]; +} +export interface TradingRewardCampaignInfoAminoMsg { + type: '/injective.exchange.v1beta1.TradingRewardCampaignInfo'; + value: TradingRewardCampaignInfoAmino; +} +export interface TradingRewardCampaignInfoSDKType { + campaign_duration_seconds: bigint; + quote_denoms: string[]; + trading_reward_boost_info?: TradingRewardCampaignBoostInfoSDKType; + disqualified_market_ids: string[]; +} +export interface FeeDiscountTierInfo { + makerDiscountRate: string; + takerDiscountRate: string; + stakedAmount: string; + volume: string; +} +export interface FeeDiscountTierInfoProtoMsg { + typeUrl: '/injective.exchange.v1beta1.FeeDiscountTierInfo'; + value: Uint8Array; +} +export interface FeeDiscountTierInfoAmino { + maker_discount_rate?: string; + taker_discount_rate?: string; + staked_amount?: string; + volume?: string; +} +export interface FeeDiscountTierInfoAminoMsg { + type: '/injective.exchange.v1beta1.FeeDiscountTierInfo'; + value: FeeDiscountTierInfoAmino; +} +export interface FeeDiscountTierInfoSDKType { + maker_discount_rate: string; + taker_discount_rate: string; + staked_amount: string; + volume: string; +} +export interface FeeDiscountSchedule { + bucketCount: bigint; + bucketDuration: bigint; + /** + * the trading fee quote denoms which will be counted for the fee paid + * contribution + */ + quoteDenoms: string[]; + /** the fee discount tiers */ + tierInfos: FeeDiscountTierInfo[]; + /** + * the marketIDs which are disqualified from contributing to the fee paid + * amount + */ + disqualifiedMarketIds: string[]; +} +export interface FeeDiscountScheduleProtoMsg { + typeUrl: '/injective.exchange.v1beta1.FeeDiscountSchedule'; + value: Uint8Array; +} +export interface FeeDiscountScheduleAmino { + bucket_count?: string; + bucket_duration?: string; + /** + * the trading fee quote denoms which will be counted for the fee paid + * contribution + */ + quote_denoms?: string[]; + /** the fee discount tiers */ + tier_infos?: FeeDiscountTierInfoAmino[]; + /** + * the marketIDs which are disqualified from contributing to the fee paid + * amount + */ + disqualified_market_ids?: string[]; +} +export interface FeeDiscountScheduleAminoMsg { + type: '/injective.exchange.v1beta1.FeeDiscountSchedule'; + value: FeeDiscountScheduleAmino; +} +export interface FeeDiscountScheduleSDKType { + bucket_count: bigint; + bucket_duration: bigint; + quote_denoms: string[]; + tier_infos: FeeDiscountTierInfoSDKType[]; + disqualified_market_ids: string[]; +} +export interface FeeDiscountTierTTL { + tier: bigint; + ttlTimestamp: bigint; +} +export interface FeeDiscountTierTTLProtoMsg { + typeUrl: '/injective.exchange.v1beta1.FeeDiscountTierTTL'; + value: Uint8Array; +} +export interface FeeDiscountTierTTLAmino { + tier?: string; + ttl_timestamp?: string; +} +export interface FeeDiscountTierTTLAminoMsg { + type: '/injective.exchange.v1beta1.FeeDiscountTierTTL'; + value: FeeDiscountTierTTLAmino; +} +export interface FeeDiscountTierTTLSDKType { + tier: bigint; + ttl_timestamp: bigint; +} +export interface VolumeRecord { + makerVolume: string; + takerVolume: string; +} +export interface VolumeRecordProtoMsg { + typeUrl: '/injective.exchange.v1beta1.VolumeRecord'; + value: Uint8Array; +} +export interface VolumeRecordAmino { + maker_volume?: string; + taker_volume?: string; +} +export interface VolumeRecordAminoMsg { + type: '/injective.exchange.v1beta1.VolumeRecord'; + value: VolumeRecordAmino; +} +export interface VolumeRecordSDKType { + maker_volume: string; + taker_volume: string; +} +export interface AccountRewards { + account: string; + rewards: Coin[]; +} +export interface AccountRewardsProtoMsg { + typeUrl: '/injective.exchange.v1beta1.AccountRewards'; + value: Uint8Array; +} +export interface AccountRewardsAmino { + account?: string; + rewards?: CoinAmino[]; +} +export interface AccountRewardsAminoMsg { + type: '/injective.exchange.v1beta1.AccountRewards'; + value: AccountRewardsAmino; +} +export interface AccountRewardsSDKType { + account: string; + rewards: CoinSDKType[]; +} +export interface TradeRecords { + marketId: string; + latestTradeRecords: TradeRecord[]; +} +export interface TradeRecordsProtoMsg { + typeUrl: '/injective.exchange.v1beta1.TradeRecords'; + value: Uint8Array; +} +export interface TradeRecordsAmino { + market_id?: string; + latest_trade_records?: TradeRecordAmino[]; +} +export interface TradeRecordsAminoMsg { + type: '/injective.exchange.v1beta1.TradeRecords'; + value: TradeRecordsAmino; +} +export interface TradeRecordsSDKType { + market_id: string; + latest_trade_records: TradeRecordSDKType[]; +} +export interface SubaccountIDs { + subaccountIds: Uint8Array[]; +} +export interface SubaccountIDsProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SubaccountIDs'; + value: Uint8Array; +} +export interface SubaccountIDsAmino { + subaccount_ids?: string[]; +} +export interface SubaccountIDsAminoMsg { + type: '/injective.exchange.v1beta1.SubaccountIDs'; + value: SubaccountIDsAmino; +} +export interface SubaccountIDsSDKType { + subaccount_ids: Uint8Array[]; +} +export interface TradeRecord { + timestamp: bigint; + price: string; + quantity: string; +} +export interface TradeRecordProtoMsg { + typeUrl: '/injective.exchange.v1beta1.TradeRecord'; + value: Uint8Array; +} +export interface TradeRecordAmino { + timestamp?: string; + price?: string; + quantity?: string; +} +export interface TradeRecordAminoMsg { + type: '/injective.exchange.v1beta1.TradeRecord'; + value: TradeRecordAmino; +} +export interface TradeRecordSDKType { + timestamp: bigint; + price: string; + quantity: string; +} +export interface Level { + /** price */ + p: string; + /** quantity */ + q: string; +} +export interface LevelProtoMsg { + typeUrl: '/injective.exchange.v1beta1.Level'; + value: Uint8Array; +} +export interface LevelAmino { + /** price */ + p?: string; + /** quantity */ + q?: string; +} +export interface LevelAminoMsg { + type: '/injective.exchange.v1beta1.Level'; + value: LevelAmino; +} +export interface LevelSDKType { + p: string; + q: string; +} +export interface AggregateSubaccountVolumeRecord { + subaccountId: string; + marketVolumes: MarketVolume[]; +} +export interface AggregateSubaccountVolumeRecordProtoMsg { + typeUrl: '/injective.exchange.v1beta1.AggregateSubaccountVolumeRecord'; + value: Uint8Array; +} +export interface AggregateSubaccountVolumeRecordAmino { + subaccount_id?: string; + market_volumes?: MarketVolumeAmino[]; +} +export interface AggregateSubaccountVolumeRecordAminoMsg { + type: '/injective.exchange.v1beta1.AggregateSubaccountVolumeRecord'; + value: AggregateSubaccountVolumeRecordAmino; +} +export interface AggregateSubaccountVolumeRecordSDKType { + subaccount_id: string; + market_volumes: MarketVolumeSDKType[]; +} +export interface AggregateAccountVolumeRecord { + account: string; + marketVolumes: MarketVolume[]; +} +export interface AggregateAccountVolumeRecordProtoMsg { + typeUrl: '/injective.exchange.v1beta1.AggregateAccountVolumeRecord'; + value: Uint8Array; +} +export interface AggregateAccountVolumeRecordAmino { + account?: string; + market_volumes?: MarketVolumeAmino[]; +} +export interface AggregateAccountVolumeRecordAminoMsg { + type: '/injective.exchange.v1beta1.AggregateAccountVolumeRecord'; + value: AggregateAccountVolumeRecordAmino; +} +export interface AggregateAccountVolumeRecordSDKType { + account: string; + market_volumes: MarketVolumeSDKType[]; +} +export interface MarketVolume { + marketId: string; + volume: VolumeRecord; +} +export interface MarketVolumeProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MarketVolume'; + value: Uint8Array; +} +export interface MarketVolumeAmino { + market_id?: string; + volume?: VolumeRecordAmino; +} +export interface MarketVolumeAminoMsg { + type: '/injective.exchange.v1beta1.MarketVolume'; + value: MarketVolumeAmino; +} +export interface MarketVolumeSDKType { + market_id: string; + volume: VolumeRecordSDKType; +} +export interface DenomDecimals { + denom: string; + decimals: bigint; +} +export interface DenomDecimalsProtoMsg { + typeUrl: '/injective.exchange.v1beta1.DenomDecimals'; + value: Uint8Array; +} +export interface DenomDecimalsAmino { + denom?: string; + decimals?: string; +} +export interface DenomDecimalsAminoMsg { + type: '/injective.exchange.v1beta1.DenomDecimals'; + value: DenomDecimalsAmino; +} +export interface DenomDecimalsSDKType { + denom: string; + decimals: bigint; +} +export interface GrantAuthorization { + grantee: string; + amount: string; +} +export interface GrantAuthorizationProtoMsg { + typeUrl: '/injective.exchange.v1beta1.GrantAuthorization'; + value: Uint8Array; +} +export interface GrantAuthorizationAmino { + grantee?: string; + amount?: string; +} +export interface GrantAuthorizationAminoMsg { + type: '/injective.exchange.v1beta1.GrantAuthorization'; + value: GrantAuthorizationAmino; +} +export interface GrantAuthorizationSDKType { + grantee: string; + amount: string; +} +export interface ActiveGrant { + granter: string; + amount: string; +} +export interface ActiveGrantProtoMsg { + typeUrl: '/injective.exchange.v1beta1.ActiveGrant'; + value: Uint8Array; +} +export interface ActiveGrantAmino { + granter?: string; + amount?: string; +} +export interface ActiveGrantAminoMsg { + type: '/injective.exchange.v1beta1.ActiveGrant'; + value: ActiveGrantAmino; +} +export interface ActiveGrantSDKType { + granter: string; + amount: string; +} +export interface EffectiveGrant { + granter: string; + netGrantedStake: string; + isValid: boolean; +} +export interface EffectiveGrantProtoMsg { + typeUrl: '/injective.exchange.v1beta1.EffectiveGrant'; + value: Uint8Array; +} +export interface EffectiveGrantAmino { + granter?: string; + net_granted_stake?: string; + is_valid?: boolean; +} +export interface EffectiveGrantAminoMsg { + type: '/injective.exchange.v1beta1.EffectiveGrant'; + value: EffectiveGrantAmino; +} +export interface EffectiveGrantSDKType { + granter: string; + net_granted_stake: string; + is_valid: boolean; +} +function createBaseParams(): Params { + return { + spotMarketInstantListingFee: Coin.fromPartial({}), + derivativeMarketInstantListingFee: Coin.fromPartial({}), + defaultSpotMakerFeeRate: '', + defaultSpotTakerFeeRate: '', + defaultDerivativeMakerFeeRate: '', + defaultDerivativeTakerFeeRate: '', + defaultInitialMarginRatio: '', + defaultMaintenanceMarginRatio: '', + defaultFundingInterval: BigInt(0), + fundingMultiple: BigInt(0), + relayerFeeShareRate: '', + defaultHourlyFundingRateCap: '', + defaultHourlyInterestRate: '', + maxDerivativeOrderSideCount: 0, + injRewardStakedRequirementThreshold: '', + tradingRewardsVestingDuration: BigInt(0), + liquidatorRewardShareRate: '', + binaryOptionsMarketInstantListingFee: Coin.fromPartial({}), + atomicMarketOrderAccessLevel: 0, + spotAtomicMarketOrderFeeMultiplier: '', + derivativeAtomicMarketOrderFeeMultiplier: '', + binaryOptionsAtomicMarketOrderFeeMultiplier: '', + minimalProtocolFeeRate: '', + isInstantDerivativeMarketLaunchEnabled: false, + postOnlyModeHeightThreshold: BigInt(0), + marginDecreasePriceTimestampThresholdSeconds: BigInt(0), + exchangeAdmins: [], + injAuctionMaxCap: '', + }; +} +export const Params = { + typeUrl: '/injective.exchange.v1beta1.Params', + encode(message: Params, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.spotMarketInstantListingFee !== undefined) { + Coin.encode(message.spotMarketInstantListingFee, writer.uint32(10).fork()).ldelim(); + } + if (message.derivativeMarketInstantListingFee !== undefined) { + Coin.encode(message.derivativeMarketInstantListingFee, writer.uint32(18).fork()).ldelim(); + } + if (message.defaultSpotMakerFeeRate !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.defaultSpotMakerFeeRate, 18).atomics); + } + if (message.defaultSpotTakerFeeRate !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.defaultSpotTakerFeeRate, 18).atomics); + } + if (message.defaultDerivativeMakerFeeRate !== '') { + writer.uint32(42).string(Decimal.fromUserInput(message.defaultDerivativeMakerFeeRate, 18).atomics); + } + if (message.defaultDerivativeTakerFeeRate !== '') { + writer.uint32(50).string(Decimal.fromUserInput(message.defaultDerivativeTakerFeeRate, 18).atomics); + } + if (message.defaultInitialMarginRatio !== '') { + writer.uint32(58).string(Decimal.fromUserInput(message.defaultInitialMarginRatio, 18).atomics); + } + if (message.defaultMaintenanceMarginRatio !== '') { + writer.uint32(66).string(Decimal.fromUserInput(message.defaultMaintenanceMarginRatio, 18).atomics); + } + if (message.defaultFundingInterval !== BigInt(0)) { + writer.uint32(72).int64(message.defaultFundingInterval); + } + if (message.fundingMultiple !== BigInt(0)) { + writer.uint32(80).int64(message.fundingMultiple); + } + if (message.relayerFeeShareRate !== '') { + writer.uint32(90).string(Decimal.fromUserInput(message.relayerFeeShareRate, 18).atomics); + } + if (message.defaultHourlyFundingRateCap !== '') { + writer.uint32(98).string(Decimal.fromUserInput(message.defaultHourlyFundingRateCap, 18).atomics); + } + if (message.defaultHourlyInterestRate !== '') { + writer.uint32(106).string(Decimal.fromUserInput(message.defaultHourlyInterestRate, 18).atomics); + } + if (message.maxDerivativeOrderSideCount !== 0) { + writer.uint32(112).uint32(message.maxDerivativeOrderSideCount); + } + if (message.injRewardStakedRequirementThreshold !== '') { + writer.uint32(122).string(message.injRewardStakedRequirementThreshold); + } + if (message.tradingRewardsVestingDuration !== BigInt(0)) { + writer.uint32(128).int64(message.tradingRewardsVestingDuration); + } + if (message.liquidatorRewardShareRate !== '') { + writer.uint32(138).string(Decimal.fromUserInput(message.liquidatorRewardShareRate, 18).atomics); + } + if (message.binaryOptionsMarketInstantListingFee !== undefined) { + Coin.encode(message.binaryOptionsMarketInstantListingFee, writer.uint32(146).fork()).ldelim(); + } + if (message.atomicMarketOrderAccessLevel !== 0) { + writer.uint32(152).int32(message.atomicMarketOrderAccessLevel); + } + if (message.spotAtomicMarketOrderFeeMultiplier !== '') { + writer.uint32(162).string(Decimal.fromUserInput(message.spotAtomicMarketOrderFeeMultiplier, 18).atomics); + } + if (message.derivativeAtomicMarketOrderFeeMultiplier !== '') { + writer.uint32(170).string(Decimal.fromUserInput(message.derivativeAtomicMarketOrderFeeMultiplier, 18).atomics); + } + if (message.binaryOptionsAtomicMarketOrderFeeMultiplier !== '') { + writer.uint32(178).string(Decimal.fromUserInput(message.binaryOptionsAtomicMarketOrderFeeMultiplier, 18).atomics); + } + if (message.minimalProtocolFeeRate !== '') { + writer.uint32(186).string(Decimal.fromUserInput(message.minimalProtocolFeeRate, 18).atomics); + } + if (message.isInstantDerivativeMarketLaunchEnabled === true) { + writer.uint32(192).bool(message.isInstantDerivativeMarketLaunchEnabled); + } + if (message.postOnlyModeHeightThreshold !== BigInt(0)) { + writer.uint32(200).int64(message.postOnlyModeHeightThreshold); + } + if (message.marginDecreasePriceTimestampThresholdSeconds !== BigInt(0)) { + writer.uint32(208).int64(message.marginDecreasePriceTimestampThresholdSeconds); + } + for (const v of message.exchangeAdmins) { + writer.uint32(218).string(v!); + } + if (message.injAuctionMaxCap !== '') { + writer.uint32(226).string(message.injAuctionMaxCap); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.spotMarketInstantListingFee = Coin.decode(reader, reader.uint32()); + break; + case 2: + message.derivativeMarketInstantListingFee = Coin.decode(reader, reader.uint32()); + break; + case 3: + message.defaultSpotMakerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.defaultSpotTakerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.defaultDerivativeMakerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 6: + message.defaultDerivativeTakerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 7: + message.defaultInitialMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 8: + message.defaultMaintenanceMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 9: + message.defaultFundingInterval = reader.int64(); + break; + case 10: + message.fundingMultiple = reader.int64(); + break; + case 11: + message.relayerFeeShareRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 12: + message.defaultHourlyFundingRateCap = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 13: + message.defaultHourlyInterestRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 14: + message.maxDerivativeOrderSideCount = reader.uint32(); + break; + case 15: + message.injRewardStakedRequirementThreshold = reader.string(); + break; + case 16: + message.tradingRewardsVestingDuration = reader.int64(); + break; + case 17: + message.liquidatorRewardShareRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 18: + message.binaryOptionsMarketInstantListingFee = Coin.decode(reader, reader.uint32()); + break; + case 19: + message.atomicMarketOrderAccessLevel = reader.int32() as any; + break; + case 20: + message.spotAtomicMarketOrderFeeMultiplier = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 21: + message.derivativeAtomicMarketOrderFeeMultiplier = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 22: + message.binaryOptionsAtomicMarketOrderFeeMultiplier = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 23: + message.minimalProtocolFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 24: + message.isInstantDerivativeMarketLaunchEnabled = reader.bool(); + break; + case 25: + message.postOnlyModeHeightThreshold = reader.int64(); + break; + case 26: + message.marginDecreasePriceTimestampThresholdSeconds = reader.int64(); + break; + case 27: + message.exchangeAdmins.push(reader.string()); + break; + case 28: + message.injAuctionMaxCap = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Params { + const message = createBaseParams(); + message.spotMarketInstantListingFee = + object.spotMarketInstantListingFee !== undefined && object.spotMarketInstantListingFee !== null + ? Coin.fromPartial(object.spotMarketInstantListingFee) + : undefined; + message.derivativeMarketInstantListingFee = + object.derivativeMarketInstantListingFee !== undefined && object.derivativeMarketInstantListingFee !== null + ? Coin.fromPartial(object.derivativeMarketInstantListingFee) + : undefined; + message.defaultSpotMakerFeeRate = object.defaultSpotMakerFeeRate ?? ''; + message.defaultSpotTakerFeeRate = object.defaultSpotTakerFeeRate ?? ''; + message.defaultDerivativeMakerFeeRate = object.defaultDerivativeMakerFeeRate ?? ''; + message.defaultDerivativeTakerFeeRate = object.defaultDerivativeTakerFeeRate ?? ''; + message.defaultInitialMarginRatio = object.defaultInitialMarginRatio ?? ''; + message.defaultMaintenanceMarginRatio = object.defaultMaintenanceMarginRatio ?? ''; + message.defaultFundingInterval = + object.defaultFundingInterval !== undefined && object.defaultFundingInterval !== null + ? BigInt(object.defaultFundingInterval.toString()) + : BigInt(0); + message.fundingMultiple = + object.fundingMultiple !== undefined && object.fundingMultiple !== null + ? BigInt(object.fundingMultiple.toString()) + : BigInt(0); + message.relayerFeeShareRate = object.relayerFeeShareRate ?? ''; + message.defaultHourlyFundingRateCap = object.defaultHourlyFundingRateCap ?? ''; + message.defaultHourlyInterestRate = object.defaultHourlyInterestRate ?? ''; + message.maxDerivativeOrderSideCount = object.maxDerivativeOrderSideCount ?? 0; + message.injRewardStakedRequirementThreshold = object.injRewardStakedRequirementThreshold ?? ''; + message.tradingRewardsVestingDuration = + object.tradingRewardsVestingDuration !== undefined && object.tradingRewardsVestingDuration !== null + ? BigInt(object.tradingRewardsVestingDuration.toString()) + : BigInt(0); + message.liquidatorRewardShareRate = object.liquidatorRewardShareRate ?? ''; + message.binaryOptionsMarketInstantListingFee = + object.binaryOptionsMarketInstantListingFee !== undefined && object.binaryOptionsMarketInstantListingFee !== null + ? Coin.fromPartial(object.binaryOptionsMarketInstantListingFee) + : undefined; + message.atomicMarketOrderAccessLevel = object.atomicMarketOrderAccessLevel ?? 0; + message.spotAtomicMarketOrderFeeMultiplier = object.spotAtomicMarketOrderFeeMultiplier ?? ''; + message.derivativeAtomicMarketOrderFeeMultiplier = object.derivativeAtomicMarketOrderFeeMultiplier ?? ''; + message.binaryOptionsAtomicMarketOrderFeeMultiplier = object.binaryOptionsAtomicMarketOrderFeeMultiplier ?? ''; + message.minimalProtocolFeeRate = object.minimalProtocolFeeRate ?? ''; + message.isInstantDerivativeMarketLaunchEnabled = object.isInstantDerivativeMarketLaunchEnabled ?? false; + message.postOnlyModeHeightThreshold = + object.postOnlyModeHeightThreshold !== undefined && object.postOnlyModeHeightThreshold !== null + ? BigInt(object.postOnlyModeHeightThreshold.toString()) + : BigInt(0); + message.marginDecreasePriceTimestampThresholdSeconds = + object.marginDecreasePriceTimestampThresholdSeconds !== undefined && + object.marginDecreasePriceTimestampThresholdSeconds !== null + ? BigInt(object.marginDecreasePriceTimestampThresholdSeconds.toString()) + : BigInt(0); + message.exchangeAdmins = object.exchangeAdmins?.map((e) => e) || []; + message.injAuctionMaxCap = object.injAuctionMaxCap ?? ''; + return message; + }, + fromAmino(object: ParamsAmino): Params { + const message = createBaseParams(); + if (object.spot_market_instant_listing_fee !== undefined && object.spot_market_instant_listing_fee !== null) { + message.spotMarketInstantListingFee = Coin.fromAmino(object.spot_market_instant_listing_fee); + } + if ( + object.derivative_market_instant_listing_fee !== undefined && + object.derivative_market_instant_listing_fee !== null + ) { + message.derivativeMarketInstantListingFee = Coin.fromAmino(object.derivative_market_instant_listing_fee); + } + if (object.default_spot_maker_fee_rate !== undefined && object.default_spot_maker_fee_rate !== null) { + message.defaultSpotMakerFeeRate = object.default_spot_maker_fee_rate; + } + if (object.default_spot_taker_fee_rate !== undefined && object.default_spot_taker_fee_rate !== null) { + message.defaultSpotTakerFeeRate = object.default_spot_taker_fee_rate; + } + if (object.default_derivative_maker_fee_rate !== undefined && object.default_derivative_maker_fee_rate !== null) { + message.defaultDerivativeMakerFeeRate = object.default_derivative_maker_fee_rate; + } + if (object.default_derivative_taker_fee_rate !== undefined && object.default_derivative_taker_fee_rate !== null) { + message.defaultDerivativeTakerFeeRate = object.default_derivative_taker_fee_rate; + } + if (object.default_initial_margin_ratio !== undefined && object.default_initial_margin_ratio !== null) { + message.defaultInitialMarginRatio = object.default_initial_margin_ratio; + } + if (object.default_maintenance_margin_ratio !== undefined && object.default_maintenance_margin_ratio !== null) { + message.defaultMaintenanceMarginRatio = object.default_maintenance_margin_ratio; + } + if (object.default_funding_interval !== undefined && object.default_funding_interval !== null) { + message.defaultFundingInterval = BigInt(object.default_funding_interval); + } + if (object.funding_multiple !== undefined && object.funding_multiple !== null) { + message.fundingMultiple = BigInt(object.funding_multiple); + } + if (object.relayer_fee_share_rate !== undefined && object.relayer_fee_share_rate !== null) { + message.relayerFeeShareRate = object.relayer_fee_share_rate; + } + if (object.default_hourly_funding_rate_cap !== undefined && object.default_hourly_funding_rate_cap !== null) { + message.defaultHourlyFundingRateCap = object.default_hourly_funding_rate_cap; + } + if (object.default_hourly_interest_rate !== undefined && object.default_hourly_interest_rate !== null) { + message.defaultHourlyInterestRate = object.default_hourly_interest_rate; + } + if (object.max_derivative_order_side_count !== undefined && object.max_derivative_order_side_count !== null) { + message.maxDerivativeOrderSideCount = object.max_derivative_order_side_count; + } + if ( + object.inj_reward_staked_requirement_threshold !== undefined && + object.inj_reward_staked_requirement_threshold !== null + ) { + message.injRewardStakedRequirementThreshold = object.inj_reward_staked_requirement_threshold; + } + if (object.trading_rewards_vesting_duration !== undefined && object.trading_rewards_vesting_duration !== null) { + message.tradingRewardsVestingDuration = BigInt(object.trading_rewards_vesting_duration); + } + if (object.liquidator_reward_share_rate !== undefined && object.liquidator_reward_share_rate !== null) { + message.liquidatorRewardShareRate = object.liquidator_reward_share_rate; + } + if ( + object.binary_options_market_instant_listing_fee !== undefined && + object.binary_options_market_instant_listing_fee !== null + ) { + message.binaryOptionsMarketInstantListingFee = Coin.fromAmino(object.binary_options_market_instant_listing_fee); + } + if (object.atomic_market_order_access_level !== undefined && object.atomic_market_order_access_level !== null) { + message.atomicMarketOrderAccessLevel = object.atomic_market_order_access_level; + } + if ( + object.spot_atomic_market_order_fee_multiplier !== undefined && + object.spot_atomic_market_order_fee_multiplier !== null + ) { + message.spotAtomicMarketOrderFeeMultiplier = object.spot_atomic_market_order_fee_multiplier; + } + if ( + object.derivative_atomic_market_order_fee_multiplier !== undefined && + object.derivative_atomic_market_order_fee_multiplier !== null + ) { + message.derivativeAtomicMarketOrderFeeMultiplier = object.derivative_atomic_market_order_fee_multiplier; + } + if ( + object.binary_options_atomic_market_order_fee_multiplier !== undefined && + object.binary_options_atomic_market_order_fee_multiplier !== null + ) { + message.binaryOptionsAtomicMarketOrderFeeMultiplier = object.binary_options_atomic_market_order_fee_multiplier; + } + if (object.minimal_protocol_fee_rate !== undefined && object.minimal_protocol_fee_rate !== null) { + message.minimalProtocolFeeRate = object.minimal_protocol_fee_rate; + } + if ( + object.is_instant_derivative_market_launch_enabled !== undefined && + object.is_instant_derivative_market_launch_enabled !== null + ) { + message.isInstantDerivativeMarketLaunchEnabled = object.is_instant_derivative_market_launch_enabled; + } + if (object.post_only_mode_height_threshold !== undefined && object.post_only_mode_height_threshold !== null) { + message.postOnlyModeHeightThreshold = BigInt(object.post_only_mode_height_threshold); + } + if ( + object.margin_decrease_price_timestamp_threshold_seconds !== undefined && + object.margin_decrease_price_timestamp_threshold_seconds !== null + ) { + message.marginDecreasePriceTimestampThresholdSeconds = BigInt( + object.margin_decrease_price_timestamp_threshold_seconds, + ); + } + message.exchangeAdmins = object.exchange_admins?.map((e) => e) || []; + if (object.inj_auction_max_cap !== undefined && object.inj_auction_max_cap !== null) { + message.injAuctionMaxCap = object.inj_auction_max_cap; + } + return message; + }, + toAmino(message: Params): ParamsAmino { + const obj: any = {}; + obj.spot_market_instant_listing_fee = message.spotMarketInstantListingFee + ? Coin.toAmino(message.spotMarketInstantListingFee) + : undefined; + obj.derivative_market_instant_listing_fee = message.derivativeMarketInstantListingFee + ? Coin.toAmino(message.derivativeMarketInstantListingFee) + : undefined; + obj.default_spot_maker_fee_rate = + message.defaultSpotMakerFeeRate === '' ? undefined : message.defaultSpotMakerFeeRate; + obj.default_spot_taker_fee_rate = + message.defaultSpotTakerFeeRate === '' ? undefined : message.defaultSpotTakerFeeRate; + obj.default_derivative_maker_fee_rate = + message.defaultDerivativeMakerFeeRate === '' ? undefined : message.defaultDerivativeMakerFeeRate; + obj.default_derivative_taker_fee_rate = + message.defaultDerivativeTakerFeeRate === '' ? undefined : message.defaultDerivativeTakerFeeRate; + obj.default_initial_margin_ratio = + message.defaultInitialMarginRatio === '' ? undefined : message.defaultInitialMarginRatio; + obj.default_maintenance_margin_ratio = + message.defaultMaintenanceMarginRatio === '' ? undefined : message.defaultMaintenanceMarginRatio; + obj.default_funding_interval = + message.defaultFundingInterval !== BigInt(0) ? (message.defaultFundingInterval?.toString)() : undefined; + obj.funding_multiple = message.fundingMultiple !== BigInt(0) ? (message.fundingMultiple?.toString)() : undefined; + obj.relayer_fee_share_rate = message.relayerFeeShareRate === '' ? undefined : message.relayerFeeShareRate; + obj.default_hourly_funding_rate_cap = + message.defaultHourlyFundingRateCap === '' ? undefined : message.defaultHourlyFundingRateCap; + obj.default_hourly_interest_rate = + message.defaultHourlyInterestRate === '' ? undefined : message.defaultHourlyInterestRate; + obj.max_derivative_order_side_count = + message.maxDerivativeOrderSideCount === 0 ? undefined : message.maxDerivativeOrderSideCount; + obj.inj_reward_staked_requirement_threshold = + message.injRewardStakedRequirementThreshold === '' ? undefined : message.injRewardStakedRequirementThreshold; + obj.trading_rewards_vesting_duration = + message.tradingRewardsVestingDuration !== BigInt(0) + ? (message.tradingRewardsVestingDuration?.toString)() + : undefined; + obj.liquidator_reward_share_rate = + message.liquidatorRewardShareRate === '' ? undefined : message.liquidatorRewardShareRate; + obj.binary_options_market_instant_listing_fee = message.binaryOptionsMarketInstantListingFee + ? Coin.toAmino(message.binaryOptionsMarketInstantListingFee) + : undefined; + obj.atomic_market_order_access_level = + message.atomicMarketOrderAccessLevel === 0 ? undefined : message.atomicMarketOrderAccessLevel; + obj.spot_atomic_market_order_fee_multiplier = + message.spotAtomicMarketOrderFeeMultiplier === '' ? undefined : message.spotAtomicMarketOrderFeeMultiplier; + obj.derivative_atomic_market_order_fee_multiplier = + message.derivativeAtomicMarketOrderFeeMultiplier === '' + ? undefined + : message.derivativeAtomicMarketOrderFeeMultiplier; + obj.binary_options_atomic_market_order_fee_multiplier = + message.binaryOptionsAtomicMarketOrderFeeMultiplier === '' + ? undefined + : message.binaryOptionsAtomicMarketOrderFeeMultiplier; + obj.minimal_protocol_fee_rate = message.minimalProtocolFeeRate === '' ? undefined : message.minimalProtocolFeeRate; + obj.is_instant_derivative_market_launch_enabled = + message.isInstantDerivativeMarketLaunchEnabled === false + ? undefined + : message.isInstantDerivativeMarketLaunchEnabled; + obj.post_only_mode_height_threshold = + message.postOnlyModeHeightThreshold !== BigInt(0) ? (message.postOnlyModeHeightThreshold?.toString)() : undefined; + obj.margin_decrease_price_timestamp_threshold_seconds = + message.marginDecreasePriceTimestampThresholdSeconds !== BigInt(0) + ? (message.marginDecreasePriceTimestampThresholdSeconds?.toString)() + : undefined; + if (message.exchangeAdmins) { + obj.exchange_admins = message.exchangeAdmins.map((e) => e); + } else { + obj.exchange_admins = message.exchangeAdmins; + } + obj.inj_auction_max_cap = message.injAuctionMaxCap === '' ? undefined : message.injAuctionMaxCap; + return obj; + }, + fromAminoMsg(object: ParamsAminoMsg): Params { + return Params.fromAmino(object.value); + }, + toAminoMsg(message: Params): ParamsAminoMsg { + return { + type: 'exchange/Params', + value: Params.toAmino(message), + }; + }, + fromProtoMsg(message: ParamsProtoMsg): Params { + return Params.decode(message.value); + }, + toProto(message: Params): Uint8Array { + return Params.encode(message).finish(); + }, + toProtoMsg(message: Params): ParamsProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.Params', + value: Params.encode(message).finish(), + }; + }, +}; +function createBaseMarketFeeMultiplier(): MarketFeeMultiplier { + return { + marketId: '', + feeMultiplier: '', + }; +} +export const MarketFeeMultiplier = { + typeUrl: '/injective.exchange.v1beta1.MarketFeeMultiplier', + encode(message: MarketFeeMultiplier, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.marketId !== '') { + writer.uint32(10).string(message.marketId); + } + if (message.feeMultiplier !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.feeMultiplier, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MarketFeeMultiplier { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMarketFeeMultiplier(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.marketId = reader.string(); + break; + case 2: + message.feeMultiplier = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MarketFeeMultiplier { + const message = createBaseMarketFeeMultiplier(); + message.marketId = object.marketId ?? ''; + message.feeMultiplier = object.feeMultiplier ?? ''; + return message; + }, + fromAmino(object: MarketFeeMultiplierAmino): MarketFeeMultiplier { + const message = createBaseMarketFeeMultiplier(); + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.fee_multiplier !== undefined && object.fee_multiplier !== null) { + message.feeMultiplier = object.fee_multiplier; + } + return message; + }, + toAmino(message: MarketFeeMultiplier): MarketFeeMultiplierAmino { + const obj: any = {}; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.fee_multiplier = message.feeMultiplier === '' ? undefined : message.feeMultiplier; + return obj; + }, + fromAminoMsg(object: MarketFeeMultiplierAminoMsg): MarketFeeMultiplier { + return MarketFeeMultiplier.fromAmino(object.value); + }, + fromProtoMsg(message: MarketFeeMultiplierProtoMsg): MarketFeeMultiplier { + return MarketFeeMultiplier.decode(message.value); + }, + toProto(message: MarketFeeMultiplier): Uint8Array { + return MarketFeeMultiplier.encode(message).finish(); + }, + toProtoMsg(message: MarketFeeMultiplier): MarketFeeMultiplierProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MarketFeeMultiplier', + value: MarketFeeMultiplier.encode(message).finish(), + }; + }, +}; +function createBaseDerivativeMarket(): DerivativeMarket { + return { + ticker: '', + oracleBase: '', + oracleQuote: '', + oracleType: 0, + oracleScaleFactor: 0, + quoteDenom: '', + marketId: '', + initialMarginRatio: '', + maintenanceMarginRatio: '', + makerFeeRate: '', + takerFeeRate: '', + relayerFeeShareRate: '', + isPerpetual: false, + status: 0, + minPriceTickSize: '', + minQuantityTickSize: '', + minNotional: '', + admin: '', + adminPermissions: 0, + }; +} +export const DerivativeMarket = { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarket', + encode(message: DerivativeMarket, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.ticker !== '') { + writer.uint32(10).string(message.ticker); + } + if (message.oracleBase !== '') { + writer.uint32(18).string(message.oracleBase); + } + if (message.oracleQuote !== '') { + writer.uint32(26).string(message.oracleQuote); + } + if (message.oracleType !== 0) { + writer.uint32(32).int32(message.oracleType); + } + if (message.oracleScaleFactor !== 0) { + writer.uint32(40).uint32(message.oracleScaleFactor); + } + if (message.quoteDenom !== '') { + writer.uint32(50).string(message.quoteDenom); + } + if (message.marketId !== '') { + writer.uint32(58).string(message.marketId); + } + if (message.initialMarginRatio !== '') { + writer.uint32(66).string(Decimal.fromUserInput(message.initialMarginRatio, 18).atomics); + } + if (message.maintenanceMarginRatio !== '') { + writer.uint32(74).string(Decimal.fromUserInput(message.maintenanceMarginRatio, 18).atomics); + } + if (message.makerFeeRate !== '') { + writer.uint32(82).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== '') { + writer.uint32(90).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.relayerFeeShareRate !== '') { + writer.uint32(98).string(Decimal.fromUserInput(message.relayerFeeShareRate, 18).atomics); + } + if (message.isPerpetual === true) { + writer.uint32(104).bool(message.isPerpetual); + } + if (message.status !== 0) { + writer.uint32(112).int32(message.status); + } + if (message.minPriceTickSize !== '') { + writer.uint32(122).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== '') { + writer.uint32(130).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.minNotional !== '') { + writer.uint32(138).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + if (message.admin !== '') { + writer.uint32(146).string(message.admin); + } + if (message.adminPermissions !== 0) { + writer.uint32(152).uint32(message.adminPermissions); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DerivativeMarket { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDerivativeMarket(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.ticker = reader.string(); + break; + case 2: + message.oracleBase = reader.string(); + break; + case 3: + message.oracleQuote = reader.string(); + break; + case 4: + message.oracleType = reader.int32() as any; + break; + case 5: + message.oracleScaleFactor = reader.uint32(); + break; + case 6: + message.quoteDenom = reader.string(); + break; + case 7: + message.marketId = reader.string(); + break; + case 8: + message.initialMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 9: + message.maintenanceMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 10: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 11: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 12: + message.relayerFeeShareRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 13: + message.isPerpetual = reader.bool(); + break; + case 14: + message.status = reader.int32() as any; + break; + case 15: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 16: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 17: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 18: + message.admin = reader.string(); + break; + case 19: + message.adminPermissions = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DerivativeMarket { + const message = createBaseDerivativeMarket(); + message.ticker = object.ticker ?? ''; + message.oracleBase = object.oracleBase ?? ''; + message.oracleQuote = object.oracleQuote ?? ''; + message.oracleType = object.oracleType ?? 0; + message.oracleScaleFactor = object.oracleScaleFactor ?? 0; + message.quoteDenom = object.quoteDenom ?? ''; + message.marketId = object.marketId ?? ''; + message.initialMarginRatio = object.initialMarginRatio ?? ''; + message.maintenanceMarginRatio = object.maintenanceMarginRatio ?? ''; + message.makerFeeRate = object.makerFeeRate ?? ''; + message.takerFeeRate = object.takerFeeRate ?? ''; + message.relayerFeeShareRate = object.relayerFeeShareRate ?? ''; + message.isPerpetual = object.isPerpetual ?? false; + message.status = object.status ?? 0; + message.minPriceTickSize = object.minPriceTickSize ?? ''; + message.minQuantityTickSize = object.minQuantityTickSize ?? ''; + message.minNotional = object.minNotional ?? ''; + message.admin = object.admin ?? ''; + message.adminPermissions = object.adminPermissions ?? 0; + return message; + }, + fromAmino(object: DerivativeMarketAmino): DerivativeMarket { + const message = createBaseDerivativeMarket(); + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.oracle_base !== undefined && object.oracle_base !== null) { + message.oracleBase = object.oracle_base; + } + if (object.oracle_quote !== undefined && object.oracle_quote !== null) { + message.oracleQuote = object.oracle_quote; + } + if (object.oracle_type !== undefined && object.oracle_type !== null) { + message.oracleType = object.oracle_type; + } + if (object.oracle_scale_factor !== undefined && object.oracle_scale_factor !== null) { + message.oracleScaleFactor = object.oracle_scale_factor; + } + if (object.quote_denom !== undefined && object.quote_denom !== null) { + message.quoteDenom = object.quote_denom; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.initial_margin_ratio !== undefined && object.initial_margin_ratio !== null) { + message.initialMarginRatio = object.initial_margin_ratio; + } + if (object.maintenance_margin_ratio !== undefined && object.maintenance_margin_ratio !== null) { + message.maintenanceMarginRatio = object.maintenance_margin_ratio; + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.relayer_fee_share_rate !== undefined && object.relayer_fee_share_rate !== null) { + message.relayerFeeShareRate = object.relayer_fee_share_rate; + } + if (object.isPerpetual !== undefined && object.isPerpetual !== null) { + message.isPerpetual = object.isPerpetual; + } + if (object.status !== undefined && object.status !== null) { + message.status = object.status; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.admin_permissions !== undefined && object.admin_permissions !== null) { + message.adminPermissions = object.admin_permissions; + } + return message; + }, + toAmino(message: DerivativeMarket): DerivativeMarketAmino { + const obj: any = {}; + obj.ticker = message.ticker === '' ? undefined : message.ticker; + obj.oracle_base = message.oracleBase === '' ? undefined : message.oracleBase; + obj.oracle_quote = message.oracleQuote === '' ? undefined : message.oracleQuote; + obj.oracle_type = message.oracleType === 0 ? undefined : message.oracleType; + obj.oracle_scale_factor = message.oracleScaleFactor === 0 ? undefined : message.oracleScaleFactor; + obj.quote_denom = message.quoteDenom === '' ? undefined : message.quoteDenom; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.initial_margin_ratio = message.initialMarginRatio === '' ? undefined : message.initialMarginRatio; + obj.maintenance_margin_ratio = message.maintenanceMarginRatio === '' ? undefined : message.maintenanceMarginRatio; + obj.maker_fee_rate = message.makerFeeRate === '' ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === '' ? undefined : message.takerFeeRate; + obj.relayer_fee_share_rate = message.relayerFeeShareRate === '' ? undefined : message.relayerFeeShareRate; + obj.isPerpetual = message.isPerpetual === false ? undefined : message.isPerpetual; + obj.status = message.status === 0 ? undefined : message.status; + obj.min_price_tick_size = message.minPriceTickSize === '' ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === '' ? undefined : message.minQuantityTickSize; + obj.min_notional = message.minNotional === '' ? undefined : message.minNotional; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.admin_permissions = message.adminPermissions === 0 ? undefined : message.adminPermissions; + return obj; + }, + fromAminoMsg(object: DerivativeMarketAminoMsg): DerivativeMarket { + return DerivativeMarket.fromAmino(object.value); + }, + fromProtoMsg(message: DerivativeMarketProtoMsg): DerivativeMarket { + return DerivativeMarket.decode(message.value); + }, + toProto(message: DerivativeMarket): Uint8Array { + return DerivativeMarket.encode(message).finish(); + }, + toProtoMsg(message: DerivativeMarket): DerivativeMarketProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarket', + value: DerivativeMarket.encode(message).finish(), + }; + }, +}; +function createBaseBinaryOptionsMarket(): BinaryOptionsMarket { + return { + ticker: '', + oracleSymbol: '', + oracleProvider: '', + oracleType: 0, + oracleScaleFactor: 0, + expirationTimestamp: BigInt(0), + settlementTimestamp: BigInt(0), + admin: '', + quoteDenom: '', + marketId: '', + makerFeeRate: '', + takerFeeRate: '', + relayerFeeShareRate: '', + status: 0, + minPriceTickSize: '', + minQuantityTickSize: '', + settlementPrice: undefined, + minNotional: '', + adminPermissions: 0, + }; +} +export const BinaryOptionsMarket = { + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarket', + encode(message: BinaryOptionsMarket, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.ticker !== '') { + writer.uint32(10).string(message.ticker); + } + if (message.oracleSymbol !== '') { + writer.uint32(18).string(message.oracleSymbol); + } + if (message.oracleProvider !== '') { + writer.uint32(26).string(message.oracleProvider); + } + if (message.oracleType !== 0) { + writer.uint32(32).int32(message.oracleType); + } + if (message.oracleScaleFactor !== 0) { + writer.uint32(40).uint32(message.oracleScaleFactor); + } + if (message.expirationTimestamp !== BigInt(0)) { + writer.uint32(48).int64(message.expirationTimestamp); + } + if (message.settlementTimestamp !== BigInt(0)) { + writer.uint32(56).int64(message.settlementTimestamp); + } + if (message.admin !== '') { + writer.uint32(66).string(message.admin); + } + if (message.quoteDenom !== '') { + writer.uint32(74).string(message.quoteDenom); + } + if (message.marketId !== '') { + writer.uint32(82).string(message.marketId); + } + if (message.makerFeeRate !== '') { + writer.uint32(90).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== '') { + writer.uint32(98).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.relayerFeeShareRate !== '') { + writer.uint32(106).string(Decimal.fromUserInput(message.relayerFeeShareRate, 18).atomics); + } + if (message.status !== 0) { + writer.uint32(112).int32(message.status); + } + if (message.minPriceTickSize !== '') { + writer.uint32(122).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== '') { + writer.uint32(130).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.settlementPrice !== undefined) { + writer.uint32(138).string(Decimal.fromUserInput(message.settlementPrice, 18).atomics); + } + if (message.minNotional !== '') { + writer.uint32(146).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + if (message.adminPermissions !== 0) { + writer.uint32(152).uint32(message.adminPermissions); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BinaryOptionsMarket { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBinaryOptionsMarket(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.ticker = reader.string(); + break; + case 2: + message.oracleSymbol = reader.string(); + break; + case 3: + message.oracleProvider = reader.string(); + break; + case 4: + message.oracleType = reader.int32() as any; + break; + case 5: + message.oracleScaleFactor = reader.uint32(); + break; + case 6: + message.expirationTimestamp = reader.int64(); + break; + case 7: + message.settlementTimestamp = reader.int64(); + break; + case 8: + message.admin = reader.string(); + break; + case 9: + message.quoteDenom = reader.string(); + break; + case 10: + message.marketId = reader.string(); + break; + case 11: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 12: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 13: + message.relayerFeeShareRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 14: + message.status = reader.int32() as any; + break; + case 15: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 16: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 17: + message.settlementPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 18: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 19: + message.adminPermissions = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BinaryOptionsMarket { + const message = createBaseBinaryOptionsMarket(); + message.ticker = object.ticker ?? ''; + message.oracleSymbol = object.oracleSymbol ?? ''; + message.oracleProvider = object.oracleProvider ?? ''; + message.oracleType = object.oracleType ?? 0; + message.oracleScaleFactor = object.oracleScaleFactor ?? 0; + message.expirationTimestamp = + object.expirationTimestamp !== undefined && object.expirationTimestamp !== null + ? BigInt(object.expirationTimestamp.toString()) + : BigInt(0); + message.settlementTimestamp = + object.settlementTimestamp !== undefined && object.settlementTimestamp !== null + ? BigInt(object.settlementTimestamp.toString()) + : BigInt(0); + message.admin = object.admin ?? ''; + message.quoteDenom = object.quoteDenom ?? ''; + message.marketId = object.marketId ?? ''; + message.makerFeeRate = object.makerFeeRate ?? ''; + message.takerFeeRate = object.takerFeeRate ?? ''; + message.relayerFeeShareRate = object.relayerFeeShareRate ?? ''; + message.status = object.status ?? 0; + message.minPriceTickSize = object.minPriceTickSize ?? ''; + message.minQuantityTickSize = object.minQuantityTickSize ?? ''; + message.settlementPrice = object.settlementPrice ?? undefined; + message.minNotional = object.minNotional ?? ''; + message.adminPermissions = object.adminPermissions ?? 0; + return message; + }, + fromAmino(object: BinaryOptionsMarketAmino): BinaryOptionsMarket { + const message = createBaseBinaryOptionsMarket(); + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.oracle_symbol !== undefined && object.oracle_symbol !== null) { + message.oracleSymbol = object.oracle_symbol; + } + if (object.oracle_provider !== undefined && object.oracle_provider !== null) { + message.oracleProvider = object.oracle_provider; + } + if (object.oracle_type !== undefined && object.oracle_type !== null) { + message.oracleType = object.oracle_type; + } + if (object.oracle_scale_factor !== undefined && object.oracle_scale_factor !== null) { + message.oracleScaleFactor = object.oracle_scale_factor; + } + if (object.expiration_timestamp !== undefined && object.expiration_timestamp !== null) { + message.expirationTimestamp = BigInt(object.expiration_timestamp); + } + if (object.settlement_timestamp !== undefined && object.settlement_timestamp !== null) { + message.settlementTimestamp = BigInt(object.settlement_timestamp); + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.quote_denom !== undefined && object.quote_denom !== null) { + message.quoteDenom = object.quote_denom; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.relayer_fee_share_rate !== undefined && object.relayer_fee_share_rate !== null) { + message.relayerFeeShareRate = object.relayer_fee_share_rate; + } + if (object.status !== undefined && object.status !== null) { + message.status = object.status; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.settlement_price !== undefined && object.settlement_price !== null) { + message.settlementPrice = object.settlement_price; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + if (object.admin_permissions !== undefined && object.admin_permissions !== null) { + message.adminPermissions = object.admin_permissions; + } + return message; + }, + toAmino(message: BinaryOptionsMarket): BinaryOptionsMarketAmino { + const obj: any = {}; + obj.ticker = message.ticker === '' ? undefined : message.ticker; + obj.oracle_symbol = message.oracleSymbol === '' ? undefined : message.oracleSymbol; + obj.oracle_provider = message.oracleProvider === '' ? undefined : message.oracleProvider; + obj.oracle_type = message.oracleType === 0 ? undefined : message.oracleType; + obj.oracle_scale_factor = message.oracleScaleFactor === 0 ? undefined : message.oracleScaleFactor; + obj.expiration_timestamp = + message.expirationTimestamp !== BigInt(0) ? (message.expirationTimestamp?.toString)() : undefined; + obj.settlement_timestamp = + message.settlementTimestamp !== BigInt(0) ? (message.settlementTimestamp?.toString)() : undefined; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.quote_denom = message.quoteDenom === '' ? undefined : message.quoteDenom; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.maker_fee_rate = message.makerFeeRate === '' ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === '' ? undefined : message.takerFeeRate; + obj.relayer_fee_share_rate = message.relayerFeeShareRate === '' ? undefined : message.relayerFeeShareRate; + obj.status = message.status === 0 ? undefined : message.status; + obj.min_price_tick_size = message.minPriceTickSize === '' ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === '' ? undefined : message.minQuantityTickSize; + obj.settlement_price = message.settlementPrice === null ? undefined : message.settlementPrice; + obj.min_notional = message.minNotional === '' ? undefined : message.minNotional; + obj.admin_permissions = message.adminPermissions === 0 ? undefined : message.adminPermissions; + return obj; + }, + fromAminoMsg(object: BinaryOptionsMarketAminoMsg): BinaryOptionsMarket { + return BinaryOptionsMarket.fromAmino(object.value); + }, + fromProtoMsg(message: BinaryOptionsMarketProtoMsg): BinaryOptionsMarket { + return BinaryOptionsMarket.decode(message.value); + }, + toProto(message: BinaryOptionsMarket): Uint8Array { + return BinaryOptionsMarket.encode(message).finish(); + }, + toProtoMsg(message: BinaryOptionsMarket): BinaryOptionsMarketProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarket', + value: BinaryOptionsMarket.encode(message).finish(), + }; + }, +}; +function createBaseExpiryFuturesMarketInfo(): ExpiryFuturesMarketInfo { + return { + marketId: '', + expirationTimestamp: BigInt(0), + twapStartTimestamp: BigInt(0), + expirationTwapStartPriceCumulative: '', + settlementPrice: '', + }; +} +export const ExpiryFuturesMarketInfo = { + typeUrl: '/injective.exchange.v1beta1.ExpiryFuturesMarketInfo', + encode(message: ExpiryFuturesMarketInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.marketId !== '') { + writer.uint32(10).string(message.marketId); + } + if (message.expirationTimestamp !== BigInt(0)) { + writer.uint32(16).int64(message.expirationTimestamp); + } + if (message.twapStartTimestamp !== BigInt(0)) { + writer.uint32(24).int64(message.twapStartTimestamp); + } + if (message.expirationTwapStartPriceCumulative !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.expirationTwapStartPriceCumulative, 18).atomics); + } + if (message.settlementPrice !== '') { + writer.uint32(42).string(Decimal.fromUserInput(message.settlementPrice, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ExpiryFuturesMarketInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExpiryFuturesMarketInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.marketId = reader.string(); + break; + case 2: + message.expirationTimestamp = reader.int64(); + break; + case 3: + message.twapStartTimestamp = reader.int64(); + break; + case 4: + message.expirationTwapStartPriceCumulative = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.settlementPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ExpiryFuturesMarketInfo { + const message = createBaseExpiryFuturesMarketInfo(); + message.marketId = object.marketId ?? ''; + message.expirationTimestamp = + object.expirationTimestamp !== undefined && object.expirationTimestamp !== null + ? BigInt(object.expirationTimestamp.toString()) + : BigInt(0); + message.twapStartTimestamp = + object.twapStartTimestamp !== undefined && object.twapStartTimestamp !== null + ? BigInt(object.twapStartTimestamp.toString()) + : BigInt(0); + message.expirationTwapStartPriceCumulative = object.expirationTwapStartPriceCumulative ?? ''; + message.settlementPrice = object.settlementPrice ?? ''; + return message; + }, + fromAmino(object: ExpiryFuturesMarketInfoAmino): ExpiryFuturesMarketInfo { + const message = createBaseExpiryFuturesMarketInfo(); + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.expiration_timestamp !== undefined && object.expiration_timestamp !== null) { + message.expirationTimestamp = BigInt(object.expiration_timestamp); + } + if (object.twap_start_timestamp !== undefined && object.twap_start_timestamp !== null) { + message.twapStartTimestamp = BigInt(object.twap_start_timestamp); + } + if ( + object.expiration_twap_start_price_cumulative !== undefined && + object.expiration_twap_start_price_cumulative !== null + ) { + message.expirationTwapStartPriceCumulative = object.expiration_twap_start_price_cumulative; + } + if (object.settlement_price !== undefined && object.settlement_price !== null) { + message.settlementPrice = object.settlement_price; + } + return message; + }, + toAmino(message: ExpiryFuturesMarketInfo): ExpiryFuturesMarketInfoAmino { + const obj: any = {}; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.expiration_timestamp = + message.expirationTimestamp !== BigInt(0) ? (message.expirationTimestamp?.toString)() : undefined; + obj.twap_start_timestamp = + message.twapStartTimestamp !== BigInt(0) ? (message.twapStartTimestamp?.toString)() : undefined; + obj.expiration_twap_start_price_cumulative = + message.expirationTwapStartPriceCumulative === '' ? undefined : message.expirationTwapStartPriceCumulative; + obj.settlement_price = message.settlementPrice === '' ? undefined : message.settlementPrice; + return obj; + }, + fromAminoMsg(object: ExpiryFuturesMarketInfoAminoMsg): ExpiryFuturesMarketInfo { + return ExpiryFuturesMarketInfo.fromAmino(object.value); + }, + fromProtoMsg(message: ExpiryFuturesMarketInfoProtoMsg): ExpiryFuturesMarketInfo { + return ExpiryFuturesMarketInfo.decode(message.value); + }, + toProto(message: ExpiryFuturesMarketInfo): Uint8Array { + return ExpiryFuturesMarketInfo.encode(message).finish(); + }, + toProtoMsg(message: ExpiryFuturesMarketInfo): ExpiryFuturesMarketInfoProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.ExpiryFuturesMarketInfo', + value: ExpiryFuturesMarketInfo.encode(message).finish(), + }; + }, +}; +function createBasePerpetualMarketInfo(): PerpetualMarketInfo { + return { + marketId: '', + hourlyFundingRateCap: '', + hourlyInterestRate: '', + nextFundingTimestamp: BigInt(0), + fundingInterval: BigInt(0), + }; +} +export const PerpetualMarketInfo = { + typeUrl: '/injective.exchange.v1beta1.PerpetualMarketInfo', + encode(message: PerpetualMarketInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.marketId !== '') { + writer.uint32(10).string(message.marketId); + } + if (message.hourlyFundingRateCap !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.hourlyFundingRateCap, 18).atomics); + } + if (message.hourlyInterestRate !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.hourlyInterestRate, 18).atomics); + } + if (message.nextFundingTimestamp !== BigInt(0)) { + writer.uint32(32).int64(message.nextFundingTimestamp); + } + if (message.fundingInterval !== BigInt(0)) { + writer.uint32(40).int64(message.fundingInterval); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PerpetualMarketInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePerpetualMarketInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.marketId = reader.string(); + break; + case 2: + message.hourlyFundingRateCap = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.hourlyInterestRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.nextFundingTimestamp = reader.int64(); + break; + case 5: + message.fundingInterval = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PerpetualMarketInfo { + const message = createBasePerpetualMarketInfo(); + message.marketId = object.marketId ?? ''; + message.hourlyFundingRateCap = object.hourlyFundingRateCap ?? ''; + message.hourlyInterestRate = object.hourlyInterestRate ?? ''; + message.nextFundingTimestamp = + object.nextFundingTimestamp !== undefined && object.nextFundingTimestamp !== null + ? BigInt(object.nextFundingTimestamp.toString()) + : BigInt(0); + message.fundingInterval = + object.fundingInterval !== undefined && object.fundingInterval !== null + ? BigInt(object.fundingInterval.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: PerpetualMarketInfoAmino): PerpetualMarketInfo { + const message = createBasePerpetualMarketInfo(); + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.hourly_funding_rate_cap !== undefined && object.hourly_funding_rate_cap !== null) { + message.hourlyFundingRateCap = object.hourly_funding_rate_cap; + } + if (object.hourly_interest_rate !== undefined && object.hourly_interest_rate !== null) { + message.hourlyInterestRate = object.hourly_interest_rate; + } + if (object.next_funding_timestamp !== undefined && object.next_funding_timestamp !== null) { + message.nextFundingTimestamp = BigInt(object.next_funding_timestamp); + } + if (object.funding_interval !== undefined && object.funding_interval !== null) { + message.fundingInterval = BigInt(object.funding_interval); + } + return message; + }, + toAmino(message: PerpetualMarketInfo): PerpetualMarketInfoAmino { + const obj: any = {}; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.hourly_funding_rate_cap = message.hourlyFundingRateCap === '' ? undefined : message.hourlyFundingRateCap; + obj.hourly_interest_rate = message.hourlyInterestRate === '' ? undefined : message.hourlyInterestRate; + obj.next_funding_timestamp = + message.nextFundingTimestamp !== BigInt(0) ? (message.nextFundingTimestamp?.toString)() : undefined; + obj.funding_interval = message.fundingInterval !== BigInt(0) ? (message.fundingInterval?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: PerpetualMarketInfoAminoMsg): PerpetualMarketInfo { + return PerpetualMarketInfo.fromAmino(object.value); + }, + fromProtoMsg(message: PerpetualMarketInfoProtoMsg): PerpetualMarketInfo { + return PerpetualMarketInfo.decode(message.value); + }, + toProto(message: PerpetualMarketInfo): Uint8Array { + return PerpetualMarketInfo.encode(message).finish(); + }, + toProtoMsg(message: PerpetualMarketInfo): PerpetualMarketInfoProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.PerpetualMarketInfo', + value: PerpetualMarketInfo.encode(message).finish(), + }; + }, +}; +function createBasePerpetualMarketFunding(): PerpetualMarketFunding { + return { + cumulativeFunding: '', + cumulativePrice: '', + lastTimestamp: BigInt(0), + }; +} +export const PerpetualMarketFunding = { + typeUrl: '/injective.exchange.v1beta1.PerpetualMarketFunding', + encode(message: PerpetualMarketFunding, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.cumulativeFunding !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.cumulativeFunding, 18).atomics); + } + if (message.cumulativePrice !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.cumulativePrice, 18).atomics); + } + if (message.lastTimestamp !== BigInt(0)) { + writer.uint32(24).int64(message.lastTimestamp); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PerpetualMarketFunding { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePerpetualMarketFunding(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.cumulativeFunding = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.cumulativePrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.lastTimestamp = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PerpetualMarketFunding { + const message = createBasePerpetualMarketFunding(); + message.cumulativeFunding = object.cumulativeFunding ?? ''; + message.cumulativePrice = object.cumulativePrice ?? ''; + message.lastTimestamp = + object.lastTimestamp !== undefined && object.lastTimestamp !== null + ? BigInt(object.lastTimestamp.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: PerpetualMarketFundingAmino): PerpetualMarketFunding { + const message = createBasePerpetualMarketFunding(); + if (object.cumulative_funding !== undefined && object.cumulative_funding !== null) { + message.cumulativeFunding = object.cumulative_funding; + } + if (object.cumulative_price !== undefined && object.cumulative_price !== null) { + message.cumulativePrice = object.cumulative_price; + } + if (object.last_timestamp !== undefined && object.last_timestamp !== null) { + message.lastTimestamp = BigInt(object.last_timestamp); + } + return message; + }, + toAmino(message: PerpetualMarketFunding): PerpetualMarketFundingAmino { + const obj: any = {}; + obj.cumulative_funding = message.cumulativeFunding === '' ? undefined : message.cumulativeFunding; + obj.cumulative_price = message.cumulativePrice === '' ? undefined : message.cumulativePrice; + obj.last_timestamp = message.lastTimestamp !== BigInt(0) ? (message.lastTimestamp?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: PerpetualMarketFundingAminoMsg): PerpetualMarketFunding { + return PerpetualMarketFunding.fromAmino(object.value); + }, + fromProtoMsg(message: PerpetualMarketFundingProtoMsg): PerpetualMarketFunding { + return PerpetualMarketFunding.decode(message.value); + }, + toProto(message: PerpetualMarketFunding): Uint8Array { + return PerpetualMarketFunding.encode(message).finish(); + }, + toProtoMsg(message: PerpetualMarketFunding): PerpetualMarketFundingProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.PerpetualMarketFunding', + value: PerpetualMarketFunding.encode(message).finish(), + }; + }, +}; +function createBaseDerivativeMarketSettlementInfo(): DerivativeMarketSettlementInfo { + return { + marketId: '', + settlementPrice: '', + }; +} +export const DerivativeMarketSettlementInfo = { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketSettlementInfo', + encode(message: DerivativeMarketSettlementInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.marketId !== '') { + writer.uint32(10).string(message.marketId); + } + if (message.settlementPrice !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.settlementPrice, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DerivativeMarketSettlementInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDerivativeMarketSettlementInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.marketId = reader.string(); + break; + case 2: + message.settlementPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DerivativeMarketSettlementInfo { + const message = createBaseDerivativeMarketSettlementInfo(); + message.marketId = object.marketId ?? ''; + message.settlementPrice = object.settlementPrice ?? ''; + return message; + }, + fromAmino(object: DerivativeMarketSettlementInfoAmino): DerivativeMarketSettlementInfo { + const message = createBaseDerivativeMarketSettlementInfo(); + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.settlement_price !== undefined && object.settlement_price !== null) { + message.settlementPrice = object.settlement_price; + } + return message; + }, + toAmino(message: DerivativeMarketSettlementInfo): DerivativeMarketSettlementInfoAmino { + const obj: any = {}; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.settlement_price = message.settlementPrice === '' ? undefined : message.settlementPrice; + return obj; + }, + fromAminoMsg(object: DerivativeMarketSettlementInfoAminoMsg): DerivativeMarketSettlementInfo { + return DerivativeMarketSettlementInfo.fromAmino(object.value); + }, + fromProtoMsg(message: DerivativeMarketSettlementInfoProtoMsg): DerivativeMarketSettlementInfo { + return DerivativeMarketSettlementInfo.decode(message.value); + }, + toProto(message: DerivativeMarketSettlementInfo): Uint8Array { + return DerivativeMarketSettlementInfo.encode(message).finish(); + }, + toProtoMsg(message: DerivativeMarketSettlementInfo): DerivativeMarketSettlementInfoProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketSettlementInfo', + value: DerivativeMarketSettlementInfo.encode(message).finish(), + }; + }, +}; +function createBaseNextFundingTimestamp(): NextFundingTimestamp { + return { + nextTimestamp: BigInt(0), + }; +} +export const NextFundingTimestamp = { + typeUrl: '/injective.exchange.v1beta1.NextFundingTimestamp', + encode(message: NextFundingTimestamp, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.nextTimestamp !== BigInt(0)) { + writer.uint32(8).int64(message.nextTimestamp); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): NextFundingTimestamp { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseNextFundingTimestamp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.nextTimestamp = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): NextFundingTimestamp { + const message = createBaseNextFundingTimestamp(); + message.nextTimestamp = + object.nextTimestamp !== undefined && object.nextTimestamp !== null + ? BigInt(object.nextTimestamp.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: NextFundingTimestampAmino): NextFundingTimestamp { + const message = createBaseNextFundingTimestamp(); + if (object.next_timestamp !== undefined && object.next_timestamp !== null) { + message.nextTimestamp = BigInt(object.next_timestamp); + } + return message; + }, + toAmino(message: NextFundingTimestamp): NextFundingTimestampAmino { + const obj: any = {}; + obj.next_timestamp = message.nextTimestamp !== BigInt(0) ? (message.nextTimestamp?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: NextFundingTimestampAminoMsg): NextFundingTimestamp { + return NextFundingTimestamp.fromAmino(object.value); + }, + fromProtoMsg(message: NextFundingTimestampProtoMsg): NextFundingTimestamp { + return NextFundingTimestamp.decode(message.value); + }, + toProto(message: NextFundingTimestamp): Uint8Array { + return NextFundingTimestamp.encode(message).finish(); + }, + toProtoMsg(message: NextFundingTimestamp): NextFundingTimestampProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.NextFundingTimestamp', + value: NextFundingTimestamp.encode(message).finish(), + }; + }, +}; +function createBaseMidPriceAndTOB(): MidPriceAndTOB { + return { + midPrice: undefined, + bestBuyPrice: undefined, + bestSellPrice: undefined, + }; +} +export const MidPriceAndTOB = { + typeUrl: '/injective.exchange.v1beta1.MidPriceAndTOB', + encode(message: MidPriceAndTOB, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.midPrice !== undefined) { + writer.uint32(10).string(Decimal.fromUserInput(message.midPrice, 18).atomics); + } + if (message.bestBuyPrice !== undefined) { + writer.uint32(18).string(Decimal.fromUserInput(message.bestBuyPrice, 18).atomics); + } + if (message.bestSellPrice !== undefined) { + writer.uint32(26).string(Decimal.fromUserInput(message.bestSellPrice, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MidPriceAndTOB { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMidPriceAndTOB(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.midPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.bestBuyPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.bestSellPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MidPriceAndTOB { + const message = createBaseMidPriceAndTOB(); + message.midPrice = object.midPrice ?? undefined; + message.bestBuyPrice = object.bestBuyPrice ?? undefined; + message.bestSellPrice = object.bestSellPrice ?? undefined; + return message; + }, + fromAmino(object: MidPriceAndTOBAmino): MidPriceAndTOB { + const message = createBaseMidPriceAndTOB(); + if (object.mid_price !== undefined && object.mid_price !== null) { + message.midPrice = object.mid_price; + } + if (object.best_buy_price !== undefined && object.best_buy_price !== null) { + message.bestBuyPrice = object.best_buy_price; + } + if (object.best_sell_price !== undefined && object.best_sell_price !== null) { + message.bestSellPrice = object.best_sell_price; + } + return message; + }, + toAmino(message: MidPriceAndTOB): MidPriceAndTOBAmino { + const obj: any = {}; + obj.mid_price = message.midPrice === null ? undefined : message.midPrice; + obj.best_buy_price = message.bestBuyPrice === null ? undefined : message.bestBuyPrice; + obj.best_sell_price = message.bestSellPrice === null ? undefined : message.bestSellPrice; + return obj; + }, + fromAminoMsg(object: MidPriceAndTOBAminoMsg): MidPriceAndTOB { + return MidPriceAndTOB.fromAmino(object.value); + }, + fromProtoMsg(message: MidPriceAndTOBProtoMsg): MidPriceAndTOB { + return MidPriceAndTOB.decode(message.value); + }, + toProto(message: MidPriceAndTOB): Uint8Array { + return MidPriceAndTOB.encode(message).finish(); + }, + toProtoMsg(message: MidPriceAndTOB): MidPriceAndTOBProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MidPriceAndTOB', + value: MidPriceAndTOB.encode(message).finish(), + }; + }, +}; +function createBaseSpotMarket(): SpotMarket { + return { + ticker: '', + baseDenom: '', + quoteDenom: '', + makerFeeRate: '', + takerFeeRate: '', + relayerFeeShareRate: '', + marketId: '', + status: 0, + minPriceTickSize: '', + minQuantityTickSize: '', + minNotional: '', + admin: '', + adminPermissions: 0, + }; +} +export const SpotMarket = { + typeUrl: '/injective.exchange.v1beta1.SpotMarket', + encode(message: SpotMarket, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.ticker !== '') { + writer.uint32(10).string(message.ticker); + } + if (message.baseDenom !== '') { + writer.uint32(18).string(message.baseDenom); + } + if (message.quoteDenom !== '') { + writer.uint32(26).string(message.quoteDenom); + } + if (message.makerFeeRate !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== '') { + writer.uint32(42).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.relayerFeeShareRate !== '') { + writer.uint32(50).string(Decimal.fromUserInput(message.relayerFeeShareRate, 18).atomics); + } + if (message.marketId !== '') { + writer.uint32(58).string(message.marketId); + } + if (message.status !== 0) { + writer.uint32(64).int32(message.status); + } + if (message.minPriceTickSize !== '') { + writer.uint32(74).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== '') { + writer.uint32(82).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.minNotional !== '') { + writer.uint32(90).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + if (message.admin !== '') { + writer.uint32(98).string(message.admin); + } + if (message.adminPermissions !== 0) { + writer.uint32(104).uint32(message.adminPermissions); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SpotMarket { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSpotMarket(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.ticker = reader.string(); + break; + case 2: + message.baseDenom = reader.string(); + break; + case 3: + message.quoteDenom = reader.string(); + break; + case 4: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 6: + message.relayerFeeShareRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 7: + message.marketId = reader.string(); + break; + case 8: + message.status = reader.int32() as any; + break; + case 9: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 10: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 11: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 12: + message.admin = reader.string(); + break; + case 13: + message.adminPermissions = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SpotMarket { + const message = createBaseSpotMarket(); + message.ticker = object.ticker ?? ''; + message.baseDenom = object.baseDenom ?? ''; + message.quoteDenom = object.quoteDenom ?? ''; + message.makerFeeRate = object.makerFeeRate ?? ''; + message.takerFeeRate = object.takerFeeRate ?? ''; + message.relayerFeeShareRate = object.relayerFeeShareRate ?? ''; + message.marketId = object.marketId ?? ''; + message.status = object.status ?? 0; + message.minPriceTickSize = object.minPriceTickSize ?? ''; + message.minQuantityTickSize = object.minQuantityTickSize ?? ''; + message.minNotional = object.minNotional ?? ''; + message.admin = object.admin ?? ''; + message.adminPermissions = object.adminPermissions ?? 0; + return message; + }, + fromAmino(object: SpotMarketAmino): SpotMarket { + const message = createBaseSpotMarket(); + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.base_denom !== undefined && object.base_denom !== null) { + message.baseDenom = object.base_denom; + } + if (object.quote_denom !== undefined && object.quote_denom !== null) { + message.quoteDenom = object.quote_denom; + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.relayer_fee_share_rate !== undefined && object.relayer_fee_share_rate !== null) { + message.relayerFeeShareRate = object.relayer_fee_share_rate; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.status !== undefined && object.status !== null) { + message.status = object.status; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.admin_permissions !== undefined && object.admin_permissions !== null) { + message.adminPermissions = object.admin_permissions; + } + return message; + }, + toAmino(message: SpotMarket): SpotMarketAmino { + const obj: any = {}; + obj.ticker = message.ticker === '' ? undefined : message.ticker; + obj.base_denom = message.baseDenom === '' ? undefined : message.baseDenom; + obj.quote_denom = message.quoteDenom === '' ? undefined : message.quoteDenom; + obj.maker_fee_rate = message.makerFeeRate === '' ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === '' ? undefined : message.takerFeeRate; + obj.relayer_fee_share_rate = message.relayerFeeShareRate === '' ? undefined : message.relayerFeeShareRate; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.status = message.status === 0 ? undefined : message.status; + obj.min_price_tick_size = message.minPriceTickSize === '' ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === '' ? undefined : message.minQuantityTickSize; + obj.min_notional = message.minNotional === '' ? undefined : message.minNotional; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.admin_permissions = message.adminPermissions === 0 ? undefined : message.adminPermissions; + return obj; + }, + fromAminoMsg(object: SpotMarketAminoMsg): SpotMarket { + return SpotMarket.fromAmino(object.value); + }, + fromProtoMsg(message: SpotMarketProtoMsg): SpotMarket { + return SpotMarket.decode(message.value); + }, + toProto(message: SpotMarket): Uint8Array { + return SpotMarket.encode(message).finish(); + }, + toProtoMsg(message: SpotMarket): SpotMarketProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SpotMarket', + value: SpotMarket.encode(message).finish(), + }; + }, +}; +function createBaseDeposit(): Deposit { + return { + availableBalance: '', + totalBalance: '', + }; +} +export const Deposit = { + typeUrl: '/injective.exchange.v1beta1.Deposit', + encode(message: Deposit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.availableBalance !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.availableBalance, 18).atomics); + } + if (message.totalBalance !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.totalBalance, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Deposit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.availableBalance = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.totalBalance = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Deposit { + const message = createBaseDeposit(); + message.availableBalance = object.availableBalance ?? ''; + message.totalBalance = object.totalBalance ?? ''; + return message; + }, + fromAmino(object: DepositAmino): Deposit { + const message = createBaseDeposit(); + if (object.available_balance !== undefined && object.available_balance !== null) { + message.availableBalance = object.available_balance; + } + if (object.total_balance !== undefined && object.total_balance !== null) { + message.totalBalance = object.total_balance; + } + return message; + }, + toAmino(message: Deposit): DepositAmino { + const obj: any = {}; + obj.available_balance = message.availableBalance === '' ? undefined : message.availableBalance; + obj.total_balance = message.totalBalance === '' ? undefined : message.totalBalance; + return obj; + }, + fromAminoMsg(object: DepositAminoMsg): Deposit { + return Deposit.fromAmino(object.value); + }, + fromProtoMsg(message: DepositProtoMsg): Deposit { + return Deposit.decode(message.value); + }, + toProto(message: Deposit): Uint8Array { + return Deposit.encode(message).finish(); + }, + toProtoMsg(message: Deposit): DepositProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.Deposit', + value: Deposit.encode(message).finish(), + }; + }, +}; +function createBaseSubaccountTradeNonce(): SubaccountTradeNonce { + return { + nonce: 0, + }; +} +export const SubaccountTradeNonce = { + typeUrl: '/injective.exchange.v1beta1.SubaccountTradeNonce', + encode(message: SubaccountTradeNonce, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.nonce !== 0) { + writer.uint32(8).uint32(message.nonce); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SubaccountTradeNonce { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSubaccountTradeNonce(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.nonce = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SubaccountTradeNonce { + const message = createBaseSubaccountTradeNonce(); + message.nonce = object.nonce ?? 0; + return message; + }, + fromAmino(object: SubaccountTradeNonceAmino): SubaccountTradeNonce { + const message = createBaseSubaccountTradeNonce(); + if (object.nonce !== undefined && object.nonce !== null) { + message.nonce = object.nonce; + } + return message; + }, + toAmino(message: SubaccountTradeNonce): SubaccountTradeNonceAmino { + const obj: any = {}; + obj.nonce = message.nonce === 0 ? undefined : message.nonce; + return obj; + }, + fromAminoMsg(object: SubaccountTradeNonceAminoMsg): SubaccountTradeNonce { + return SubaccountTradeNonce.fromAmino(object.value); + }, + fromProtoMsg(message: SubaccountTradeNonceProtoMsg): SubaccountTradeNonce { + return SubaccountTradeNonce.decode(message.value); + }, + toProto(message: SubaccountTradeNonce): Uint8Array { + return SubaccountTradeNonce.encode(message).finish(); + }, + toProtoMsg(message: SubaccountTradeNonce): SubaccountTradeNonceProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SubaccountTradeNonce', + value: SubaccountTradeNonce.encode(message).finish(), + }; + }, +}; +function createBaseOrderInfo(): OrderInfo { + return { + subaccountId: '', + feeRecipient: '', + price: '', + quantity: '', + cid: '', + }; +} +export const OrderInfo = { + typeUrl: '/injective.exchange.v1beta1.OrderInfo', + encode(message: OrderInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.subaccountId !== '') { + writer.uint32(10).string(message.subaccountId); + } + if (message.feeRecipient !== '') { + writer.uint32(18).string(message.feeRecipient); + } + if (message.price !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.price, 18).atomics); + } + if (message.quantity !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.quantity, 18).atomics); + } + if (message.cid !== '') { + writer.uint32(42).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): OrderInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOrderInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.subaccountId = reader.string(); + break; + case 2: + message.feeRecipient = reader.string(); + break; + case 3: + message.price = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.quantity = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): OrderInfo { + const message = createBaseOrderInfo(); + message.subaccountId = object.subaccountId ?? ''; + message.feeRecipient = object.feeRecipient ?? ''; + message.price = object.price ?? ''; + message.quantity = object.quantity ?? ''; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: OrderInfoAmino): OrderInfo { + const message = createBaseOrderInfo(); + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = object.subaccount_id; + } + if (object.fee_recipient !== undefined && object.fee_recipient !== null) { + message.feeRecipient = object.fee_recipient; + } + if (object.price !== undefined && object.price !== null) { + message.price = object.price; + } + if (object.quantity !== undefined && object.quantity !== null) { + message.quantity = object.quantity; + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: OrderInfo): OrderInfoAmino { + const obj: any = {}; + obj.subaccount_id = message.subaccountId === '' ? undefined : message.subaccountId; + obj.fee_recipient = message.feeRecipient === '' ? undefined : message.feeRecipient; + obj.price = message.price === '' ? undefined : message.price; + obj.quantity = message.quantity === '' ? undefined : message.quantity; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: OrderInfoAminoMsg): OrderInfo { + return OrderInfo.fromAmino(object.value); + }, + fromProtoMsg(message: OrderInfoProtoMsg): OrderInfo { + return OrderInfo.decode(message.value); + }, + toProto(message: OrderInfo): Uint8Array { + return OrderInfo.encode(message).finish(); + }, + toProtoMsg(message: OrderInfo): OrderInfoProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.OrderInfo', + value: OrderInfo.encode(message).finish(), + }; + }, +}; +function createBaseSpotOrder(): SpotOrder { + return { + marketId: '', + orderInfo: OrderInfo.fromPartial({}), + orderType: 0, + triggerPrice: undefined, + }; +} +export const SpotOrder = { + typeUrl: '/injective.exchange.v1beta1.SpotOrder', + encode(message: SpotOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.marketId !== '') { + writer.uint32(10).string(message.marketId); + } + if (message.orderInfo !== undefined) { + OrderInfo.encode(message.orderInfo, writer.uint32(18).fork()).ldelim(); + } + if (message.orderType !== 0) { + writer.uint32(24).int32(message.orderType); + } + if (message.triggerPrice !== undefined) { + writer.uint32(34).string(Decimal.fromUserInput(message.triggerPrice, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SpotOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSpotOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.marketId = reader.string(); + break; + case 2: + message.orderInfo = OrderInfo.decode(reader, reader.uint32()); + break; + case 3: + message.orderType = reader.int32() as any; + break; + case 4: + message.triggerPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SpotOrder { + const message = createBaseSpotOrder(); + message.marketId = object.marketId ?? ''; + message.orderInfo = + object.orderInfo !== undefined && object.orderInfo !== null ? OrderInfo.fromPartial(object.orderInfo) : undefined; + message.orderType = object.orderType ?? 0; + message.triggerPrice = object.triggerPrice ?? undefined; + return message; + }, + fromAmino(object: SpotOrderAmino): SpotOrder { + const message = createBaseSpotOrder(); + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.order_info !== undefined && object.order_info !== null) { + message.orderInfo = OrderInfo.fromAmino(object.order_info); + } + if (object.order_type !== undefined && object.order_type !== null) { + message.orderType = object.order_type; + } + if (object.trigger_price !== undefined && object.trigger_price !== null) { + message.triggerPrice = object.trigger_price; + } + return message; + }, + toAmino(message: SpotOrder): SpotOrderAmino { + const obj: any = {}; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.order_info = message.orderInfo ? OrderInfo.toAmino(message.orderInfo) : undefined; + obj.order_type = message.orderType === 0 ? undefined : message.orderType; + obj.trigger_price = message.triggerPrice === null ? undefined : message.triggerPrice; + return obj; + }, + fromAminoMsg(object: SpotOrderAminoMsg): SpotOrder { + return SpotOrder.fromAmino(object.value); + }, + fromProtoMsg(message: SpotOrderProtoMsg): SpotOrder { + return SpotOrder.decode(message.value); + }, + toProto(message: SpotOrder): Uint8Array { + return SpotOrder.encode(message).finish(); + }, + toProtoMsg(message: SpotOrder): SpotOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SpotOrder', + value: SpotOrder.encode(message).finish(), + }; + }, +}; +function createBaseSpotLimitOrder(): SpotLimitOrder { + return { + orderInfo: OrderInfo.fromPartial({}), + orderType: 0, + fillable: '', + triggerPrice: undefined, + orderHash: new Uint8Array(), + }; +} +export const SpotLimitOrder = { + typeUrl: '/injective.exchange.v1beta1.SpotLimitOrder', + encode(message: SpotLimitOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.orderInfo !== undefined) { + OrderInfo.encode(message.orderInfo, writer.uint32(10).fork()).ldelim(); + } + if (message.orderType !== 0) { + writer.uint32(16).int32(message.orderType); + } + if (message.fillable !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.fillable, 18).atomics); + } + if (message.triggerPrice !== undefined) { + writer.uint32(34).string(Decimal.fromUserInput(message.triggerPrice, 18).atomics); + } + if (message.orderHash.length !== 0) { + writer.uint32(42).bytes(message.orderHash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SpotLimitOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSpotLimitOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.orderInfo = OrderInfo.decode(reader, reader.uint32()); + break; + case 2: + message.orderType = reader.int32() as any; + break; + case 3: + message.fillable = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.triggerPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.orderHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SpotLimitOrder { + const message = createBaseSpotLimitOrder(); + message.orderInfo = + object.orderInfo !== undefined && object.orderInfo !== null ? OrderInfo.fromPartial(object.orderInfo) : undefined; + message.orderType = object.orderType ?? 0; + message.fillable = object.fillable ?? ''; + message.triggerPrice = object.triggerPrice ?? undefined; + message.orderHash = object.orderHash ?? new Uint8Array(); + return message; + }, + fromAmino(object: SpotLimitOrderAmino): SpotLimitOrder { + const message = createBaseSpotLimitOrder(); + if (object.order_info !== undefined && object.order_info !== null) { + message.orderInfo = OrderInfo.fromAmino(object.order_info); + } + if (object.order_type !== undefined && object.order_type !== null) { + message.orderType = object.order_type; + } + if (object.fillable !== undefined && object.fillable !== null) { + message.fillable = object.fillable; + } + if (object.trigger_price !== undefined && object.trigger_price !== null) { + message.triggerPrice = object.trigger_price; + } + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = bytesFromBase64(object.order_hash); + } + return message; + }, + toAmino(message: SpotLimitOrder): SpotLimitOrderAmino { + const obj: any = {}; + obj.order_info = message.orderInfo ? OrderInfo.toAmino(message.orderInfo) : undefined; + obj.order_type = message.orderType === 0 ? undefined : message.orderType; + obj.fillable = message.fillable === '' ? undefined : message.fillable; + obj.trigger_price = message.triggerPrice === null ? undefined : message.triggerPrice; + obj.order_hash = message.orderHash ? base64FromBytes(message.orderHash) : undefined; + return obj; + }, + fromAminoMsg(object: SpotLimitOrderAminoMsg): SpotLimitOrder { + return SpotLimitOrder.fromAmino(object.value); + }, + fromProtoMsg(message: SpotLimitOrderProtoMsg): SpotLimitOrder { + return SpotLimitOrder.decode(message.value); + }, + toProto(message: SpotLimitOrder): Uint8Array { + return SpotLimitOrder.encode(message).finish(); + }, + toProtoMsg(message: SpotLimitOrder): SpotLimitOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SpotLimitOrder', + value: SpotLimitOrder.encode(message).finish(), + }; + }, +}; +function createBaseSpotMarketOrder(): SpotMarketOrder { + return { + orderInfo: OrderInfo.fromPartial({}), + balanceHold: '', + orderHash: new Uint8Array(), + orderType: 0, + triggerPrice: undefined, + }; +} +export const SpotMarketOrder = { + typeUrl: '/injective.exchange.v1beta1.SpotMarketOrder', + encode(message: SpotMarketOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.orderInfo !== undefined) { + OrderInfo.encode(message.orderInfo, writer.uint32(10).fork()).ldelim(); + } + if (message.balanceHold !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.balanceHold, 18).atomics); + } + if (message.orderHash.length !== 0) { + writer.uint32(26).bytes(message.orderHash); + } + if (message.orderType !== 0) { + writer.uint32(32).int32(message.orderType); + } + if (message.triggerPrice !== undefined) { + writer.uint32(42).string(Decimal.fromUserInput(message.triggerPrice, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SpotMarketOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSpotMarketOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.orderInfo = OrderInfo.decode(reader, reader.uint32()); + break; + case 2: + message.balanceHold = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.orderHash = reader.bytes(); + break; + case 4: + message.orderType = reader.int32() as any; + break; + case 5: + message.triggerPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SpotMarketOrder { + const message = createBaseSpotMarketOrder(); + message.orderInfo = + object.orderInfo !== undefined && object.orderInfo !== null ? OrderInfo.fromPartial(object.orderInfo) : undefined; + message.balanceHold = object.balanceHold ?? ''; + message.orderHash = object.orderHash ?? new Uint8Array(); + message.orderType = object.orderType ?? 0; + message.triggerPrice = object.triggerPrice ?? undefined; + return message; + }, + fromAmino(object: SpotMarketOrderAmino): SpotMarketOrder { + const message = createBaseSpotMarketOrder(); + if (object.order_info !== undefined && object.order_info !== null) { + message.orderInfo = OrderInfo.fromAmino(object.order_info); + } + if (object.balance_hold !== undefined && object.balance_hold !== null) { + message.balanceHold = object.balance_hold; + } + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = bytesFromBase64(object.order_hash); + } + if (object.order_type !== undefined && object.order_type !== null) { + message.orderType = object.order_type; + } + if (object.trigger_price !== undefined && object.trigger_price !== null) { + message.triggerPrice = object.trigger_price; + } + return message; + }, + toAmino(message: SpotMarketOrder): SpotMarketOrderAmino { + const obj: any = {}; + obj.order_info = message.orderInfo ? OrderInfo.toAmino(message.orderInfo) : undefined; + obj.balance_hold = message.balanceHold === '' ? undefined : message.balanceHold; + obj.order_hash = message.orderHash ? base64FromBytes(message.orderHash) : undefined; + obj.order_type = message.orderType === 0 ? undefined : message.orderType; + obj.trigger_price = message.triggerPrice === null ? undefined : message.triggerPrice; + return obj; + }, + fromAminoMsg(object: SpotMarketOrderAminoMsg): SpotMarketOrder { + return SpotMarketOrder.fromAmino(object.value); + }, + fromProtoMsg(message: SpotMarketOrderProtoMsg): SpotMarketOrder { + return SpotMarketOrder.decode(message.value); + }, + toProto(message: SpotMarketOrder): Uint8Array { + return SpotMarketOrder.encode(message).finish(); + }, + toProtoMsg(message: SpotMarketOrder): SpotMarketOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SpotMarketOrder', + value: SpotMarketOrder.encode(message).finish(), + }; + }, +}; +function createBaseDerivativeOrder(): DerivativeOrder { + return { + marketId: '', + orderInfo: OrderInfo.fromPartial({}), + orderType: 0, + margin: '', + triggerPrice: undefined, + }; +} +export const DerivativeOrder = { + typeUrl: '/injective.exchange.v1beta1.DerivativeOrder', + encode(message: DerivativeOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.marketId !== '') { + writer.uint32(10).string(message.marketId); + } + if (message.orderInfo !== undefined) { + OrderInfo.encode(message.orderInfo, writer.uint32(18).fork()).ldelim(); + } + if (message.orderType !== 0) { + writer.uint32(24).int32(message.orderType); + } + if (message.margin !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.margin, 18).atomics); + } + if (message.triggerPrice !== undefined) { + writer.uint32(42).string(Decimal.fromUserInput(message.triggerPrice, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DerivativeOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDerivativeOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.marketId = reader.string(); + break; + case 2: + message.orderInfo = OrderInfo.decode(reader, reader.uint32()); + break; + case 3: + message.orderType = reader.int32() as any; + break; + case 4: + message.margin = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.triggerPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DerivativeOrder { + const message = createBaseDerivativeOrder(); + message.marketId = object.marketId ?? ''; + message.orderInfo = + object.orderInfo !== undefined && object.orderInfo !== null ? OrderInfo.fromPartial(object.orderInfo) : undefined; + message.orderType = object.orderType ?? 0; + message.margin = object.margin ?? ''; + message.triggerPrice = object.triggerPrice ?? undefined; + return message; + }, + fromAmino(object: DerivativeOrderAmino): DerivativeOrder { + const message = createBaseDerivativeOrder(); + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.order_info !== undefined && object.order_info !== null) { + message.orderInfo = OrderInfo.fromAmino(object.order_info); + } + if (object.order_type !== undefined && object.order_type !== null) { + message.orderType = object.order_type; + } + if (object.margin !== undefined && object.margin !== null) { + message.margin = object.margin; + } + if (object.trigger_price !== undefined && object.trigger_price !== null) { + message.triggerPrice = object.trigger_price; + } + return message; + }, + toAmino(message: DerivativeOrder): DerivativeOrderAmino { + const obj: any = {}; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.order_info = message.orderInfo ? OrderInfo.toAmino(message.orderInfo) : undefined; + obj.order_type = message.orderType === 0 ? undefined : message.orderType; + obj.margin = message.margin === '' ? undefined : message.margin; + obj.trigger_price = message.triggerPrice === null ? undefined : message.triggerPrice; + return obj; + }, + fromAminoMsg(object: DerivativeOrderAminoMsg): DerivativeOrder { + return DerivativeOrder.fromAmino(object.value); + }, + fromProtoMsg(message: DerivativeOrderProtoMsg): DerivativeOrder { + return DerivativeOrder.decode(message.value); + }, + toProto(message: DerivativeOrder): Uint8Array { + return DerivativeOrder.encode(message).finish(); + }, + toProtoMsg(message: DerivativeOrder): DerivativeOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.DerivativeOrder', + value: DerivativeOrder.encode(message).finish(), + }; + }, +}; +function createBaseSubaccountOrderbookMetadata(): SubaccountOrderbookMetadata { + return { + vanillaLimitOrderCount: 0, + reduceOnlyLimitOrderCount: 0, + aggregateReduceOnlyQuantity: '', + aggregateVanillaQuantity: '', + vanillaConditionalOrderCount: 0, + reduceOnlyConditionalOrderCount: 0, + }; +} +export const SubaccountOrderbookMetadata = { + typeUrl: '/injective.exchange.v1beta1.SubaccountOrderbookMetadata', + encode(message: SubaccountOrderbookMetadata, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.vanillaLimitOrderCount !== 0) { + writer.uint32(8).uint32(message.vanillaLimitOrderCount); + } + if (message.reduceOnlyLimitOrderCount !== 0) { + writer.uint32(16).uint32(message.reduceOnlyLimitOrderCount); + } + if (message.aggregateReduceOnlyQuantity !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.aggregateReduceOnlyQuantity, 18).atomics); + } + if (message.aggregateVanillaQuantity !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.aggregateVanillaQuantity, 18).atomics); + } + if (message.vanillaConditionalOrderCount !== 0) { + writer.uint32(40).uint32(message.vanillaConditionalOrderCount); + } + if (message.reduceOnlyConditionalOrderCount !== 0) { + writer.uint32(48).uint32(message.reduceOnlyConditionalOrderCount); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SubaccountOrderbookMetadata { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSubaccountOrderbookMetadata(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.vanillaLimitOrderCount = reader.uint32(); + break; + case 2: + message.reduceOnlyLimitOrderCount = reader.uint32(); + break; + case 3: + message.aggregateReduceOnlyQuantity = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.aggregateVanillaQuantity = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.vanillaConditionalOrderCount = reader.uint32(); + break; + case 6: + message.reduceOnlyConditionalOrderCount = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SubaccountOrderbookMetadata { + const message = createBaseSubaccountOrderbookMetadata(); + message.vanillaLimitOrderCount = object.vanillaLimitOrderCount ?? 0; + message.reduceOnlyLimitOrderCount = object.reduceOnlyLimitOrderCount ?? 0; + message.aggregateReduceOnlyQuantity = object.aggregateReduceOnlyQuantity ?? ''; + message.aggregateVanillaQuantity = object.aggregateVanillaQuantity ?? ''; + message.vanillaConditionalOrderCount = object.vanillaConditionalOrderCount ?? 0; + message.reduceOnlyConditionalOrderCount = object.reduceOnlyConditionalOrderCount ?? 0; + return message; + }, + fromAmino(object: SubaccountOrderbookMetadataAmino): SubaccountOrderbookMetadata { + const message = createBaseSubaccountOrderbookMetadata(); + if (object.vanilla_limit_order_count !== undefined && object.vanilla_limit_order_count !== null) { + message.vanillaLimitOrderCount = object.vanilla_limit_order_count; + } + if (object.reduce_only_limit_order_count !== undefined && object.reduce_only_limit_order_count !== null) { + message.reduceOnlyLimitOrderCount = object.reduce_only_limit_order_count; + } + if (object.aggregate_reduce_only_quantity !== undefined && object.aggregate_reduce_only_quantity !== null) { + message.aggregateReduceOnlyQuantity = object.aggregate_reduce_only_quantity; + } + if (object.aggregate_vanilla_quantity !== undefined && object.aggregate_vanilla_quantity !== null) { + message.aggregateVanillaQuantity = object.aggregate_vanilla_quantity; + } + if (object.vanilla_conditional_order_count !== undefined && object.vanilla_conditional_order_count !== null) { + message.vanillaConditionalOrderCount = object.vanilla_conditional_order_count; + } + if ( + object.reduce_only_conditional_order_count !== undefined && + object.reduce_only_conditional_order_count !== null + ) { + message.reduceOnlyConditionalOrderCount = object.reduce_only_conditional_order_count; + } + return message; + }, + toAmino(message: SubaccountOrderbookMetadata): SubaccountOrderbookMetadataAmino { + const obj: any = {}; + obj.vanilla_limit_order_count = message.vanillaLimitOrderCount === 0 ? undefined : message.vanillaLimitOrderCount; + obj.reduce_only_limit_order_count = + message.reduceOnlyLimitOrderCount === 0 ? undefined : message.reduceOnlyLimitOrderCount; + obj.aggregate_reduce_only_quantity = + message.aggregateReduceOnlyQuantity === '' ? undefined : message.aggregateReduceOnlyQuantity; + obj.aggregate_vanilla_quantity = + message.aggregateVanillaQuantity === '' ? undefined : message.aggregateVanillaQuantity; + obj.vanilla_conditional_order_count = + message.vanillaConditionalOrderCount === 0 ? undefined : message.vanillaConditionalOrderCount; + obj.reduce_only_conditional_order_count = + message.reduceOnlyConditionalOrderCount === 0 ? undefined : message.reduceOnlyConditionalOrderCount; + return obj; + }, + fromAminoMsg(object: SubaccountOrderbookMetadataAminoMsg): SubaccountOrderbookMetadata { + return SubaccountOrderbookMetadata.fromAmino(object.value); + }, + fromProtoMsg(message: SubaccountOrderbookMetadataProtoMsg): SubaccountOrderbookMetadata { + return SubaccountOrderbookMetadata.decode(message.value); + }, + toProto(message: SubaccountOrderbookMetadata): Uint8Array { + return SubaccountOrderbookMetadata.encode(message).finish(); + }, + toProtoMsg(message: SubaccountOrderbookMetadata): SubaccountOrderbookMetadataProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SubaccountOrderbookMetadata', + value: SubaccountOrderbookMetadata.encode(message).finish(), + }; + }, +}; +function createBaseSubaccountOrder(): SubaccountOrder { + return { + price: '', + quantity: '', + isReduceOnly: false, + cid: '', + }; +} +export const SubaccountOrder = { + typeUrl: '/injective.exchange.v1beta1.SubaccountOrder', + encode(message: SubaccountOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.price !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.price, 18).atomics); + } + if (message.quantity !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.quantity, 18).atomics); + } + if (message.isReduceOnly === true) { + writer.uint32(24).bool(message.isReduceOnly); + } + if (message.cid !== '') { + writer.uint32(34).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SubaccountOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSubaccountOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.price = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.quantity = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.isReduceOnly = reader.bool(); + break; + case 4: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SubaccountOrder { + const message = createBaseSubaccountOrder(); + message.price = object.price ?? ''; + message.quantity = object.quantity ?? ''; + message.isReduceOnly = object.isReduceOnly ?? false; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: SubaccountOrderAmino): SubaccountOrder { + const message = createBaseSubaccountOrder(); + if (object.price !== undefined && object.price !== null) { + message.price = object.price; + } + if (object.quantity !== undefined && object.quantity !== null) { + message.quantity = object.quantity; + } + if (object.isReduceOnly !== undefined && object.isReduceOnly !== null) { + message.isReduceOnly = object.isReduceOnly; + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: SubaccountOrder): SubaccountOrderAmino { + const obj: any = {}; + obj.price = message.price === '' ? undefined : message.price; + obj.quantity = message.quantity === '' ? undefined : message.quantity; + obj.isReduceOnly = message.isReduceOnly === false ? undefined : message.isReduceOnly; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: SubaccountOrderAminoMsg): SubaccountOrder { + return SubaccountOrder.fromAmino(object.value); + }, + fromProtoMsg(message: SubaccountOrderProtoMsg): SubaccountOrder { + return SubaccountOrder.decode(message.value); + }, + toProto(message: SubaccountOrder): Uint8Array { + return SubaccountOrder.encode(message).finish(); + }, + toProtoMsg(message: SubaccountOrder): SubaccountOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SubaccountOrder', + value: SubaccountOrder.encode(message).finish(), + }; + }, +}; +function createBaseSubaccountOrderData(): SubaccountOrderData { + return { + order: undefined, + orderHash: new Uint8Array(), + }; +} +export const SubaccountOrderData = { + typeUrl: '/injective.exchange.v1beta1.SubaccountOrderData', + encode(message: SubaccountOrderData, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.order !== undefined) { + SubaccountOrder.encode(message.order, writer.uint32(10).fork()).ldelim(); + } + if (message.orderHash.length !== 0) { + writer.uint32(18).bytes(message.orderHash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SubaccountOrderData { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSubaccountOrderData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.order = SubaccountOrder.decode(reader, reader.uint32()); + break; + case 2: + message.orderHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SubaccountOrderData { + const message = createBaseSubaccountOrderData(); + message.order = + object.order !== undefined && object.order !== null ? SubaccountOrder.fromPartial(object.order) : undefined; + message.orderHash = object.orderHash ?? new Uint8Array(); + return message; + }, + fromAmino(object: SubaccountOrderDataAmino): SubaccountOrderData { + const message = createBaseSubaccountOrderData(); + if (object.order !== undefined && object.order !== null) { + message.order = SubaccountOrder.fromAmino(object.order); + } + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = bytesFromBase64(object.order_hash); + } + return message; + }, + toAmino(message: SubaccountOrderData): SubaccountOrderDataAmino { + const obj: any = {}; + obj.order = message.order ? SubaccountOrder.toAmino(message.order) : undefined; + obj.order_hash = message.orderHash ? base64FromBytes(message.orderHash) : undefined; + return obj; + }, + fromAminoMsg(object: SubaccountOrderDataAminoMsg): SubaccountOrderData { + return SubaccountOrderData.fromAmino(object.value); + }, + fromProtoMsg(message: SubaccountOrderDataProtoMsg): SubaccountOrderData { + return SubaccountOrderData.decode(message.value); + }, + toProto(message: SubaccountOrderData): Uint8Array { + return SubaccountOrderData.encode(message).finish(); + }, + toProtoMsg(message: SubaccountOrderData): SubaccountOrderDataProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SubaccountOrderData', + value: SubaccountOrderData.encode(message).finish(), + }; + }, +}; +function createBaseDerivativeLimitOrder(): DerivativeLimitOrder { + return { + orderInfo: OrderInfo.fromPartial({}), + orderType: 0, + margin: '', + fillable: '', + triggerPrice: undefined, + orderHash: new Uint8Array(), + }; +} +export const DerivativeLimitOrder = { + typeUrl: '/injective.exchange.v1beta1.DerivativeLimitOrder', + encode(message: DerivativeLimitOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.orderInfo !== undefined) { + OrderInfo.encode(message.orderInfo, writer.uint32(10).fork()).ldelim(); + } + if (message.orderType !== 0) { + writer.uint32(16).int32(message.orderType); + } + if (message.margin !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.margin, 18).atomics); + } + if (message.fillable !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.fillable, 18).atomics); + } + if (message.triggerPrice !== undefined) { + writer.uint32(42).string(Decimal.fromUserInput(message.triggerPrice, 18).atomics); + } + if (message.orderHash.length !== 0) { + writer.uint32(50).bytes(message.orderHash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DerivativeLimitOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDerivativeLimitOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.orderInfo = OrderInfo.decode(reader, reader.uint32()); + break; + case 2: + message.orderType = reader.int32() as any; + break; + case 3: + message.margin = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.fillable = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.triggerPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 6: + message.orderHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DerivativeLimitOrder { + const message = createBaseDerivativeLimitOrder(); + message.orderInfo = + object.orderInfo !== undefined && object.orderInfo !== null ? OrderInfo.fromPartial(object.orderInfo) : undefined; + message.orderType = object.orderType ?? 0; + message.margin = object.margin ?? ''; + message.fillable = object.fillable ?? ''; + message.triggerPrice = object.triggerPrice ?? undefined; + message.orderHash = object.orderHash ?? new Uint8Array(); + return message; + }, + fromAmino(object: DerivativeLimitOrderAmino): DerivativeLimitOrder { + const message = createBaseDerivativeLimitOrder(); + if (object.order_info !== undefined && object.order_info !== null) { + message.orderInfo = OrderInfo.fromAmino(object.order_info); + } + if (object.order_type !== undefined && object.order_type !== null) { + message.orderType = object.order_type; + } + if (object.margin !== undefined && object.margin !== null) { + message.margin = object.margin; + } + if (object.fillable !== undefined && object.fillable !== null) { + message.fillable = object.fillable; + } + if (object.trigger_price !== undefined && object.trigger_price !== null) { + message.triggerPrice = object.trigger_price; + } + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = bytesFromBase64(object.order_hash); + } + return message; + }, + toAmino(message: DerivativeLimitOrder): DerivativeLimitOrderAmino { + const obj: any = {}; + obj.order_info = message.orderInfo ? OrderInfo.toAmino(message.orderInfo) : undefined; + obj.order_type = message.orderType === 0 ? undefined : message.orderType; + obj.margin = message.margin === '' ? undefined : message.margin; + obj.fillable = message.fillable === '' ? undefined : message.fillable; + obj.trigger_price = message.triggerPrice === null ? undefined : message.triggerPrice; + obj.order_hash = message.orderHash ? base64FromBytes(message.orderHash) : undefined; + return obj; + }, + fromAminoMsg(object: DerivativeLimitOrderAminoMsg): DerivativeLimitOrder { + return DerivativeLimitOrder.fromAmino(object.value); + }, + fromProtoMsg(message: DerivativeLimitOrderProtoMsg): DerivativeLimitOrder { + return DerivativeLimitOrder.decode(message.value); + }, + toProto(message: DerivativeLimitOrder): Uint8Array { + return DerivativeLimitOrder.encode(message).finish(); + }, + toProtoMsg(message: DerivativeLimitOrder): DerivativeLimitOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.DerivativeLimitOrder', + value: DerivativeLimitOrder.encode(message).finish(), + }; + }, +}; +function createBaseDerivativeMarketOrder(): DerivativeMarketOrder { + return { + orderInfo: OrderInfo.fromPartial({}), + orderType: 0, + margin: '', + marginHold: '', + triggerPrice: undefined, + orderHash: new Uint8Array(), + }; +} +export const DerivativeMarketOrder = { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketOrder', + encode(message: DerivativeMarketOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.orderInfo !== undefined) { + OrderInfo.encode(message.orderInfo, writer.uint32(10).fork()).ldelim(); + } + if (message.orderType !== 0) { + writer.uint32(16).int32(message.orderType); + } + if (message.margin !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.margin, 18).atomics); + } + if (message.marginHold !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.marginHold, 18).atomics); + } + if (message.triggerPrice !== undefined) { + writer.uint32(42).string(Decimal.fromUserInput(message.triggerPrice, 18).atomics); + } + if (message.orderHash.length !== 0) { + writer.uint32(50).bytes(message.orderHash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DerivativeMarketOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDerivativeMarketOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.orderInfo = OrderInfo.decode(reader, reader.uint32()); + break; + case 2: + message.orderType = reader.int32() as any; + break; + case 3: + message.margin = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.marginHold = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.triggerPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 6: + message.orderHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DerivativeMarketOrder { + const message = createBaseDerivativeMarketOrder(); + message.orderInfo = + object.orderInfo !== undefined && object.orderInfo !== null ? OrderInfo.fromPartial(object.orderInfo) : undefined; + message.orderType = object.orderType ?? 0; + message.margin = object.margin ?? ''; + message.marginHold = object.marginHold ?? ''; + message.triggerPrice = object.triggerPrice ?? undefined; + message.orderHash = object.orderHash ?? new Uint8Array(); + return message; + }, + fromAmino(object: DerivativeMarketOrderAmino): DerivativeMarketOrder { + const message = createBaseDerivativeMarketOrder(); + if (object.order_info !== undefined && object.order_info !== null) { + message.orderInfo = OrderInfo.fromAmino(object.order_info); + } + if (object.order_type !== undefined && object.order_type !== null) { + message.orderType = object.order_type; + } + if (object.margin !== undefined && object.margin !== null) { + message.margin = object.margin; + } + if (object.margin_hold !== undefined && object.margin_hold !== null) { + message.marginHold = object.margin_hold; + } + if (object.trigger_price !== undefined && object.trigger_price !== null) { + message.triggerPrice = object.trigger_price; + } + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = bytesFromBase64(object.order_hash); + } + return message; + }, + toAmino(message: DerivativeMarketOrder): DerivativeMarketOrderAmino { + const obj: any = {}; + obj.order_info = message.orderInfo ? OrderInfo.toAmino(message.orderInfo) : undefined; + obj.order_type = message.orderType === 0 ? undefined : message.orderType; + obj.margin = message.margin === '' ? undefined : message.margin; + obj.margin_hold = message.marginHold === '' ? undefined : message.marginHold; + obj.trigger_price = message.triggerPrice === null ? undefined : message.triggerPrice; + obj.order_hash = message.orderHash ? base64FromBytes(message.orderHash) : undefined; + return obj; + }, + fromAminoMsg(object: DerivativeMarketOrderAminoMsg): DerivativeMarketOrder { + return DerivativeMarketOrder.fromAmino(object.value); + }, + fromProtoMsg(message: DerivativeMarketOrderProtoMsg): DerivativeMarketOrder { + return DerivativeMarketOrder.decode(message.value); + }, + toProto(message: DerivativeMarketOrder): Uint8Array { + return DerivativeMarketOrder.encode(message).finish(); + }, + toProtoMsg(message: DerivativeMarketOrder): DerivativeMarketOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketOrder', + value: DerivativeMarketOrder.encode(message).finish(), + }; + }, +}; +function createBasePosition(): Position { + return { + isLong: false, + quantity: '', + entryPrice: '', + margin: '', + cumulativeFundingEntry: '', + }; +} +export const Position = { + typeUrl: '/injective.exchange.v1beta1.Position', + encode(message: Position, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.isLong === true) { + writer.uint32(8).bool(message.isLong); + } + if (message.quantity !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.quantity, 18).atomics); + } + if (message.entryPrice !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.entryPrice, 18).atomics); + } + if (message.margin !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.margin, 18).atomics); + } + if (message.cumulativeFundingEntry !== '') { + writer.uint32(42).string(Decimal.fromUserInput(message.cumulativeFundingEntry, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Position { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePosition(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.isLong = reader.bool(); + break; + case 2: + message.quantity = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.entryPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.margin = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.cumulativeFundingEntry = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Position { + const message = createBasePosition(); + message.isLong = object.isLong ?? false; + message.quantity = object.quantity ?? ''; + message.entryPrice = object.entryPrice ?? ''; + message.margin = object.margin ?? ''; + message.cumulativeFundingEntry = object.cumulativeFundingEntry ?? ''; + return message; + }, + fromAmino(object: PositionAmino): Position { + const message = createBasePosition(); + if (object.isLong !== undefined && object.isLong !== null) { + message.isLong = object.isLong; + } + if (object.quantity !== undefined && object.quantity !== null) { + message.quantity = object.quantity; + } + if (object.entry_price !== undefined && object.entry_price !== null) { + message.entryPrice = object.entry_price; + } + if (object.margin !== undefined && object.margin !== null) { + message.margin = object.margin; + } + if (object.cumulative_funding_entry !== undefined && object.cumulative_funding_entry !== null) { + message.cumulativeFundingEntry = object.cumulative_funding_entry; + } + return message; + }, + toAmino(message: Position): PositionAmino { + const obj: any = {}; + obj.isLong = message.isLong === false ? undefined : message.isLong; + obj.quantity = message.quantity === '' ? undefined : message.quantity; + obj.entry_price = message.entryPrice === '' ? undefined : message.entryPrice; + obj.margin = message.margin === '' ? undefined : message.margin; + obj.cumulative_funding_entry = message.cumulativeFundingEntry === '' ? undefined : message.cumulativeFundingEntry; + return obj; + }, + fromAminoMsg(object: PositionAminoMsg): Position { + return Position.fromAmino(object.value); + }, + fromProtoMsg(message: PositionProtoMsg): Position { + return Position.decode(message.value); + }, + toProto(message: Position): Uint8Array { + return Position.encode(message).finish(); + }, + toProtoMsg(message: Position): PositionProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.Position', + value: Position.encode(message).finish(), + }; + }, +}; +function createBaseMarketOrderIndicator(): MarketOrderIndicator { + return { + marketId: '', + isBuy: false, + }; +} +export const MarketOrderIndicator = { + typeUrl: '/injective.exchange.v1beta1.MarketOrderIndicator', + encode(message: MarketOrderIndicator, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.marketId !== '') { + writer.uint32(10).string(message.marketId); + } + if (message.isBuy === true) { + writer.uint32(16).bool(message.isBuy); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MarketOrderIndicator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMarketOrderIndicator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.marketId = reader.string(); + break; + case 2: + message.isBuy = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MarketOrderIndicator { + const message = createBaseMarketOrderIndicator(); + message.marketId = object.marketId ?? ''; + message.isBuy = object.isBuy ?? false; + return message; + }, + fromAmino(object: MarketOrderIndicatorAmino): MarketOrderIndicator { + const message = createBaseMarketOrderIndicator(); + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.isBuy !== undefined && object.isBuy !== null) { + message.isBuy = object.isBuy; + } + return message; + }, + toAmino(message: MarketOrderIndicator): MarketOrderIndicatorAmino { + const obj: any = {}; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.isBuy = message.isBuy === false ? undefined : message.isBuy; + return obj; + }, + fromAminoMsg(object: MarketOrderIndicatorAminoMsg): MarketOrderIndicator { + return MarketOrderIndicator.fromAmino(object.value); + }, + fromProtoMsg(message: MarketOrderIndicatorProtoMsg): MarketOrderIndicator { + return MarketOrderIndicator.decode(message.value); + }, + toProto(message: MarketOrderIndicator): Uint8Array { + return MarketOrderIndicator.encode(message).finish(); + }, + toProtoMsg(message: MarketOrderIndicator): MarketOrderIndicatorProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MarketOrderIndicator', + value: MarketOrderIndicator.encode(message).finish(), + }; + }, +}; +function createBaseTradeLog(): TradeLog { + return { + quantity: '', + price: '', + subaccountId: new Uint8Array(), + fee: '', + orderHash: new Uint8Array(), + feeRecipientAddress: undefined, + cid: '', + }; +} +export const TradeLog = { + typeUrl: '/injective.exchange.v1beta1.TradeLog', + encode(message: TradeLog, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.quantity !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.quantity, 18).atomics); + } + if (message.price !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.price, 18).atomics); + } + if (message.subaccountId.length !== 0) { + writer.uint32(26).bytes(message.subaccountId); + } + if (message.fee !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.fee, 18).atomics); + } + if (message.orderHash.length !== 0) { + writer.uint32(42).bytes(message.orderHash); + } + if (message.feeRecipientAddress !== undefined) { + writer.uint32(50).bytes(message.feeRecipientAddress); + } + if (message.cid !== '') { + writer.uint32(58).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TradeLog { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTradeLog(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.quantity = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.price = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.subaccountId = reader.bytes(); + break; + case 4: + message.fee = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.orderHash = reader.bytes(); + break; + case 6: + message.feeRecipientAddress = reader.bytes(); + break; + case 7: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TradeLog { + const message = createBaseTradeLog(); + message.quantity = object.quantity ?? ''; + message.price = object.price ?? ''; + message.subaccountId = object.subaccountId ?? new Uint8Array(); + message.fee = object.fee ?? ''; + message.orderHash = object.orderHash ?? new Uint8Array(); + message.feeRecipientAddress = object.feeRecipientAddress ?? undefined; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: TradeLogAmino): TradeLog { + const message = createBaseTradeLog(); + if (object.quantity !== undefined && object.quantity !== null) { + message.quantity = object.quantity; + } + if (object.price !== undefined && object.price !== null) { + message.price = object.price; + } + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = bytesFromBase64(object.subaccount_id); + } + if (object.fee !== undefined && object.fee !== null) { + message.fee = object.fee; + } + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = bytesFromBase64(object.order_hash); + } + if (object.fee_recipient_address !== undefined && object.fee_recipient_address !== null) { + message.feeRecipientAddress = bytesFromBase64(object.fee_recipient_address); + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: TradeLog): TradeLogAmino { + const obj: any = {}; + obj.quantity = message.quantity === '' ? undefined : message.quantity; + obj.price = message.price === '' ? undefined : message.price; + obj.subaccount_id = message.subaccountId ? base64FromBytes(message.subaccountId) : undefined; + obj.fee = message.fee === '' ? undefined : message.fee; + obj.order_hash = message.orderHash ? base64FromBytes(message.orderHash) : undefined; + obj.fee_recipient_address = message.feeRecipientAddress ? base64FromBytes(message.feeRecipientAddress) : undefined; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: TradeLogAminoMsg): TradeLog { + return TradeLog.fromAmino(object.value); + }, + fromProtoMsg(message: TradeLogProtoMsg): TradeLog { + return TradeLog.decode(message.value); + }, + toProto(message: TradeLog): Uint8Array { + return TradeLog.encode(message).finish(); + }, + toProtoMsg(message: TradeLog): TradeLogProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.TradeLog', + value: TradeLog.encode(message).finish(), + }; + }, +}; +function createBasePositionDelta(): PositionDelta { + return { + isLong: false, + executionQuantity: '', + executionMargin: '', + executionPrice: '', + }; +} +export const PositionDelta = { + typeUrl: '/injective.exchange.v1beta1.PositionDelta', + encode(message: PositionDelta, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.isLong === true) { + writer.uint32(8).bool(message.isLong); + } + if (message.executionQuantity !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.executionQuantity, 18).atomics); + } + if (message.executionMargin !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.executionMargin, 18).atomics); + } + if (message.executionPrice !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.executionPrice, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PositionDelta { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePositionDelta(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.isLong = reader.bool(); + break; + case 2: + message.executionQuantity = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.executionMargin = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.executionPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PositionDelta { + const message = createBasePositionDelta(); + message.isLong = object.isLong ?? false; + message.executionQuantity = object.executionQuantity ?? ''; + message.executionMargin = object.executionMargin ?? ''; + message.executionPrice = object.executionPrice ?? ''; + return message; + }, + fromAmino(object: PositionDeltaAmino): PositionDelta { + const message = createBasePositionDelta(); + if (object.is_long !== undefined && object.is_long !== null) { + message.isLong = object.is_long; + } + if (object.execution_quantity !== undefined && object.execution_quantity !== null) { + message.executionQuantity = object.execution_quantity; + } + if (object.execution_margin !== undefined && object.execution_margin !== null) { + message.executionMargin = object.execution_margin; + } + if (object.execution_price !== undefined && object.execution_price !== null) { + message.executionPrice = object.execution_price; + } + return message; + }, + toAmino(message: PositionDelta): PositionDeltaAmino { + const obj: any = {}; + obj.is_long = message.isLong === false ? undefined : message.isLong; + obj.execution_quantity = message.executionQuantity === '' ? undefined : message.executionQuantity; + obj.execution_margin = message.executionMargin === '' ? undefined : message.executionMargin; + obj.execution_price = message.executionPrice === '' ? undefined : message.executionPrice; + return obj; + }, + fromAminoMsg(object: PositionDeltaAminoMsg): PositionDelta { + return PositionDelta.fromAmino(object.value); + }, + fromProtoMsg(message: PositionDeltaProtoMsg): PositionDelta { + return PositionDelta.decode(message.value); + }, + toProto(message: PositionDelta): Uint8Array { + return PositionDelta.encode(message).finish(); + }, + toProtoMsg(message: PositionDelta): PositionDeltaProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.PositionDelta', + value: PositionDelta.encode(message).finish(), + }; + }, +}; +function createBaseDerivativeTradeLog(): DerivativeTradeLog { + return { + subaccountId: new Uint8Array(), + positionDelta: undefined, + payout: '', + fee: '', + orderHash: new Uint8Array(), + feeRecipientAddress: undefined, + cid: '', + pnl: '', + }; +} +export const DerivativeTradeLog = { + typeUrl: '/injective.exchange.v1beta1.DerivativeTradeLog', + encode(message: DerivativeTradeLog, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.subaccountId.length !== 0) { + writer.uint32(10).bytes(message.subaccountId); + } + if (message.positionDelta !== undefined) { + PositionDelta.encode(message.positionDelta, writer.uint32(18).fork()).ldelim(); + } + if (message.payout !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.payout, 18).atomics); + } + if (message.fee !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.fee, 18).atomics); + } + if (message.orderHash.length !== 0) { + writer.uint32(42).bytes(message.orderHash); + } + if (message.feeRecipientAddress !== undefined) { + writer.uint32(50).bytes(message.feeRecipientAddress); + } + if (message.cid !== '') { + writer.uint32(58).string(message.cid); + } + if (message.pnl !== '') { + writer.uint32(66).string(Decimal.fromUserInput(message.pnl, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DerivativeTradeLog { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDerivativeTradeLog(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.subaccountId = reader.bytes(); + break; + case 2: + message.positionDelta = PositionDelta.decode(reader, reader.uint32()); + break; + case 3: + message.payout = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.fee = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.orderHash = reader.bytes(); + break; + case 6: + message.feeRecipientAddress = reader.bytes(); + break; + case 7: + message.cid = reader.string(); + break; + case 8: + message.pnl = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DerivativeTradeLog { + const message = createBaseDerivativeTradeLog(); + message.subaccountId = object.subaccountId ?? new Uint8Array(); + message.positionDelta = + object.positionDelta !== undefined && object.positionDelta !== null + ? PositionDelta.fromPartial(object.positionDelta) + : undefined; + message.payout = object.payout ?? ''; + message.fee = object.fee ?? ''; + message.orderHash = object.orderHash ?? new Uint8Array(); + message.feeRecipientAddress = object.feeRecipientAddress ?? undefined; + message.cid = object.cid ?? ''; + message.pnl = object.pnl ?? ''; + return message; + }, + fromAmino(object: DerivativeTradeLogAmino): DerivativeTradeLog { + const message = createBaseDerivativeTradeLog(); + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = bytesFromBase64(object.subaccount_id); + } + if (object.position_delta !== undefined && object.position_delta !== null) { + message.positionDelta = PositionDelta.fromAmino(object.position_delta); + } + if (object.payout !== undefined && object.payout !== null) { + message.payout = object.payout; + } + if (object.fee !== undefined && object.fee !== null) { + message.fee = object.fee; + } + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = bytesFromBase64(object.order_hash); + } + if (object.fee_recipient_address !== undefined && object.fee_recipient_address !== null) { + message.feeRecipientAddress = bytesFromBase64(object.fee_recipient_address); + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + if (object.pnl !== undefined && object.pnl !== null) { + message.pnl = object.pnl; + } + return message; + }, + toAmino(message: DerivativeTradeLog): DerivativeTradeLogAmino { + const obj: any = {}; + obj.subaccount_id = message.subaccountId ? base64FromBytes(message.subaccountId) : undefined; + obj.position_delta = message.positionDelta ? PositionDelta.toAmino(message.positionDelta) : undefined; + obj.payout = message.payout === '' ? undefined : message.payout; + obj.fee = message.fee === '' ? undefined : message.fee; + obj.order_hash = message.orderHash ? base64FromBytes(message.orderHash) : undefined; + obj.fee_recipient_address = message.feeRecipientAddress ? base64FromBytes(message.feeRecipientAddress) : undefined; + obj.cid = message.cid === '' ? undefined : message.cid; + obj.pnl = message.pnl === '' ? undefined : message.pnl; + return obj; + }, + fromAminoMsg(object: DerivativeTradeLogAminoMsg): DerivativeTradeLog { + return DerivativeTradeLog.fromAmino(object.value); + }, + fromProtoMsg(message: DerivativeTradeLogProtoMsg): DerivativeTradeLog { + return DerivativeTradeLog.decode(message.value); + }, + toProto(message: DerivativeTradeLog): Uint8Array { + return DerivativeTradeLog.encode(message).finish(); + }, + toProtoMsg(message: DerivativeTradeLog): DerivativeTradeLogProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.DerivativeTradeLog', + value: DerivativeTradeLog.encode(message).finish(), + }; + }, +}; +function createBaseSubaccountPosition(): SubaccountPosition { + return { + position: undefined, + subaccountId: new Uint8Array(), + }; +} +export const SubaccountPosition = { + typeUrl: '/injective.exchange.v1beta1.SubaccountPosition', + encode(message: SubaccountPosition, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.position !== undefined) { + Position.encode(message.position, writer.uint32(10).fork()).ldelim(); + } + if (message.subaccountId.length !== 0) { + writer.uint32(18).bytes(message.subaccountId); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SubaccountPosition { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSubaccountPosition(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.position = Position.decode(reader, reader.uint32()); + break; + case 2: + message.subaccountId = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SubaccountPosition { + const message = createBaseSubaccountPosition(); + message.position = + object.position !== undefined && object.position !== null ? Position.fromPartial(object.position) : undefined; + message.subaccountId = object.subaccountId ?? new Uint8Array(); + return message; + }, + fromAmino(object: SubaccountPositionAmino): SubaccountPosition { + const message = createBaseSubaccountPosition(); + if (object.position !== undefined && object.position !== null) { + message.position = Position.fromAmino(object.position); + } + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = bytesFromBase64(object.subaccount_id); + } + return message; + }, + toAmino(message: SubaccountPosition): SubaccountPositionAmino { + const obj: any = {}; + obj.position = message.position ? Position.toAmino(message.position) : undefined; + obj.subaccount_id = message.subaccountId ? base64FromBytes(message.subaccountId) : undefined; + return obj; + }, + fromAminoMsg(object: SubaccountPositionAminoMsg): SubaccountPosition { + return SubaccountPosition.fromAmino(object.value); + }, + fromProtoMsg(message: SubaccountPositionProtoMsg): SubaccountPosition { + return SubaccountPosition.decode(message.value); + }, + toProto(message: SubaccountPosition): Uint8Array { + return SubaccountPosition.encode(message).finish(); + }, + toProtoMsg(message: SubaccountPosition): SubaccountPositionProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SubaccountPosition', + value: SubaccountPosition.encode(message).finish(), + }; + }, +}; +function createBaseSubaccountDeposit(): SubaccountDeposit { + return { + subaccountId: new Uint8Array(), + deposit: undefined, + }; +} +export const SubaccountDeposit = { + typeUrl: '/injective.exchange.v1beta1.SubaccountDeposit', + encode(message: SubaccountDeposit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.subaccountId.length !== 0) { + writer.uint32(10).bytes(message.subaccountId); + } + if (message.deposit !== undefined) { + Deposit.encode(message.deposit, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SubaccountDeposit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSubaccountDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.subaccountId = reader.bytes(); + break; + case 2: + message.deposit = Deposit.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SubaccountDeposit { + const message = createBaseSubaccountDeposit(); + message.subaccountId = object.subaccountId ?? new Uint8Array(); + message.deposit = + object.deposit !== undefined && object.deposit !== null ? Deposit.fromPartial(object.deposit) : undefined; + return message; + }, + fromAmino(object: SubaccountDepositAmino): SubaccountDeposit { + const message = createBaseSubaccountDeposit(); + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = bytesFromBase64(object.subaccount_id); + } + if (object.deposit !== undefined && object.deposit !== null) { + message.deposit = Deposit.fromAmino(object.deposit); + } + return message; + }, + toAmino(message: SubaccountDeposit): SubaccountDepositAmino { + const obj: any = {}; + obj.subaccount_id = message.subaccountId ? base64FromBytes(message.subaccountId) : undefined; + obj.deposit = message.deposit ? Deposit.toAmino(message.deposit) : undefined; + return obj; + }, + fromAminoMsg(object: SubaccountDepositAminoMsg): SubaccountDeposit { + return SubaccountDeposit.fromAmino(object.value); + }, + fromProtoMsg(message: SubaccountDepositProtoMsg): SubaccountDeposit { + return SubaccountDeposit.decode(message.value); + }, + toProto(message: SubaccountDeposit): Uint8Array { + return SubaccountDeposit.encode(message).finish(); + }, + toProtoMsg(message: SubaccountDeposit): SubaccountDepositProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SubaccountDeposit', + value: SubaccountDeposit.encode(message).finish(), + }; + }, +}; +function createBaseDepositUpdate(): DepositUpdate { + return { + denom: '', + deposits: [], + }; +} +export const DepositUpdate = { + typeUrl: '/injective.exchange.v1beta1.DepositUpdate', + encode(message: DepositUpdate, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.denom !== '') { + writer.uint32(10).string(message.denom); + } + for (const v of message.deposits) { + SubaccountDeposit.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DepositUpdate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDepositUpdate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.denom = reader.string(); + break; + case 2: + message.deposits.push(SubaccountDeposit.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DepositUpdate { + const message = createBaseDepositUpdate(); + message.denom = object.denom ?? ''; + message.deposits = object.deposits?.map((e) => SubaccountDeposit.fromPartial(e)) || []; + return message; + }, + fromAmino(object: DepositUpdateAmino): DepositUpdate { + const message = createBaseDepositUpdate(); + if (object.denom !== undefined && object.denom !== null) { + message.denom = object.denom; + } + message.deposits = object.deposits?.map((e) => SubaccountDeposit.fromAmino(e)) || []; + return message; + }, + toAmino(message: DepositUpdate): DepositUpdateAmino { + const obj: any = {}; + obj.denom = message.denom === '' ? undefined : message.denom; + if (message.deposits) { + obj.deposits = message.deposits.map((e) => (e ? SubaccountDeposit.toAmino(e) : undefined)); + } else { + obj.deposits = message.deposits; + } + return obj; + }, + fromAminoMsg(object: DepositUpdateAminoMsg): DepositUpdate { + return DepositUpdate.fromAmino(object.value); + }, + fromProtoMsg(message: DepositUpdateProtoMsg): DepositUpdate { + return DepositUpdate.decode(message.value); + }, + toProto(message: DepositUpdate): Uint8Array { + return DepositUpdate.encode(message).finish(); + }, + toProtoMsg(message: DepositUpdate): DepositUpdateProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.DepositUpdate', + value: DepositUpdate.encode(message).finish(), + }; + }, +}; +function createBasePointsMultiplier(): PointsMultiplier { + return { + makerPointsMultiplier: '', + takerPointsMultiplier: '', + }; +} +export const PointsMultiplier = { + typeUrl: '/injective.exchange.v1beta1.PointsMultiplier', + encode(message: PointsMultiplier, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.makerPointsMultiplier !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.makerPointsMultiplier, 18).atomics); + } + if (message.takerPointsMultiplier !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.takerPointsMultiplier, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PointsMultiplier { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePointsMultiplier(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.makerPointsMultiplier = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.takerPointsMultiplier = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PointsMultiplier { + const message = createBasePointsMultiplier(); + message.makerPointsMultiplier = object.makerPointsMultiplier ?? ''; + message.takerPointsMultiplier = object.takerPointsMultiplier ?? ''; + return message; + }, + fromAmino(object: PointsMultiplierAmino): PointsMultiplier { + const message = createBasePointsMultiplier(); + if (object.maker_points_multiplier !== undefined && object.maker_points_multiplier !== null) { + message.makerPointsMultiplier = object.maker_points_multiplier; + } + if (object.taker_points_multiplier !== undefined && object.taker_points_multiplier !== null) { + message.takerPointsMultiplier = object.taker_points_multiplier; + } + return message; + }, + toAmino(message: PointsMultiplier): PointsMultiplierAmino { + const obj: any = {}; + obj.maker_points_multiplier = message.makerPointsMultiplier === '' ? undefined : message.makerPointsMultiplier; + obj.taker_points_multiplier = message.takerPointsMultiplier === '' ? undefined : message.takerPointsMultiplier; + return obj; + }, + fromAminoMsg(object: PointsMultiplierAminoMsg): PointsMultiplier { + return PointsMultiplier.fromAmino(object.value); + }, + fromProtoMsg(message: PointsMultiplierProtoMsg): PointsMultiplier { + return PointsMultiplier.decode(message.value); + }, + toProto(message: PointsMultiplier): Uint8Array { + return PointsMultiplier.encode(message).finish(); + }, + toProtoMsg(message: PointsMultiplier): PointsMultiplierProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.PointsMultiplier', + value: PointsMultiplier.encode(message).finish(), + }; + }, +}; +function createBaseTradingRewardCampaignBoostInfo(): TradingRewardCampaignBoostInfo { + return { + boostedSpotMarketIds: [], + spotMarketMultipliers: [], + boostedDerivativeMarketIds: [], + derivativeMarketMultipliers: [], + }; +} +export const TradingRewardCampaignBoostInfo = { + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignBoostInfo', + encode(message: TradingRewardCampaignBoostInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.boostedSpotMarketIds) { + writer.uint32(10).string(v!); + } + for (const v of message.spotMarketMultipliers) { + PointsMultiplier.encode(v!, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.boostedDerivativeMarketIds) { + writer.uint32(26).string(v!); + } + for (const v of message.derivativeMarketMultipliers) { + PointsMultiplier.encode(v!, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TradingRewardCampaignBoostInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTradingRewardCampaignBoostInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.boostedSpotMarketIds.push(reader.string()); + break; + case 2: + message.spotMarketMultipliers.push(PointsMultiplier.decode(reader, reader.uint32())); + break; + case 3: + message.boostedDerivativeMarketIds.push(reader.string()); + break; + case 4: + message.derivativeMarketMultipliers.push(PointsMultiplier.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TradingRewardCampaignBoostInfo { + const message = createBaseTradingRewardCampaignBoostInfo(); + message.boostedSpotMarketIds = object.boostedSpotMarketIds?.map((e) => e) || []; + message.spotMarketMultipliers = object.spotMarketMultipliers?.map((e) => PointsMultiplier.fromPartial(e)) || []; + message.boostedDerivativeMarketIds = object.boostedDerivativeMarketIds?.map((e) => e) || []; + message.derivativeMarketMultipliers = + object.derivativeMarketMultipliers?.map((e) => PointsMultiplier.fromPartial(e)) || []; + return message; + }, + fromAmino(object: TradingRewardCampaignBoostInfoAmino): TradingRewardCampaignBoostInfo { + const message = createBaseTradingRewardCampaignBoostInfo(); + message.boostedSpotMarketIds = object.boosted_spot_market_ids?.map((e) => e) || []; + message.spotMarketMultipliers = object.spot_market_multipliers?.map((e) => PointsMultiplier.fromAmino(e)) || []; + message.boostedDerivativeMarketIds = object.boosted_derivative_market_ids?.map((e) => e) || []; + message.derivativeMarketMultipliers = + object.derivative_market_multipliers?.map((e) => PointsMultiplier.fromAmino(e)) || []; + return message; + }, + toAmino(message: TradingRewardCampaignBoostInfo): TradingRewardCampaignBoostInfoAmino { + const obj: any = {}; + if (message.boostedSpotMarketIds) { + obj.boosted_spot_market_ids = message.boostedSpotMarketIds.map((e) => e); + } else { + obj.boosted_spot_market_ids = message.boostedSpotMarketIds; + } + if (message.spotMarketMultipliers) { + obj.spot_market_multipliers = message.spotMarketMultipliers.map((e) => + e ? PointsMultiplier.toAmino(e) : undefined, + ); + } else { + obj.spot_market_multipliers = message.spotMarketMultipliers; + } + if (message.boostedDerivativeMarketIds) { + obj.boosted_derivative_market_ids = message.boostedDerivativeMarketIds.map((e) => e); + } else { + obj.boosted_derivative_market_ids = message.boostedDerivativeMarketIds; + } + if (message.derivativeMarketMultipliers) { + obj.derivative_market_multipliers = message.derivativeMarketMultipliers.map((e) => + e ? PointsMultiplier.toAmino(e) : undefined, + ); + } else { + obj.derivative_market_multipliers = message.derivativeMarketMultipliers; + } + return obj; + }, + fromAminoMsg(object: TradingRewardCampaignBoostInfoAminoMsg): TradingRewardCampaignBoostInfo { + return TradingRewardCampaignBoostInfo.fromAmino(object.value); + }, + fromProtoMsg(message: TradingRewardCampaignBoostInfoProtoMsg): TradingRewardCampaignBoostInfo { + return TradingRewardCampaignBoostInfo.decode(message.value); + }, + toProto(message: TradingRewardCampaignBoostInfo): Uint8Array { + return TradingRewardCampaignBoostInfo.encode(message).finish(); + }, + toProtoMsg(message: TradingRewardCampaignBoostInfo): TradingRewardCampaignBoostInfoProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignBoostInfo', + value: TradingRewardCampaignBoostInfo.encode(message).finish(), + }; + }, +}; +function createBaseCampaignRewardPool(): CampaignRewardPool { + return { + startTimestamp: BigInt(0), + maxCampaignRewards: [], + }; +} +export const CampaignRewardPool = { + typeUrl: '/injective.exchange.v1beta1.CampaignRewardPool', + encode(message: CampaignRewardPool, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.startTimestamp !== BigInt(0)) { + writer.uint32(8).int64(message.startTimestamp); + } + for (const v of message.maxCampaignRewards) { + Coin.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): CampaignRewardPool { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCampaignRewardPool(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.startTimestamp = reader.int64(); + break; + case 2: + message.maxCampaignRewards.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): CampaignRewardPool { + const message = createBaseCampaignRewardPool(); + message.startTimestamp = + object.startTimestamp !== undefined && object.startTimestamp !== null + ? BigInt(object.startTimestamp.toString()) + : BigInt(0); + message.maxCampaignRewards = object.maxCampaignRewards?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: CampaignRewardPoolAmino): CampaignRewardPool { + const message = createBaseCampaignRewardPool(); + if (object.start_timestamp !== undefined && object.start_timestamp !== null) { + message.startTimestamp = BigInt(object.start_timestamp); + } + message.maxCampaignRewards = object.max_campaign_rewards?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: CampaignRewardPool): CampaignRewardPoolAmino { + const obj: any = {}; + obj.start_timestamp = message.startTimestamp !== BigInt(0) ? (message.startTimestamp?.toString)() : undefined; + if (message.maxCampaignRewards) { + obj.max_campaign_rewards = message.maxCampaignRewards.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.max_campaign_rewards = message.maxCampaignRewards; + } + return obj; + }, + fromAminoMsg(object: CampaignRewardPoolAminoMsg): CampaignRewardPool { + return CampaignRewardPool.fromAmino(object.value); + }, + fromProtoMsg(message: CampaignRewardPoolProtoMsg): CampaignRewardPool { + return CampaignRewardPool.decode(message.value); + }, + toProto(message: CampaignRewardPool): Uint8Array { + return CampaignRewardPool.encode(message).finish(); + }, + toProtoMsg(message: CampaignRewardPool): CampaignRewardPoolProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.CampaignRewardPool', + value: CampaignRewardPool.encode(message).finish(), + }; + }, +}; +function createBaseTradingRewardCampaignInfo(): TradingRewardCampaignInfo { + return { + campaignDurationSeconds: BigInt(0), + quoteDenoms: [], + tradingRewardBoostInfo: undefined, + disqualifiedMarketIds: [], + }; +} +export const TradingRewardCampaignInfo = { + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignInfo', + encode(message: TradingRewardCampaignInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.campaignDurationSeconds !== BigInt(0)) { + writer.uint32(8).int64(message.campaignDurationSeconds); + } + for (const v of message.quoteDenoms) { + writer.uint32(18).string(v!); + } + if (message.tradingRewardBoostInfo !== undefined) { + TradingRewardCampaignBoostInfo.encode(message.tradingRewardBoostInfo, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.disqualifiedMarketIds) { + writer.uint32(34).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TradingRewardCampaignInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTradingRewardCampaignInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.campaignDurationSeconds = reader.int64(); + break; + case 2: + message.quoteDenoms.push(reader.string()); + break; + case 3: + message.tradingRewardBoostInfo = TradingRewardCampaignBoostInfo.decode(reader, reader.uint32()); + break; + case 4: + message.disqualifiedMarketIds.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TradingRewardCampaignInfo { + const message = createBaseTradingRewardCampaignInfo(); + message.campaignDurationSeconds = + object.campaignDurationSeconds !== undefined && object.campaignDurationSeconds !== null + ? BigInt(object.campaignDurationSeconds.toString()) + : BigInt(0); + message.quoteDenoms = object.quoteDenoms?.map((e) => e) || []; + message.tradingRewardBoostInfo = + object.tradingRewardBoostInfo !== undefined && object.tradingRewardBoostInfo !== null + ? TradingRewardCampaignBoostInfo.fromPartial(object.tradingRewardBoostInfo) + : undefined; + message.disqualifiedMarketIds = object.disqualifiedMarketIds?.map((e) => e) || []; + return message; + }, + fromAmino(object: TradingRewardCampaignInfoAmino): TradingRewardCampaignInfo { + const message = createBaseTradingRewardCampaignInfo(); + if (object.campaign_duration_seconds !== undefined && object.campaign_duration_seconds !== null) { + message.campaignDurationSeconds = BigInt(object.campaign_duration_seconds); + } + message.quoteDenoms = object.quote_denoms?.map((e) => e) || []; + if (object.trading_reward_boost_info !== undefined && object.trading_reward_boost_info !== null) { + message.tradingRewardBoostInfo = TradingRewardCampaignBoostInfo.fromAmino(object.trading_reward_boost_info); + } + message.disqualifiedMarketIds = object.disqualified_market_ids?.map((e) => e) || []; + return message; + }, + toAmino(message: TradingRewardCampaignInfo): TradingRewardCampaignInfoAmino { + const obj: any = {}; + obj.campaign_duration_seconds = + message.campaignDurationSeconds !== BigInt(0) ? (message.campaignDurationSeconds?.toString)() : undefined; + if (message.quoteDenoms) { + obj.quote_denoms = message.quoteDenoms.map((e) => e); + } else { + obj.quote_denoms = message.quoteDenoms; + } + obj.trading_reward_boost_info = message.tradingRewardBoostInfo + ? TradingRewardCampaignBoostInfo.toAmino(message.tradingRewardBoostInfo) + : undefined; + if (message.disqualifiedMarketIds) { + obj.disqualified_market_ids = message.disqualifiedMarketIds.map((e) => e); + } else { + obj.disqualified_market_ids = message.disqualifiedMarketIds; + } + return obj; + }, + fromAminoMsg(object: TradingRewardCampaignInfoAminoMsg): TradingRewardCampaignInfo { + return TradingRewardCampaignInfo.fromAmino(object.value); + }, + fromProtoMsg(message: TradingRewardCampaignInfoProtoMsg): TradingRewardCampaignInfo { + return TradingRewardCampaignInfo.decode(message.value); + }, + toProto(message: TradingRewardCampaignInfo): Uint8Array { + return TradingRewardCampaignInfo.encode(message).finish(); + }, + toProtoMsg(message: TradingRewardCampaignInfo): TradingRewardCampaignInfoProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignInfo', + value: TradingRewardCampaignInfo.encode(message).finish(), + }; + }, +}; +function createBaseFeeDiscountTierInfo(): FeeDiscountTierInfo { + return { + makerDiscountRate: '', + takerDiscountRate: '', + stakedAmount: '', + volume: '', + }; +} +export const FeeDiscountTierInfo = { + typeUrl: '/injective.exchange.v1beta1.FeeDiscountTierInfo', + encode(message: FeeDiscountTierInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.makerDiscountRate !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.makerDiscountRate, 18).atomics); + } + if (message.takerDiscountRate !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.takerDiscountRate, 18).atomics); + } + if (message.stakedAmount !== '') { + writer.uint32(26).string(message.stakedAmount); + } + if (message.volume !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.volume, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): FeeDiscountTierInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeeDiscountTierInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.makerDiscountRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.takerDiscountRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.stakedAmount = reader.string(); + break; + case 4: + message.volume = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): FeeDiscountTierInfo { + const message = createBaseFeeDiscountTierInfo(); + message.makerDiscountRate = object.makerDiscountRate ?? ''; + message.takerDiscountRate = object.takerDiscountRate ?? ''; + message.stakedAmount = object.stakedAmount ?? ''; + message.volume = object.volume ?? ''; + return message; + }, + fromAmino(object: FeeDiscountTierInfoAmino): FeeDiscountTierInfo { + const message = createBaseFeeDiscountTierInfo(); + if (object.maker_discount_rate !== undefined && object.maker_discount_rate !== null) { + message.makerDiscountRate = object.maker_discount_rate; + } + if (object.taker_discount_rate !== undefined && object.taker_discount_rate !== null) { + message.takerDiscountRate = object.taker_discount_rate; + } + if (object.staked_amount !== undefined && object.staked_amount !== null) { + message.stakedAmount = object.staked_amount; + } + if (object.volume !== undefined && object.volume !== null) { + message.volume = object.volume; + } + return message; + }, + toAmino(message: FeeDiscountTierInfo): FeeDiscountTierInfoAmino { + const obj: any = {}; + obj.maker_discount_rate = message.makerDiscountRate === '' ? undefined : message.makerDiscountRate; + obj.taker_discount_rate = message.takerDiscountRate === '' ? undefined : message.takerDiscountRate; + obj.staked_amount = message.stakedAmount === '' ? undefined : message.stakedAmount; + obj.volume = message.volume === '' ? undefined : message.volume; + return obj; + }, + fromAminoMsg(object: FeeDiscountTierInfoAminoMsg): FeeDiscountTierInfo { + return FeeDiscountTierInfo.fromAmino(object.value); + }, + fromProtoMsg(message: FeeDiscountTierInfoProtoMsg): FeeDiscountTierInfo { + return FeeDiscountTierInfo.decode(message.value); + }, + toProto(message: FeeDiscountTierInfo): Uint8Array { + return FeeDiscountTierInfo.encode(message).finish(); + }, + toProtoMsg(message: FeeDiscountTierInfo): FeeDiscountTierInfoProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.FeeDiscountTierInfo', + value: FeeDiscountTierInfo.encode(message).finish(), + }; + }, +}; +function createBaseFeeDiscountSchedule(): FeeDiscountSchedule { + return { + bucketCount: BigInt(0), + bucketDuration: BigInt(0), + quoteDenoms: [], + tierInfos: [], + disqualifiedMarketIds: [], + }; +} +export const FeeDiscountSchedule = { + typeUrl: '/injective.exchange.v1beta1.FeeDiscountSchedule', + encode(message: FeeDiscountSchedule, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.bucketCount !== BigInt(0)) { + writer.uint32(8).uint64(message.bucketCount); + } + if (message.bucketDuration !== BigInt(0)) { + writer.uint32(16).int64(message.bucketDuration); + } + for (const v of message.quoteDenoms) { + writer.uint32(26).string(v!); + } + for (const v of message.tierInfos) { + FeeDiscountTierInfo.encode(v!, writer.uint32(34).fork()).ldelim(); + } + for (const v of message.disqualifiedMarketIds) { + writer.uint32(42).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): FeeDiscountSchedule { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeeDiscountSchedule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.bucketCount = reader.uint64(); + break; + case 2: + message.bucketDuration = reader.int64(); + break; + case 3: + message.quoteDenoms.push(reader.string()); + break; + case 4: + message.tierInfos.push(FeeDiscountTierInfo.decode(reader, reader.uint32())); + break; + case 5: + message.disqualifiedMarketIds.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): FeeDiscountSchedule { + const message = createBaseFeeDiscountSchedule(); + message.bucketCount = + object.bucketCount !== undefined && object.bucketCount !== null + ? BigInt(object.bucketCount.toString()) + : BigInt(0); + message.bucketDuration = + object.bucketDuration !== undefined && object.bucketDuration !== null + ? BigInt(object.bucketDuration.toString()) + : BigInt(0); + message.quoteDenoms = object.quoteDenoms?.map((e) => e) || []; + message.tierInfos = object.tierInfos?.map((e) => FeeDiscountTierInfo.fromPartial(e)) || []; + message.disqualifiedMarketIds = object.disqualifiedMarketIds?.map((e) => e) || []; + return message; + }, + fromAmino(object: FeeDiscountScheduleAmino): FeeDiscountSchedule { + const message = createBaseFeeDiscountSchedule(); + if (object.bucket_count !== undefined && object.bucket_count !== null) { + message.bucketCount = BigInt(object.bucket_count); + } + if (object.bucket_duration !== undefined && object.bucket_duration !== null) { + message.bucketDuration = BigInt(object.bucket_duration); + } + message.quoteDenoms = object.quote_denoms?.map((e) => e) || []; + message.tierInfos = object.tier_infos?.map((e) => FeeDiscountTierInfo.fromAmino(e)) || []; + message.disqualifiedMarketIds = object.disqualified_market_ids?.map((e) => e) || []; + return message; + }, + toAmino(message: FeeDiscountSchedule): FeeDiscountScheduleAmino { + const obj: any = {}; + obj.bucket_count = message.bucketCount !== BigInt(0) ? (message.bucketCount?.toString)() : undefined; + obj.bucket_duration = message.bucketDuration !== BigInt(0) ? (message.bucketDuration?.toString)() : undefined; + if (message.quoteDenoms) { + obj.quote_denoms = message.quoteDenoms.map((e) => e); + } else { + obj.quote_denoms = message.quoteDenoms; + } + if (message.tierInfos) { + obj.tier_infos = message.tierInfos.map((e) => (e ? FeeDiscountTierInfo.toAmino(e) : undefined)); + } else { + obj.tier_infos = message.tierInfos; + } + if (message.disqualifiedMarketIds) { + obj.disqualified_market_ids = message.disqualifiedMarketIds.map((e) => e); + } else { + obj.disqualified_market_ids = message.disqualifiedMarketIds; + } + return obj; + }, + fromAminoMsg(object: FeeDiscountScheduleAminoMsg): FeeDiscountSchedule { + return FeeDiscountSchedule.fromAmino(object.value); + }, + fromProtoMsg(message: FeeDiscountScheduleProtoMsg): FeeDiscountSchedule { + return FeeDiscountSchedule.decode(message.value); + }, + toProto(message: FeeDiscountSchedule): Uint8Array { + return FeeDiscountSchedule.encode(message).finish(); + }, + toProtoMsg(message: FeeDiscountSchedule): FeeDiscountScheduleProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.FeeDiscountSchedule', + value: FeeDiscountSchedule.encode(message).finish(), + }; + }, +}; +function createBaseFeeDiscountTierTTL(): FeeDiscountTierTTL { + return { + tier: BigInt(0), + ttlTimestamp: BigInt(0), + }; +} +export const FeeDiscountTierTTL = { + typeUrl: '/injective.exchange.v1beta1.FeeDiscountTierTTL', + encode(message: FeeDiscountTierTTL, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.tier !== BigInt(0)) { + writer.uint32(8).uint64(message.tier); + } + if (message.ttlTimestamp !== BigInt(0)) { + writer.uint32(16).int64(message.ttlTimestamp); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): FeeDiscountTierTTL { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeeDiscountTierTTL(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tier = reader.uint64(); + break; + case 2: + message.ttlTimestamp = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): FeeDiscountTierTTL { + const message = createBaseFeeDiscountTierTTL(); + message.tier = object.tier !== undefined && object.tier !== null ? BigInt(object.tier.toString()) : BigInt(0); + message.ttlTimestamp = + object.ttlTimestamp !== undefined && object.ttlTimestamp !== null + ? BigInt(object.ttlTimestamp.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: FeeDiscountTierTTLAmino): FeeDiscountTierTTL { + const message = createBaseFeeDiscountTierTTL(); + if (object.tier !== undefined && object.tier !== null) { + message.tier = BigInt(object.tier); + } + if (object.ttl_timestamp !== undefined && object.ttl_timestamp !== null) { + message.ttlTimestamp = BigInt(object.ttl_timestamp); + } + return message; + }, + toAmino(message: FeeDiscountTierTTL): FeeDiscountTierTTLAmino { + const obj: any = {}; + obj.tier = message.tier !== BigInt(0) ? (message.tier?.toString)() : undefined; + obj.ttl_timestamp = message.ttlTimestamp !== BigInt(0) ? (message.ttlTimestamp?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: FeeDiscountTierTTLAminoMsg): FeeDiscountTierTTL { + return FeeDiscountTierTTL.fromAmino(object.value); + }, + fromProtoMsg(message: FeeDiscountTierTTLProtoMsg): FeeDiscountTierTTL { + return FeeDiscountTierTTL.decode(message.value); + }, + toProto(message: FeeDiscountTierTTL): Uint8Array { + return FeeDiscountTierTTL.encode(message).finish(); + }, + toProtoMsg(message: FeeDiscountTierTTL): FeeDiscountTierTTLProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.FeeDiscountTierTTL', + value: FeeDiscountTierTTL.encode(message).finish(), + }; + }, +}; +function createBaseVolumeRecord(): VolumeRecord { + return { + makerVolume: '', + takerVolume: '', + }; +} +export const VolumeRecord = { + typeUrl: '/injective.exchange.v1beta1.VolumeRecord', + encode(message: VolumeRecord, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.makerVolume !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.makerVolume, 18).atomics); + } + if (message.takerVolume !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.takerVolume, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): VolumeRecord { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVolumeRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.makerVolume = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.takerVolume = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): VolumeRecord { + const message = createBaseVolumeRecord(); + message.makerVolume = object.makerVolume ?? ''; + message.takerVolume = object.takerVolume ?? ''; + return message; + }, + fromAmino(object: VolumeRecordAmino): VolumeRecord { + const message = createBaseVolumeRecord(); + if (object.maker_volume !== undefined && object.maker_volume !== null) { + message.makerVolume = object.maker_volume; + } + if (object.taker_volume !== undefined && object.taker_volume !== null) { + message.takerVolume = object.taker_volume; + } + return message; + }, + toAmino(message: VolumeRecord): VolumeRecordAmino { + const obj: any = {}; + obj.maker_volume = message.makerVolume === '' ? undefined : message.makerVolume; + obj.taker_volume = message.takerVolume === '' ? undefined : message.takerVolume; + return obj; + }, + fromAminoMsg(object: VolumeRecordAminoMsg): VolumeRecord { + return VolumeRecord.fromAmino(object.value); + }, + fromProtoMsg(message: VolumeRecordProtoMsg): VolumeRecord { + return VolumeRecord.decode(message.value); + }, + toProto(message: VolumeRecord): Uint8Array { + return VolumeRecord.encode(message).finish(); + }, + toProtoMsg(message: VolumeRecord): VolumeRecordProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.VolumeRecord', + value: VolumeRecord.encode(message).finish(), + }; + }, +}; +function createBaseAccountRewards(): AccountRewards { + return { + account: '', + rewards: [], + }; +} +export const AccountRewards = { + typeUrl: '/injective.exchange.v1beta1.AccountRewards', + encode(message: AccountRewards, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.account !== '') { + writer.uint32(10).string(message.account); + } + for (const v of message.rewards) { + Coin.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AccountRewards { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccountRewards(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.account = reader.string(); + break; + case 2: + message.rewards.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AccountRewards { + const message = createBaseAccountRewards(); + message.account = object.account ?? ''; + message.rewards = object.rewards?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: AccountRewardsAmino): AccountRewards { + const message = createBaseAccountRewards(); + if (object.account !== undefined && object.account !== null) { + message.account = object.account; + } + message.rewards = object.rewards?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: AccountRewards): AccountRewardsAmino { + const obj: any = {}; + obj.account = message.account === '' ? undefined : message.account; + if (message.rewards) { + obj.rewards = message.rewards.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.rewards = message.rewards; + } + return obj; + }, + fromAminoMsg(object: AccountRewardsAminoMsg): AccountRewards { + return AccountRewards.fromAmino(object.value); + }, + fromProtoMsg(message: AccountRewardsProtoMsg): AccountRewards { + return AccountRewards.decode(message.value); + }, + toProto(message: AccountRewards): Uint8Array { + return AccountRewards.encode(message).finish(); + }, + toProtoMsg(message: AccountRewards): AccountRewardsProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.AccountRewards', + value: AccountRewards.encode(message).finish(), + }; + }, +}; +function createBaseTradeRecords(): TradeRecords { + return { + marketId: '', + latestTradeRecords: [], + }; +} +export const TradeRecords = { + typeUrl: '/injective.exchange.v1beta1.TradeRecords', + encode(message: TradeRecords, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.marketId !== '') { + writer.uint32(10).string(message.marketId); + } + for (const v of message.latestTradeRecords) { + TradeRecord.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TradeRecords { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTradeRecords(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.marketId = reader.string(); + break; + case 2: + message.latestTradeRecords.push(TradeRecord.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TradeRecords { + const message = createBaseTradeRecords(); + message.marketId = object.marketId ?? ''; + message.latestTradeRecords = object.latestTradeRecords?.map((e) => TradeRecord.fromPartial(e)) || []; + return message; + }, + fromAmino(object: TradeRecordsAmino): TradeRecords { + const message = createBaseTradeRecords(); + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + message.latestTradeRecords = object.latest_trade_records?.map((e) => TradeRecord.fromAmino(e)) || []; + return message; + }, + toAmino(message: TradeRecords): TradeRecordsAmino { + const obj: any = {}; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + if (message.latestTradeRecords) { + obj.latest_trade_records = message.latestTradeRecords.map((e) => (e ? TradeRecord.toAmino(e) : undefined)); + } else { + obj.latest_trade_records = message.latestTradeRecords; + } + return obj; + }, + fromAminoMsg(object: TradeRecordsAminoMsg): TradeRecords { + return TradeRecords.fromAmino(object.value); + }, + fromProtoMsg(message: TradeRecordsProtoMsg): TradeRecords { + return TradeRecords.decode(message.value); + }, + toProto(message: TradeRecords): Uint8Array { + return TradeRecords.encode(message).finish(); + }, + toProtoMsg(message: TradeRecords): TradeRecordsProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.TradeRecords', + value: TradeRecords.encode(message).finish(), + }; + }, +}; +function createBaseSubaccountIDs(): SubaccountIDs { + return { + subaccountIds: [], + }; +} +export const SubaccountIDs = { + typeUrl: '/injective.exchange.v1beta1.SubaccountIDs', + encode(message: SubaccountIDs, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.subaccountIds) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SubaccountIDs { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSubaccountIDs(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.subaccountIds.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SubaccountIDs { + const message = createBaseSubaccountIDs(); + message.subaccountIds = object.subaccountIds?.map((e) => e) || []; + return message; + }, + fromAmino(object: SubaccountIDsAmino): SubaccountIDs { + const message = createBaseSubaccountIDs(); + message.subaccountIds = object.subaccount_ids?.map((e) => bytesFromBase64(e)) || []; + return message; + }, + toAmino(message: SubaccountIDs): SubaccountIDsAmino { + const obj: any = {}; + if (message.subaccountIds) { + obj.subaccount_ids = message.subaccountIds.map((e) => base64FromBytes(e)); + } else { + obj.subaccount_ids = message.subaccountIds; + } + return obj; + }, + fromAminoMsg(object: SubaccountIDsAminoMsg): SubaccountIDs { + return SubaccountIDs.fromAmino(object.value); + }, + fromProtoMsg(message: SubaccountIDsProtoMsg): SubaccountIDs { + return SubaccountIDs.decode(message.value); + }, + toProto(message: SubaccountIDs): Uint8Array { + return SubaccountIDs.encode(message).finish(); + }, + toProtoMsg(message: SubaccountIDs): SubaccountIDsProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SubaccountIDs', + value: SubaccountIDs.encode(message).finish(), + }; + }, +}; +function createBaseTradeRecord(): TradeRecord { + return { + timestamp: BigInt(0), + price: '', + quantity: '', + }; +} +export const TradeRecord = { + typeUrl: '/injective.exchange.v1beta1.TradeRecord', + encode(message: TradeRecord, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.timestamp !== BigInt(0)) { + writer.uint32(8).int64(message.timestamp); + } + if (message.price !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.price, 18).atomics); + } + if (message.quantity !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.quantity, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TradeRecord { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTradeRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timestamp = reader.int64(); + break; + case 2: + message.price = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.quantity = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TradeRecord { + const message = createBaseTradeRecord(); + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); + message.price = object.price ?? ''; + message.quantity = object.quantity ?? ''; + return message; + }, + fromAmino(object: TradeRecordAmino): TradeRecord { + const message = createBaseTradeRecord(); + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = BigInt(object.timestamp); + } + if (object.price !== undefined && object.price !== null) { + message.price = object.price; + } + if (object.quantity !== undefined && object.quantity !== null) { + message.quantity = object.quantity; + } + return message; + }, + toAmino(message: TradeRecord): TradeRecordAmino { + const obj: any = {}; + obj.timestamp = message.timestamp !== BigInt(0) ? (message.timestamp?.toString)() : undefined; + obj.price = message.price === '' ? undefined : message.price; + obj.quantity = message.quantity === '' ? undefined : message.quantity; + return obj; + }, + fromAminoMsg(object: TradeRecordAminoMsg): TradeRecord { + return TradeRecord.fromAmino(object.value); + }, + fromProtoMsg(message: TradeRecordProtoMsg): TradeRecord { + return TradeRecord.decode(message.value); + }, + toProto(message: TradeRecord): Uint8Array { + return TradeRecord.encode(message).finish(); + }, + toProtoMsg(message: TradeRecord): TradeRecordProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.TradeRecord', + value: TradeRecord.encode(message).finish(), + }; + }, +}; +function createBaseLevel(): Level { + return { + p: '', + q: '', + }; +} +export const Level = { + typeUrl: '/injective.exchange.v1beta1.Level', + encode(message: Level, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.p !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.p, 18).atomics); + } + if (message.q !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.q, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Level { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLevel(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.p = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.q = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Level { + const message = createBaseLevel(); + message.p = object.p ?? ''; + message.q = object.q ?? ''; + return message; + }, + fromAmino(object: LevelAmino): Level { + const message = createBaseLevel(); + if (object.p !== undefined && object.p !== null) { + message.p = object.p; + } + if (object.q !== undefined && object.q !== null) { + message.q = object.q; + } + return message; + }, + toAmino(message: Level): LevelAmino { + const obj: any = {}; + obj.p = message.p === '' ? undefined : message.p; + obj.q = message.q === '' ? undefined : message.q; + return obj; + }, + fromAminoMsg(object: LevelAminoMsg): Level { + return Level.fromAmino(object.value); + }, + fromProtoMsg(message: LevelProtoMsg): Level { + return Level.decode(message.value); + }, + toProto(message: Level): Uint8Array { + return Level.encode(message).finish(); + }, + toProtoMsg(message: Level): LevelProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.Level', + value: Level.encode(message).finish(), + }; + }, +}; +function createBaseAggregateSubaccountVolumeRecord(): AggregateSubaccountVolumeRecord { + return { + subaccountId: '', + marketVolumes: [], + }; +} +export const AggregateSubaccountVolumeRecord = { + typeUrl: '/injective.exchange.v1beta1.AggregateSubaccountVolumeRecord', + encode(message: AggregateSubaccountVolumeRecord, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.subaccountId !== '') { + writer.uint32(10).string(message.subaccountId); + } + for (const v of message.marketVolumes) { + MarketVolume.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AggregateSubaccountVolumeRecord { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAggregateSubaccountVolumeRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.subaccountId = reader.string(); + break; + case 2: + message.marketVolumes.push(MarketVolume.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AggregateSubaccountVolumeRecord { + const message = createBaseAggregateSubaccountVolumeRecord(); + message.subaccountId = object.subaccountId ?? ''; + message.marketVolumes = object.marketVolumes?.map((e) => MarketVolume.fromPartial(e)) || []; + return message; + }, + fromAmino(object: AggregateSubaccountVolumeRecordAmino): AggregateSubaccountVolumeRecord { + const message = createBaseAggregateSubaccountVolumeRecord(); + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = object.subaccount_id; + } + message.marketVolumes = object.market_volumes?.map((e) => MarketVolume.fromAmino(e)) || []; + return message; + }, + toAmino(message: AggregateSubaccountVolumeRecord): AggregateSubaccountVolumeRecordAmino { + const obj: any = {}; + obj.subaccount_id = message.subaccountId === '' ? undefined : message.subaccountId; + if (message.marketVolumes) { + obj.market_volumes = message.marketVolumes.map((e) => (e ? MarketVolume.toAmino(e) : undefined)); + } else { + obj.market_volumes = message.marketVolumes; + } + return obj; + }, + fromAminoMsg(object: AggregateSubaccountVolumeRecordAminoMsg): AggregateSubaccountVolumeRecord { + return AggregateSubaccountVolumeRecord.fromAmino(object.value); + }, + fromProtoMsg(message: AggregateSubaccountVolumeRecordProtoMsg): AggregateSubaccountVolumeRecord { + return AggregateSubaccountVolumeRecord.decode(message.value); + }, + toProto(message: AggregateSubaccountVolumeRecord): Uint8Array { + return AggregateSubaccountVolumeRecord.encode(message).finish(); + }, + toProtoMsg(message: AggregateSubaccountVolumeRecord): AggregateSubaccountVolumeRecordProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.AggregateSubaccountVolumeRecord', + value: AggregateSubaccountVolumeRecord.encode(message).finish(), + }; + }, +}; +function createBaseAggregateAccountVolumeRecord(): AggregateAccountVolumeRecord { + return { + account: '', + marketVolumes: [], + }; +} +export const AggregateAccountVolumeRecord = { + typeUrl: '/injective.exchange.v1beta1.AggregateAccountVolumeRecord', + encode(message: AggregateAccountVolumeRecord, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.account !== '') { + writer.uint32(10).string(message.account); + } + for (const v of message.marketVolumes) { + MarketVolume.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AggregateAccountVolumeRecord { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAggregateAccountVolumeRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.account = reader.string(); + break; + case 2: + message.marketVolumes.push(MarketVolume.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AggregateAccountVolumeRecord { + const message = createBaseAggregateAccountVolumeRecord(); + message.account = object.account ?? ''; + message.marketVolumes = object.marketVolumes?.map((e) => MarketVolume.fromPartial(e)) || []; + return message; + }, + fromAmino(object: AggregateAccountVolumeRecordAmino): AggregateAccountVolumeRecord { + const message = createBaseAggregateAccountVolumeRecord(); + if (object.account !== undefined && object.account !== null) { + message.account = object.account; + } + message.marketVolumes = object.market_volumes?.map((e) => MarketVolume.fromAmino(e)) || []; + return message; + }, + toAmino(message: AggregateAccountVolumeRecord): AggregateAccountVolumeRecordAmino { + const obj: any = {}; + obj.account = message.account === '' ? undefined : message.account; + if (message.marketVolumes) { + obj.market_volumes = message.marketVolumes.map((e) => (e ? MarketVolume.toAmino(e) : undefined)); + } else { + obj.market_volumes = message.marketVolumes; + } + return obj; + }, + fromAminoMsg(object: AggregateAccountVolumeRecordAminoMsg): AggregateAccountVolumeRecord { + return AggregateAccountVolumeRecord.fromAmino(object.value); + }, + fromProtoMsg(message: AggregateAccountVolumeRecordProtoMsg): AggregateAccountVolumeRecord { + return AggregateAccountVolumeRecord.decode(message.value); + }, + toProto(message: AggregateAccountVolumeRecord): Uint8Array { + return AggregateAccountVolumeRecord.encode(message).finish(); + }, + toProtoMsg(message: AggregateAccountVolumeRecord): AggregateAccountVolumeRecordProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.AggregateAccountVolumeRecord', + value: AggregateAccountVolumeRecord.encode(message).finish(), + }; + }, +}; +function createBaseMarketVolume(): MarketVolume { + return { + marketId: '', + volume: VolumeRecord.fromPartial({}), + }; +} +export const MarketVolume = { + typeUrl: '/injective.exchange.v1beta1.MarketVolume', + encode(message: MarketVolume, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.marketId !== '') { + writer.uint32(10).string(message.marketId); + } + if (message.volume !== undefined) { + VolumeRecord.encode(message.volume, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MarketVolume { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMarketVolume(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.marketId = reader.string(); + break; + case 2: + message.volume = VolumeRecord.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MarketVolume { + const message = createBaseMarketVolume(); + message.marketId = object.marketId ?? ''; + message.volume = + object.volume !== undefined && object.volume !== null ? VolumeRecord.fromPartial(object.volume) : undefined; + return message; + }, + fromAmino(object: MarketVolumeAmino): MarketVolume { + const message = createBaseMarketVolume(); + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.volume !== undefined && object.volume !== null) { + message.volume = VolumeRecord.fromAmino(object.volume); + } + return message; + }, + toAmino(message: MarketVolume): MarketVolumeAmino { + const obj: any = {}; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.volume = message.volume ? VolumeRecord.toAmino(message.volume) : undefined; + return obj; + }, + fromAminoMsg(object: MarketVolumeAminoMsg): MarketVolume { + return MarketVolume.fromAmino(object.value); + }, + fromProtoMsg(message: MarketVolumeProtoMsg): MarketVolume { + return MarketVolume.decode(message.value); + }, + toProto(message: MarketVolume): Uint8Array { + return MarketVolume.encode(message).finish(); + }, + toProtoMsg(message: MarketVolume): MarketVolumeProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MarketVolume', + value: MarketVolume.encode(message).finish(), + }; + }, +}; +function createBaseDenomDecimals(): DenomDecimals { + return { + denom: '', + decimals: BigInt(0), + }; +} +export const DenomDecimals = { + typeUrl: '/injective.exchange.v1beta1.DenomDecimals', + encode(message: DenomDecimals, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.denom !== '') { + writer.uint32(10).string(message.denom); + } + if (message.decimals !== BigInt(0)) { + writer.uint32(16).uint64(message.decimals); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DenomDecimals { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDenomDecimals(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.denom = reader.string(); + break; + case 2: + message.decimals = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DenomDecimals { + const message = createBaseDenomDecimals(); + message.denom = object.denom ?? ''; + message.decimals = + object.decimals !== undefined && object.decimals !== null ? BigInt(object.decimals.toString()) : BigInt(0); + return message; + }, + fromAmino(object: DenomDecimalsAmino): DenomDecimals { + const message = createBaseDenomDecimals(); + if (object.denom !== undefined && object.denom !== null) { + message.denom = object.denom; + } + if (object.decimals !== undefined && object.decimals !== null) { + message.decimals = BigInt(object.decimals); + } + return message; + }, + toAmino(message: DenomDecimals): DenomDecimalsAmino { + const obj: any = {}; + obj.denom = message.denom === '' ? undefined : message.denom; + obj.decimals = message.decimals !== BigInt(0) ? (message.decimals?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: DenomDecimalsAminoMsg): DenomDecimals { + return DenomDecimals.fromAmino(object.value); + }, + fromProtoMsg(message: DenomDecimalsProtoMsg): DenomDecimals { + return DenomDecimals.decode(message.value); + }, + toProto(message: DenomDecimals): Uint8Array { + return DenomDecimals.encode(message).finish(); + }, + toProtoMsg(message: DenomDecimals): DenomDecimalsProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.DenomDecimals', + value: DenomDecimals.encode(message).finish(), + }; + }, +}; +function createBaseGrantAuthorization(): GrantAuthorization { + return { + grantee: '', + amount: '', + }; +} +export const GrantAuthorization = { + typeUrl: '/injective.exchange.v1beta1.GrantAuthorization', + encode(message: GrantAuthorization, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.grantee !== '') { + writer.uint32(10).string(message.grantee); + } + if (message.amount !== '') { + writer.uint32(18).string(message.amount); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GrantAuthorization { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGrantAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.grantee = reader.string(); + break; + case 2: + message.amount = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GrantAuthorization { + const message = createBaseGrantAuthorization(); + message.grantee = object.grantee ?? ''; + message.amount = object.amount ?? ''; + return message; + }, + fromAmino(object: GrantAuthorizationAmino): GrantAuthorization { + const message = createBaseGrantAuthorization(); + if (object.grantee !== undefined && object.grantee !== null) { + message.grantee = object.grantee; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = object.amount; + } + return message; + }, + toAmino(message: GrantAuthorization): GrantAuthorizationAmino { + const obj: any = {}; + obj.grantee = message.grantee === '' ? undefined : message.grantee; + obj.amount = message.amount === '' ? undefined : message.amount; + return obj; + }, + fromAminoMsg(object: GrantAuthorizationAminoMsg): GrantAuthorization { + return GrantAuthorization.fromAmino(object.value); + }, + fromProtoMsg(message: GrantAuthorizationProtoMsg): GrantAuthorization { + return GrantAuthorization.decode(message.value); + }, + toProto(message: GrantAuthorization): Uint8Array { + return GrantAuthorization.encode(message).finish(); + }, + toProtoMsg(message: GrantAuthorization): GrantAuthorizationProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.GrantAuthorization', + value: GrantAuthorization.encode(message).finish(), + }; + }, +}; +function createBaseActiveGrant(): ActiveGrant { + return { + granter: '', + amount: '', + }; +} +export const ActiveGrant = { + typeUrl: '/injective.exchange.v1beta1.ActiveGrant', + encode(message: ActiveGrant, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.granter !== '') { + writer.uint32(10).string(message.granter); + } + if (message.amount !== '') { + writer.uint32(18).string(message.amount); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ActiveGrant { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseActiveGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.granter = reader.string(); + break; + case 2: + message.amount = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ActiveGrant { + const message = createBaseActiveGrant(); + message.granter = object.granter ?? ''; + message.amount = object.amount ?? ''; + return message; + }, + fromAmino(object: ActiveGrantAmino): ActiveGrant { + const message = createBaseActiveGrant(); + if (object.granter !== undefined && object.granter !== null) { + message.granter = object.granter; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = object.amount; + } + return message; + }, + toAmino(message: ActiveGrant): ActiveGrantAmino { + const obj: any = {}; + obj.granter = message.granter === '' ? undefined : message.granter; + obj.amount = message.amount === '' ? undefined : message.amount; + return obj; + }, + fromAminoMsg(object: ActiveGrantAminoMsg): ActiveGrant { + return ActiveGrant.fromAmino(object.value); + }, + fromProtoMsg(message: ActiveGrantProtoMsg): ActiveGrant { + return ActiveGrant.decode(message.value); + }, + toProto(message: ActiveGrant): Uint8Array { + return ActiveGrant.encode(message).finish(); + }, + toProtoMsg(message: ActiveGrant): ActiveGrantProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.ActiveGrant', + value: ActiveGrant.encode(message).finish(), + }; + }, +}; +function createBaseEffectiveGrant(): EffectiveGrant { + return { + granter: '', + netGrantedStake: '', + isValid: false, + }; +} +export const EffectiveGrant = { + typeUrl: '/injective.exchange.v1beta1.EffectiveGrant', + encode(message: EffectiveGrant, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.granter !== '') { + writer.uint32(10).string(message.granter); + } + if (message.netGrantedStake !== '') { + writer.uint32(18).string(message.netGrantedStake); + } + if (message.isValid === true) { + writer.uint32(24).bool(message.isValid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EffectiveGrant { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEffectiveGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.granter = reader.string(); + break; + case 2: + message.netGrantedStake = reader.string(); + break; + case 3: + message.isValid = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EffectiveGrant { + const message = createBaseEffectiveGrant(); + message.granter = object.granter ?? ''; + message.netGrantedStake = object.netGrantedStake ?? ''; + message.isValid = object.isValid ?? false; + return message; + }, + fromAmino(object: EffectiveGrantAmino): EffectiveGrant { + const message = createBaseEffectiveGrant(); + if (object.granter !== undefined && object.granter !== null) { + message.granter = object.granter; + } + if (object.net_granted_stake !== undefined && object.net_granted_stake !== null) { + message.netGrantedStake = object.net_granted_stake; + } + if (object.is_valid !== undefined && object.is_valid !== null) { + message.isValid = object.is_valid; + } + return message; + }, + toAmino(message: EffectiveGrant): EffectiveGrantAmino { + const obj: any = {}; + obj.granter = message.granter === '' ? undefined : message.granter; + obj.net_granted_stake = message.netGrantedStake === '' ? undefined : message.netGrantedStake; + obj.is_valid = message.isValid === false ? undefined : message.isValid; + return obj; + }, + fromAminoMsg(object: EffectiveGrantAminoMsg): EffectiveGrant { + return EffectiveGrant.fromAmino(object.value); + }, + fromProtoMsg(message: EffectiveGrantProtoMsg): EffectiveGrant { + return EffectiveGrant.decode(message.value); + }, + toProto(message: EffectiveGrant): Uint8Array { + return EffectiveGrant.encode(message).finish(); + }, + toProtoMsg(message: EffectiveGrant): EffectiveGrantProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.EffectiveGrant', + value: EffectiveGrant.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/exchange/v1beta1/proposal.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/exchange/v1beta1/proposal.ts new file mode 100644 index 00000000..374c541d --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/exchange/v1beta1/proposal.ts @@ -0,0 +1,4639 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Decimal } from '@cosmjs/math'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { + CommunityPoolSpendProposal, + CommunityPoolSpendProposalAmino, + CommunityPoolSpendProposalSDKType, +} from '../../../cosmos/distribution/v1beta1/distribution'; +import { OracleType } from '../../oracle/v1beta1/oracle'; +import { + CampaignRewardPool, + CampaignRewardPoolAmino, + CampaignRewardPoolSDKType, + DenomDecimals, + DenomDecimalsAmino, + DenomDecimalsSDKType, + FeeDiscountSchedule, + FeeDiscountScheduleAmino, + FeeDiscountScheduleSDKType, + MarketFeeMultiplier, + MarketFeeMultiplierAmino, + MarketFeeMultiplierSDKType, + MarketStatus, + TradingRewardCampaignInfo, + TradingRewardCampaignInfoAmino, + TradingRewardCampaignInfoSDKType, +} from './exchange'; +export enum ExchangeType { + EXCHANGE_UNSPECIFIED = 0, + SPOT = 1, + DERIVATIVES = 2, + UNRECOGNIZED = -1, +} +export const ExchangeTypeSDKType = ExchangeType; +export const ExchangeTypeAmino = ExchangeType; +export function exchangeTypeFromJSON(object: any): ExchangeType { + switch (object) { + case 0: + case 'EXCHANGE_UNSPECIFIED': + return ExchangeType.EXCHANGE_UNSPECIFIED; + case 1: + case 'SPOT': + return ExchangeType.SPOT; + case 2: + case 'DERIVATIVES': + return ExchangeType.DERIVATIVES; + case -1: + case 'UNRECOGNIZED': + default: + return ExchangeType.UNRECOGNIZED; + } +} +export function exchangeTypeToJSON(object: ExchangeType): string { + switch (object) { + case ExchangeType.EXCHANGE_UNSPECIFIED: + return 'EXCHANGE_UNSPECIFIED'; + case ExchangeType.SPOT: + return 'SPOT'; + case ExchangeType.DERIVATIVES: + return 'DERIVATIVES'; + case ExchangeType.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export interface SpotMarketParamUpdateProposal { + $typeUrl?: '/injective.exchange.v1beta1.SpotMarketParamUpdateProposal'; + title: string; + description: string; + marketId: string; + /** maker_fee_rate defines the trade fee rate for makers on the spot market */ + makerFeeRate?: string; + /** taker_fee_rate defines the trade fee rate for takers on the spot market */ + takerFeeRate?: string; + /** + * relayer_fee_share_rate defines the relayer fee share rate for the spot + * market + */ + relayerFeeShareRate?: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + minPriceTickSize?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + minQuantityTickSize?: string; + status: MarketStatus; + ticker?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional?: string; + adminInfo?: AdminInfo; +} +export interface SpotMarketParamUpdateProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SpotMarketParamUpdateProposal'; + value: Uint8Array; +} +export interface SpotMarketParamUpdateProposalAmino { + title?: string; + description?: string; + market_id?: string; + /** maker_fee_rate defines the trade fee rate for makers on the spot market */ + maker_fee_rate?: string; + /** taker_fee_rate defines the trade fee rate for takers on the spot market */ + taker_fee_rate?: string; + /** + * relayer_fee_share_rate defines the relayer fee share rate for the spot + * market + */ + relayer_fee_share_rate?: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + min_quantity_tick_size?: string; + status?: MarketStatus; + ticker?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; + admin_info?: AdminInfoAmino; +} +export interface SpotMarketParamUpdateProposalAminoMsg { + type: 'exchange/SpotMarketParamUpdateProposal'; + value: SpotMarketParamUpdateProposalAmino; +} +export interface SpotMarketParamUpdateProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.SpotMarketParamUpdateProposal'; + title: string; + description: string; + market_id: string; + maker_fee_rate?: string; + taker_fee_rate?: string; + relayer_fee_share_rate?: string; + min_price_tick_size?: string; + min_quantity_tick_size?: string; + status: MarketStatus; + ticker?: string; + min_notional?: string; + admin_info?: AdminInfoSDKType; +} +export interface ExchangeEnableProposal { + title: string; + description: string; + exchangeType: ExchangeType; +} +export interface ExchangeEnableProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.ExchangeEnableProposal'; + value: Uint8Array; +} +export interface ExchangeEnableProposalAmino { + title?: string; + description?: string; + exchangeType?: ExchangeType; +} +export interface ExchangeEnableProposalAminoMsg { + type: 'exchange/ExchangeEnableProposal'; + value: ExchangeEnableProposalAmino; +} +export interface ExchangeEnableProposalSDKType { + title: string; + description: string; + exchangeType: ExchangeType; +} +export interface BatchExchangeModificationProposal { + $typeUrl?: '/injective.exchange.v1beta1.BatchExchangeModificationProposal'; + title: string; + description: string; + spotMarketParamUpdateProposals: SpotMarketParamUpdateProposal[]; + derivativeMarketParamUpdateProposals: DerivativeMarketParamUpdateProposal[]; + spotMarketLaunchProposals: SpotMarketLaunchProposal[]; + perpetualMarketLaunchProposals: PerpetualMarketLaunchProposal[]; + expiryFuturesMarketLaunchProposals: ExpiryFuturesMarketLaunchProposal[]; + tradingRewardCampaignUpdateProposal?: TradingRewardCampaignUpdateProposal; + binaryOptionsMarketLaunchProposals: BinaryOptionsMarketLaunchProposal[]; + binaryOptionsParamUpdateProposals: BinaryOptionsMarketParamUpdateProposal[]; + denomDecimalsUpdateProposal?: UpdateDenomDecimalsProposal; + feeDiscountProposal?: FeeDiscountProposal; + marketForcedSettlementProposals: MarketForcedSettlementProposal[]; +} +export interface BatchExchangeModificationProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.BatchExchangeModificationProposal'; + value: Uint8Array; +} +export interface BatchExchangeModificationProposalAmino { + title?: string; + description?: string; + spot_market_param_update_proposals?: SpotMarketParamUpdateProposalAmino[]; + derivative_market_param_update_proposals?: DerivativeMarketParamUpdateProposalAmino[]; + spot_market_launch_proposals?: SpotMarketLaunchProposalAmino[]; + perpetual_market_launch_proposals?: PerpetualMarketLaunchProposalAmino[]; + expiry_futures_market_launch_proposals?: ExpiryFuturesMarketLaunchProposalAmino[]; + trading_reward_campaign_update_proposal?: TradingRewardCampaignUpdateProposalAmino; + binary_options_market_launch_proposals?: BinaryOptionsMarketLaunchProposalAmino[]; + binary_options_param_update_proposals?: BinaryOptionsMarketParamUpdateProposalAmino[]; + denom_decimals_update_proposal?: UpdateDenomDecimalsProposalAmino; + fee_discount_proposal?: FeeDiscountProposalAmino; + market_forced_settlement_proposals?: MarketForcedSettlementProposalAmino[]; +} +export interface BatchExchangeModificationProposalAminoMsg { + type: 'exchange/BatchExchangeModificationProposal'; + value: BatchExchangeModificationProposalAmino; +} +export interface BatchExchangeModificationProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.BatchExchangeModificationProposal'; + title: string; + description: string; + spot_market_param_update_proposals: SpotMarketParamUpdateProposalSDKType[]; + derivative_market_param_update_proposals: DerivativeMarketParamUpdateProposalSDKType[]; + spot_market_launch_proposals: SpotMarketLaunchProposalSDKType[]; + perpetual_market_launch_proposals: PerpetualMarketLaunchProposalSDKType[]; + expiry_futures_market_launch_proposals: ExpiryFuturesMarketLaunchProposalSDKType[]; + trading_reward_campaign_update_proposal?: TradingRewardCampaignUpdateProposalSDKType; + binary_options_market_launch_proposals: BinaryOptionsMarketLaunchProposalSDKType[]; + binary_options_param_update_proposals: BinaryOptionsMarketParamUpdateProposalSDKType[]; + denom_decimals_update_proposal?: UpdateDenomDecimalsProposalSDKType; + fee_discount_proposal?: FeeDiscountProposalSDKType; + market_forced_settlement_proposals: MarketForcedSettlementProposalSDKType[]; +} +/** + * SpotMarketLaunchProposal defines a SDK message for proposing a new spot + * market through governance + */ +export interface SpotMarketLaunchProposal { + $typeUrl?: '/injective.exchange.v1beta1.SpotMarketLaunchProposal'; + title: string; + description: string; + /** Ticker for the spot market. */ + ticker: string; + /** type of coin to use as the base currency */ + baseDenom: string; + /** type of coin to use as the quote currency */ + quoteDenom: string; + /** min_price_tick_size defines the minimum tick size of the order's price */ + minPriceTickSize: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + minQuantityTickSize: string; + /** maker_fee_rate defines the fee percentage makers pay when trading */ + makerFeeRate?: string; + /** taker_fee_rate defines the fee percentage takers pay when trading */ + takerFeeRate?: string; + /** min_notional defines the minimum notional for orders in the market */ + minNotional: string; + adminInfo?: AdminInfo; +} +export interface SpotMarketLaunchProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SpotMarketLaunchProposal'; + value: Uint8Array; +} +/** + * SpotMarketLaunchProposal defines a SDK message for proposing a new spot + * market through governance + */ +export interface SpotMarketLaunchProposalAmino { + title?: string; + description?: string; + /** Ticker for the spot market. */ + ticker?: string; + /** type of coin to use as the base currency */ + base_denom?: string; + /** type of coin to use as the quote currency */ + quote_denom?: string; + /** min_price_tick_size defines the minimum tick size of the order's price */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + min_quantity_tick_size?: string; + /** maker_fee_rate defines the fee percentage makers pay when trading */ + maker_fee_rate?: string; + /** taker_fee_rate defines the fee percentage takers pay when trading */ + taker_fee_rate?: string; + /** min_notional defines the minimum notional for orders in the market */ + min_notional?: string; + admin_info?: AdminInfoAmino; +} +export interface SpotMarketLaunchProposalAminoMsg { + type: 'exchange/SpotMarketLaunchProposal'; + value: SpotMarketLaunchProposalAmino; +} +/** + * SpotMarketLaunchProposal defines a SDK message for proposing a new spot + * market through governance + */ +export interface SpotMarketLaunchProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.SpotMarketLaunchProposal'; + title: string; + description: string; + ticker: string; + base_denom: string; + quote_denom: string; + min_price_tick_size: string; + min_quantity_tick_size: string; + maker_fee_rate?: string; + taker_fee_rate?: string; + min_notional: string; + admin_info?: AdminInfoSDKType; +} +/** + * PerpetualMarketLaunchProposal defines a SDK message for proposing a new + * perpetual futures market through governance + */ +export interface PerpetualMarketLaunchProposal { + $typeUrl?: '/injective.exchange.v1beta1.PerpetualMarketLaunchProposal'; + title: string; + description: string; + /** Ticker for the derivative market. */ + ticker: string; + /** type of coin to use as the base currency */ + quoteDenom: string; + /** Oracle base currency */ + oracleBase: string; + /** Oracle quote currency */ + oracleQuote: string; + /** Scale factor for oracle prices. */ + oracleScaleFactor: number; + /** Oracle type */ + oracleType: OracleType; + /** + * initial_margin_ratio defines the initial margin ratio for the derivative + * market + */ + initialMarginRatio: string; + /** + * maintenance_margin_ratio defines the maintenance margin ratio for the + * derivative market + */ + maintenanceMarginRatio: string; + /** + * maker_fee_rate defines the exchange trade fee for makers for the derivative + * market + */ + makerFeeRate: string; + /** + * taker_fee_rate defines the exchange trade fee for takers for the derivative + * market + */ + takerFeeRate: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + minPriceTickSize: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + minQuantityTickSize: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional: string; + adminInfo?: AdminInfo; +} +export interface PerpetualMarketLaunchProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.PerpetualMarketLaunchProposal'; + value: Uint8Array; +} +/** + * PerpetualMarketLaunchProposal defines a SDK message for proposing a new + * perpetual futures market through governance + */ +export interface PerpetualMarketLaunchProposalAmino { + title?: string; + description?: string; + /** Ticker for the derivative market. */ + ticker?: string; + /** type of coin to use as the base currency */ + quote_denom?: string; + /** Oracle base currency */ + oracle_base?: string; + /** Oracle quote currency */ + oracle_quote?: string; + /** Scale factor for oracle prices. */ + oracle_scale_factor?: number; + /** Oracle type */ + oracle_type?: OracleType; + /** + * initial_margin_ratio defines the initial margin ratio for the derivative + * market + */ + initial_margin_ratio?: string; + /** + * maintenance_margin_ratio defines the maintenance margin ratio for the + * derivative market + */ + maintenance_margin_ratio?: string; + /** + * maker_fee_rate defines the exchange trade fee for makers for the derivative + * market + */ + maker_fee_rate?: string; + /** + * taker_fee_rate defines the exchange trade fee for takers for the derivative + * market + */ + taker_fee_rate?: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + min_quantity_tick_size?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; + admin_info?: AdminInfoAmino; +} +export interface PerpetualMarketLaunchProposalAminoMsg { + type: 'exchange/PerpetualMarketLaunchProposal'; + value: PerpetualMarketLaunchProposalAmino; +} +/** + * PerpetualMarketLaunchProposal defines a SDK message for proposing a new + * perpetual futures market through governance + */ +export interface PerpetualMarketLaunchProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.PerpetualMarketLaunchProposal'; + title: string; + description: string; + ticker: string; + quote_denom: string; + oracle_base: string; + oracle_quote: string; + oracle_scale_factor: number; + oracle_type: OracleType; + initial_margin_ratio: string; + maintenance_margin_ratio: string; + maker_fee_rate: string; + taker_fee_rate: string; + min_price_tick_size: string; + min_quantity_tick_size: string; + min_notional: string; + admin_info?: AdminInfoSDKType; +} +export interface BinaryOptionsMarketLaunchProposal { + $typeUrl?: '/injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal'; + title: string; + description: string; + /** Ticker for the derivative contract. */ + ticker: string; + /** Oracle symbol */ + oracleSymbol: string; + /** Oracle Provider */ + oracleProvider: string; + /** Oracle type */ + oracleType: OracleType; + /** Scale factor for oracle prices. */ + oracleScaleFactor: number; + /** expiration timestamp */ + expirationTimestamp: bigint; + /** expiration timestamp */ + settlementTimestamp: bigint; + /** admin of the market */ + admin: string; + /** Address of the quote currency denomination for the binary options contract */ + quoteDenom: string; + /** maker_fee_rate defines the maker fee rate of a binary options market */ + makerFeeRate: string; + /** taker_fee_rate defines the taker fee rate of a derivative market */ + takerFeeRate: string; + /** + * min_price_tick_size defines the minimum tick size that the price and margin + * required for orders in the market + */ + minPriceTickSize: string; + /** + * min_quantity_tick_size defines the minimum tick size of the quantity + * required for orders in the market + */ + minQuantityTickSize: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional: string; + adminPermissions: number; +} +export interface BinaryOptionsMarketLaunchProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal'; + value: Uint8Array; +} +export interface BinaryOptionsMarketLaunchProposalAmino { + title?: string; + description?: string; + /** Ticker for the derivative contract. */ + ticker?: string; + /** Oracle symbol */ + oracle_symbol?: string; + /** Oracle Provider */ + oracle_provider?: string; + /** Oracle type */ + oracle_type?: OracleType; + /** Scale factor for oracle prices. */ + oracle_scale_factor?: number; + /** expiration timestamp */ + expiration_timestamp?: string; + /** expiration timestamp */ + settlement_timestamp?: string; + /** admin of the market */ + admin?: string; + /** Address of the quote currency denomination for the binary options contract */ + quote_denom?: string; + /** maker_fee_rate defines the maker fee rate of a binary options market */ + maker_fee_rate?: string; + /** taker_fee_rate defines the taker fee rate of a derivative market */ + taker_fee_rate?: string; + /** + * min_price_tick_size defines the minimum tick size that the price and margin + * required for orders in the market + */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the quantity + * required for orders in the market + */ + min_quantity_tick_size?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; + admin_permissions?: number; +} +export interface BinaryOptionsMarketLaunchProposalAminoMsg { + type: 'exchange/BinaryOptionsMarketLaunchProposal'; + value: BinaryOptionsMarketLaunchProposalAmino; +} +export interface BinaryOptionsMarketLaunchProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal'; + title: string; + description: string; + ticker: string; + oracle_symbol: string; + oracle_provider: string; + oracle_type: OracleType; + oracle_scale_factor: number; + expiration_timestamp: bigint; + settlement_timestamp: bigint; + admin: string; + quote_denom: string; + maker_fee_rate: string; + taker_fee_rate: string; + min_price_tick_size: string; + min_quantity_tick_size: string; + min_notional: string; + admin_permissions: number; +} +/** + * ExpiryFuturesMarketLaunchProposal defines a SDK message for proposing a new + * expiry futures market through governance + */ +export interface ExpiryFuturesMarketLaunchProposal { + $typeUrl?: '/injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal'; + title: string; + description: string; + /** Ticker for the derivative market. */ + ticker: string; + /** type of coin to use as the quote currency */ + quoteDenom: string; + /** Oracle base currency */ + oracleBase: string; + /** Oracle quote currency */ + oracleQuote: string; + /** Scale factor for oracle prices. */ + oracleScaleFactor: number; + /** Oracle type */ + oracleType: OracleType; + /** Expiration time of the market */ + expiry: bigint; + /** + * initial_margin_ratio defines the initial margin ratio for the derivative + * market + */ + initialMarginRatio: string; + /** + * maintenance_margin_ratio defines the maintenance margin ratio for the + * derivative market + */ + maintenanceMarginRatio: string; + /** + * maker_fee_rate defines the exchange trade fee for makers for the derivative + * market + */ + makerFeeRate: string; + /** + * taker_fee_rate defines the exchange trade fee for takers for the derivative + * market + */ + takerFeeRate: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + minPriceTickSize: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + minQuantityTickSize: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional: string; + adminInfo?: AdminInfo; +} +export interface ExpiryFuturesMarketLaunchProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal'; + value: Uint8Array; +} +/** + * ExpiryFuturesMarketLaunchProposal defines a SDK message for proposing a new + * expiry futures market through governance + */ +export interface ExpiryFuturesMarketLaunchProposalAmino { + title?: string; + description?: string; + /** Ticker for the derivative market. */ + ticker?: string; + /** type of coin to use as the quote currency */ + quote_denom?: string; + /** Oracle base currency */ + oracle_base?: string; + /** Oracle quote currency */ + oracle_quote?: string; + /** Scale factor for oracle prices. */ + oracle_scale_factor?: number; + /** Oracle type */ + oracle_type?: OracleType; + /** Expiration time of the market */ + expiry?: string; + /** + * initial_margin_ratio defines the initial margin ratio for the derivative + * market + */ + initial_margin_ratio?: string; + /** + * maintenance_margin_ratio defines the maintenance margin ratio for the + * derivative market + */ + maintenance_margin_ratio?: string; + /** + * maker_fee_rate defines the exchange trade fee for makers for the derivative + * market + */ + maker_fee_rate?: string; + /** + * taker_fee_rate defines the exchange trade fee for takers for the derivative + * market + */ + taker_fee_rate?: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + min_quantity_tick_size?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; + admin_info?: AdminInfoAmino; +} +export interface ExpiryFuturesMarketLaunchProposalAminoMsg { + type: 'exchange/ExpiryFuturesMarketLaunchProposal'; + value: ExpiryFuturesMarketLaunchProposalAmino; +} +/** + * ExpiryFuturesMarketLaunchProposal defines a SDK message for proposing a new + * expiry futures market through governance + */ +export interface ExpiryFuturesMarketLaunchProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal'; + title: string; + description: string; + ticker: string; + quote_denom: string; + oracle_base: string; + oracle_quote: string; + oracle_scale_factor: number; + oracle_type: OracleType; + expiry: bigint; + initial_margin_ratio: string; + maintenance_margin_ratio: string; + maker_fee_rate: string; + taker_fee_rate: string; + min_price_tick_size: string; + min_quantity_tick_size: string; + min_notional: string; + admin_info?: AdminInfoSDKType; +} +export interface DerivativeMarketParamUpdateProposal { + $typeUrl?: '/injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal'; + title: string; + description: string; + marketId: string; + /** + * initial_margin_ratio defines the initial margin ratio for the derivative + * market + */ + initialMarginRatio?: string; + /** + * maintenance_margin_ratio defines the maintenance margin ratio for the + * derivative market + */ + maintenanceMarginRatio?: string; + /** + * maker_fee_rate defines the exchange trade fee for makers for the derivative + * market + */ + makerFeeRate?: string; + /** + * taker_fee_rate defines the exchange trade fee for takers for the derivative + * market + */ + takerFeeRate?: string; + /** + * relayer_fee_share_rate defines the relayer fee share rate for the + * derivative market + */ + relayerFeeShareRate?: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + minPriceTickSize?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + minQuantityTickSize?: string; + /** hourly_interest_rate defines the hourly interest rate */ + hourlyInterestRate?: string; + /** + * hourly_funding_rate_cap defines the maximum absolute value of the hourly + * funding rate + */ + hourlyFundingRateCap?: string; + status: MarketStatus; + oracleParams?: OracleParams; + ticker?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional?: string; + adminInfo?: AdminInfo; +} +export interface DerivativeMarketParamUpdateProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal'; + value: Uint8Array; +} +export interface DerivativeMarketParamUpdateProposalAmino { + title?: string; + description?: string; + market_id?: string; + /** + * initial_margin_ratio defines the initial margin ratio for the derivative + * market + */ + initial_margin_ratio?: string; + /** + * maintenance_margin_ratio defines the maintenance margin ratio for the + * derivative market + */ + maintenance_margin_ratio?: string; + /** + * maker_fee_rate defines the exchange trade fee for makers for the derivative + * market + */ + maker_fee_rate?: string; + /** + * taker_fee_rate defines the exchange trade fee for takers for the derivative + * market + */ + taker_fee_rate?: string; + /** + * relayer_fee_share_rate defines the relayer fee share rate for the + * derivative market + */ + relayer_fee_share_rate?: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + min_quantity_tick_size?: string; + /** hourly_interest_rate defines the hourly interest rate */ + HourlyInterestRate?: string; + /** + * hourly_funding_rate_cap defines the maximum absolute value of the hourly + * funding rate + */ + HourlyFundingRateCap?: string; + status?: MarketStatus; + oracle_params?: OracleParamsAmino; + ticker?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; + admin_info?: AdminInfoAmino; +} +export interface DerivativeMarketParamUpdateProposalAminoMsg { + type: 'exchange/DerivativeMarketParamUpdateProposal'; + value: DerivativeMarketParamUpdateProposalAmino; +} +export interface DerivativeMarketParamUpdateProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal'; + title: string; + description: string; + market_id: string; + initial_margin_ratio?: string; + maintenance_margin_ratio?: string; + maker_fee_rate?: string; + taker_fee_rate?: string; + relayer_fee_share_rate?: string; + min_price_tick_size?: string; + min_quantity_tick_size?: string; + HourlyInterestRate?: string; + HourlyFundingRateCap?: string; + status: MarketStatus; + oracle_params?: OracleParamsSDKType; + ticker?: string; + min_notional?: string; + admin_info?: AdminInfoSDKType; +} +export interface AdminInfo { + admin: string; + adminPermissions: number; +} +export interface AdminInfoProtoMsg { + typeUrl: '/injective.exchange.v1beta1.AdminInfo'; + value: Uint8Array; +} +export interface AdminInfoAmino { + admin?: string; + admin_permissions?: number; +} +export interface AdminInfoAminoMsg { + type: '/injective.exchange.v1beta1.AdminInfo'; + value: AdminInfoAmino; +} +export interface AdminInfoSDKType { + admin: string; + admin_permissions: number; +} +export interface MarketForcedSettlementProposal { + $typeUrl?: '/injective.exchange.v1beta1.MarketForcedSettlementProposal'; + title: string; + description: string; + marketId: string; + settlementPrice?: string; +} +export interface MarketForcedSettlementProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MarketForcedSettlementProposal'; + value: Uint8Array; +} +export interface MarketForcedSettlementProposalAmino { + title?: string; + description?: string; + market_id?: string; + settlement_price?: string; +} +export interface MarketForcedSettlementProposalAminoMsg { + type: 'exchange/MarketForcedSettlementProposal'; + value: MarketForcedSettlementProposalAmino; +} +export interface MarketForcedSettlementProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.MarketForcedSettlementProposal'; + title: string; + description: string; + market_id: string; + settlement_price?: string; +} +export interface UpdateDenomDecimalsProposal { + $typeUrl?: '/injective.exchange.v1beta1.UpdateDenomDecimalsProposal'; + title: string; + description: string; + denomDecimals: DenomDecimals[]; +} +export interface UpdateDenomDecimalsProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.UpdateDenomDecimalsProposal'; + value: Uint8Array; +} +export interface UpdateDenomDecimalsProposalAmino { + title?: string; + description?: string; + denom_decimals?: DenomDecimalsAmino[]; +} +export interface UpdateDenomDecimalsProposalAminoMsg { + type: 'exchange/UpdateDenomDecimalsProposal'; + value: UpdateDenomDecimalsProposalAmino; +} +export interface UpdateDenomDecimalsProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.UpdateDenomDecimalsProposal'; + title: string; + description: string; + denom_decimals: DenomDecimalsSDKType[]; +} +export interface BinaryOptionsMarketParamUpdateProposal { + $typeUrl?: '/injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal'; + title: string; + description: string; + marketId: string; + /** + * maker_fee_rate defines the exchange trade fee for makers for the derivative + * market + */ + makerFeeRate?: string; + /** + * taker_fee_rate defines the exchange trade fee for takers for the derivative + * market + */ + takerFeeRate?: string; + /** + * relayer_fee_share_rate defines the relayer fee share rate for the + * derivative market + */ + relayerFeeShareRate?: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + minPriceTickSize?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + minQuantityTickSize?: string; + /** expiration timestamp */ + expirationTimestamp: bigint; + /** expiration timestamp */ + settlementTimestamp: bigint; + /** new price at which market will be settled */ + settlementPrice?: string; + /** admin of the market */ + admin: string; + status: MarketStatus; + oracleParams?: ProviderOracleParams; + ticker?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional?: string; +} +export interface BinaryOptionsMarketParamUpdateProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal'; + value: Uint8Array; +} +export interface BinaryOptionsMarketParamUpdateProposalAmino { + title?: string; + description?: string; + market_id?: string; + /** + * maker_fee_rate defines the exchange trade fee for makers for the derivative + * market + */ + maker_fee_rate?: string; + /** + * taker_fee_rate defines the exchange trade fee for takers for the derivative + * market + */ + taker_fee_rate?: string; + /** + * relayer_fee_share_rate defines the relayer fee share rate for the + * derivative market + */ + relayer_fee_share_rate?: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + min_quantity_tick_size?: string; + /** expiration timestamp */ + expiration_timestamp?: string; + /** expiration timestamp */ + settlement_timestamp?: string; + /** new price at which market will be settled */ + settlement_price?: string; + /** admin of the market */ + admin?: string; + status?: MarketStatus; + oracle_params?: ProviderOracleParamsAmino; + ticker?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; +} +export interface BinaryOptionsMarketParamUpdateProposalAminoMsg { + type: 'exchange/BinaryOptionsMarketParamUpdateProposal'; + value: BinaryOptionsMarketParamUpdateProposalAmino; +} +export interface BinaryOptionsMarketParamUpdateProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal'; + title: string; + description: string; + market_id: string; + maker_fee_rate?: string; + taker_fee_rate?: string; + relayer_fee_share_rate?: string; + min_price_tick_size?: string; + min_quantity_tick_size?: string; + expiration_timestamp: bigint; + settlement_timestamp: bigint; + settlement_price?: string; + admin: string; + status: MarketStatus; + oracle_params?: ProviderOracleParamsSDKType; + ticker?: string; + min_notional?: string; +} +export interface ProviderOracleParams { + /** Oracle base currency */ + symbol: string; + /** Oracle quote currency */ + provider: string; + /** Scale factor for oracle prices. */ + oracleScaleFactor: number; + /** Oracle type */ + oracleType: OracleType; +} +export interface ProviderOracleParamsProtoMsg { + typeUrl: '/injective.exchange.v1beta1.ProviderOracleParams'; + value: Uint8Array; +} +export interface ProviderOracleParamsAmino { + /** Oracle base currency */ + symbol?: string; + /** Oracle quote currency */ + provider?: string; + /** Scale factor for oracle prices. */ + oracle_scale_factor?: number; + /** Oracle type */ + oracle_type?: OracleType; +} +export interface ProviderOracleParamsAminoMsg { + type: '/injective.exchange.v1beta1.ProviderOracleParams'; + value: ProviderOracleParamsAmino; +} +export interface ProviderOracleParamsSDKType { + symbol: string; + provider: string; + oracle_scale_factor: number; + oracle_type: OracleType; +} +export interface OracleParams { + /** Oracle base currency */ + oracleBase: string; + /** Oracle quote currency */ + oracleQuote: string; + /** Scale factor for oracle prices. */ + oracleScaleFactor: number; + /** Oracle type */ + oracleType: OracleType; +} +export interface OracleParamsProtoMsg { + typeUrl: '/injective.exchange.v1beta1.OracleParams'; + value: Uint8Array; +} +export interface OracleParamsAmino { + /** Oracle base currency */ + oracle_base?: string; + /** Oracle quote currency */ + oracle_quote?: string; + /** Scale factor for oracle prices. */ + oracle_scale_factor?: number; + /** Oracle type */ + oracle_type?: OracleType; +} +export interface OracleParamsAminoMsg { + type: '/injective.exchange.v1beta1.OracleParams'; + value: OracleParamsAmino; +} +export interface OracleParamsSDKType { + oracle_base: string; + oracle_quote: string; + oracle_scale_factor: number; + oracle_type: OracleType; +} +export interface TradingRewardCampaignLaunchProposal { + $typeUrl?: '/injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal'; + title: string; + description: string; + campaignInfo?: TradingRewardCampaignInfo; + campaignRewardPools: CampaignRewardPool[]; +} +export interface TradingRewardCampaignLaunchProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal'; + value: Uint8Array; +} +export interface TradingRewardCampaignLaunchProposalAmino { + title?: string; + description?: string; + campaign_info?: TradingRewardCampaignInfoAmino; + campaign_reward_pools?: CampaignRewardPoolAmino[]; +} +export interface TradingRewardCampaignLaunchProposalAminoMsg { + type: 'exchange/TradingRewardCampaignLaunchProposal'; + value: TradingRewardCampaignLaunchProposalAmino; +} +export interface TradingRewardCampaignLaunchProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal'; + title: string; + description: string; + campaign_info?: TradingRewardCampaignInfoSDKType; + campaign_reward_pools: CampaignRewardPoolSDKType[]; +} +export interface TradingRewardCampaignUpdateProposal { + $typeUrl?: '/injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal'; + title: string; + description: string; + campaignInfo?: TradingRewardCampaignInfo; + campaignRewardPoolsAdditions: CampaignRewardPool[]; + campaignRewardPoolsUpdates: CampaignRewardPool[]; +} +export interface TradingRewardCampaignUpdateProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal'; + value: Uint8Array; +} +export interface TradingRewardCampaignUpdateProposalAmino { + title?: string; + description?: string; + campaign_info?: TradingRewardCampaignInfoAmino; + campaign_reward_pools_additions?: CampaignRewardPoolAmino[]; + campaign_reward_pools_updates?: CampaignRewardPoolAmino[]; +} +export interface TradingRewardCampaignUpdateProposalAminoMsg { + type: 'exchange/TradingRewardCampaignUpdateProposal'; + value: TradingRewardCampaignUpdateProposalAmino; +} +export interface TradingRewardCampaignUpdateProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal'; + title: string; + description: string; + campaign_info?: TradingRewardCampaignInfoSDKType; + campaign_reward_pools_additions: CampaignRewardPoolSDKType[]; + campaign_reward_pools_updates: CampaignRewardPoolSDKType[]; +} +export interface RewardPointUpdate { + accountAddress: string; + /** new_points overwrites the current trading reward points for the account */ + newPoints: string; +} +export interface RewardPointUpdateProtoMsg { + typeUrl: '/injective.exchange.v1beta1.RewardPointUpdate'; + value: Uint8Array; +} +export interface RewardPointUpdateAmino { + account_address?: string; + /** new_points overwrites the current trading reward points for the account */ + new_points?: string; +} +export interface RewardPointUpdateAminoMsg { + type: '/injective.exchange.v1beta1.RewardPointUpdate'; + value: RewardPointUpdateAmino; +} +export interface RewardPointUpdateSDKType { + account_address: string; + new_points: string; +} +export interface TradingRewardPendingPointsUpdateProposal { + $typeUrl?: '/injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal'; + title: string; + description: string; + pendingPoolTimestamp: bigint; + rewardPointUpdates: RewardPointUpdate[]; +} +export interface TradingRewardPendingPointsUpdateProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal'; + value: Uint8Array; +} +export interface TradingRewardPendingPointsUpdateProposalAmino { + title?: string; + description?: string; + pending_pool_timestamp?: string; + reward_point_updates?: RewardPointUpdateAmino[]; +} +export interface TradingRewardPendingPointsUpdateProposalAminoMsg { + type: 'exchange/TradingRewardPendingPointsUpdateProposal'; + value: TradingRewardPendingPointsUpdateProposalAmino; +} +export interface TradingRewardPendingPointsUpdateProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal'; + title: string; + description: string; + pending_pool_timestamp: bigint; + reward_point_updates: RewardPointUpdateSDKType[]; +} +export interface FeeDiscountProposal { + $typeUrl?: '/injective.exchange.v1beta1.FeeDiscountProposal'; + title: string; + description: string; + schedule?: FeeDiscountSchedule; +} +export interface FeeDiscountProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.FeeDiscountProposal'; + value: Uint8Array; +} +export interface FeeDiscountProposalAmino { + title?: string; + description?: string; + schedule?: FeeDiscountScheduleAmino; +} +export interface FeeDiscountProposalAminoMsg { + type: 'exchange/FeeDiscountProposal'; + value: FeeDiscountProposalAmino; +} +export interface FeeDiscountProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.FeeDiscountProposal'; + title: string; + description: string; + schedule?: FeeDiscountScheduleSDKType; +} +export interface BatchCommunityPoolSpendProposal { + $typeUrl?: '/injective.exchange.v1beta1.BatchCommunityPoolSpendProposal'; + title: string; + description: string; + proposals: CommunityPoolSpendProposal[]; +} +export interface BatchCommunityPoolSpendProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.BatchCommunityPoolSpendProposal'; + value: Uint8Array; +} +export interface BatchCommunityPoolSpendProposalAmino { + title?: string; + description?: string; + proposals?: CommunityPoolSpendProposalAmino[]; +} +export interface BatchCommunityPoolSpendProposalAminoMsg { + type: 'exchange/BatchCommunityPoolSpendProposal'; + value: BatchCommunityPoolSpendProposalAmino; +} +export interface BatchCommunityPoolSpendProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.BatchCommunityPoolSpendProposal'; + title: string; + description: string; + proposals: CommunityPoolSpendProposalSDKType[]; +} +/** + * AtomicMarketOrderFeeMultiplierScheduleProposal defines a SDK message for + * proposing new atomic take fee multipliers for specified markets + */ +export interface AtomicMarketOrderFeeMultiplierScheduleProposal { + $typeUrl?: '/injective.exchange.v1beta1.AtomicMarketOrderFeeMultiplierScheduleProposal'; + title: string; + description: string; + marketFeeMultipliers: MarketFeeMultiplier[]; +} +export interface AtomicMarketOrderFeeMultiplierScheduleProposalProtoMsg { + typeUrl: '/injective.exchange.v1beta1.AtomicMarketOrderFeeMultiplierScheduleProposal'; + value: Uint8Array; +} +/** + * AtomicMarketOrderFeeMultiplierScheduleProposal defines a SDK message for + * proposing new atomic take fee multipliers for specified markets + */ +export interface AtomicMarketOrderFeeMultiplierScheduleProposalAmino { + title?: string; + description?: string; + market_fee_multipliers?: MarketFeeMultiplierAmino[]; +} +export interface AtomicMarketOrderFeeMultiplierScheduleProposalAminoMsg { + type: 'exchange/AtomicMarketOrderFeeMultiplierScheduleProposal'; + value: AtomicMarketOrderFeeMultiplierScheduleProposalAmino; +} +/** + * AtomicMarketOrderFeeMultiplierScheduleProposal defines a SDK message for + * proposing new atomic take fee multipliers for specified markets + */ +export interface AtomicMarketOrderFeeMultiplierScheduleProposalSDKType { + $typeUrl?: '/injective.exchange.v1beta1.AtomicMarketOrderFeeMultiplierScheduleProposal'; + title: string; + description: string; + market_fee_multipliers: MarketFeeMultiplierSDKType[]; +} +function createBaseSpotMarketParamUpdateProposal(): SpotMarketParamUpdateProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.SpotMarketParamUpdateProposal', + title: '', + description: '', + marketId: '', + makerFeeRate: undefined, + takerFeeRate: undefined, + relayerFeeShareRate: undefined, + minPriceTickSize: undefined, + minQuantityTickSize: undefined, + status: 0, + ticker: undefined, + minNotional: undefined, + adminInfo: undefined, + }; +} +export const SpotMarketParamUpdateProposal = { + typeUrl: '/injective.exchange.v1beta1.SpotMarketParamUpdateProposal', + encode(message: SpotMarketParamUpdateProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.marketId !== '') { + writer.uint32(26).string(message.marketId); + } + if (message.makerFeeRate !== undefined) { + writer.uint32(34).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== undefined) { + writer.uint32(42).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.relayerFeeShareRate !== undefined) { + writer.uint32(50).string(Decimal.fromUserInput(message.relayerFeeShareRate, 18).atomics); + } + if (message.minPriceTickSize !== undefined) { + writer.uint32(58).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== undefined) { + writer.uint32(66).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.status !== 0) { + writer.uint32(72).int32(message.status); + } + if (message.ticker !== undefined) { + writer.uint32(82).string(message.ticker); + } + if (message.minNotional !== undefined) { + writer.uint32(90).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + if (message.adminInfo !== undefined) { + AdminInfo.encode(message.adminInfo, writer.uint32(98).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SpotMarketParamUpdateProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSpotMarketParamUpdateProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.marketId = reader.string(); + break; + case 4: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 6: + message.relayerFeeShareRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 7: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 8: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 9: + message.status = reader.int32() as any; + break; + case 10: + message.ticker = reader.string(); + break; + case 11: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 12: + message.adminInfo = AdminInfo.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SpotMarketParamUpdateProposal { + const message = createBaseSpotMarketParamUpdateProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.marketId = object.marketId ?? ''; + message.makerFeeRate = object.makerFeeRate ?? undefined; + message.takerFeeRate = object.takerFeeRate ?? undefined; + message.relayerFeeShareRate = object.relayerFeeShareRate ?? undefined; + message.minPriceTickSize = object.minPriceTickSize ?? undefined; + message.minQuantityTickSize = object.minQuantityTickSize ?? undefined; + message.status = object.status ?? 0; + message.ticker = object.ticker ?? undefined; + message.minNotional = object.minNotional ?? undefined; + message.adminInfo = + object.adminInfo !== undefined && object.adminInfo !== null ? AdminInfo.fromPartial(object.adminInfo) : undefined; + return message; + }, + fromAmino(object: SpotMarketParamUpdateProposalAmino): SpotMarketParamUpdateProposal { + const message = createBaseSpotMarketParamUpdateProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.relayer_fee_share_rate !== undefined && object.relayer_fee_share_rate !== null) { + message.relayerFeeShareRate = object.relayer_fee_share_rate; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.status !== undefined && object.status !== null) { + message.status = object.status; + } + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + if (object.admin_info !== undefined && object.admin_info !== null) { + message.adminInfo = AdminInfo.fromAmino(object.admin_info); + } + return message; + }, + toAmino(message: SpotMarketParamUpdateProposal): SpotMarketParamUpdateProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.maker_fee_rate = message.makerFeeRate === null ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === null ? undefined : message.takerFeeRate; + obj.relayer_fee_share_rate = message.relayerFeeShareRate === null ? undefined : message.relayerFeeShareRate; + obj.min_price_tick_size = message.minPriceTickSize === null ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === null ? undefined : message.minQuantityTickSize; + obj.status = message.status === 0 ? undefined : message.status; + obj.ticker = message.ticker === null ? undefined : message.ticker; + obj.min_notional = message.minNotional === null ? undefined : message.minNotional; + obj.admin_info = message.adminInfo ? AdminInfo.toAmino(message.adminInfo) : undefined; + return obj; + }, + fromAminoMsg(object: SpotMarketParamUpdateProposalAminoMsg): SpotMarketParamUpdateProposal { + return SpotMarketParamUpdateProposal.fromAmino(object.value); + }, + toAminoMsg(message: SpotMarketParamUpdateProposal): SpotMarketParamUpdateProposalAminoMsg { + return { + type: 'exchange/SpotMarketParamUpdateProposal', + value: SpotMarketParamUpdateProposal.toAmino(message), + }; + }, + fromProtoMsg(message: SpotMarketParamUpdateProposalProtoMsg): SpotMarketParamUpdateProposal { + return SpotMarketParamUpdateProposal.decode(message.value); + }, + toProto(message: SpotMarketParamUpdateProposal): Uint8Array { + return SpotMarketParamUpdateProposal.encode(message).finish(); + }, + toProtoMsg(message: SpotMarketParamUpdateProposal): SpotMarketParamUpdateProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SpotMarketParamUpdateProposal', + value: SpotMarketParamUpdateProposal.encode(message).finish(), + }; + }, +}; +function createBaseExchangeEnableProposal(): ExchangeEnableProposal { + return { + title: '', + description: '', + exchangeType: 0, + }; +} +export const ExchangeEnableProposal = { + typeUrl: '/injective.exchange.v1beta1.ExchangeEnableProposal', + encode(message: ExchangeEnableProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.exchangeType !== 0) { + writer.uint32(24).int32(message.exchangeType); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ExchangeEnableProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExchangeEnableProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.exchangeType = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ExchangeEnableProposal { + const message = createBaseExchangeEnableProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.exchangeType = object.exchangeType ?? 0; + return message; + }, + fromAmino(object: ExchangeEnableProposalAmino): ExchangeEnableProposal { + const message = createBaseExchangeEnableProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.exchangeType !== undefined && object.exchangeType !== null) { + message.exchangeType = object.exchangeType; + } + return message; + }, + toAmino(message: ExchangeEnableProposal): ExchangeEnableProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.exchangeType = message.exchangeType === 0 ? undefined : message.exchangeType; + return obj; + }, + fromAminoMsg(object: ExchangeEnableProposalAminoMsg): ExchangeEnableProposal { + return ExchangeEnableProposal.fromAmino(object.value); + }, + toAminoMsg(message: ExchangeEnableProposal): ExchangeEnableProposalAminoMsg { + return { + type: 'exchange/ExchangeEnableProposal', + value: ExchangeEnableProposal.toAmino(message), + }; + }, + fromProtoMsg(message: ExchangeEnableProposalProtoMsg): ExchangeEnableProposal { + return ExchangeEnableProposal.decode(message.value); + }, + toProto(message: ExchangeEnableProposal): Uint8Array { + return ExchangeEnableProposal.encode(message).finish(); + }, + toProtoMsg(message: ExchangeEnableProposal): ExchangeEnableProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.ExchangeEnableProposal', + value: ExchangeEnableProposal.encode(message).finish(), + }; + }, +}; +function createBaseBatchExchangeModificationProposal(): BatchExchangeModificationProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.BatchExchangeModificationProposal', + title: '', + description: '', + spotMarketParamUpdateProposals: [], + derivativeMarketParamUpdateProposals: [], + spotMarketLaunchProposals: [], + perpetualMarketLaunchProposals: [], + expiryFuturesMarketLaunchProposals: [], + tradingRewardCampaignUpdateProposal: undefined, + binaryOptionsMarketLaunchProposals: [], + binaryOptionsParamUpdateProposals: [], + denomDecimalsUpdateProposal: undefined, + feeDiscountProposal: undefined, + marketForcedSettlementProposals: [], + }; +} +export const BatchExchangeModificationProposal = { + typeUrl: '/injective.exchange.v1beta1.BatchExchangeModificationProposal', + encode(message: BatchExchangeModificationProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.spotMarketParamUpdateProposals) { + SpotMarketParamUpdateProposal.encode(v!, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.derivativeMarketParamUpdateProposals) { + DerivativeMarketParamUpdateProposal.encode(v!, writer.uint32(34).fork()).ldelim(); + } + for (const v of message.spotMarketLaunchProposals) { + SpotMarketLaunchProposal.encode(v!, writer.uint32(42).fork()).ldelim(); + } + for (const v of message.perpetualMarketLaunchProposals) { + PerpetualMarketLaunchProposal.encode(v!, writer.uint32(50).fork()).ldelim(); + } + for (const v of message.expiryFuturesMarketLaunchProposals) { + ExpiryFuturesMarketLaunchProposal.encode(v!, writer.uint32(58).fork()).ldelim(); + } + if (message.tradingRewardCampaignUpdateProposal !== undefined) { + TradingRewardCampaignUpdateProposal.encode( + message.tradingRewardCampaignUpdateProposal, + writer.uint32(66).fork(), + ).ldelim(); + } + for (const v of message.binaryOptionsMarketLaunchProposals) { + BinaryOptionsMarketLaunchProposal.encode(v!, writer.uint32(74).fork()).ldelim(); + } + for (const v of message.binaryOptionsParamUpdateProposals) { + BinaryOptionsMarketParamUpdateProposal.encode(v!, writer.uint32(82).fork()).ldelim(); + } + if (message.denomDecimalsUpdateProposal !== undefined) { + UpdateDenomDecimalsProposal.encode(message.denomDecimalsUpdateProposal, writer.uint32(90).fork()).ldelim(); + } + if (message.feeDiscountProposal !== undefined) { + FeeDiscountProposal.encode(message.feeDiscountProposal, writer.uint32(98).fork()).ldelim(); + } + for (const v of message.marketForcedSettlementProposals) { + MarketForcedSettlementProposal.encode(v!, writer.uint32(106).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BatchExchangeModificationProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBatchExchangeModificationProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.spotMarketParamUpdateProposals.push(SpotMarketParamUpdateProposal.decode(reader, reader.uint32())); + break; + case 4: + message.derivativeMarketParamUpdateProposals.push( + DerivativeMarketParamUpdateProposal.decode(reader, reader.uint32()), + ); + break; + case 5: + message.spotMarketLaunchProposals.push(SpotMarketLaunchProposal.decode(reader, reader.uint32())); + break; + case 6: + message.perpetualMarketLaunchProposals.push(PerpetualMarketLaunchProposal.decode(reader, reader.uint32())); + break; + case 7: + message.expiryFuturesMarketLaunchProposals.push( + ExpiryFuturesMarketLaunchProposal.decode(reader, reader.uint32()), + ); + break; + case 8: + message.tradingRewardCampaignUpdateProposal = TradingRewardCampaignUpdateProposal.decode( + reader, + reader.uint32(), + ); + break; + case 9: + message.binaryOptionsMarketLaunchProposals.push( + BinaryOptionsMarketLaunchProposal.decode(reader, reader.uint32()), + ); + break; + case 10: + message.binaryOptionsParamUpdateProposals.push( + BinaryOptionsMarketParamUpdateProposal.decode(reader, reader.uint32()), + ); + break; + case 11: + message.denomDecimalsUpdateProposal = UpdateDenomDecimalsProposal.decode(reader, reader.uint32()); + break; + case 12: + message.feeDiscountProposal = FeeDiscountProposal.decode(reader, reader.uint32()); + break; + case 13: + message.marketForcedSettlementProposals.push(MarketForcedSettlementProposal.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BatchExchangeModificationProposal { + const message = createBaseBatchExchangeModificationProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.spotMarketParamUpdateProposals = + object.spotMarketParamUpdateProposals?.map((e) => SpotMarketParamUpdateProposal.fromPartial(e)) || []; + message.derivativeMarketParamUpdateProposals = + object.derivativeMarketParamUpdateProposals?.map((e) => DerivativeMarketParamUpdateProposal.fromPartial(e)) || []; + message.spotMarketLaunchProposals = + object.spotMarketLaunchProposals?.map((e) => SpotMarketLaunchProposal.fromPartial(e)) || []; + message.perpetualMarketLaunchProposals = + object.perpetualMarketLaunchProposals?.map((e) => PerpetualMarketLaunchProposal.fromPartial(e)) || []; + message.expiryFuturesMarketLaunchProposals = + object.expiryFuturesMarketLaunchProposals?.map((e) => ExpiryFuturesMarketLaunchProposal.fromPartial(e)) || []; + message.tradingRewardCampaignUpdateProposal = + object.tradingRewardCampaignUpdateProposal !== undefined && object.tradingRewardCampaignUpdateProposal !== null + ? TradingRewardCampaignUpdateProposal.fromPartial(object.tradingRewardCampaignUpdateProposal) + : undefined; + message.binaryOptionsMarketLaunchProposals = + object.binaryOptionsMarketLaunchProposals?.map((e) => BinaryOptionsMarketLaunchProposal.fromPartial(e)) || []; + message.binaryOptionsParamUpdateProposals = + object.binaryOptionsParamUpdateProposals?.map((e) => BinaryOptionsMarketParamUpdateProposal.fromPartial(e)) || []; + message.denomDecimalsUpdateProposal = + object.denomDecimalsUpdateProposal !== undefined && object.denomDecimalsUpdateProposal !== null + ? UpdateDenomDecimalsProposal.fromPartial(object.denomDecimalsUpdateProposal) + : undefined; + message.feeDiscountProposal = + object.feeDiscountProposal !== undefined && object.feeDiscountProposal !== null + ? FeeDiscountProposal.fromPartial(object.feeDiscountProposal) + : undefined; + message.marketForcedSettlementProposals = + object.marketForcedSettlementProposals?.map((e) => MarketForcedSettlementProposal.fromPartial(e)) || []; + return message; + }, + fromAmino(object: BatchExchangeModificationProposalAmino): BatchExchangeModificationProposal { + const message = createBaseBatchExchangeModificationProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.spotMarketParamUpdateProposals = + object.spot_market_param_update_proposals?.map((e) => SpotMarketParamUpdateProposal.fromAmino(e)) || []; + message.derivativeMarketParamUpdateProposals = + object.derivative_market_param_update_proposals?.map((e) => DerivativeMarketParamUpdateProposal.fromAmino(e)) || + []; + message.spotMarketLaunchProposals = + object.spot_market_launch_proposals?.map((e) => SpotMarketLaunchProposal.fromAmino(e)) || []; + message.perpetualMarketLaunchProposals = + object.perpetual_market_launch_proposals?.map((e) => PerpetualMarketLaunchProposal.fromAmino(e)) || []; + message.expiryFuturesMarketLaunchProposals = + object.expiry_futures_market_launch_proposals?.map((e) => ExpiryFuturesMarketLaunchProposal.fromAmino(e)) || []; + if ( + object.trading_reward_campaign_update_proposal !== undefined && + object.trading_reward_campaign_update_proposal !== null + ) { + message.tradingRewardCampaignUpdateProposal = TradingRewardCampaignUpdateProposal.fromAmino( + object.trading_reward_campaign_update_proposal, + ); + } + message.binaryOptionsMarketLaunchProposals = + object.binary_options_market_launch_proposals?.map((e) => BinaryOptionsMarketLaunchProposal.fromAmino(e)) || []; + message.binaryOptionsParamUpdateProposals = + object.binary_options_param_update_proposals?.map((e) => BinaryOptionsMarketParamUpdateProposal.fromAmino(e)) || + []; + if (object.denom_decimals_update_proposal !== undefined && object.denom_decimals_update_proposal !== null) { + message.denomDecimalsUpdateProposal = UpdateDenomDecimalsProposal.fromAmino( + object.denom_decimals_update_proposal, + ); + } + if (object.fee_discount_proposal !== undefined && object.fee_discount_proposal !== null) { + message.feeDiscountProposal = FeeDiscountProposal.fromAmino(object.fee_discount_proposal); + } + message.marketForcedSettlementProposals = + object.market_forced_settlement_proposals?.map((e) => MarketForcedSettlementProposal.fromAmino(e)) || []; + return message; + }, + toAmino(message: BatchExchangeModificationProposal): BatchExchangeModificationProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.spotMarketParamUpdateProposals) { + obj.spot_market_param_update_proposals = message.spotMarketParamUpdateProposals.map((e) => + e ? SpotMarketParamUpdateProposal.toAmino(e) : undefined, + ); + } else { + obj.spot_market_param_update_proposals = message.spotMarketParamUpdateProposals; + } + if (message.derivativeMarketParamUpdateProposals) { + obj.derivative_market_param_update_proposals = message.derivativeMarketParamUpdateProposals.map((e) => + e ? DerivativeMarketParamUpdateProposal.toAmino(e) : undefined, + ); + } else { + obj.derivative_market_param_update_proposals = message.derivativeMarketParamUpdateProposals; + } + if (message.spotMarketLaunchProposals) { + obj.spot_market_launch_proposals = message.spotMarketLaunchProposals.map((e) => + e ? SpotMarketLaunchProposal.toAmino(e) : undefined, + ); + } else { + obj.spot_market_launch_proposals = message.spotMarketLaunchProposals; + } + if (message.perpetualMarketLaunchProposals) { + obj.perpetual_market_launch_proposals = message.perpetualMarketLaunchProposals.map((e) => + e ? PerpetualMarketLaunchProposal.toAmino(e) : undefined, + ); + } else { + obj.perpetual_market_launch_proposals = message.perpetualMarketLaunchProposals; + } + if (message.expiryFuturesMarketLaunchProposals) { + obj.expiry_futures_market_launch_proposals = message.expiryFuturesMarketLaunchProposals.map((e) => + e ? ExpiryFuturesMarketLaunchProposal.toAmino(e) : undefined, + ); + } else { + obj.expiry_futures_market_launch_proposals = message.expiryFuturesMarketLaunchProposals; + } + obj.trading_reward_campaign_update_proposal = message.tradingRewardCampaignUpdateProposal + ? TradingRewardCampaignUpdateProposal.toAmino(message.tradingRewardCampaignUpdateProposal) + : undefined; + if (message.binaryOptionsMarketLaunchProposals) { + obj.binary_options_market_launch_proposals = message.binaryOptionsMarketLaunchProposals.map((e) => + e ? BinaryOptionsMarketLaunchProposal.toAmino(e) : undefined, + ); + } else { + obj.binary_options_market_launch_proposals = message.binaryOptionsMarketLaunchProposals; + } + if (message.binaryOptionsParamUpdateProposals) { + obj.binary_options_param_update_proposals = message.binaryOptionsParamUpdateProposals.map((e) => + e ? BinaryOptionsMarketParamUpdateProposal.toAmino(e) : undefined, + ); + } else { + obj.binary_options_param_update_proposals = message.binaryOptionsParamUpdateProposals; + } + obj.denom_decimals_update_proposal = message.denomDecimalsUpdateProposal + ? UpdateDenomDecimalsProposal.toAmino(message.denomDecimalsUpdateProposal) + : undefined; + obj.fee_discount_proposal = message.feeDiscountProposal + ? FeeDiscountProposal.toAmino(message.feeDiscountProposal) + : undefined; + if (message.marketForcedSettlementProposals) { + obj.market_forced_settlement_proposals = message.marketForcedSettlementProposals.map((e) => + e ? MarketForcedSettlementProposal.toAmino(e) : undefined, + ); + } else { + obj.market_forced_settlement_proposals = message.marketForcedSettlementProposals; + } + return obj; + }, + fromAminoMsg(object: BatchExchangeModificationProposalAminoMsg): BatchExchangeModificationProposal { + return BatchExchangeModificationProposal.fromAmino(object.value); + }, + toAminoMsg(message: BatchExchangeModificationProposal): BatchExchangeModificationProposalAminoMsg { + return { + type: 'exchange/BatchExchangeModificationProposal', + value: BatchExchangeModificationProposal.toAmino(message), + }; + }, + fromProtoMsg(message: BatchExchangeModificationProposalProtoMsg): BatchExchangeModificationProposal { + return BatchExchangeModificationProposal.decode(message.value); + }, + toProto(message: BatchExchangeModificationProposal): Uint8Array { + return BatchExchangeModificationProposal.encode(message).finish(); + }, + toProtoMsg(message: BatchExchangeModificationProposal): BatchExchangeModificationProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.BatchExchangeModificationProposal', + value: BatchExchangeModificationProposal.encode(message).finish(), + }; + }, +}; +function createBaseSpotMarketLaunchProposal(): SpotMarketLaunchProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.SpotMarketLaunchProposal', + title: '', + description: '', + ticker: '', + baseDenom: '', + quoteDenom: '', + minPriceTickSize: '', + minQuantityTickSize: '', + makerFeeRate: undefined, + takerFeeRate: undefined, + minNotional: '', + adminInfo: undefined, + }; +} +export const SpotMarketLaunchProposal = { + typeUrl: '/injective.exchange.v1beta1.SpotMarketLaunchProposal', + encode(message: SpotMarketLaunchProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.ticker !== '') { + writer.uint32(26).string(message.ticker); + } + if (message.baseDenom !== '') { + writer.uint32(34).string(message.baseDenom); + } + if (message.quoteDenom !== '') { + writer.uint32(42).string(message.quoteDenom); + } + if (message.minPriceTickSize !== '') { + writer.uint32(50).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== '') { + writer.uint32(58).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.makerFeeRate !== undefined) { + writer.uint32(66).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== undefined) { + writer.uint32(74).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.minNotional !== '') { + writer.uint32(82).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + if (message.adminInfo !== undefined) { + AdminInfo.encode(message.adminInfo, writer.uint32(90).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SpotMarketLaunchProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSpotMarketLaunchProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.ticker = reader.string(); + break; + case 4: + message.baseDenom = reader.string(); + break; + case 5: + message.quoteDenom = reader.string(); + break; + case 6: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 7: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 8: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 9: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 10: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 11: + message.adminInfo = AdminInfo.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SpotMarketLaunchProposal { + const message = createBaseSpotMarketLaunchProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.ticker = object.ticker ?? ''; + message.baseDenom = object.baseDenom ?? ''; + message.quoteDenom = object.quoteDenom ?? ''; + message.minPriceTickSize = object.minPriceTickSize ?? ''; + message.minQuantityTickSize = object.minQuantityTickSize ?? ''; + message.makerFeeRate = object.makerFeeRate ?? undefined; + message.takerFeeRate = object.takerFeeRate ?? undefined; + message.minNotional = object.minNotional ?? ''; + message.adminInfo = + object.adminInfo !== undefined && object.adminInfo !== null ? AdminInfo.fromPartial(object.adminInfo) : undefined; + return message; + }, + fromAmino(object: SpotMarketLaunchProposalAmino): SpotMarketLaunchProposal { + const message = createBaseSpotMarketLaunchProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.base_denom !== undefined && object.base_denom !== null) { + message.baseDenom = object.base_denom; + } + if (object.quote_denom !== undefined && object.quote_denom !== null) { + message.quoteDenom = object.quote_denom; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + if (object.admin_info !== undefined && object.admin_info !== null) { + message.adminInfo = AdminInfo.fromAmino(object.admin_info); + } + return message; + }, + toAmino(message: SpotMarketLaunchProposal): SpotMarketLaunchProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.ticker = message.ticker === '' ? undefined : message.ticker; + obj.base_denom = message.baseDenom === '' ? undefined : message.baseDenom; + obj.quote_denom = message.quoteDenom === '' ? undefined : message.quoteDenom; + obj.min_price_tick_size = message.minPriceTickSize === '' ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === '' ? undefined : message.minQuantityTickSize; + obj.maker_fee_rate = message.makerFeeRate === null ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === null ? undefined : message.takerFeeRate; + obj.min_notional = message.minNotional === '' ? undefined : message.minNotional; + obj.admin_info = message.adminInfo ? AdminInfo.toAmino(message.adminInfo) : undefined; + return obj; + }, + fromAminoMsg(object: SpotMarketLaunchProposalAminoMsg): SpotMarketLaunchProposal { + return SpotMarketLaunchProposal.fromAmino(object.value); + }, + toAminoMsg(message: SpotMarketLaunchProposal): SpotMarketLaunchProposalAminoMsg { + return { + type: 'exchange/SpotMarketLaunchProposal', + value: SpotMarketLaunchProposal.toAmino(message), + }; + }, + fromProtoMsg(message: SpotMarketLaunchProposalProtoMsg): SpotMarketLaunchProposal { + return SpotMarketLaunchProposal.decode(message.value); + }, + toProto(message: SpotMarketLaunchProposal): Uint8Array { + return SpotMarketLaunchProposal.encode(message).finish(); + }, + toProtoMsg(message: SpotMarketLaunchProposal): SpotMarketLaunchProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SpotMarketLaunchProposal', + value: SpotMarketLaunchProposal.encode(message).finish(), + }; + }, +}; +function createBasePerpetualMarketLaunchProposal(): PerpetualMarketLaunchProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.PerpetualMarketLaunchProposal', + title: '', + description: '', + ticker: '', + quoteDenom: '', + oracleBase: '', + oracleQuote: '', + oracleScaleFactor: 0, + oracleType: 0, + initialMarginRatio: '', + maintenanceMarginRatio: '', + makerFeeRate: '', + takerFeeRate: '', + minPriceTickSize: '', + minQuantityTickSize: '', + minNotional: '', + adminInfo: undefined, + }; +} +export const PerpetualMarketLaunchProposal = { + typeUrl: '/injective.exchange.v1beta1.PerpetualMarketLaunchProposal', + encode(message: PerpetualMarketLaunchProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.ticker !== '') { + writer.uint32(26).string(message.ticker); + } + if (message.quoteDenom !== '') { + writer.uint32(34).string(message.quoteDenom); + } + if (message.oracleBase !== '') { + writer.uint32(42).string(message.oracleBase); + } + if (message.oracleQuote !== '') { + writer.uint32(50).string(message.oracleQuote); + } + if (message.oracleScaleFactor !== 0) { + writer.uint32(56).uint32(message.oracleScaleFactor); + } + if (message.oracleType !== 0) { + writer.uint32(64).int32(message.oracleType); + } + if (message.initialMarginRatio !== '') { + writer.uint32(74).string(Decimal.fromUserInput(message.initialMarginRatio, 18).atomics); + } + if (message.maintenanceMarginRatio !== '') { + writer.uint32(82).string(Decimal.fromUserInput(message.maintenanceMarginRatio, 18).atomics); + } + if (message.makerFeeRate !== '') { + writer.uint32(90).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== '') { + writer.uint32(98).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.minPriceTickSize !== '') { + writer.uint32(106).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== '') { + writer.uint32(114).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.minNotional !== '') { + writer.uint32(122).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + if (message.adminInfo !== undefined) { + AdminInfo.encode(message.adminInfo, writer.uint32(130).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PerpetualMarketLaunchProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePerpetualMarketLaunchProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.ticker = reader.string(); + break; + case 4: + message.quoteDenom = reader.string(); + break; + case 5: + message.oracleBase = reader.string(); + break; + case 6: + message.oracleQuote = reader.string(); + break; + case 7: + message.oracleScaleFactor = reader.uint32(); + break; + case 8: + message.oracleType = reader.int32() as any; + break; + case 9: + message.initialMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 10: + message.maintenanceMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 11: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 12: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 13: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 14: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 15: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 16: + message.adminInfo = AdminInfo.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PerpetualMarketLaunchProposal { + const message = createBasePerpetualMarketLaunchProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.ticker = object.ticker ?? ''; + message.quoteDenom = object.quoteDenom ?? ''; + message.oracleBase = object.oracleBase ?? ''; + message.oracleQuote = object.oracleQuote ?? ''; + message.oracleScaleFactor = object.oracleScaleFactor ?? 0; + message.oracleType = object.oracleType ?? 0; + message.initialMarginRatio = object.initialMarginRatio ?? ''; + message.maintenanceMarginRatio = object.maintenanceMarginRatio ?? ''; + message.makerFeeRate = object.makerFeeRate ?? ''; + message.takerFeeRate = object.takerFeeRate ?? ''; + message.minPriceTickSize = object.minPriceTickSize ?? ''; + message.minQuantityTickSize = object.minQuantityTickSize ?? ''; + message.minNotional = object.minNotional ?? ''; + message.adminInfo = + object.adminInfo !== undefined && object.adminInfo !== null ? AdminInfo.fromPartial(object.adminInfo) : undefined; + return message; + }, + fromAmino(object: PerpetualMarketLaunchProposalAmino): PerpetualMarketLaunchProposal { + const message = createBasePerpetualMarketLaunchProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.quote_denom !== undefined && object.quote_denom !== null) { + message.quoteDenom = object.quote_denom; + } + if (object.oracle_base !== undefined && object.oracle_base !== null) { + message.oracleBase = object.oracle_base; + } + if (object.oracle_quote !== undefined && object.oracle_quote !== null) { + message.oracleQuote = object.oracle_quote; + } + if (object.oracle_scale_factor !== undefined && object.oracle_scale_factor !== null) { + message.oracleScaleFactor = object.oracle_scale_factor; + } + if (object.oracle_type !== undefined && object.oracle_type !== null) { + message.oracleType = object.oracle_type; + } + if (object.initial_margin_ratio !== undefined && object.initial_margin_ratio !== null) { + message.initialMarginRatio = object.initial_margin_ratio; + } + if (object.maintenance_margin_ratio !== undefined && object.maintenance_margin_ratio !== null) { + message.maintenanceMarginRatio = object.maintenance_margin_ratio; + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + if (object.admin_info !== undefined && object.admin_info !== null) { + message.adminInfo = AdminInfo.fromAmino(object.admin_info); + } + return message; + }, + toAmino(message: PerpetualMarketLaunchProposal): PerpetualMarketLaunchProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.ticker = message.ticker === '' ? undefined : message.ticker; + obj.quote_denom = message.quoteDenom === '' ? undefined : message.quoteDenom; + obj.oracle_base = message.oracleBase === '' ? undefined : message.oracleBase; + obj.oracle_quote = message.oracleQuote === '' ? undefined : message.oracleQuote; + obj.oracle_scale_factor = message.oracleScaleFactor === 0 ? undefined : message.oracleScaleFactor; + obj.oracle_type = message.oracleType === 0 ? undefined : message.oracleType; + obj.initial_margin_ratio = message.initialMarginRatio === '' ? undefined : message.initialMarginRatio; + obj.maintenance_margin_ratio = message.maintenanceMarginRatio === '' ? undefined : message.maintenanceMarginRatio; + obj.maker_fee_rate = message.makerFeeRate === '' ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === '' ? undefined : message.takerFeeRate; + obj.min_price_tick_size = message.minPriceTickSize === '' ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === '' ? undefined : message.minQuantityTickSize; + obj.min_notional = message.minNotional === '' ? undefined : message.minNotional; + obj.admin_info = message.adminInfo ? AdminInfo.toAmino(message.adminInfo) : undefined; + return obj; + }, + fromAminoMsg(object: PerpetualMarketLaunchProposalAminoMsg): PerpetualMarketLaunchProposal { + return PerpetualMarketLaunchProposal.fromAmino(object.value); + }, + toAminoMsg(message: PerpetualMarketLaunchProposal): PerpetualMarketLaunchProposalAminoMsg { + return { + type: 'exchange/PerpetualMarketLaunchProposal', + value: PerpetualMarketLaunchProposal.toAmino(message), + }; + }, + fromProtoMsg(message: PerpetualMarketLaunchProposalProtoMsg): PerpetualMarketLaunchProposal { + return PerpetualMarketLaunchProposal.decode(message.value); + }, + toProto(message: PerpetualMarketLaunchProposal): Uint8Array { + return PerpetualMarketLaunchProposal.encode(message).finish(); + }, + toProtoMsg(message: PerpetualMarketLaunchProposal): PerpetualMarketLaunchProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.PerpetualMarketLaunchProposal', + value: PerpetualMarketLaunchProposal.encode(message).finish(), + }; + }, +}; +function createBaseBinaryOptionsMarketLaunchProposal(): BinaryOptionsMarketLaunchProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal', + title: '', + description: '', + ticker: '', + oracleSymbol: '', + oracleProvider: '', + oracleType: 0, + oracleScaleFactor: 0, + expirationTimestamp: BigInt(0), + settlementTimestamp: BigInt(0), + admin: '', + quoteDenom: '', + makerFeeRate: '', + takerFeeRate: '', + minPriceTickSize: '', + minQuantityTickSize: '', + minNotional: '', + adminPermissions: 0, + }; +} +export const BinaryOptionsMarketLaunchProposal = { + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal', + encode(message: BinaryOptionsMarketLaunchProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.ticker !== '') { + writer.uint32(26).string(message.ticker); + } + if (message.oracleSymbol !== '') { + writer.uint32(34).string(message.oracleSymbol); + } + if (message.oracleProvider !== '') { + writer.uint32(42).string(message.oracleProvider); + } + if (message.oracleType !== 0) { + writer.uint32(48).int32(message.oracleType); + } + if (message.oracleScaleFactor !== 0) { + writer.uint32(56).uint32(message.oracleScaleFactor); + } + if (message.expirationTimestamp !== BigInt(0)) { + writer.uint32(64).int64(message.expirationTimestamp); + } + if (message.settlementTimestamp !== BigInt(0)) { + writer.uint32(72).int64(message.settlementTimestamp); + } + if (message.admin !== '') { + writer.uint32(82).string(message.admin); + } + if (message.quoteDenom !== '') { + writer.uint32(90).string(message.quoteDenom); + } + if (message.makerFeeRate !== '') { + writer.uint32(98).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== '') { + writer.uint32(106).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.minPriceTickSize !== '') { + writer.uint32(114).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== '') { + writer.uint32(122).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.minNotional !== '') { + writer.uint32(130).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + if (message.adminPermissions !== 0) { + writer.uint32(136).uint32(message.adminPermissions); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BinaryOptionsMarketLaunchProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBinaryOptionsMarketLaunchProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.ticker = reader.string(); + break; + case 4: + message.oracleSymbol = reader.string(); + break; + case 5: + message.oracleProvider = reader.string(); + break; + case 6: + message.oracleType = reader.int32() as any; + break; + case 7: + message.oracleScaleFactor = reader.uint32(); + break; + case 8: + message.expirationTimestamp = reader.int64(); + break; + case 9: + message.settlementTimestamp = reader.int64(); + break; + case 10: + message.admin = reader.string(); + break; + case 11: + message.quoteDenom = reader.string(); + break; + case 12: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 13: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 14: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 15: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 16: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 17: + message.adminPermissions = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BinaryOptionsMarketLaunchProposal { + const message = createBaseBinaryOptionsMarketLaunchProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.ticker = object.ticker ?? ''; + message.oracleSymbol = object.oracleSymbol ?? ''; + message.oracleProvider = object.oracleProvider ?? ''; + message.oracleType = object.oracleType ?? 0; + message.oracleScaleFactor = object.oracleScaleFactor ?? 0; + message.expirationTimestamp = + object.expirationTimestamp !== undefined && object.expirationTimestamp !== null + ? BigInt(object.expirationTimestamp.toString()) + : BigInt(0); + message.settlementTimestamp = + object.settlementTimestamp !== undefined && object.settlementTimestamp !== null + ? BigInt(object.settlementTimestamp.toString()) + : BigInt(0); + message.admin = object.admin ?? ''; + message.quoteDenom = object.quoteDenom ?? ''; + message.makerFeeRate = object.makerFeeRate ?? ''; + message.takerFeeRate = object.takerFeeRate ?? ''; + message.minPriceTickSize = object.minPriceTickSize ?? ''; + message.minQuantityTickSize = object.minQuantityTickSize ?? ''; + message.minNotional = object.minNotional ?? ''; + message.adminPermissions = object.adminPermissions ?? 0; + return message; + }, + fromAmino(object: BinaryOptionsMarketLaunchProposalAmino): BinaryOptionsMarketLaunchProposal { + const message = createBaseBinaryOptionsMarketLaunchProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.oracle_symbol !== undefined && object.oracle_symbol !== null) { + message.oracleSymbol = object.oracle_symbol; + } + if (object.oracle_provider !== undefined && object.oracle_provider !== null) { + message.oracleProvider = object.oracle_provider; + } + if (object.oracle_type !== undefined && object.oracle_type !== null) { + message.oracleType = object.oracle_type; + } + if (object.oracle_scale_factor !== undefined && object.oracle_scale_factor !== null) { + message.oracleScaleFactor = object.oracle_scale_factor; + } + if (object.expiration_timestamp !== undefined && object.expiration_timestamp !== null) { + message.expirationTimestamp = BigInt(object.expiration_timestamp); + } + if (object.settlement_timestamp !== undefined && object.settlement_timestamp !== null) { + message.settlementTimestamp = BigInt(object.settlement_timestamp); + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.quote_denom !== undefined && object.quote_denom !== null) { + message.quoteDenom = object.quote_denom; + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + if (object.admin_permissions !== undefined && object.admin_permissions !== null) { + message.adminPermissions = object.admin_permissions; + } + return message; + }, + toAmino(message: BinaryOptionsMarketLaunchProposal): BinaryOptionsMarketLaunchProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.ticker = message.ticker === '' ? undefined : message.ticker; + obj.oracle_symbol = message.oracleSymbol === '' ? undefined : message.oracleSymbol; + obj.oracle_provider = message.oracleProvider === '' ? undefined : message.oracleProvider; + obj.oracle_type = message.oracleType === 0 ? undefined : message.oracleType; + obj.oracle_scale_factor = message.oracleScaleFactor === 0 ? undefined : message.oracleScaleFactor; + obj.expiration_timestamp = + message.expirationTimestamp !== BigInt(0) ? (message.expirationTimestamp?.toString)() : undefined; + obj.settlement_timestamp = + message.settlementTimestamp !== BigInt(0) ? (message.settlementTimestamp?.toString)() : undefined; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.quote_denom = message.quoteDenom === '' ? undefined : message.quoteDenom; + obj.maker_fee_rate = message.makerFeeRate === '' ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === '' ? undefined : message.takerFeeRate; + obj.min_price_tick_size = message.minPriceTickSize === '' ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === '' ? undefined : message.minQuantityTickSize; + obj.min_notional = message.minNotional === '' ? undefined : message.minNotional; + obj.admin_permissions = message.adminPermissions === 0 ? undefined : message.adminPermissions; + return obj; + }, + fromAminoMsg(object: BinaryOptionsMarketLaunchProposalAminoMsg): BinaryOptionsMarketLaunchProposal { + return BinaryOptionsMarketLaunchProposal.fromAmino(object.value); + }, + toAminoMsg(message: BinaryOptionsMarketLaunchProposal): BinaryOptionsMarketLaunchProposalAminoMsg { + return { + type: 'exchange/BinaryOptionsMarketLaunchProposal', + value: BinaryOptionsMarketLaunchProposal.toAmino(message), + }; + }, + fromProtoMsg(message: BinaryOptionsMarketLaunchProposalProtoMsg): BinaryOptionsMarketLaunchProposal { + return BinaryOptionsMarketLaunchProposal.decode(message.value); + }, + toProto(message: BinaryOptionsMarketLaunchProposal): Uint8Array { + return BinaryOptionsMarketLaunchProposal.encode(message).finish(); + }, + toProtoMsg(message: BinaryOptionsMarketLaunchProposal): BinaryOptionsMarketLaunchProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal', + value: BinaryOptionsMarketLaunchProposal.encode(message).finish(), + }; + }, +}; +function createBaseExpiryFuturesMarketLaunchProposal(): ExpiryFuturesMarketLaunchProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal', + title: '', + description: '', + ticker: '', + quoteDenom: '', + oracleBase: '', + oracleQuote: '', + oracleScaleFactor: 0, + oracleType: 0, + expiry: BigInt(0), + initialMarginRatio: '', + maintenanceMarginRatio: '', + makerFeeRate: '', + takerFeeRate: '', + minPriceTickSize: '', + minQuantityTickSize: '', + minNotional: '', + adminInfo: undefined, + }; +} +export const ExpiryFuturesMarketLaunchProposal = { + typeUrl: '/injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal', + encode(message: ExpiryFuturesMarketLaunchProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.ticker !== '') { + writer.uint32(26).string(message.ticker); + } + if (message.quoteDenom !== '') { + writer.uint32(34).string(message.quoteDenom); + } + if (message.oracleBase !== '') { + writer.uint32(42).string(message.oracleBase); + } + if (message.oracleQuote !== '') { + writer.uint32(50).string(message.oracleQuote); + } + if (message.oracleScaleFactor !== 0) { + writer.uint32(56).uint32(message.oracleScaleFactor); + } + if (message.oracleType !== 0) { + writer.uint32(64).int32(message.oracleType); + } + if (message.expiry !== BigInt(0)) { + writer.uint32(72).int64(message.expiry); + } + if (message.initialMarginRatio !== '') { + writer.uint32(82).string(Decimal.fromUserInput(message.initialMarginRatio, 18).atomics); + } + if (message.maintenanceMarginRatio !== '') { + writer.uint32(90).string(Decimal.fromUserInput(message.maintenanceMarginRatio, 18).atomics); + } + if (message.makerFeeRate !== '') { + writer.uint32(98).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== '') { + writer.uint32(106).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.minPriceTickSize !== '') { + writer.uint32(114).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== '') { + writer.uint32(122).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.minNotional !== '') { + writer.uint32(130).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + if (message.adminInfo !== undefined) { + AdminInfo.encode(message.adminInfo, writer.uint32(138).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ExpiryFuturesMarketLaunchProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExpiryFuturesMarketLaunchProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.ticker = reader.string(); + break; + case 4: + message.quoteDenom = reader.string(); + break; + case 5: + message.oracleBase = reader.string(); + break; + case 6: + message.oracleQuote = reader.string(); + break; + case 7: + message.oracleScaleFactor = reader.uint32(); + break; + case 8: + message.oracleType = reader.int32() as any; + break; + case 9: + message.expiry = reader.int64(); + break; + case 10: + message.initialMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 11: + message.maintenanceMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 12: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 13: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 14: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 15: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 16: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 17: + message.adminInfo = AdminInfo.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ExpiryFuturesMarketLaunchProposal { + const message = createBaseExpiryFuturesMarketLaunchProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.ticker = object.ticker ?? ''; + message.quoteDenom = object.quoteDenom ?? ''; + message.oracleBase = object.oracleBase ?? ''; + message.oracleQuote = object.oracleQuote ?? ''; + message.oracleScaleFactor = object.oracleScaleFactor ?? 0; + message.oracleType = object.oracleType ?? 0; + message.expiry = + object.expiry !== undefined && object.expiry !== null ? BigInt(object.expiry.toString()) : BigInt(0); + message.initialMarginRatio = object.initialMarginRatio ?? ''; + message.maintenanceMarginRatio = object.maintenanceMarginRatio ?? ''; + message.makerFeeRate = object.makerFeeRate ?? ''; + message.takerFeeRate = object.takerFeeRate ?? ''; + message.minPriceTickSize = object.minPriceTickSize ?? ''; + message.minQuantityTickSize = object.minQuantityTickSize ?? ''; + message.minNotional = object.minNotional ?? ''; + message.adminInfo = + object.adminInfo !== undefined && object.adminInfo !== null ? AdminInfo.fromPartial(object.adminInfo) : undefined; + return message; + }, + fromAmino(object: ExpiryFuturesMarketLaunchProposalAmino): ExpiryFuturesMarketLaunchProposal { + const message = createBaseExpiryFuturesMarketLaunchProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.quote_denom !== undefined && object.quote_denom !== null) { + message.quoteDenom = object.quote_denom; + } + if (object.oracle_base !== undefined && object.oracle_base !== null) { + message.oracleBase = object.oracle_base; + } + if (object.oracle_quote !== undefined && object.oracle_quote !== null) { + message.oracleQuote = object.oracle_quote; + } + if (object.oracle_scale_factor !== undefined && object.oracle_scale_factor !== null) { + message.oracleScaleFactor = object.oracle_scale_factor; + } + if (object.oracle_type !== undefined && object.oracle_type !== null) { + message.oracleType = object.oracle_type; + } + if (object.expiry !== undefined && object.expiry !== null) { + message.expiry = BigInt(object.expiry); + } + if (object.initial_margin_ratio !== undefined && object.initial_margin_ratio !== null) { + message.initialMarginRatio = object.initial_margin_ratio; + } + if (object.maintenance_margin_ratio !== undefined && object.maintenance_margin_ratio !== null) { + message.maintenanceMarginRatio = object.maintenance_margin_ratio; + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + if (object.admin_info !== undefined && object.admin_info !== null) { + message.adminInfo = AdminInfo.fromAmino(object.admin_info); + } + return message; + }, + toAmino(message: ExpiryFuturesMarketLaunchProposal): ExpiryFuturesMarketLaunchProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.ticker = message.ticker === '' ? undefined : message.ticker; + obj.quote_denom = message.quoteDenom === '' ? undefined : message.quoteDenom; + obj.oracle_base = message.oracleBase === '' ? undefined : message.oracleBase; + obj.oracle_quote = message.oracleQuote === '' ? undefined : message.oracleQuote; + obj.oracle_scale_factor = message.oracleScaleFactor === 0 ? undefined : message.oracleScaleFactor; + obj.oracle_type = message.oracleType === 0 ? undefined : message.oracleType; + obj.expiry = message.expiry !== BigInt(0) ? (message.expiry?.toString)() : undefined; + obj.initial_margin_ratio = message.initialMarginRatio === '' ? undefined : message.initialMarginRatio; + obj.maintenance_margin_ratio = message.maintenanceMarginRatio === '' ? undefined : message.maintenanceMarginRatio; + obj.maker_fee_rate = message.makerFeeRate === '' ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === '' ? undefined : message.takerFeeRate; + obj.min_price_tick_size = message.minPriceTickSize === '' ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === '' ? undefined : message.minQuantityTickSize; + obj.min_notional = message.minNotional === '' ? undefined : message.minNotional; + obj.admin_info = message.adminInfo ? AdminInfo.toAmino(message.adminInfo) : undefined; + return obj; + }, + fromAminoMsg(object: ExpiryFuturesMarketLaunchProposalAminoMsg): ExpiryFuturesMarketLaunchProposal { + return ExpiryFuturesMarketLaunchProposal.fromAmino(object.value); + }, + toAminoMsg(message: ExpiryFuturesMarketLaunchProposal): ExpiryFuturesMarketLaunchProposalAminoMsg { + return { + type: 'exchange/ExpiryFuturesMarketLaunchProposal', + value: ExpiryFuturesMarketLaunchProposal.toAmino(message), + }; + }, + fromProtoMsg(message: ExpiryFuturesMarketLaunchProposalProtoMsg): ExpiryFuturesMarketLaunchProposal { + return ExpiryFuturesMarketLaunchProposal.decode(message.value); + }, + toProto(message: ExpiryFuturesMarketLaunchProposal): Uint8Array { + return ExpiryFuturesMarketLaunchProposal.encode(message).finish(); + }, + toProtoMsg(message: ExpiryFuturesMarketLaunchProposal): ExpiryFuturesMarketLaunchProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal', + value: ExpiryFuturesMarketLaunchProposal.encode(message).finish(), + }; + }, +}; +function createBaseDerivativeMarketParamUpdateProposal(): DerivativeMarketParamUpdateProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal', + title: '', + description: '', + marketId: '', + initialMarginRatio: undefined, + maintenanceMarginRatio: undefined, + makerFeeRate: undefined, + takerFeeRate: undefined, + relayerFeeShareRate: undefined, + minPriceTickSize: undefined, + minQuantityTickSize: undefined, + hourlyInterestRate: undefined, + hourlyFundingRateCap: undefined, + status: 0, + oracleParams: undefined, + ticker: undefined, + minNotional: undefined, + adminInfo: undefined, + }; +} +export const DerivativeMarketParamUpdateProposal = { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal', + encode(message: DerivativeMarketParamUpdateProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.marketId !== '') { + writer.uint32(26).string(message.marketId); + } + if (message.initialMarginRatio !== undefined) { + writer.uint32(34).string(Decimal.fromUserInput(message.initialMarginRatio, 18).atomics); + } + if (message.maintenanceMarginRatio !== undefined) { + writer.uint32(42).string(Decimal.fromUserInput(message.maintenanceMarginRatio, 18).atomics); + } + if (message.makerFeeRate !== undefined) { + writer.uint32(50).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== undefined) { + writer.uint32(58).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.relayerFeeShareRate !== undefined) { + writer.uint32(66).string(Decimal.fromUserInput(message.relayerFeeShareRate, 18).atomics); + } + if (message.minPriceTickSize !== undefined) { + writer.uint32(74).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== undefined) { + writer.uint32(82).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.hourlyInterestRate !== undefined) { + writer.uint32(90).string(Decimal.fromUserInput(message.hourlyInterestRate, 18).atomics); + } + if (message.hourlyFundingRateCap !== undefined) { + writer.uint32(98).string(Decimal.fromUserInput(message.hourlyFundingRateCap, 18).atomics); + } + if (message.status !== 0) { + writer.uint32(104).int32(message.status); + } + if (message.oracleParams !== undefined) { + OracleParams.encode(message.oracleParams, writer.uint32(114).fork()).ldelim(); + } + if (message.ticker !== undefined) { + writer.uint32(122).string(message.ticker); + } + if (message.minNotional !== undefined) { + writer.uint32(130).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + if (message.adminInfo !== undefined) { + AdminInfo.encode(message.adminInfo, writer.uint32(138).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DerivativeMarketParamUpdateProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDerivativeMarketParamUpdateProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.marketId = reader.string(); + break; + case 4: + message.initialMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.maintenanceMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 6: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 7: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 8: + message.relayerFeeShareRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 9: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 10: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 11: + message.hourlyInterestRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 12: + message.hourlyFundingRateCap = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 13: + message.status = reader.int32() as any; + break; + case 14: + message.oracleParams = OracleParams.decode(reader, reader.uint32()); + break; + case 15: + message.ticker = reader.string(); + break; + case 16: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 17: + message.adminInfo = AdminInfo.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DerivativeMarketParamUpdateProposal { + const message = createBaseDerivativeMarketParamUpdateProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.marketId = object.marketId ?? ''; + message.initialMarginRatio = object.initialMarginRatio ?? undefined; + message.maintenanceMarginRatio = object.maintenanceMarginRatio ?? undefined; + message.makerFeeRate = object.makerFeeRate ?? undefined; + message.takerFeeRate = object.takerFeeRate ?? undefined; + message.relayerFeeShareRate = object.relayerFeeShareRate ?? undefined; + message.minPriceTickSize = object.minPriceTickSize ?? undefined; + message.minQuantityTickSize = object.minQuantityTickSize ?? undefined; + message.hourlyInterestRate = object.hourlyInterestRate ?? undefined; + message.hourlyFundingRateCap = object.hourlyFundingRateCap ?? undefined; + message.status = object.status ?? 0; + message.oracleParams = + object.oracleParams !== undefined && object.oracleParams !== null + ? OracleParams.fromPartial(object.oracleParams) + : undefined; + message.ticker = object.ticker ?? undefined; + message.minNotional = object.minNotional ?? undefined; + message.adminInfo = + object.adminInfo !== undefined && object.adminInfo !== null ? AdminInfo.fromPartial(object.adminInfo) : undefined; + return message; + }, + fromAmino(object: DerivativeMarketParamUpdateProposalAmino): DerivativeMarketParamUpdateProposal { + const message = createBaseDerivativeMarketParamUpdateProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.initial_margin_ratio !== undefined && object.initial_margin_ratio !== null) { + message.initialMarginRatio = object.initial_margin_ratio; + } + if (object.maintenance_margin_ratio !== undefined && object.maintenance_margin_ratio !== null) { + message.maintenanceMarginRatio = object.maintenance_margin_ratio; + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.relayer_fee_share_rate !== undefined && object.relayer_fee_share_rate !== null) { + message.relayerFeeShareRate = object.relayer_fee_share_rate; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.HourlyInterestRate !== undefined && object.HourlyInterestRate !== null) { + message.hourlyInterestRate = object.HourlyInterestRate; + } + if (object.HourlyFundingRateCap !== undefined && object.HourlyFundingRateCap !== null) { + message.hourlyFundingRateCap = object.HourlyFundingRateCap; + } + if (object.status !== undefined && object.status !== null) { + message.status = object.status; + } + if (object.oracle_params !== undefined && object.oracle_params !== null) { + message.oracleParams = OracleParams.fromAmino(object.oracle_params); + } + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + if (object.admin_info !== undefined && object.admin_info !== null) { + message.adminInfo = AdminInfo.fromAmino(object.admin_info); + } + return message; + }, + toAmino(message: DerivativeMarketParamUpdateProposal): DerivativeMarketParamUpdateProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.initial_margin_ratio = message.initialMarginRatio === null ? undefined : message.initialMarginRatio; + obj.maintenance_margin_ratio = message.maintenanceMarginRatio === null ? undefined : message.maintenanceMarginRatio; + obj.maker_fee_rate = message.makerFeeRate === null ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === null ? undefined : message.takerFeeRate; + obj.relayer_fee_share_rate = message.relayerFeeShareRate === null ? undefined : message.relayerFeeShareRate; + obj.min_price_tick_size = message.minPriceTickSize === null ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === null ? undefined : message.minQuantityTickSize; + obj.HourlyInterestRate = message.hourlyInterestRate === null ? undefined : message.hourlyInterestRate; + obj.HourlyFundingRateCap = message.hourlyFundingRateCap === null ? undefined : message.hourlyFundingRateCap; + obj.status = message.status === 0 ? undefined : message.status; + obj.oracle_params = message.oracleParams ? OracleParams.toAmino(message.oracleParams) : undefined; + obj.ticker = message.ticker === null ? undefined : message.ticker; + obj.min_notional = message.minNotional === null ? undefined : message.minNotional; + obj.admin_info = message.adminInfo ? AdminInfo.toAmino(message.adminInfo) : undefined; + return obj; + }, + fromAminoMsg(object: DerivativeMarketParamUpdateProposalAminoMsg): DerivativeMarketParamUpdateProposal { + return DerivativeMarketParamUpdateProposal.fromAmino(object.value); + }, + toAminoMsg(message: DerivativeMarketParamUpdateProposal): DerivativeMarketParamUpdateProposalAminoMsg { + return { + type: 'exchange/DerivativeMarketParamUpdateProposal', + value: DerivativeMarketParamUpdateProposal.toAmino(message), + }; + }, + fromProtoMsg(message: DerivativeMarketParamUpdateProposalProtoMsg): DerivativeMarketParamUpdateProposal { + return DerivativeMarketParamUpdateProposal.decode(message.value); + }, + toProto(message: DerivativeMarketParamUpdateProposal): Uint8Array { + return DerivativeMarketParamUpdateProposal.encode(message).finish(); + }, + toProtoMsg(message: DerivativeMarketParamUpdateProposal): DerivativeMarketParamUpdateProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal', + value: DerivativeMarketParamUpdateProposal.encode(message).finish(), + }; + }, +}; +function createBaseAdminInfo(): AdminInfo { + return { + admin: '', + adminPermissions: 0, + }; +} +export const AdminInfo = { + typeUrl: '/injective.exchange.v1beta1.AdminInfo', + encode(message: AdminInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.admin !== '') { + writer.uint32(10).string(message.admin); + } + if (message.adminPermissions !== 0) { + writer.uint32(16).uint32(message.adminPermissions); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AdminInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAdminInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.adminPermissions = reader.uint32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AdminInfo { + const message = createBaseAdminInfo(); + message.admin = object.admin ?? ''; + message.adminPermissions = object.adminPermissions ?? 0; + return message; + }, + fromAmino(object: AdminInfoAmino): AdminInfo { + const message = createBaseAdminInfo(); + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.admin_permissions !== undefined && object.admin_permissions !== null) { + message.adminPermissions = object.admin_permissions; + } + return message; + }, + toAmino(message: AdminInfo): AdminInfoAmino { + const obj: any = {}; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.admin_permissions = message.adminPermissions === 0 ? undefined : message.adminPermissions; + return obj; + }, + fromAminoMsg(object: AdminInfoAminoMsg): AdminInfo { + return AdminInfo.fromAmino(object.value); + }, + fromProtoMsg(message: AdminInfoProtoMsg): AdminInfo { + return AdminInfo.decode(message.value); + }, + toProto(message: AdminInfo): Uint8Array { + return AdminInfo.encode(message).finish(); + }, + toProtoMsg(message: AdminInfo): AdminInfoProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.AdminInfo', + value: AdminInfo.encode(message).finish(), + }; + }, +}; +function createBaseMarketForcedSettlementProposal(): MarketForcedSettlementProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.MarketForcedSettlementProposal', + title: '', + description: '', + marketId: '', + settlementPrice: undefined, + }; +} +export const MarketForcedSettlementProposal = { + typeUrl: '/injective.exchange.v1beta1.MarketForcedSettlementProposal', + encode(message: MarketForcedSettlementProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.marketId !== '') { + writer.uint32(26).string(message.marketId); + } + if (message.settlementPrice !== undefined) { + writer.uint32(34).string(Decimal.fromUserInput(message.settlementPrice, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MarketForcedSettlementProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMarketForcedSettlementProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.marketId = reader.string(); + break; + case 4: + message.settlementPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MarketForcedSettlementProposal { + const message = createBaseMarketForcedSettlementProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.marketId = object.marketId ?? ''; + message.settlementPrice = object.settlementPrice ?? undefined; + return message; + }, + fromAmino(object: MarketForcedSettlementProposalAmino): MarketForcedSettlementProposal { + const message = createBaseMarketForcedSettlementProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.settlement_price !== undefined && object.settlement_price !== null) { + message.settlementPrice = object.settlement_price; + } + return message; + }, + toAmino(message: MarketForcedSettlementProposal): MarketForcedSettlementProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.settlement_price = message.settlementPrice === null ? undefined : message.settlementPrice; + return obj; + }, + fromAminoMsg(object: MarketForcedSettlementProposalAminoMsg): MarketForcedSettlementProposal { + return MarketForcedSettlementProposal.fromAmino(object.value); + }, + toAminoMsg(message: MarketForcedSettlementProposal): MarketForcedSettlementProposalAminoMsg { + return { + type: 'exchange/MarketForcedSettlementProposal', + value: MarketForcedSettlementProposal.toAmino(message), + }; + }, + fromProtoMsg(message: MarketForcedSettlementProposalProtoMsg): MarketForcedSettlementProposal { + return MarketForcedSettlementProposal.decode(message.value); + }, + toProto(message: MarketForcedSettlementProposal): Uint8Array { + return MarketForcedSettlementProposal.encode(message).finish(); + }, + toProtoMsg(message: MarketForcedSettlementProposal): MarketForcedSettlementProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MarketForcedSettlementProposal', + value: MarketForcedSettlementProposal.encode(message).finish(), + }; + }, +}; +function createBaseUpdateDenomDecimalsProposal(): UpdateDenomDecimalsProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.UpdateDenomDecimalsProposal', + title: '', + description: '', + denomDecimals: [], + }; +} +export const UpdateDenomDecimalsProposal = { + typeUrl: '/injective.exchange.v1beta1.UpdateDenomDecimalsProposal', + encode(message: UpdateDenomDecimalsProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.denomDecimals) { + DenomDecimals.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): UpdateDenomDecimalsProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpdateDenomDecimalsProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.denomDecimals.push(DenomDecimals.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): UpdateDenomDecimalsProposal { + const message = createBaseUpdateDenomDecimalsProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.denomDecimals = object.denomDecimals?.map((e) => DenomDecimals.fromPartial(e)) || []; + return message; + }, + fromAmino(object: UpdateDenomDecimalsProposalAmino): UpdateDenomDecimalsProposal { + const message = createBaseUpdateDenomDecimalsProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.denomDecimals = object.denom_decimals?.map((e) => DenomDecimals.fromAmino(e)) || []; + return message; + }, + toAmino(message: UpdateDenomDecimalsProposal): UpdateDenomDecimalsProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.denomDecimals) { + obj.denom_decimals = message.denomDecimals.map((e) => (e ? DenomDecimals.toAmino(e) : undefined)); + } else { + obj.denom_decimals = message.denomDecimals; + } + return obj; + }, + fromAminoMsg(object: UpdateDenomDecimalsProposalAminoMsg): UpdateDenomDecimalsProposal { + return UpdateDenomDecimalsProposal.fromAmino(object.value); + }, + toAminoMsg(message: UpdateDenomDecimalsProposal): UpdateDenomDecimalsProposalAminoMsg { + return { + type: 'exchange/UpdateDenomDecimalsProposal', + value: UpdateDenomDecimalsProposal.toAmino(message), + }; + }, + fromProtoMsg(message: UpdateDenomDecimalsProposalProtoMsg): UpdateDenomDecimalsProposal { + return UpdateDenomDecimalsProposal.decode(message.value); + }, + toProto(message: UpdateDenomDecimalsProposal): Uint8Array { + return UpdateDenomDecimalsProposal.encode(message).finish(); + }, + toProtoMsg(message: UpdateDenomDecimalsProposal): UpdateDenomDecimalsProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.UpdateDenomDecimalsProposal', + value: UpdateDenomDecimalsProposal.encode(message).finish(), + }; + }, +}; +function createBaseBinaryOptionsMarketParamUpdateProposal(): BinaryOptionsMarketParamUpdateProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal', + title: '', + description: '', + marketId: '', + makerFeeRate: undefined, + takerFeeRate: undefined, + relayerFeeShareRate: undefined, + minPriceTickSize: undefined, + minQuantityTickSize: undefined, + expirationTimestamp: BigInt(0), + settlementTimestamp: BigInt(0), + settlementPrice: undefined, + admin: '', + status: 0, + oracleParams: undefined, + ticker: undefined, + minNotional: undefined, + }; +} +export const BinaryOptionsMarketParamUpdateProposal = { + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal', + encode(message: BinaryOptionsMarketParamUpdateProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.marketId !== '') { + writer.uint32(26).string(message.marketId); + } + if (message.makerFeeRate !== undefined) { + writer.uint32(34).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== undefined) { + writer.uint32(42).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.relayerFeeShareRate !== undefined) { + writer.uint32(50).string(Decimal.fromUserInput(message.relayerFeeShareRate, 18).atomics); + } + if (message.minPriceTickSize !== undefined) { + writer.uint32(58).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== undefined) { + writer.uint32(66).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.expirationTimestamp !== BigInt(0)) { + writer.uint32(72).int64(message.expirationTimestamp); + } + if (message.settlementTimestamp !== BigInt(0)) { + writer.uint32(80).int64(message.settlementTimestamp); + } + if (message.settlementPrice !== undefined) { + writer.uint32(90).string(Decimal.fromUserInput(message.settlementPrice, 18).atomics); + } + if (message.admin !== '') { + writer.uint32(98).string(message.admin); + } + if (message.status !== 0) { + writer.uint32(104).int32(message.status); + } + if (message.oracleParams !== undefined) { + ProviderOracleParams.encode(message.oracleParams, writer.uint32(114).fork()).ldelim(); + } + if (message.ticker !== undefined) { + writer.uint32(122).string(message.ticker); + } + if (message.minNotional !== undefined) { + writer.uint32(130).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BinaryOptionsMarketParamUpdateProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBinaryOptionsMarketParamUpdateProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.marketId = reader.string(); + break; + case 4: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 6: + message.relayerFeeShareRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 7: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 8: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 9: + message.expirationTimestamp = reader.int64(); + break; + case 10: + message.settlementTimestamp = reader.int64(); + break; + case 11: + message.settlementPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 12: + message.admin = reader.string(); + break; + case 13: + message.status = reader.int32() as any; + break; + case 14: + message.oracleParams = ProviderOracleParams.decode(reader, reader.uint32()); + break; + case 15: + message.ticker = reader.string(); + break; + case 16: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BinaryOptionsMarketParamUpdateProposal { + const message = createBaseBinaryOptionsMarketParamUpdateProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.marketId = object.marketId ?? ''; + message.makerFeeRate = object.makerFeeRate ?? undefined; + message.takerFeeRate = object.takerFeeRate ?? undefined; + message.relayerFeeShareRate = object.relayerFeeShareRate ?? undefined; + message.minPriceTickSize = object.minPriceTickSize ?? undefined; + message.minQuantityTickSize = object.minQuantityTickSize ?? undefined; + message.expirationTimestamp = + object.expirationTimestamp !== undefined && object.expirationTimestamp !== null + ? BigInt(object.expirationTimestamp.toString()) + : BigInt(0); + message.settlementTimestamp = + object.settlementTimestamp !== undefined && object.settlementTimestamp !== null + ? BigInt(object.settlementTimestamp.toString()) + : BigInt(0); + message.settlementPrice = object.settlementPrice ?? undefined; + message.admin = object.admin ?? ''; + message.status = object.status ?? 0; + message.oracleParams = + object.oracleParams !== undefined && object.oracleParams !== null + ? ProviderOracleParams.fromPartial(object.oracleParams) + : undefined; + message.ticker = object.ticker ?? undefined; + message.minNotional = object.minNotional ?? undefined; + return message; + }, + fromAmino(object: BinaryOptionsMarketParamUpdateProposalAmino): BinaryOptionsMarketParamUpdateProposal { + const message = createBaseBinaryOptionsMarketParamUpdateProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.relayer_fee_share_rate !== undefined && object.relayer_fee_share_rate !== null) { + message.relayerFeeShareRate = object.relayer_fee_share_rate; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.expiration_timestamp !== undefined && object.expiration_timestamp !== null) { + message.expirationTimestamp = BigInt(object.expiration_timestamp); + } + if (object.settlement_timestamp !== undefined && object.settlement_timestamp !== null) { + message.settlementTimestamp = BigInt(object.settlement_timestamp); + } + if (object.settlement_price !== undefined && object.settlement_price !== null) { + message.settlementPrice = object.settlement_price; + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.status !== undefined && object.status !== null) { + message.status = object.status; + } + if (object.oracle_params !== undefined && object.oracle_params !== null) { + message.oracleParams = ProviderOracleParams.fromAmino(object.oracle_params); + } + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + return message; + }, + toAmino(message: BinaryOptionsMarketParamUpdateProposal): BinaryOptionsMarketParamUpdateProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.maker_fee_rate = message.makerFeeRate === null ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === null ? undefined : message.takerFeeRate; + obj.relayer_fee_share_rate = message.relayerFeeShareRate === null ? undefined : message.relayerFeeShareRate; + obj.min_price_tick_size = message.minPriceTickSize === null ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === null ? undefined : message.minQuantityTickSize; + obj.expiration_timestamp = + message.expirationTimestamp !== BigInt(0) ? (message.expirationTimestamp?.toString)() : undefined; + obj.settlement_timestamp = + message.settlementTimestamp !== BigInt(0) ? (message.settlementTimestamp?.toString)() : undefined; + obj.settlement_price = message.settlementPrice === null ? undefined : message.settlementPrice; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.status = message.status === 0 ? undefined : message.status; + obj.oracle_params = message.oracleParams ? ProviderOracleParams.toAmino(message.oracleParams) : undefined; + obj.ticker = message.ticker === null ? undefined : message.ticker; + obj.min_notional = message.minNotional === null ? undefined : message.minNotional; + return obj; + }, + fromAminoMsg(object: BinaryOptionsMarketParamUpdateProposalAminoMsg): BinaryOptionsMarketParamUpdateProposal { + return BinaryOptionsMarketParamUpdateProposal.fromAmino(object.value); + }, + toAminoMsg(message: BinaryOptionsMarketParamUpdateProposal): BinaryOptionsMarketParamUpdateProposalAminoMsg { + return { + type: 'exchange/BinaryOptionsMarketParamUpdateProposal', + value: BinaryOptionsMarketParamUpdateProposal.toAmino(message), + }; + }, + fromProtoMsg(message: BinaryOptionsMarketParamUpdateProposalProtoMsg): BinaryOptionsMarketParamUpdateProposal { + return BinaryOptionsMarketParamUpdateProposal.decode(message.value); + }, + toProto(message: BinaryOptionsMarketParamUpdateProposal): Uint8Array { + return BinaryOptionsMarketParamUpdateProposal.encode(message).finish(); + }, + toProtoMsg(message: BinaryOptionsMarketParamUpdateProposal): BinaryOptionsMarketParamUpdateProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal', + value: BinaryOptionsMarketParamUpdateProposal.encode(message).finish(), + }; + }, +}; +function createBaseProviderOracleParams(): ProviderOracleParams { + return { + symbol: '', + provider: '', + oracleScaleFactor: 0, + oracleType: 0, + }; +} +export const ProviderOracleParams = { + typeUrl: '/injective.exchange.v1beta1.ProviderOracleParams', + encode(message: ProviderOracleParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.symbol !== '') { + writer.uint32(10).string(message.symbol); + } + if (message.provider !== '') { + writer.uint32(18).string(message.provider); + } + if (message.oracleScaleFactor !== 0) { + writer.uint32(24).uint32(message.oracleScaleFactor); + } + if (message.oracleType !== 0) { + writer.uint32(32).int32(message.oracleType); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ProviderOracleParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProviderOracleParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.symbol = reader.string(); + break; + case 2: + message.provider = reader.string(); + break; + case 3: + message.oracleScaleFactor = reader.uint32(); + break; + case 4: + message.oracleType = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ProviderOracleParams { + const message = createBaseProviderOracleParams(); + message.symbol = object.symbol ?? ''; + message.provider = object.provider ?? ''; + message.oracleScaleFactor = object.oracleScaleFactor ?? 0; + message.oracleType = object.oracleType ?? 0; + return message; + }, + fromAmino(object: ProviderOracleParamsAmino): ProviderOracleParams { + const message = createBaseProviderOracleParams(); + if (object.symbol !== undefined && object.symbol !== null) { + message.symbol = object.symbol; + } + if (object.provider !== undefined && object.provider !== null) { + message.provider = object.provider; + } + if (object.oracle_scale_factor !== undefined && object.oracle_scale_factor !== null) { + message.oracleScaleFactor = object.oracle_scale_factor; + } + if (object.oracle_type !== undefined && object.oracle_type !== null) { + message.oracleType = object.oracle_type; + } + return message; + }, + toAmino(message: ProviderOracleParams): ProviderOracleParamsAmino { + const obj: any = {}; + obj.symbol = message.symbol === '' ? undefined : message.symbol; + obj.provider = message.provider === '' ? undefined : message.provider; + obj.oracle_scale_factor = message.oracleScaleFactor === 0 ? undefined : message.oracleScaleFactor; + obj.oracle_type = message.oracleType === 0 ? undefined : message.oracleType; + return obj; + }, + fromAminoMsg(object: ProviderOracleParamsAminoMsg): ProviderOracleParams { + return ProviderOracleParams.fromAmino(object.value); + }, + fromProtoMsg(message: ProviderOracleParamsProtoMsg): ProviderOracleParams { + return ProviderOracleParams.decode(message.value); + }, + toProto(message: ProviderOracleParams): Uint8Array { + return ProviderOracleParams.encode(message).finish(); + }, + toProtoMsg(message: ProviderOracleParams): ProviderOracleParamsProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.ProviderOracleParams', + value: ProviderOracleParams.encode(message).finish(), + }; + }, +}; +function createBaseOracleParams(): OracleParams { + return { + oracleBase: '', + oracleQuote: '', + oracleScaleFactor: 0, + oracleType: 0, + }; +} +export const OracleParams = { + typeUrl: '/injective.exchange.v1beta1.OracleParams', + encode(message: OracleParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.oracleBase !== '') { + writer.uint32(10).string(message.oracleBase); + } + if (message.oracleQuote !== '') { + writer.uint32(18).string(message.oracleQuote); + } + if (message.oracleScaleFactor !== 0) { + writer.uint32(24).uint32(message.oracleScaleFactor); + } + if (message.oracleType !== 0) { + writer.uint32(32).int32(message.oracleType); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): OracleParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOracleParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.oracleBase = reader.string(); + break; + case 2: + message.oracleQuote = reader.string(); + break; + case 3: + message.oracleScaleFactor = reader.uint32(); + break; + case 4: + message.oracleType = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): OracleParams { + const message = createBaseOracleParams(); + message.oracleBase = object.oracleBase ?? ''; + message.oracleQuote = object.oracleQuote ?? ''; + message.oracleScaleFactor = object.oracleScaleFactor ?? 0; + message.oracleType = object.oracleType ?? 0; + return message; + }, + fromAmino(object: OracleParamsAmino): OracleParams { + const message = createBaseOracleParams(); + if (object.oracle_base !== undefined && object.oracle_base !== null) { + message.oracleBase = object.oracle_base; + } + if (object.oracle_quote !== undefined && object.oracle_quote !== null) { + message.oracleQuote = object.oracle_quote; + } + if (object.oracle_scale_factor !== undefined && object.oracle_scale_factor !== null) { + message.oracleScaleFactor = object.oracle_scale_factor; + } + if (object.oracle_type !== undefined && object.oracle_type !== null) { + message.oracleType = object.oracle_type; + } + return message; + }, + toAmino(message: OracleParams): OracleParamsAmino { + const obj: any = {}; + obj.oracle_base = message.oracleBase === '' ? undefined : message.oracleBase; + obj.oracle_quote = message.oracleQuote === '' ? undefined : message.oracleQuote; + obj.oracle_scale_factor = message.oracleScaleFactor === 0 ? undefined : message.oracleScaleFactor; + obj.oracle_type = message.oracleType === 0 ? undefined : message.oracleType; + return obj; + }, + fromAminoMsg(object: OracleParamsAminoMsg): OracleParams { + return OracleParams.fromAmino(object.value); + }, + fromProtoMsg(message: OracleParamsProtoMsg): OracleParams { + return OracleParams.decode(message.value); + }, + toProto(message: OracleParams): Uint8Array { + return OracleParams.encode(message).finish(); + }, + toProtoMsg(message: OracleParams): OracleParamsProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.OracleParams', + value: OracleParams.encode(message).finish(), + }; + }, +}; +function createBaseTradingRewardCampaignLaunchProposal(): TradingRewardCampaignLaunchProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal', + title: '', + description: '', + campaignInfo: undefined, + campaignRewardPools: [], + }; +} +export const TradingRewardCampaignLaunchProposal = { + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal', + encode(message: TradingRewardCampaignLaunchProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.campaignInfo !== undefined) { + TradingRewardCampaignInfo.encode(message.campaignInfo, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.campaignRewardPools) { + CampaignRewardPool.encode(v!, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TradingRewardCampaignLaunchProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTradingRewardCampaignLaunchProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.campaignInfo = TradingRewardCampaignInfo.decode(reader, reader.uint32()); + break; + case 4: + message.campaignRewardPools.push(CampaignRewardPool.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TradingRewardCampaignLaunchProposal { + const message = createBaseTradingRewardCampaignLaunchProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.campaignInfo = + object.campaignInfo !== undefined && object.campaignInfo !== null + ? TradingRewardCampaignInfo.fromPartial(object.campaignInfo) + : undefined; + message.campaignRewardPools = object.campaignRewardPools?.map((e) => CampaignRewardPool.fromPartial(e)) || []; + return message; + }, + fromAmino(object: TradingRewardCampaignLaunchProposalAmino): TradingRewardCampaignLaunchProposal { + const message = createBaseTradingRewardCampaignLaunchProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.campaign_info !== undefined && object.campaign_info !== null) { + message.campaignInfo = TradingRewardCampaignInfo.fromAmino(object.campaign_info); + } + message.campaignRewardPools = object.campaign_reward_pools?.map((e) => CampaignRewardPool.fromAmino(e)) || []; + return message; + }, + toAmino(message: TradingRewardCampaignLaunchProposal): TradingRewardCampaignLaunchProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.campaign_info = message.campaignInfo ? TradingRewardCampaignInfo.toAmino(message.campaignInfo) : undefined; + if (message.campaignRewardPools) { + obj.campaign_reward_pools = message.campaignRewardPools.map((e) => + e ? CampaignRewardPool.toAmino(e) : undefined, + ); + } else { + obj.campaign_reward_pools = message.campaignRewardPools; + } + return obj; + }, + fromAminoMsg(object: TradingRewardCampaignLaunchProposalAminoMsg): TradingRewardCampaignLaunchProposal { + return TradingRewardCampaignLaunchProposal.fromAmino(object.value); + }, + toAminoMsg(message: TradingRewardCampaignLaunchProposal): TradingRewardCampaignLaunchProposalAminoMsg { + return { + type: 'exchange/TradingRewardCampaignLaunchProposal', + value: TradingRewardCampaignLaunchProposal.toAmino(message), + }; + }, + fromProtoMsg(message: TradingRewardCampaignLaunchProposalProtoMsg): TradingRewardCampaignLaunchProposal { + return TradingRewardCampaignLaunchProposal.decode(message.value); + }, + toProto(message: TradingRewardCampaignLaunchProposal): Uint8Array { + return TradingRewardCampaignLaunchProposal.encode(message).finish(); + }, + toProtoMsg(message: TradingRewardCampaignLaunchProposal): TradingRewardCampaignLaunchProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal', + value: TradingRewardCampaignLaunchProposal.encode(message).finish(), + }; + }, +}; +function createBaseTradingRewardCampaignUpdateProposal(): TradingRewardCampaignUpdateProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal', + title: '', + description: '', + campaignInfo: undefined, + campaignRewardPoolsAdditions: [], + campaignRewardPoolsUpdates: [], + }; +} +export const TradingRewardCampaignUpdateProposal = { + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal', + encode(message: TradingRewardCampaignUpdateProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.campaignInfo !== undefined) { + TradingRewardCampaignInfo.encode(message.campaignInfo, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.campaignRewardPoolsAdditions) { + CampaignRewardPool.encode(v!, writer.uint32(34).fork()).ldelim(); + } + for (const v of message.campaignRewardPoolsUpdates) { + CampaignRewardPool.encode(v!, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TradingRewardCampaignUpdateProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTradingRewardCampaignUpdateProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.campaignInfo = TradingRewardCampaignInfo.decode(reader, reader.uint32()); + break; + case 4: + message.campaignRewardPoolsAdditions.push(CampaignRewardPool.decode(reader, reader.uint32())); + break; + case 5: + message.campaignRewardPoolsUpdates.push(CampaignRewardPool.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TradingRewardCampaignUpdateProposal { + const message = createBaseTradingRewardCampaignUpdateProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.campaignInfo = + object.campaignInfo !== undefined && object.campaignInfo !== null + ? TradingRewardCampaignInfo.fromPartial(object.campaignInfo) + : undefined; + message.campaignRewardPoolsAdditions = + object.campaignRewardPoolsAdditions?.map((e) => CampaignRewardPool.fromPartial(e)) || []; + message.campaignRewardPoolsUpdates = + object.campaignRewardPoolsUpdates?.map((e) => CampaignRewardPool.fromPartial(e)) || []; + return message; + }, + fromAmino(object: TradingRewardCampaignUpdateProposalAmino): TradingRewardCampaignUpdateProposal { + const message = createBaseTradingRewardCampaignUpdateProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.campaign_info !== undefined && object.campaign_info !== null) { + message.campaignInfo = TradingRewardCampaignInfo.fromAmino(object.campaign_info); + } + message.campaignRewardPoolsAdditions = + object.campaign_reward_pools_additions?.map((e) => CampaignRewardPool.fromAmino(e)) || []; + message.campaignRewardPoolsUpdates = + object.campaign_reward_pools_updates?.map((e) => CampaignRewardPool.fromAmino(e)) || []; + return message; + }, + toAmino(message: TradingRewardCampaignUpdateProposal): TradingRewardCampaignUpdateProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.campaign_info = message.campaignInfo ? TradingRewardCampaignInfo.toAmino(message.campaignInfo) : undefined; + if (message.campaignRewardPoolsAdditions) { + obj.campaign_reward_pools_additions = message.campaignRewardPoolsAdditions.map((e) => + e ? CampaignRewardPool.toAmino(e) : undefined, + ); + } else { + obj.campaign_reward_pools_additions = message.campaignRewardPoolsAdditions; + } + if (message.campaignRewardPoolsUpdates) { + obj.campaign_reward_pools_updates = message.campaignRewardPoolsUpdates.map((e) => + e ? CampaignRewardPool.toAmino(e) : undefined, + ); + } else { + obj.campaign_reward_pools_updates = message.campaignRewardPoolsUpdates; + } + return obj; + }, + fromAminoMsg(object: TradingRewardCampaignUpdateProposalAminoMsg): TradingRewardCampaignUpdateProposal { + return TradingRewardCampaignUpdateProposal.fromAmino(object.value); + }, + toAminoMsg(message: TradingRewardCampaignUpdateProposal): TradingRewardCampaignUpdateProposalAminoMsg { + return { + type: 'exchange/TradingRewardCampaignUpdateProposal', + value: TradingRewardCampaignUpdateProposal.toAmino(message), + }; + }, + fromProtoMsg(message: TradingRewardCampaignUpdateProposalProtoMsg): TradingRewardCampaignUpdateProposal { + return TradingRewardCampaignUpdateProposal.decode(message.value); + }, + toProto(message: TradingRewardCampaignUpdateProposal): Uint8Array { + return TradingRewardCampaignUpdateProposal.encode(message).finish(); + }, + toProtoMsg(message: TradingRewardCampaignUpdateProposal): TradingRewardCampaignUpdateProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal', + value: TradingRewardCampaignUpdateProposal.encode(message).finish(), + }; + }, +}; +function createBaseRewardPointUpdate(): RewardPointUpdate { + return { + accountAddress: '', + newPoints: '', + }; +} +export const RewardPointUpdate = { + typeUrl: '/injective.exchange.v1beta1.RewardPointUpdate', + encode(message: RewardPointUpdate, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.accountAddress !== '') { + writer.uint32(10).string(message.accountAddress); + } + if (message.newPoints !== '') { + writer.uint32(98).string(Decimal.fromUserInput(message.newPoints, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RewardPointUpdate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRewardPointUpdate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.accountAddress = reader.string(); + break; + case 12: + message.newPoints = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RewardPointUpdate { + const message = createBaseRewardPointUpdate(); + message.accountAddress = object.accountAddress ?? ''; + message.newPoints = object.newPoints ?? ''; + return message; + }, + fromAmino(object: RewardPointUpdateAmino): RewardPointUpdate { + const message = createBaseRewardPointUpdate(); + if (object.account_address !== undefined && object.account_address !== null) { + message.accountAddress = object.account_address; + } + if (object.new_points !== undefined && object.new_points !== null) { + message.newPoints = object.new_points; + } + return message; + }, + toAmino(message: RewardPointUpdate): RewardPointUpdateAmino { + const obj: any = {}; + obj.account_address = message.accountAddress === '' ? undefined : message.accountAddress; + obj.new_points = message.newPoints === '' ? undefined : message.newPoints; + return obj; + }, + fromAminoMsg(object: RewardPointUpdateAminoMsg): RewardPointUpdate { + return RewardPointUpdate.fromAmino(object.value); + }, + fromProtoMsg(message: RewardPointUpdateProtoMsg): RewardPointUpdate { + return RewardPointUpdate.decode(message.value); + }, + toProto(message: RewardPointUpdate): Uint8Array { + return RewardPointUpdate.encode(message).finish(); + }, + toProtoMsg(message: RewardPointUpdate): RewardPointUpdateProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.RewardPointUpdate', + value: RewardPointUpdate.encode(message).finish(), + }; + }, +}; +function createBaseTradingRewardPendingPointsUpdateProposal(): TradingRewardPendingPointsUpdateProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal', + title: '', + description: '', + pendingPoolTimestamp: BigInt(0), + rewardPointUpdates: [], + }; +} +export const TradingRewardPendingPointsUpdateProposal = { + typeUrl: '/injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal', + encode( + message: TradingRewardPendingPointsUpdateProposal, + writer: BinaryWriter = BinaryWriter.create(), + ): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.pendingPoolTimestamp !== BigInt(0)) { + writer.uint32(24).int64(message.pendingPoolTimestamp); + } + for (const v of message.rewardPointUpdates) { + RewardPointUpdate.encode(v!, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TradingRewardPendingPointsUpdateProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTradingRewardPendingPointsUpdateProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.pendingPoolTimestamp = reader.int64(); + break; + case 4: + message.rewardPointUpdates.push(RewardPointUpdate.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TradingRewardPendingPointsUpdateProposal { + const message = createBaseTradingRewardPendingPointsUpdateProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.pendingPoolTimestamp = + object.pendingPoolTimestamp !== undefined && object.pendingPoolTimestamp !== null + ? BigInt(object.pendingPoolTimestamp.toString()) + : BigInt(0); + message.rewardPointUpdates = object.rewardPointUpdates?.map((e) => RewardPointUpdate.fromPartial(e)) || []; + return message; + }, + fromAmino(object: TradingRewardPendingPointsUpdateProposalAmino): TradingRewardPendingPointsUpdateProposal { + const message = createBaseTradingRewardPendingPointsUpdateProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.pending_pool_timestamp !== undefined && object.pending_pool_timestamp !== null) { + message.pendingPoolTimestamp = BigInt(object.pending_pool_timestamp); + } + message.rewardPointUpdates = object.reward_point_updates?.map((e) => RewardPointUpdate.fromAmino(e)) || []; + return message; + }, + toAmino(message: TradingRewardPendingPointsUpdateProposal): TradingRewardPendingPointsUpdateProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.pending_pool_timestamp = + message.pendingPoolTimestamp !== BigInt(0) ? (message.pendingPoolTimestamp?.toString)() : undefined; + if (message.rewardPointUpdates) { + obj.reward_point_updates = message.rewardPointUpdates.map((e) => (e ? RewardPointUpdate.toAmino(e) : undefined)); + } else { + obj.reward_point_updates = message.rewardPointUpdates; + } + return obj; + }, + fromAminoMsg(object: TradingRewardPendingPointsUpdateProposalAminoMsg): TradingRewardPendingPointsUpdateProposal { + return TradingRewardPendingPointsUpdateProposal.fromAmino(object.value); + }, + toAminoMsg(message: TradingRewardPendingPointsUpdateProposal): TradingRewardPendingPointsUpdateProposalAminoMsg { + return { + type: 'exchange/TradingRewardPendingPointsUpdateProposal', + value: TradingRewardPendingPointsUpdateProposal.toAmino(message), + }; + }, + fromProtoMsg(message: TradingRewardPendingPointsUpdateProposalProtoMsg): TradingRewardPendingPointsUpdateProposal { + return TradingRewardPendingPointsUpdateProposal.decode(message.value); + }, + toProto(message: TradingRewardPendingPointsUpdateProposal): Uint8Array { + return TradingRewardPendingPointsUpdateProposal.encode(message).finish(); + }, + toProtoMsg(message: TradingRewardPendingPointsUpdateProposal): TradingRewardPendingPointsUpdateProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal', + value: TradingRewardPendingPointsUpdateProposal.encode(message).finish(), + }; + }, +}; +function createBaseFeeDiscountProposal(): FeeDiscountProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.FeeDiscountProposal', + title: '', + description: '', + schedule: undefined, + }; +} +export const FeeDiscountProposal = { + typeUrl: '/injective.exchange.v1beta1.FeeDiscountProposal', + encode(message: FeeDiscountProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.schedule !== undefined) { + FeeDiscountSchedule.encode(message.schedule, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): FeeDiscountProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeeDiscountProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.schedule = FeeDiscountSchedule.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): FeeDiscountProposal { + const message = createBaseFeeDiscountProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.schedule = + object.schedule !== undefined && object.schedule !== null + ? FeeDiscountSchedule.fromPartial(object.schedule) + : undefined; + return message; + }, + fromAmino(object: FeeDiscountProposalAmino): FeeDiscountProposal { + const message = createBaseFeeDiscountProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.schedule !== undefined && object.schedule !== null) { + message.schedule = FeeDiscountSchedule.fromAmino(object.schedule); + } + return message; + }, + toAmino(message: FeeDiscountProposal): FeeDiscountProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.schedule = message.schedule ? FeeDiscountSchedule.toAmino(message.schedule) : undefined; + return obj; + }, + fromAminoMsg(object: FeeDiscountProposalAminoMsg): FeeDiscountProposal { + return FeeDiscountProposal.fromAmino(object.value); + }, + toAminoMsg(message: FeeDiscountProposal): FeeDiscountProposalAminoMsg { + return { + type: 'exchange/FeeDiscountProposal', + value: FeeDiscountProposal.toAmino(message), + }; + }, + fromProtoMsg(message: FeeDiscountProposalProtoMsg): FeeDiscountProposal { + return FeeDiscountProposal.decode(message.value); + }, + toProto(message: FeeDiscountProposal): Uint8Array { + return FeeDiscountProposal.encode(message).finish(); + }, + toProtoMsg(message: FeeDiscountProposal): FeeDiscountProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.FeeDiscountProposal', + value: FeeDiscountProposal.encode(message).finish(), + }; + }, +}; +function createBaseBatchCommunityPoolSpendProposal(): BatchCommunityPoolSpendProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.BatchCommunityPoolSpendProposal', + title: '', + description: '', + proposals: [], + }; +} +export const BatchCommunityPoolSpendProposal = { + typeUrl: '/injective.exchange.v1beta1.BatchCommunityPoolSpendProposal', + encode(message: BatchCommunityPoolSpendProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.proposals) { + CommunityPoolSpendProposal.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BatchCommunityPoolSpendProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBatchCommunityPoolSpendProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.proposals.push(CommunityPoolSpendProposal.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BatchCommunityPoolSpendProposal { + const message = createBaseBatchCommunityPoolSpendProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.proposals = object.proposals?.map((e) => CommunityPoolSpendProposal.fromPartial(e)) || []; + return message; + }, + fromAmino(object: BatchCommunityPoolSpendProposalAmino): BatchCommunityPoolSpendProposal { + const message = createBaseBatchCommunityPoolSpendProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.proposals = object.proposals?.map((e) => CommunityPoolSpendProposal.fromAmino(e)) || []; + return message; + }, + toAmino(message: BatchCommunityPoolSpendProposal): BatchCommunityPoolSpendProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.proposals) { + obj.proposals = message.proposals.map((e) => (e ? CommunityPoolSpendProposal.toAmino(e) : undefined)); + } else { + obj.proposals = message.proposals; + } + return obj; + }, + fromAminoMsg(object: BatchCommunityPoolSpendProposalAminoMsg): BatchCommunityPoolSpendProposal { + return BatchCommunityPoolSpendProposal.fromAmino(object.value); + }, + toAminoMsg(message: BatchCommunityPoolSpendProposal): BatchCommunityPoolSpendProposalAminoMsg { + return { + type: 'exchange/BatchCommunityPoolSpendProposal', + value: BatchCommunityPoolSpendProposal.toAmino(message), + }; + }, + fromProtoMsg(message: BatchCommunityPoolSpendProposalProtoMsg): BatchCommunityPoolSpendProposal { + return BatchCommunityPoolSpendProposal.decode(message.value); + }, + toProto(message: BatchCommunityPoolSpendProposal): Uint8Array { + return BatchCommunityPoolSpendProposal.encode(message).finish(); + }, + toProtoMsg(message: BatchCommunityPoolSpendProposal): BatchCommunityPoolSpendProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.BatchCommunityPoolSpendProposal', + value: BatchCommunityPoolSpendProposal.encode(message).finish(), + }; + }, +}; +function createBaseAtomicMarketOrderFeeMultiplierScheduleProposal(): AtomicMarketOrderFeeMultiplierScheduleProposal { + return { + $typeUrl: '/injective.exchange.v1beta1.AtomicMarketOrderFeeMultiplierScheduleProposal', + title: '', + description: '', + marketFeeMultipliers: [], + }; +} +export const AtomicMarketOrderFeeMultiplierScheduleProposal = { + typeUrl: '/injective.exchange.v1beta1.AtomicMarketOrderFeeMultiplierScheduleProposal', + encode( + message: AtomicMarketOrderFeeMultiplierScheduleProposal, + writer: BinaryWriter = BinaryWriter.create(), + ): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.marketFeeMultipliers) { + MarketFeeMultiplier.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AtomicMarketOrderFeeMultiplierScheduleProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAtomicMarketOrderFeeMultiplierScheduleProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.marketFeeMultipliers.push(MarketFeeMultiplier.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial( + object: Partial, + ): AtomicMarketOrderFeeMultiplierScheduleProposal { + const message = createBaseAtomicMarketOrderFeeMultiplierScheduleProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.marketFeeMultipliers = object.marketFeeMultipliers?.map((e) => MarketFeeMultiplier.fromPartial(e)) || []; + return message; + }, + fromAmino( + object: AtomicMarketOrderFeeMultiplierScheduleProposalAmino, + ): AtomicMarketOrderFeeMultiplierScheduleProposal { + const message = createBaseAtomicMarketOrderFeeMultiplierScheduleProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.marketFeeMultipliers = object.market_fee_multipliers?.map((e) => MarketFeeMultiplier.fromAmino(e)) || []; + return message; + }, + toAmino( + message: AtomicMarketOrderFeeMultiplierScheduleProposal, + ): AtomicMarketOrderFeeMultiplierScheduleProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.marketFeeMultipliers) { + obj.market_fee_multipliers = message.marketFeeMultipliers.map((e) => + e ? MarketFeeMultiplier.toAmino(e) : undefined, + ); + } else { + obj.market_fee_multipliers = message.marketFeeMultipliers; + } + return obj; + }, + fromAminoMsg( + object: AtomicMarketOrderFeeMultiplierScheduleProposalAminoMsg, + ): AtomicMarketOrderFeeMultiplierScheduleProposal { + return AtomicMarketOrderFeeMultiplierScheduleProposal.fromAmino(object.value); + }, + toAminoMsg( + message: AtomicMarketOrderFeeMultiplierScheduleProposal, + ): AtomicMarketOrderFeeMultiplierScheduleProposalAminoMsg { + return { + type: 'exchange/AtomicMarketOrderFeeMultiplierScheduleProposal', + value: AtomicMarketOrderFeeMultiplierScheduleProposal.toAmino(message), + }; + }, + fromProtoMsg( + message: AtomicMarketOrderFeeMultiplierScheduleProposalProtoMsg, + ): AtomicMarketOrderFeeMultiplierScheduleProposal { + return AtomicMarketOrderFeeMultiplierScheduleProposal.decode(message.value); + }, + toProto(message: AtomicMarketOrderFeeMultiplierScheduleProposal): Uint8Array { + return AtomicMarketOrderFeeMultiplierScheduleProposal.encode(message).finish(); + }, + toProtoMsg( + message: AtomicMarketOrderFeeMultiplierScheduleProposal, + ): AtomicMarketOrderFeeMultiplierScheduleProposalProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.AtomicMarketOrderFeeMultiplierScheduleProposal', + value: AtomicMarketOrderFeeMultiplierScheduleProposal.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/exchange/v1beta1/tx.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/exchange/v1beta1/tx.ts new file mode 100644 index 00000000..ede4e639 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/exchange/v1beta1/tx.ts @@ -0,0 +1,9517 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Decimal } from '@cosmjs/math'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +import { Coin, CoinAmino, CoinSDKType } from '../../../cosmos/base/v1beta1/coin'; +import { Params, ParamsAmino, ParamsSDKType } from '../../../cosmos/distribution/v1beta1/distribution'; +import { OracleType } from '../../oracle/v1beta1/oracle'; +import { + DerivativeOrder, + DerivativeOrderAmino, + DerivativeOrderSDKType, + GrantAuthorization, + GrantAuthorizationAmino, + GrantAuthorizationSDKType, + MarketStatus, + PositionDelta, + PositionDeltaAmino, + PositionDeltaSDKType, + SpotOrder, + SpotOrderAmino, + SpotOrderSDKType, +} from './exchange'; +export interface MsgUpdateSpotMarket { + /** current admin address of the associated market */ + admin: string; + /** id of the market to be updated */ + marketId: string; + /** (optional) updated ticker value */ + newTicker: string; + /** (optional) updated min price tick size value */ + newMinPriceTickSize: string; + /** (optional) updated min quantity tick size value */ + newMinQuantityTickSize: string; + /** (optional) updated min notional */ + newMinNotional: string; +} +export interface MsgUpdateSpotMarketProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateSpotMarket'; + value: Uint8Array; +} +export interface MsgUpdateSpotMarketAmino { + /** current admin address of the associated market */ + admin?: string; + /** id of the market to be updated */ + market_id?: string; + /** (optional) updated ticker value */ + new_ticker?: string; + /** (optional) updated min price tick size value */ + new_min_price_tick_size?: string; + /** (optional) updated min quantity tick size value */ + new_min_quantity_tick_size?: string; + /** (optional) updated min notional */ + new_min_notional?: string; +} +export interface MsgUpdateSpotMarketAminoMsg { + type: 'exchange/MsgUpdateSpotMarket'; + value: MsgUpdateSpotMarketAmino; +} +export interface MsgUpdateSpotMarketSDKType { + admin: string; + market_id: string; + new_ticker: string; + new_min_price_tick_size: string; + new_min_quantity_tick_size: string; + new_min_notional: string; +} +export interface MsgUpdateSpotMarketResponse {} +export interface MsgUpdateSpotMarketResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateSpotMarketResponse'; + value: Uint8Array; +} +export interface MsgUpdateSpotMarketResponseAmino {} +export interface MsgUpdateSpotMarketResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgUpdateSpotMarketResponse'; + value: MsgUpdateSpotMarketResponseAmino; +} +export interface MsgUpdateSpotMarketResponseSDKType {} +export interface MsgUpdateDerivativeMarket { + /** current admin address of the associated market */ + admin: string; + /** id of the market to be updated */ + marketId: string; + /** (optional) updated value for ticker */ + newTicker: string; + /** (optional) updated value for min_price_tick_size */ + newMinPriceTickSize: string; + /** (optional) updated value min_quantity_tick_size */ + newMinQuantityTickSize: string; + /** (optional) updated min notional */ + newMinNotional: string; + /** (optional) updated value for initial_margin_ratio */ + newInitialMarginRatio: string; + /** (optional) updated value for maintenance_margin_ratio */ + newMaintenanceMarginRatio: string; +} +export interface MsgUpdateDerivativeMarketProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateDerivativeMarket'; + value: Uint8Array; +} +export interface MsgUpdateDerivativeMarketAmino { + /** current admin address of the associated market */ + admin?: string; + /** id of the market to be updated */ + market_id?: string; + /** (optional) updated value for ticker */ + new_ticker?: string; + /** (optional) updated value for min_price_tick_size */ + new_min_price_tick_size?: string; + /** (optional) updated value min_quantity_tick_size */ + new_min_quantity_tick_size?: string; + /** (optional) updated min notional */ + new_min_notional?: string; + /** (optional) updated value for initial_margin_ratio */ + new_initial_margin_ratio?: string; + /** (optional) updated value for maintenance_margin_ratio */ + new_maintenance_margin_ratio?: string; +} +export interface MsgUpdateDerivativeMarketAminoMsg { + type: 'exchange/MsgUpdateDerivativeMarket'; + value: MsgUpdateDerivativeMarketAmino; +} +export interface MsgUpdateDerivativeMarketSDKType { + admin: string; + market_id: string; + new_ticker: string; + new_min_price_tick_size: string; + new_min_quantity_tick_size: string; + new_min_notional: string; + new_initial_margin_ratio: string; + new_maintenance_margin_ratio: string; +} +export interface MsgUpdateDerivativeMarketResponse {} +export interface MsgUpdateDerivativeMarketResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateDerivativeMarketResponse'; + value: Uint8Array; +} +export interface MsgUpdateDerivativeMarketResponseAmino {} +export interface MsgUpdateDerivativeMarketResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgUpdateDerivativeMarketResponse'; + value: MsgUpdateDerivativeMarketResponseAmino; +} +export interface MsgUpdateDerivativeMarketResponseSDKType {} +export interface MsgUpdateParams { + /** authority is the address of the governance account. */ + authority: string; + /** + * params defines the exchange parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params: Params; +} +export interface MsgUpdateParamsProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateParams'; + value: Uint8Array; +} +export interface MsgUpdateParamsAmino { + /** authority is the address of the governance account. */ + authority?: string; + /** + * params defines the exchange parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params?: ParamsAmino; +} +export interface MsgUpdateParamsAminoMsg { + type: 'exchange/MsgUpdateParams'; + value: MsgUpdateParamsAmino; +} +export interface MsgUpdateParamsSDKType { + authority: string; + params: ParamsSDKType; +} +export interface MsgUpdateParamsResponse {} +export interface MsgUpdateParamsResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateParamsResponse'; + value: Uint8Array; +} +export interface MsgUpdateParamsResponseAmino {} +export interface MsgUpdateParamsResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgUpdateParamsResponse'; + value: MsgUpdateParamsResponseAmino; +} +export interface MsgUpdateParamsResponseSDKType {} +/** + * MsgDeposit defines a SDK message for transferring coins from the sender's + * bank balance into the subaccount's exchange deposits + */ +export interface MsgDeposit { + sender: string; + /** + * (Optional) bytes32 subaccount ID to deposit funds into. If empty, the coin + * will be deposited to the sender's default subaccount address. + */ + subaccountId: string; + amount: Coin; +} +export interface MsgDepositProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgDeposit'; + value: Uint8Array; +} +/** + * MsgDeposit defines a SDK message for transferring coins from the sender's + * bank balance into the subaccount's exchange deposits + */ +export interface MsgDepositAmino { + sender?: string; + /** + * (Optional) bytes32 subaccount ID to deposit funds into. If empty, the coin + * will be deposited to the sender's default subaccount address. + */ + subaccount_id?: string; + amount?: CoinAmino; +} +export interface MsgDepositAminoMsg { + type: 'exchange/MsgDeposit'; + value: MsgDepositAmino; +} +/** + * MsgDeposit defines a SDK message for transferring coins from the sender's + * bank balance into the subaccount's exchange deposits + */ +export interface MsgDepositSDKType { + sender: string; + subaccount_id: string; + amount: CoinSDKType; +} +/** MsgDepositResponse defines the Msg/Deposit response type. */ +export interface MsgDepositResponse {} +export interface MsgDepositResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgDepositResponse'; + value: Uint8Array; +} +/** MsgDepositResponse defines the Msg/Deposit response type. */ +export interface MsgDepositResponseAmino {} +export interface MsgDepositResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgDepositResponse'; + value: MsgDepositResponseAmino; +} +/** MsgDepositResponse defines the Msg/Deposit response type. */ +export interface MsgDepositResponseSDKType {} +/** + * MsgWithdraw defines a SDK message for withdrawing coins from a subaccount's + * deposits to the user's bank balance + */ +export interface MsgWithdraw { + sender: string; + /** bytes32 subaccount ID to withdraw funds from */ + subaccountId: string; + amount: Coin; +} +export interface MsgWithdrawProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgWithdraw'; + value: Uint8Array; +} +/** + * MsgWithdraw defines a SDK message for withdrawing coins from a subaccount's + * deposits to the user's bank balance + */ +export interface MsgWithdrawAmino { + sender?: string; + /** bytes32 subaccount ID to withdraw funds from */ + subaccount_id?: string; + amount?: CoinAmino; +} +export interface MsgWithdrawAminoMsg { + type: 'exchange/MsgWithdraw'; + value: MsgWithdrawAmino; +} +/** + * MsgWithdraw defines a SDK message for withdrawing coins from a subaccount's + * deposits to the user's bank balance + */ +export interface MsgWithdrawSDKType { + sender: string; + subaccount_id: string; + amount: CoinSDKType; +} +/** MsgWithdraw defines the Msg/Withdraw response type. */ +export interface MsgWithdrawResponse {} +export interface MsgWithdrawResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgWithdrawResponse'; + value: Uint8Array; +} +/** MsgWithdraw defines the Msg/Withdraw response type. */ +export interface MsgWithdrawResponseAmino {} +export interface MsgWithdrawResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgWithdrawResponse'; + value: MsgWithdrawResponseAmino; +} +/** MsgWithdraw defines the Msg/Withdraw response type. */ +export interface MsgWithdrawResponseSDKType {} +/** + * MsgCreateSpotLimitOrder defines a SDK message for creating a new spot limit + * order. + */ +export interface MsgCreateSpotLimitOrder { + sender: string; + order: SpotOrder; +} +export interface MsgCreateSpotLimitOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCreateSpotLimitOrder'; + value: Uint8Array; +} +/** + * MsgCreateSpotLimitOrder defines a SDK message for creating a new spot limit + * order. + */ +export interface MsgCreateSpotLimitOrderAmino { + sender?: string; + order?: SpotOrderAmino; +} +export interface MsgCreateSpotLimitOrderAminoMsg { + type: 'exchange/MsgCreateSpotLimitOrder'; + value: MsgCreateSpotLimitOrderAmino; +} +/** + * MsgCreateSpotLimitOrder defines a SDK message for creating a new spot limit + * order. + */ +export interface MsgCreateSpotLimitOrderSDKType { + sender: string; + order: SpotOrderSDKType; +} +/** + * MsgCreateSpotLimitOrderResponse defines the Msg/CreateSpotOrder response + * type. + */ +export interface MsgCreateSpotLimitOrderResponse { + orderHash: string; + cid: string; +} +export interface MsgCreateSpotLimitOrderResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCreateSpotLimitOrderResponse'; + value: Uint8Array; +} +/** + * MsgCreateSpotLimitOrderResponse defines the Msg/CreateSpotOrder response + * type. + */ +export interface MsgCreateSpotLimitOrderResponseAmino { + order_hash?: string; + cid?: string; +} +export interface MsgCreateSpotLimitOrderResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgCreateSpotLimitOrderResponse'; + value: MsgCreateSpotLimitOrderResponseAmino; +} +/** + * MsgCreateSpotLimitOrderResponse defines the Msg/CreateSpotOrder response + * type. + */ +export interface MsgCreateSpotLimitOrderResponseSDKType { + order_hash: string; + cid: string; +} +/** + * MsgBatchCreateSpotLimitOrders defines a SDK message for creating a new batch + * of spot limit orders. + */ +export interface MsgBatchCreateSpotLimitOrders { + sender: string; + orders: SpotOrder[]; +} +export interface MsgBatchCreateSpotLimitOrdersProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrders'; + value: Uint8Array; +} +/** + * MsgBatchCreateSpotLimitOrders defines a SDK message for creating a new batch + * of spot limit orders. + */ +export interface MsgBatchCreateSpotLimitOrdersAmino { + sender?: string; + orders?: SpotOrderAmino[]; +} +export interface MsgBatchCreateSpotLimitOrdersAminoMsg { + type: 'exchange/MsgBatchCreateSpotLimitOrders'; + value: MsgBatchCreateSpotLimitOrdersAmino; +} +/** + * MsgBatchCreateSpotLimitOrders defines a SDK message for creating a new batch + * of spot limit orders. + */ +export interface MsgBatchCreateSpotLimitOrdersSDKType { + sender: string; + orders: SpotOrderSDKType[]; +} +/** + * MsgBatchCreateSpotLimitOrdersResponse defines the + * Msg/BatchCreateSpotLimitOrders response type. + */ +export interface MsgBatchCreateSpotLimitOrdersResponse { + orderHashes: string[]; + createdOrdersCids: string[]; + failedOrdersCids: string[]; +} +export interface MsgBatchCreateSpotLimitOrdersResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrdersResponse'; + value: Uint8Array; +} +/** + * MsgBatchCreateSpotLimitOrdersResponse defines the + * Msg/BatchCreateSpotLimitOrders response type. + */ +export interface MsgBatchCreateSpotLimitOrdersResponseAmino { + order_hashes?: string[]; + created_orders_cids?: string[]; + failed_orders_cids?: string[]; +} +export interface MsgBatchCreateSpotLimitOrdersResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrdersResponse'; + value: MsgBatchCreateSpotLimitOrdersResponseAmino; +} +/** + * MsgBatchCreateSpotLimitOrdersResponse defines the + * Msg/BatchCreateSpotLimitOrders response type. + */ +export interface MsgBatchCreateSpotLimitOrdersResponseSDKType { + order_hashes: string[]; + created_orders_cids: string[]; + failed_orders_cids: string[]; +} +/** + * MsgInstantSpotMarketLaunch defines a SDK message for creating a new spot + * market by paying listing fee without governance + */ +export interface MsgInstantSpotMarketLaunch { + sender: string; + /** Ticker for the spot market. */ + ticker: string; + /** type of coin to use as the base currency */ + baseDenom: string; + /** type of coin to use as the quote currency */ + quoteDenom: string; + /** min_price_tick_size defines the minimum tick size of the order's price */ + minPriceTickSize: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + minQuantityTickSize: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional: string; +} +export interface MsgInstantSpotMarketLaunchProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgInstantSpotMarketLaunch'; + value: Uint8Array; +} +/** + * MsgInstantSpotMarketLaunch defines a SDK message for creating a new spot + * market by paying listing fee without governance + */ +export interface MsgInstantSpotMarketLaunchAmino { + sender?: string; + /** Ticker for the spot market. */ + ticker?: string; + /** type of coin to use as the base currency */ + base_denom?: string; + /** type of coin to use as the quote currency */ + quote_denom?: string; + /** min_price_tick_size defines the minimum tick size of the order's price */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + min_quantity_tick_size?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; +} +export interface MsgInstantSpotMarketLaunchAminoMsg { + type: 'exchange/MsgInstantSpotMarketLaunch'; + value: MsgInstantSpotMarketLaunchAmino; +} +/** + * MsgInstantSpotMarketLaunch defines a SDK message for creating a new spot + * market by paying listing fee without governance + */ +export interface MsgInstantSpotMarketLaunchSDKType { + sender: string; + ticker: string; + base_denom: string; + quote_denom: string; + min_price_tick_size: string; + min_quantity_tick_size: string; + min_notional: string; +} +/** + * MsgInstantSpotMarketLaunchResponse defines the Msg/InstantSpotMarketLaunch + * response type. + */ +export interface MsgInstantSpotMarketLaunchResponse {} +export interface MsgInstantSpotMarketLaunchResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgInstantSpotMarketLaunchResponse'; + value: Uint8Array; +} +/** + * MsgInstantSpotMarketLaunchResponse defines the Msg/InstantSpotMarketLaunch + * response type. + */ +export interface MsgInstantSpotMarketLaunchResponseAmino {} +export interface MsgInstantSpotMarketLaunchResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgInstantSpotMarketLaunchResponse'; + value: MsgInstantSpotMarketLaunchResponseAmino; +} +/** + * MsgInstantSpotMarketLaunchResponse defines the Msg/InstantSpotMarketLaunch + * response type. + */ +export interface MsgInstantSpotMarketLaunchResponseSDKType {} +/** + * MsgInstantPerpetualMarketLaunch defines a SDK message for creating a new + * perpetual futures market by paying listing fee without governance + */ +export interface MsgInstantPerpetualMarketLaunch { + sender: string; + /** Ticker for the derivative market. */ + ticker: string; + /** type of coin to use as the base currency */ + quoteDenom: string; + /** Oracle base currency */ + oracleBase: string; + /** Oracle quote currency */ + oracleQuote: string; + /** Scale factor for oracle prices. */ + oracleScaleFactor: number; + /** Oracle type */ + oracleType: OracleType; + /** + * maker_fee_rate defines the trade fee rate for makers on the perpetual + * market + */ + makerFeeRate: string; + /** + * taker_fee_rate defines the trade fee rate for takers on the perpetual + * market + */ + takerFeeRate: string; + /** + * initial_margin_ratio defines the initial margin ratio for the perpetual + * market + */ + initialMarginRatio: string; + /** + * maintenance_margin_ratio defines the maintenance margin ratio for the + * perpetual market + */ + maintenanceMarginRatio: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + minPriceTickSize: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + minQuantityTickSize: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional: string; +} +export interface MsgInstantPerpetualMarketLaunchProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunch'; + value: Uint8Array; +} +/** + * MsgInstantPerpetualMarketLaunch defines a SDK message for creating a new + * perpetual futures market by paying listing fee without governance + */ +export interface MsgInstantPerpetualMarketLaunchAmino { + sender?: string; + /** Ticker for the derivative market. */ + ticker?: string; + /** type of coin to use as the base currency */ + quote_denom?: string; + /** Oracle base currency */ + oracle_base?: string; + /** Oracle quote currency */ + oracle_quote?: string; + /** Scale factor for oracle prices. */ + oracle_scale_factor?: number; + /** Oracle type */ + oracle_type?: OracleType; + /** + * maker_fee_rate defines the trade fee rate for makers on the perpetual + * market + */ + maker_fee_rate?: string; + /** + * taker_fee_rate defines the trade fee rate for takers on the perpetual + * market + */ + taker_fee_rate?: string; + /** + * initial_margin_ratio defines the initial margin ratio for the perpetual + * market + */ + initial_margin_ratio?: string; + /** + * maintenance_margin_ratio defines the maintenance margin ratio for the + * perpetual market + */ + maintenance_margin_ratio?: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + min_quantity_tick_size?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; +} +export interface MsgInstantPerpetualMarketLaunchAminoMsg { + type: 'exchange/MsgInstantPerpetualMarketLaunch'; + value: MsgInstantPerpetualMarketLaunchAmino; +} +/** + * MsgInstantPerpetualMarketLaunch defines a SDK message for creating a new + * perpetual futures market by paying listing fee without governance + */ +export interface MsgInstantPerpetualMarketLaunchSDKType { + sender: string; + ticker: string; + quote_denom: string; + oracle_base: string; + oracle_quote: string; + oracle_scale_factor: number; + oracle_type: OracleType; + maker_fee_rate: string; + taker_fee_rate: string; + initial_margin_ratio: string; + maintenance_margin_ratio: string; + min_price_tick_size: string; + min_quantity_tick_size: string; + min_notional: string; +} +/** + * MsgInstantPerpetualMarketLaunchResponse defines the + * Msg/InstantPerpetualMarketLaunchResponse response type. + */ +export interface MsgInstantPerpetualMarketLaunchResponse {} +export interface MsgInstantPerpetualMarketLaunchResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunchResponse'; + value: Uint8Array; +} +/** + * MsgInstantPerpetualMarketLaunchResponse defines the + * Msg/InstantPerpetualMarketLaunchResponse response type. + */ +export interface MsgInstantPerpetualMarketLaunchResponseAmino {} +export interface MsgInstantPerpetualMarketLaunchResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunchResponse'; + value: MsgInstantPerpetualMarketLaunchResponseAmino; +} +/** + * MsgInstantPerpetualMarketLaunchResponse defines the + * Msg/InstantPerpetualMarketLaunchResponse response type. + */ +export interface MsgInstantPerpetualMarketLaunchResponseSDKType {} +/** + * MsgInstantBinaryOptionsMarketLaunch defines a SDK message for creating a new + * perpetual futures market by paying listing fee without governance + */ +export interface MsgInstantBinaryOptionsMarketLaunch { + sender: string; + /** Ticker for the derivative contract. */ + ticker: string; + /** Oracle symbol */ + oracleSymbol: string; + /** Oracle Provider */ + oracleProvider: string; + /** Oracle type */ + oracleType: OracleType; + /** Scale factor for oracle prices. */ + oracleScaleFactor: number; + /** + * maker_fee_rate defines the trade fee rate for makers on the perpetual + * market + */ + makerFeeRate: string; + /** + * taker_fee_rate defines the trade fee rate for takers on the perpetual + * market + */ + takerFeeRate: string; + /** expiration timestamp */ + expirationTimestamp: bigint; + /** expiration timestamp */ + settlementTimestamp: bigint; + /** admin of the market */ + admin: string; + /** Address of the quote currency denomination for the binary options contract */ + quoteDenom: string; + /** + * min_price_tick_size defines the minimum tick size that the price and margin + * required for orders in the market + */ + minPriceTickSize: string; + /** + * min_quantity_tick_size defines the minimum tick size of the quantity + * required for orders in the market + */ + minQuantityTickSize: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional: string; +} +export interface MsgInstantBinaryOptionsMarketLaunchProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunch'; + value: Uint8Array; +} +/** + * MsgInstantBinaryOptionsMarketLaunch defines a SDK message for creating a new + * perpetual futures market by paying listing fee without governance + */ +export interface MsgInstantBinaryOptionsMarketLaunchAmino { + sender?: string; + /** Ticker for the derivative contract. */ + ticker?: string; + /** Oracle symbol */ + oracle_symbol?: string; + /** Oracle Provider */ + oracle_provider?: string; + /** Oracle type */ + oracle_type?: OracleType; + /** Scale factor for oracle prices. */ + oracle_scale_factor?: number; + /** + * maker_fee_rate defines the trade fee rate for makers on the perpetual + * market + */ + maker_fee_rate?: string; + /** + * taker_fee_rate defines the trade fee rate for takers on the perpetual + * market + */ + taker_fee_rate?: string; + /** expiration timestamp */ + expiration_timestamp?: string; + /** expiration timestamp */ + settlement_timestamp?: string; + /** admin of the market */ + admin?: string; + /** Address of the quote currency denomination for the binary options contract */ + quote_denom?: string; + /** + * min_price_tick_size defines the minimum tick size that the price and margin + * required for orders in the market + */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the quantity + * required for orders in the market + */ + min_quantity_tick_size?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; +} +export interface MsgInstantBinaryOptionsMarketLaunchAminoMsg { + type: 'exchange/MsgInstantBinaryOptionsMarketLaunch'; + value: MsgInstantBinaryOptionsMarketLaunchAmino; +} +/** + * MsgInstantBinaryOptionsMarketLaunch defines a SDK message for creating a new + * perpetual futures market by paying listing fee without governance + */ +export interface MsgInstantBinaryOptionsMarketLaunchSDKType { + sender: string; + ticker: string; + oracle_symbol: string; + oracle_provider: string; + oracle_type: OracleType; + oracle_scale_factor: number; + maker_fee_rate: string; + taker_fee_rate: string; + expiration_timestamp: bigint; + settlement_timestamp: bigint; + admin: string; + quote_denom: string; + min_price_tick_size: string; + min_quantity_tick_size: string; + min_notional: string; +} +/** + * MsgInstantBinaryOptionsMarketLaunchResponse defines the + * Msg/InstantBinaryOptionsMarketLaunchResponse response type. + */ +export interface MsgInstantBinaryOptionsMarketLaunchResponse {} +export interface MsgInstantBinaryOptionsMarketLaunchResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunchResponse'; + value: Uint8Array; +} +/** + * MsgInstantBinaryOptionsMarketLaunchResponse defines the + * Msg/InstantBinaryOptionsMarketLaunchResponse response type. + */ +export interface MsgInstantBinaryOptionsMarketLaunchResponseAmino {} +export interface MsgInstantBinaryOptionsMarketLaunchResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunchResponse'; + value: MsgInstantBinaryOptionsMarketLaunchResponseAmino; +} +/** + * MsgInstantBinaryOptionsMarketLaunchResponse defines the + * Msg/InstantBinaryOptionsMarketLaunchResponse response type. + */ +export interface MsgInstantBinaryOptionsMarketLaunchResponseSDKType {} +/** + * MsgInstantExpiryFuturesMarketLaunch defines a SDK message for creating a new + * expiry futures market by paying listing fee without governance + */ +export interface MsgInstantExpiryFuturesMarketLaunch { + sender: string; + /** Ticker for the derivative market. */ + ticker: string; + /** type of coin to use as the quote currency */ + quoteDenom: string; + /** Oracle base currency */ + oracleBase: string; + /** Oracle quote currency */ + oracleQuote: string; + /** Oracle type */ + oracleType: OracleType; + /** Scale factor for oracle prices. */ + oracleScaleFactor: number; + /** Expiration time of the market */ + expiry: bigint; + /** + * maker_fee_rate defines the trade fee rate for makers on the expiry futures + * market + */ + makerFeeRate: string; + /** + * taker_fee_rate defines the trade fee rate for takers on the expiry futures + * market + */ + takerFeeRate: string; + /** + * initial_margin_ratio defines the initial margin ratio for the derivative + * market + */ + initialMarginRatio: string; + /** + * maintenance_margin_ratio defines the maintenance margin ratio for the + * derivative market + */ + maintenanceMarginRatio: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + minPriceTickSize: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + minQuantityTickSize: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + minNotional: string; +} +export interface MsgInstantExpiryFuturesMarketLaunchProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunch'; + value: Uint8Array; +} +/** + * MsgInstantExpiryFuturesMarketLaunch defines a SDK message for creating a new + * expiry futures market by paying listing fee without governance + */ +export interface MsgInstantExpiryFuturesMarketLaunchAmino { + sender?: string; + /** Ticker for the derivative market. */ + ticker?: string; + /** type of coin to use as the quote currency */ + quote_denom?: string; + /** Oracle base currency */ + oracle_base?: string; + /** Oracle quote currency */ + oracle_quote?: string; + /** Oracle type */ + oracle_type?: OracleType; + /** Scale factor for oracle prices. */ + oracle_scale_factor?: number; + /** Expiration time of the market */ + expiry?: string; + /** + * maker_fee_rate defines the trade fee rate for makers on the expiry futures + * market + */ + maker_fee_rate?: string; + /** + * taker_fee_rate defines the trade fee rate for takers on the expiry futures + * market + */ + taker_fee_rate?: string; + /** + * initial_margin_ratio defines the initial margin ratio for the derivative + * market + */ + initial_margin_ratio?: string; + /** + * maintenance_margin_ratio defines the maintenance margin ratio for the + * derivative market + */ + maintenance_margin_ratio?: string; + /** + * min_price_tick_size defines the minimum tick size of the order's price and + * margin + */ + min_price_tick_size?: string; + /** + * min_quantity_tick_size defines the minimum tick size of the order's + * quantity + */ + min_quantity_tick_size?: string; + /** + * min_notional defines the minimum notional (in quote asset) required for + * orders in the market + */ + min_notional?: string; +} +export interface MsgInstantExpiryFuturesMarketLaunchAminoMsg { + type: 'exchange/MsgInstantExpiryFuturesMarketLaunch'; + value: MsgInstantExpiryFuturesMarketLaunchAmino; +} +/** + * MsgInstantExpiryFuturesMarketLaunch defines a SDK message for creating a new + * expiry futures market by paying listing fee without governance + */ +export interface MsgInstantExpiryFuturesMarketLaunchSDKType { + sender: string; + ticker: string; + quote_denom: string; + oracle_base: string; + oracle_quote: string; + oracle_type: OracleType; + oracle_scale_factor: number; + expiry: bigint; + maker_fee_rate: string; + taker_fee_rate: string; + initial_margin_ratio: string; + maintenance_margin_ratio: string; + min_price_tick_size: string; + min_quantity_tick_size: string; + min_notional: string; +} +/** + * MsgInstantExpiryFuturesMarketLaunchResponse defines the + * Msg/InstantExpiryFuturesMarketLaunch response type. + */ +export interface MsgInstantExpiryFuturesMarketLaunchResponse {} +export interface MsgInstantExpiryFuturesMarketLaunchResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunchResponse'; + value: Uint8Array; +} +/** + * MsgInstantExpiryFuturesMarketLaunchResponse defines the + * Msg/InstantExpiryFuturesMarketLaunch response type. + */ +export interface MsgInstantExpiryFuturesMarketLaunchResponseAmino {} +export interface MsgInstantExpiryFuturesMarketLaunchResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunchResponse'; + value: MsgInstantExpiryFuturesMarketLaunchResponseAmino; +} +/** + * MsgInstantExpiryFuturesMarketLaunchResponse defines the + * Msg/InstantExpiryFuturesMarketLaunch response type. + */ +export interface MsgInstantExpiryFuturesMarketLaunchResponseSDKType {} +/** + * MsgCreateSpotMarketOrder defines a SDK message for creating a new spot market + * order. + */ +export interface MsgCreateSpotMarketOrder { + sender: string; + order: SpotOrder; +} +export interface MsgCreateSpotMarketOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCreateSpotMarketOrder'; + value: Uint8Array; +} +/** + * MsgCreateSpotMarketOrder defines a SDK message for creating a new spot market + * order. + */ +export interface MsgCreateSpotMarketOrderAmino { + sender?: string; + order?: SpotOrderAmino; +} +export interface MsgCreateSpotMarketOrderAminoMsg { + type: 'exchange/MsgCreateSpotMarketOrder'; + value: MsgCreateSpotMarketOrderAmino; +} +/** + * MsgCreateSpotMarketOrder defines a SDK message for creating a new spot market + * order. + */ +export interface MsgCreateSpotMarketOrderSDKType { + sender: string; + order: SpotOrderSDKType; +} +/** + * MsgCreateSpotMarketOrderResponse defines the Msg/CreateSpotMarketLimitOrder + * response type. + */ +export interface MsgCreateSpotMarketOrderResponse { + orderHash: string; + results?: SpotMarketOrderResults; + cid: string; +} +export interface MsgCreateSpotMarketOrderResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse'; + value: Uint8Array; +} +/** + * MsgCreateSpotMarketOrderResponse defines the Msg/CreateSpotMarketLimitOrder + * response type. + */ +export interface MsgCreateSpotMarketOrderResponseAmino { + order_hash?: string; + results?: SpotMarketOrderResultsAmino; + cid?: string; +} +export interface MsgCreateSpotMarketOrderResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse'; + value: MsgCreateSpotMarketOrderResponseAmino; +} +/** + * MsgCreateSpotMarketOrderResponse defines the Msg/CreateSpotMarketLimitOrder + * response type. + */ +export interface MsgCreateSpotMarketOrderResponseSDKType { + order_hash: string; + results?: SpotMarketOrderResultsSDKType; + cid: string; +} +export interface SpotMarketOrderResults { + quantity: string; + price: string; + fee: string; +} +export interface SpotMarketOrderResultsProtoMsg { + typeUrl: '/injective.exchange.v1beta1.SpotMarketOrderResults'; + value: Uint8Array; +} +export interface SpotMarketOrderResultsAmino { + quantity?: string; + price?: string; + fee?: string; +} +export interface SpotMarketOrderResultsAminoMsg { + type: '/injective.exchange.v1beta1.SpotMarketOrderResults'; + value: SpotMarketOrderResultsAmino; +} +export interface SpotMarketOrderResultsSDKType { + quantity: string; + price: string; + fee: string; +} +/** A Cosmos-SDK MsgCreateDerivativeLimitOrder */ +export interface MsgCreateDerivativeLimitOrder { + sender: string; + order: DerivativeOrder; +} +export interface MsgCreateDerivativeLimitOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgCreateDerivativeLimitOrder */ +export interface MsgCreateDerivativeLimitOrderAmino { + sender?: string; + order?: DerivativeOrderAmino; +} +export interface MsgCreateDerivativeLimitOrderAminoMsg { + type: 'exchange/MsgCreateDerivativeLimitOrder'; + value: MsgCreateDerivativeLimitOrderAmino; +} +/** A Cosmos-SDK MsgCreateDerivativeLimitOrder */ +export interface MsgCreateDerivativeLimitOrderSDKType { + sender: string; + order: DerivativeOrderSDKType; +} +/** + * MsgCreateDerivativeLimitOrderResponse defines the + * Msg/CreateDerivativeMarketOrder response type. + */ +export interface MsgCreateDerivativeLimitOrderResponse { + orderHash: string; + cid: string; +} +export interface MsgCreateDerivativeLimitOrderResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCreateDerivativeLimitOrderResponse'; + value: Uint8Array; +} +/** + * MsgCreateDerivativeLimitOrderResponse defines the + * Msg/CreateDerivativeMarketOrder response type. + */ +export interface MsgCreateDerivativeLimitOrderResponseAmino { + order_hash?: string; + cid?: string; +} +export interface MsgCreateDerivativeLimitOrderResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgCreateDerivativeLimitOrderResponse'; + value: MsgCreateDerivativeLimitOrderResponseAmino; +} +/** + * MsgCreateDerivativeLimitOrderResponse defines the + * Msg/CreateDerivativeMarketOrder response type. + */ +export interface MsgCreateDerivativeLimitOrderResponseSDKType { + order_hash: string; + cid: string; +} +/** A Cosmos-SDK MsgCreateBinaryOptionsLimitOrder */ +export interface MsgCreateBinaryOptionsLimitOrder { + sender: string; + order: DerivativeOrder; +} +export interface MsgCreateBinaryOptionsLimitOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgCreateBinaryOptionsLimitOrder */ +export interface MsgCreateBinaryOptionsLimitOrderAmino { + sender?: string; + order?: DerivativeOrderAmino; +} +export interface MsgCreateBinaryOptionsLimitOrderAminoMsg { + type: 'exchange/MsgCreateBinaryOptionsLimitOrder'; + value: MsgCreateBinaryOptionsLimitOrderAmino; +} +/** A Cosmos-SDK MsgCreateBinaryOptionsLimitOrder */ +export interface MsgCreateBinaryOptionsLimitOrderSDKType { + sender: string; + order: DerivativeOrderSDKType; +} +/** + * MsgCreateBinaryOptionsLimitOrderResponse defines the + * Msg/CreateBinaryOptionsLimitOrder response type. + */ +export interface MsgCreateBinaryOptionsLimitOrderResponse { + orderHash: string; + cid: string; +} +export interface MsgCreateBinaryOptionsLimitOrderResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrderResponse'; + value: Uint8Array; +} +/** + * MsgCreateBinaryOptionsLimitOrderResponse defines the + * Msg/CreateBinaryOptionsLimitOrder response type. + */ +export interface MsgCreateBinaryOptionsLimitOrderResponseAmino { + order_hash?: string; + cid?: string; +} +export interface MsgCreateBinaryOptionsLimitOrderResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrderResponse'; + value: MsgCreateBinaryOptionsLimitOrderResponseAmino; +} +/** + * MsgCreateBinaryOptionsLimitOrderResponse defines the + * Msg/CreateBinaryOptionsLimitOrder response type. + */ +export interface MsgCreateBinaryOptionsLimitOrderResponseSDKType { + order_hash: string; + cid: string; +} +/** A Cosmos-SDK MsgBatchCreateDerivativeLimitOrders */ +export interface MsgBatchCreateDerivativeLimitOrders { + sender: string; + orders: DerivativeOrder[]; +} +export interface MsgBatchCreateDerivativeLimitOrdersProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrders'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgBatchCreateDerivativeLimitOrders */ +export interface MsgBatchCreateDerivativeLimitOrdersAmino { + sender?: string; + orders?: DerivativeOrderAmino[]; +} +export interface MsgBatchCreateDerivativeLimitOrdersAminoMsg { + type: 'exchange/MsgBatchCreateDerivativeLimitOrders'; + value: MsgBatchCreateDerivativeLimitOrdersAmino; +} +/** A Cosmos-SDK MsgBatchCreateDerivativeLimitOrders */ +export interface MsgBatchCreateDerivativeLimitOrdersSDKType { + sender: string; + orders: DerivativeOrderSDKType[]; +} +/** + * MsgBatchCreateDerivativeLimitOrdersResponse defines the + * Msg/BatchCreateDerivativeLimitOrders response type. + */ +export interface MsgBatchCreateDerivativeLimitOrdersResponse { + orderHashes: string[]; + createdOrdersCids: string[]; + failedOrdersCids: string[]; +} +export interface MsgBatchCreateDerivativeLimitOrdersResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrdersResponse'; + value: Uint8Array; +} +/** + * MsgBatchCreateDerivativeLimitOrdersResponse defines the + * Msg/BatchCreateDerivativeLimitOrders response type. + */ +export interface MsgBatchCreateDerivativeLimitOrdersResponseAmino { + order_hashes?: string[]; + created_orders_cids?: string[]; + failed_orders_cids?: string[]; +} +export interface MsgBatchCreateDerivativeLimitOrdersResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrdersResponse'; + value: MsgBatchCreateDerivativeLimitOrdersResponseAmino; +} +/** + * MsgBatchCreateDerivativeLimitOrdersResponse defines the + * Msg/BatchCreateDerivativeLimitOrders response type. + */ +export interface MsgBatchCreateDerivativeLimitOrdersResponseSDKType { + order_hashes: string[]; + created_orders_cids: string[]; + failed_orders_cids: string[]; +} +/** MsgCancelSpotOrder defines the Msg/CancelSpotOrder response type. */ +export interface MsgCancelSpotOrder { + sender: string; + marketId: string; + subaccountId: string; + orderHash: string; + cid: string; +} +export interface MsgCancelSpotOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCancelSpotOrder'; + value: Uint8Array; +} +/** MsgCancelSpotOrder defines the Msg/CancelSpotOrder response type. */ +export interface MsgCancelSpotOrderAmino { + sender?: string; + market_id?: string; + subaccount_id?: string; + order_hash?: string; + cid?: string; +} +export interface MsgCancelSpotOrderAminoMsg { + type: 'exchange/MsgCancelSpotOrder'; + value: MsgCancelSpotOrderAmino; +} +/** MsgCancelSpotOrder defines the Msg/CancelSpotOrder response type. */ +export interface MsgCancelSpotOrderSDKType { + sender: string; + market_id: string; + subaccount_id: string; + order_hash: string; + cid: string; +} +/** MsgCancelSpotOrderResponse defines the Msg/CancelSpotOrder response type. */ +export interface MsgCancelSpotOrderResponse {} +export interface MsgCancelSpotOrderResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCancelSpotOrderResponse'; + value: Uint8Array; +} +/** MsgCancelSpotOrderResponse defines the Msg/CancelSpotOrder response type. */ +export interface MsgCancelSpotOrderResponseAmino {} +export interface MsgCancelSpotOrderResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgCancelSpotOrderResponse'; + value: MsgCancelSpotOrderResponseAmino; +} +/** MsgCancelSpotOrderResponse defines the Msg/CancelSpotOrder response type. */ +export interface MsgCancelSpotOrderResponseSDKType {} +/** MsgBatchCancelSpotOrders defines the Msg/BatchCancelSpotOrders response type. */ +export interface MsgBatchCancelSpotOrders { + sender: string; + data: OrderData[]; +} +export interface MsgBatchCancelSpotOrdersProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelSpotOrders'; + value: Uint8Array; +} +/** MsgBatchCancelSpotOrders defines the Msg/BatchCancelSpotOrders response type. */ +export interface MsgBatchCancelSpotOrdersAmino { + sender?: string; + data?: OrderDataAmino[]; +} +export interface MsgBatchCancelSpotOrdersAminoMsg { + type: 'exchange/MsgBatchCancelSpotOrders'; + value: MsgBatchCancelSpotOrdersAmino; +} +/** MsgBatchCancelSpotOrders defines the Msg/BatchCancelSpotOrders response type. */ +export interface MsgBatchCancelSpotOrdersSDKType { + sender: string; + data: OrderDataSDKType[]; +} +/** + * MsgBatchCancelSpotOrdersResponse defines the Msg/BatchCancelSpotOrders + * response type. + */ +export interface MsgBatchCancelSpotOrdersResponse { + success: boolean[]; +} +export interface MsgBatchCancelSpotOrdersResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelSpotOrdersResponse'; + value: Uint8Array; +} +/** + * MsgBatchCancelSpotOrdersResponse defines the Msg/BatchCancelSpotOrders + * response type. + */ +export interface MsgBatchCancelSpotOrdersResponseAmino { + success?: boolean[]; +} +export interface MsgBatchCancelSpotOrdersResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgBatchCancelSpotOrdersResponse'; + value: MsgBatchCancelSpotOrdersResponseAmino; +} +/** + * MsgBatchCancelSpotOrdersResponse defines the Msg/BatchCancelSpotOrders + * response type. + */ +export interface MsgBatchCancelSpotOrdersResponseSDKType { + success: boolean[]; +} +/** + * MsgBatchCancelBinaryOptionsOrders defines the + * Msg/BatchCancelBinaryOptionsOrders response type. + */ +export interface MsgBatchCancelBinaryOptionsOrders { + sender: string; + data: OrderData[]; +} +export interface MsgBatchCancelBinaryOptionsOrdersProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrders'; + value: Uint8Array; +} +/** + * MsgBatchCancelBinaryOptionsOrders defines the + * Msg/BatchCancelBinaryOptionsOrders response type. + */ +export interface MsgBatchCancelBinaryOptionsOrdersAmino { + sender?: string; + data?: OrderDataAmino[]; +} +export interface MsgBatchCancelBinaryOptionsOrdersAminoMsg { + type: 'exchange/MsgBatchCancelBinaryOptionsOrders'; + value: MsgBatchCancelBinaryOptionsOrdersAmino; +} +/** + * MsgBatchCancelBinaryOptionsOrders defines the + * Msg/BatchCancelBinaryOptionsOrders response type. + */ +export interface MsgBatchCancelBinaryOptionsOrdersSDKType { + sender: string; + data: OrderDataSDKType[]; +} +/** + * BatchCancelBinaryOptionsOrdersResponse defines the + * Msg/BatchCancelBinaryOptionsOrders response type. + */ +export interface MsgBatchCancelBinaryOptionsOrdersResponse { + success: boolean[]; +} +export interface MsgBatchCancelBinaryOptionsOrdersResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrdersResponse'; + value: Uint8Array; +} +/** + * BatchCancelBinaryOptionsOrdersResponse defines the + * Msg/BatchCancelBinaryOptionsOrders response type. + */ +export interface MsgBatchCancelBinaryOptionsOrdersResponseAmino { + success?: boolean[]; +} +export interface MsgBatchCancelBinaryOptionsOrdersResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrdersResponse'; + value: MsgBatchCancelBinaryOptionsOrdersResponseAmino; +} +/** + * BatchCancelBinaryOptionsOrdersResponse defines the + * Msg/BatchCancelBinaryOptionsOrders response type. + */ +export interface MsgBatchCancelBinaryOptionsOrdersResponseSDKType { + success: boolean[]; +} +/** MsgBatchUpdateOrders defines the Msg/BatchUpdateOrders response type. */ +export interface MsgBatchUpdateOrders { + sender: string; + /** + * subaccount_id only used for the spot_market_ids_to_cancel_all and + * derivative_market_ids_to_cancel_all. + */ + subaccountId: string; + spotMarketIdsToCancelAll: string[]; + derivativeMarketIdsToCancelAll: string[]; + spotOrdersToCancel?: OrderData[]; + derivativeOrdersToCancel?: OrderData[]; + spotOrdersToCreate?: SpotOrder[]; + derivativeOrdersToCreate?: DerivativeOrder[]; + binaryOptionsOrdersToCancel?: OrderData[]; + binaryOptionsMarketIdsToCancelAll: string[]; + binaryOptionsOrdersToCreate?: DerivativeOrder[]; +} +export interface MsgBatchUpdateOrdersProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgBatchUpdateOrders'; + value: Uint8Array; +} +/** MsgBatchUpdateOrders defines the Msg/BatchUpdateOrders response type. */ +export interface MsgBatchUpdateOrdersAmino { + sender?: string; + /** + * subaccount_id only used for the spot_market_ids_to_cancel_all and + * derivative_market_ids_to_cancel_all. + */ + subaccount_id?: string; + spot_market_ids_to_cancel_all?: string[]; + derivative_market_ids_to_cancel_all?: string[]; + spot_orders_to_cancel?: OrderDataAmino[]; + derivative_orders_to_cancel?: OrderDataAmino[]; + spot_orders_to_create?: SpotOrderAmino[]; + derivative_orders_to_create?: DerivativeOrderAmino[]; + binary_options_orders_to_cancel?: OrderDataAmino[]; + binary_options_market_ids_to_cancel_all?: string[]; + binary_options_orders_to_create?: DerivativeOrderAmino[]; +} +export interface MsgBatchUpdateOrdersAminoMsg { + type: 'exchange/MsgBatchUpdateOrders'; + value: MsgBatchUpdateOrdersAmino; +} +/** MsgBatchUpdateOrders defines the Msg/BatchUpdateOrders response type. */ +export interface MsgBatchUpdateOrdersSDKType { + sender: string; + subaccount_id: string; + spot_market_ids_to_cancel_all: string[]; + derivative_market_ids_to_cancel_all: string[]; + spot_orders_to_cancel?: OrderDataSDKType[]; + derivative_orders_to_cancel?: OrderDataSDKType[]; + spot_orders_to_create?: SpotOrderSDKType[]; + derivative_orders_to_create?: DerivativeOrderSDKType[]; + binary_options_orders_to_cancel?: OrderDataSDKType[]; + binary_options_market_ids_to_cancel_all: string[]; + binary_options_orders_to_create?: DerivativeOrderSDKType[]; +} +/** MsgBatchUpdateOrdersResponse defines the Msg/BatchUpdateOrders response type. */ +export interface MsgBatchUpdateOrdersResponse { + spotCancelSuccess: boolean[]; + derivativeCancelSuccess: boolean[]; + spotOrderHashes: string[]; + derivativeOrderHashes: string[]; + binaryOptionsCancelSuccess: boolean[]; + binaryOptionsOrderHashes: string[]; + createdSpotOrdersCids: string[]; + failedSpotOrdersCids: string[]; + createdDerivativeOrdersCids: string[]; + failedDerivativeOrdersCids: string[]; + createdBinaryOptionsOrdersCids: string[]; + failedBinaryOptionsOrdersCids: string[]; +} +export interface MsgBatchUpdateOrdersResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgBatchUpdateOrdersResponse'; + value: Uint8Array; +} +/** MsgBatchUpdateOrdersResponse defines the Msg/BatchUpdateOrders response type. */ +export interface MsgBatchUpdateOrdersResponseAmino { + spot_cancel_success?: boolean[]; + derivative_cancel_success?: boolean[]; + spot_order_hashes?: string[]; + derivative_order_hashes?: string[]; + binary_options_cancel_success?: boolean[]; + binary_options_order_hashes?: string[]; + created_spot_orders_cids?: string[]; + failed_spot_orders_cids?: string[]; + created_derivative_orders_cids?: string[]; + failed_derivative_orders_cids?: string[]; + created_binary_options_orders_cids?: string[]; + failed_binary_options_orders_cids?: string[]; +} +export interface MsgBatchUpdateOrdersResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgBatchUpdateOrdersResponse'; + value: MsgBatchUpdateOrdersResponseAmino; +} +/** MsgBatchUpdateOrdersResponse defines the Msg/BatchUpdateOrders response type. */ +export interface MsgBatchUpdateOrdersResponseSDKType { + spot_cancel_success: boolean[]; + derivative_cancel_success: boolean[]; + spot_order_hashes: string[]; + derivative_order_hashes: string[]; + binary_options_cancel_success: boolean[]; + binary_options_order_hashes: string[]; + created_spot_orders_cids: string[]; + failed_spot_orders_cids: string[]; + created_derivative_orders_cids: string[]; + failed_derivative_orders_cids: string[]; + created_binary_options_orders_cids: string[]; + failed_binary_options_orders_cids: string[]; +} +/** A Cosmos-SDK MsgCreateDerivativeMarketOrder */ +export interface MsgCreateDerivativeMarketOrder { + sender: string; + order: DerivativeOrder; +} +export interface MsgCreateDerivativeMarketOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCreateDerivativeMarketOrder'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgCreateDerivativeMarketOrder */ +export interface MsgCreateDerivativeMarketOrderAmino { + sender?: string; + order?: DerivativeOrderAmino; +} +export interface MsgCreateDerivativeMarketOrderAminoMsg { + type: 'exchange/MsgCreateDerivativeMarketOrder'; + value: MsgCreateDerivativeMarketOrderAmino; +} +/** A Cosmos-SDK MsgCreateDerivativeMarketOrder */ +export interface MsgCreateDerivativeMarketOrderSDKType { + sender: string; + order: DerivativeOrderSDKType; +} +/** + * MsgCreateDerivativeMarketOrderResponse defines the + * Msg/CreateDerivativeMarketOrder response type. + */ +export interface MsgCreateDerivativeMarketOrderResponse { + orderHash: string; + results?: DerivativeMarketOrderResults; + cid: string; +} +export interface MsgCreateDerivativeMarketOrderResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCreateDerivativeMarketOrderResponse'; + value: Uint8Array; +} +/** + * MsgCreateDerivativeMarketOrderResponse defines the + * Msg/CreateDerivativeMarketOrder response type. + */ +export interface MsgCreateDerivativeMarketOrderResponseAmino { + order_hash?: string; + results?: DerivativeMarketOrderResultsAmino; + cid?: string; +} +export interface MsgCreateDerivativeMarketOrderResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgCreateDerivativeMarketOrderResponse'; + value: MsgCreateDerivativeMarketOrderResponseAmino; +} +/** + * MsgCreateDerivativeMarketOrderResponse defines the + * Msg/CreateDerivativeMarketOrder response type. + */ +export interface MsgCreateDerivativeMarketOrderResponseSDKType { + order_hash: string; + results?: DerivativeMarketOrderResultsSDKType; + cid: string; +} +export interface DerivativeMarketOrderResults { + quantity: string; + price: string; + fee: string; + positionDelta: PositionDelta; + payout: string; +} +export interface DerivativeMarketOrderResultsProtoMsg { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketOrderResults'; + value: Uint8Array; +} +export interface DerivativeMarketOrderResultsAmino { + quantity?: string; + price?: string; + fee?: string; + position_delta?: PositionDeltaAmino; + payout?: string; +} +export interface DerivativeMarketOrderResultsAminoMsg { + type: '/injective.exchange.v1beta1.DerivativeMarketOrderResults'; + value: DerivativeMarketOrderResultsAmino; +} +export interface DerivativeMarketOrderResultsSDKType { + quantity: string; + price: string; + fee: string; + position_delta: PositionDeltaSDKType; + payout: string; +} +/** A Cosmos-SDK MsgCreateBinaryOptionsMarketOrder */ +export interface MsgCreateBinaryOptionsMarketOrder { + sender: string; + order: DerivativeOrder; +} +export interface MsgCreateBinaryOptionsMarketOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrder'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgCreateBinaryOptionsMarketOrder */ +export interface MsgCreateBinaryOptionsMarketOrderAmino { + sender?: string; + order?: DerivativeOrderAmino; +} +export interface MsgCreateBinaryOptionsMarketOrderAminoMsg { + type: 'exchange/MsgCreateBinaryOptionsMarketOrder'; + value: MsgCreateBinaryOptionsMarketOrderAmino; +} +/** A Cosmos-SDK MsgCreateBinaryOptionsMarketOrder */ +export interface MsgCreateBinaryOptionsMarketOrderSDKType { + sender: string; + order: DerivativeOrderSDKType; +} +/** + * MsgCreateBinaryOptionsMarketOrderResponse defines the + * Msg/CreateBinaryOptionsMarketOrder response type. + */ +export interface MsgCreateBinaryOptionsMarketOrderResponse { + orderHash: string; + results?: DerivativeMarketOrderResults; + cid: string; +} +export interface MsgCreateBinaryOptionsMarketOrderResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrderResponse'; + value: Uint8Array; +} +/** + * MsgCreateBinaryOptionsMarketOrderResponse defines the + * Msg/CreateBinaryOptionsMarketOrder response type. + */ +export interface MsgCreateBinaryOptionsMarketOrderResponseAmino { + order_hash?: string; + results?: DerivativeMarketOrderResultsAmino; + cid?: string; +} +export interface MsgCreateBinaryOptionsMarketOrderResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrderResponse'; + value: MsgCreateBinaryOptionsMarketOrderResponseAmino; +} +/** + * MsgCreateBinaryOptionsMarketOrderResponse defines the + * Msg/CreateBinaryOptionsMarketOrder response type. + */ +export interface MsgCreateBinaryOptionsMarketOrderResponseSDKType { + order_hash: string; + results?: DerivativeMarketOrderResultsSDKType; + cid: string; +} +/** MsgCancelDerivativeOrder defines the Msg/CancelDerivativeOrder response type. */ +export interface MsgCancelDerivativeOrder { + sender: string; + marketId: string; + subaccountId: string; + orderHash: string; + /** bitwise combination of OrderMask enum values */ + orderMask: number; + cid: string; +} +export interface MsgCancelDerivativeOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCancelDerivativeOrder'; + value: Uint8Array; +} +/** MsgCancelDerivativeOrder defines the Msg/CancelDerivativeOrder response type. */ +export interface MsgCancelDerivativeOrderAmino { + sender?: string; + market_id?: string; + subaccount_id?: string; + order_hash?: string; + /** bitwise combination of OrderMask enum values */ + order_mask?: number; + cid?: string; +} +export interface MsgCancelDerivativeOrderAminoMsg { + type: 'exchange/MsgCancelDerivativeOrder'; + value: MsgCancelDerivativeOrderAmino; +} +/** MsgCancelDerivativeOrder defines the Msg/CancelDerivativeOrder response type. */ +export interface MsgCancelDerivativeOrderSDKType { + sender: string; + market_id: string; + subaccount_id: string; + order_hash: string; + order_mask: number; + cid: string; +} +/** + * MsgCancelDerivativeOrderResponse defines the + * Msg/CancelDerivativeOrderResponse response type. + */ +export interface MsgCancelDerivativeOrderResponse {} +export interface MsgCancelDerivativeOrderResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCancelDerivativeOrderResponse'; + value: Uint8Array; +} +/** + * MsgCancelDerivativeOrderResponse defines the + * Msg/CancelDerivativeOrderResponse response type. + */ +export interface MsgCancelDerivativeOrderResponseAmino {} +export interface MsgCancelDerivativeOrderResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgCancelDerivativeOrderResponse'; + value: MsgCancelDerivativeOrderResponseAmino; +} +/** + * MsgCancelDerivativeOrderResponse defines the + * Msg/CancelDerivativeOrderResponse response type. + */ +export interface MsgCancelDerivativeOrderResponseSDKType {} +/** + * MsgCancelBinaryOptionsOrder defines the Msg/CancelBinaryOptionsOrder response + * type. + */ +export interface MsgCancelBinaryOptionsOrder { + sender: string; + marketId: string; + subaccountId: string; + orderHash: string; + /** bitwise combination of OrderMask enum values */ + orderMask: number; + cid: string; +} +export interface MsgCancelBinaryOptionsOrderProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCancelBinaryOptionsOrder'; + value: Uint8Array; +} +/** + * MsgCancelBinaryOptionsOrder defines the Msg/CancelBinaryOptionsOrder response + * type. + */ +export interface MsgCancelBinaryOptionsOrderAmino { + sender?: string; + market_id?: string; + subaccount_id?: string; + order_hash?: string; + /** bitwise combination of OrderMask enum values */ + order_mask?: number; + cid?: string; +} +export interface MsgCancelBinaryOptionsOrderAminoMsg { + type: 'exchange/MsgCancelBinaryOptionsOrder'; + value: MsgCancelBinaryOptionsOrderAmino; +} +/** + * MsgCancelBinaryOptionsOrder defines the Msg/CancelBinaryOptionsOrder response + * type. + */ +export interface MsgCancelBinaryOptionsOrderSDKType { + sender: string; + market_id: string; + subaccount_id: string; + order_hash: string; + order_mask: number; + cid: string; +} +/** + * MsgCancelBinaryOptionsOrderResponse defines the + * Msg/CancelBinaryOptionsOrderResponse response type. + */ +export interface MsgCancelBinaryOptionsOrderResponse {} +export interface MsgCancelBinaryOptionsOrderResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgCancelBinaryOptionsOrderResponse'; + value: Uint8Array; +} +/** + * MsgCancelBinaryOptionsOrderResponse defines the + * Msg/CancelBinaryOptionsOrderResponse response type. + */ +export interface MsgCancelBinaryOptionsOrderResponseAmino {} +export interface MsgCancelBinaryOptionsOrderResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgCancelBinaryOptionsOrderResponse'; + value: MsgCancelBinaryOptionsOrderResponseAmino; +} +/** + * MsgCancelBinaryOptionsOrderResponse defines the + * Msg/CancelBinaryOptionsOrderResponse response type. + */ +export interface MsgCancelBinaryOptionsOrderResponseSDKType {} +export interface OrderData { + marketId: string; + subaccountId: string; + orderHash: string; + /** bitwise combination of OrderMask enum values */ + orderMask: number; + cid: string; +} +export interface OrderDataProtoMsg { + typeUrl: '/injective.exchange.v1beta1.OrderData'; + value: Uint8Array; +} +export interface OrderDataAmino { + market_id?: string; + subaccount_id?: string; + order_hash?: string; + /** bitwise combination of OrderMask enum values */ + order_mask?: number; + cid?: string; +} +export interface OrderDataAminoMsg { + type: '/injective.exchange.v1beta1.OrderData'; + value: OrderDataAmino; +} +export interface OrderDataSDKType { + market_id: string; + subaccount_id: string; + order_hash: string; + order_mask: number; + cid: string; +} +/** + * MsgBatchCancelDerivativeOrders defines the Msg/CancelDerivativeOrders + * response type. + */ +export interface MsgBatchCancelDerivativeOrders { + sender: string; + data: OrderData[]; +} +export interface MsgBatchCancelDerivativeOrdersProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelDerivativeOrders'; + value: Uint8Array; +} +/** + * MsgBatchCancelDerivativeOrders defines the Msg/CancelDerivativeOrders + * response type. + */ +export interface MsgBatchCancelDerivativeOrdersAmino { + sender?: string; + data?: OrderDataAmino[]; +} +export interface MsgBatchCancelDerivativeOrdersAminoMsg { + type: 'exchange/MsgBatchCancelDerivativeOrders'; + value: MsgBatchCancelDerivativeOrdersAmino; +} +/** + * MsgBatchCancelDerivativeOrders defines the Msg/CancelDerivativeOrders + * response type. + */ +export interface MsgBatchCancelDerivativeOrdersSDKType { + sender: string; + data: OrderDataSDKType[]; +} +/** + * MsgBatchCancelDerivativeOrdersResponse defines the + * Msg/CancelDerivativeOrderResponse response type. + */ +export interface MsgBatchCancelDerivativeOrdersResponse { + success: boolean[]; +} +export interface MsgBatchCancelDerivativeOrdersResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelDerivativeOrdersResponse'; + value: Uint8Array; +} +/** + * MsgBatchCancelDerivativeOrdersResponse defines the + * Msg/CancelDerivativeOrderResponse response type. + */ +export interface MsgBatchCancelDerivativeOrdersResponseAmino { + success?: boolean[]; +} +export interface MsgBatchCancelDerivativeOrdersResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgBatchCancelDerivativeOrdersResponse'; + value: MsgBatchCancelDerivativeOrdersResponseAmino; +} +/** + * MsgBatchCancelDerivativeOrdersResponse defines the + * Msg/CancelDerivativeOrderResponse response type. + */ +export interface MsgBatchCancelDerivativeOrdersResponseSDKType { + success: boolean[]; +} +/** A Cosmos-SDK MsgSubaccountTransfer */ +export interface MsgSubaccountTransfer { + sender: string; + sourceSubaccountId: string; + destinationSubaccountId: string; + amount: Coin; +} +export interface MsgSubaccountTransferProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgSubaccountTransfer'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgSubaccountTransfer */ +export interface MsgSubaccountTransferAmino { + sender?: string; + source_subaccount_id?: string; + destination_subaccount_id?: string; + amount?: CoinAmino; +} +export interface MsgSubaccountTransferAminoMsg { + type: 'exchange/MsgSubaccountTransfer'; + value: MsgSubaccountTransferAmino; +} +/** A Cosmos-SDK MsgSubaccountTransfer */ +export interface MsgSubaccountTransferSDKType { + sender: string; + source_subaccount_id: string; + destination_subaccount_id: string; + amount: CoinSDKType; +} +/** + * MsgSubaccountTransferResponse defines the Msg/SubaccountTransfer response + * type. + */ +export interface MsgSubaccountTransferResponse {} +export interface MsgSubaccountTransferResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgSubaccountTransferResponse'; + value: Uint8Array; +} +/** + * MsgSubaccountTransferResponse defines the Msg/SubaccountTransfer response + * type. + */ +export interface MsgSubaccountTransferResponseAmino {} +export interface MsgSubaccountTransferResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgSubaccountTransferResponse'; + value: MsgSubaccountTransferResponseAmino; +} +/** + * MsgSubaccountTransferResponse defines the Msg/SubaccountTransfer response + * type. + */ +export interface MsgSubaccountTransferResponseSDKType {} +/** A Cosmos-SDK MsgExternalTransfer */ +export interface MsgExternalTransfer { + sender: string; + sourceSubaccountId: string; + destinationSubaccountId: string; + amount: Coin; +} +export interface MsgExternalTransferProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgExternalTransfer'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgExternalTransfer */ +export interface MsgExternalTransferAmino { + sender?: string; + source_subaccount_id?: string; + destination_subaccount_id?: string; + amount?: CoinAmino; +} +export interface MsgExternalTransferAminoMsg { + type: 'exchange/MsgExternalTransfer'; + value: MsgExternalTransferAmino; +} +/** A Cosmos-SDK MsgExternalTransfer */ +export interface MsgExternalTransferSDKType { + sender: string; + source_subaccount_id: string; + destination_subaccount_id: string; + amount: CoinSDKType; +} +/** MsgExternalTransferResponse defines the Msg/ExternalTransfer response type. */ +export interface MsgExternalTransferResponse {} +export interface MsgExternalTransferResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgExternalTransferResponse'; + value: Uint8Array; +} +/** MsgExternalTransferResponse defines the Msg/ExternalTransfer response type. */ +export interface MsgExternalTransferResponseAmino {} +export interface MsgExternalTransferResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgExternalTransferResponse'; + value: MsgExternalTransferResponseAmino; +} +/** MsgExternalTransferResponse defines the Msg/ExternalTransfer response type. */ +export interface MsgExternalTransferResponseSDKType {} +/** A Cosmos-SDK MsgLiquidatePosition */ +export interface MsgLiquidatePosition { + sender: string; + subaccountId: string; + marketId: string; + /** optional order to provide for liquidation */ + order?: DerivativeOrder; +} +export interface MsgLiquidatePositionProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgLiquidatePosition'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgLiquidatePosition */ +export interface MsgLiquidatePositionAmino { + sender?: string; + subaccount_id?: string; + market_id?: string; + /** optional order to provide for liquidation */ + order?: DerivativeOrderAmino; +} +export interface MsgLiquidatePositionAminoMsg { + type: 'exchange/MsgLiquidatePosition'; + value: MsgLiquidatePositionAmino; +} +/** A Cosmos-SDK MsgLiquidatePosition */ +export interface MsgLiquidatePositionSDKType { + sender: string; + subaccount_id: string; + market_id: string; + order?: DerivativeOrderSDKType; +} +/** MsgLiquidatePositionResponse defines the Msg/LiquidatePosition response type. */ +export interface MsgLiquidatePositionResponse {} +export interface MsgLiquidatePositionResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgLiquidatePositionResponse'; + value: Uint8Array; +} +/** MsgLiquidatePositionResponse defines the Msg/LiquidatePosition response type. */ +export interface MsgLiquidatePositionResponseAmino {} +export interface MsgLiquidatePositionResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgLiquidatePositionResponse'; + value: MsgLiquidatePositionResponseAmino; +} +/** MsgLiquidatePositionResponse defines the Msg/LiquidatePosition response type. */ +export interface MsgLiquidatePositionResponseSDKType {} +/** A Cosmos-SDK MsgEmergencySettleMarket */ +export interface MsgEmergencySettleMarket { + sender: string; + subaccountId: string; + marketId: string; +} +export interface MsgEmergencySettleMarketProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgEmergencySettleMarket'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgEmergencySettleMarket */ +export interface MsgEmergencySettleMarketAmino { + sender?: string; + subaccount_id?: string; + market_id?: string; +} +export interface MsgEmergencySettleMarketAminoMsg { + type: 'exchange/MsgEmergencySettleMarket'; + value: MsgEmergencySettleMarketAmino; +} +/** A Cosmos-SDK MsgEmergencySettleMarket */ +export interface MsgEmergencySettleMarketSDKType { + sender: string; + subaccount_id: string; + market_id: string; +} +/** + * MsgEmergencySettleMarketResponse defines the Msg/EmergencySettleMarket + * response type. + */ +export interface MsgEmergencySettleMarketResponse {} +export interface MsgEmergencySettleMarketResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgEmergencySettleMarketResponse'; + value: Uint8Array; +} +/** + * MsgEmergencySettleMarketResponse defines the Msg/EmergencySettleMarket + * response type. + */ +export interface MsgEmergencySettleMarketResponseAmino {} +export interface MsgEmergencySettleMarketResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgEmergencySettleMarketResponse'; + value: MsgEmergencySettleMarketResponseAmino; +} +/** + * MsgEmergencySettleMarketResponse defines the Msg/EmergencySettleMarket + * response type. + */ +export interface MsgEmergencySettleMarketResponseSDKType {} +/** A Cosmos-SDK MsgIncreasePositionMargin */ +export interface MsgIncreasePositionMargin { + sender: string; + sourceSubaccountId: string; + destinationSubaccountId: string; + marketId: string; + /** amount defines the amount of margin to add to the position */ + amount: string; +} +export interface MsgIncreasePositionMarginProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgIncreasePositionMargin'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgIncreasePositionMargin */ +export interface MsgIncreasePositionMarginAmino { + sender?: string; + source_subaccount_id?: string; + destination_subaccount_id?: string; + market_id?: string; + /** amount defines the amount of margin to add to the position */ + amount?: string; +} +export interface MsgIncreasePositionMarginAminoMsg { + type: 'exchange/MsgIncreasePositionMargin'; + value: MsgIncreasePositionMarginAmino; +} +/** A Cosmos-SDK MsgIncreasePositionMargin */ +export interface MsgIncreasePositionMarginSDKType { + sender: string; + source_subaccount_id: string; + destination_subaccount_id: string; + market_id: string; + amount: string; +} +/** + * MsgIncreasePositionMarginResponse defines the Msg/IncreasePositionMargin + * response type. + */ +export interface MsgIncreasePositionMarginResponse {} +export interface MsgIncreasePositionMarginResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgIncreasePositionMarginResponse'; + value: Uint8Array; +} +/** + * MsgIncreasePositionMarginResponse defines the Msg/IncreasePositionMargin + * response type. + */ +export interface MsgIncreasePositionMarginResponseAmino {} +export interface MsgIncreasePositionMarginResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgIncreasePositionMarginResponse'; + value: MsgIncreasePositionMarginResponseAmino; +} +/** + * MsgIncreasePositionMarginResponse defines the Msg/IncreasePositionMargin + * response type. + */ +export interface MsgIncreasePositionMarginResponseSDKType {} +/** A Cosmos-SDK MsgDecreasePositionMargin */ +export interface MsgDecreasePositionMargin { + sender: string; + sourceSubaccountId: string; + destinationSubaccountId: string; + marketId: string; + /** amount defines the amount of margin to withdraw from the position */ + amount: string; +} +export interface MsgDecreasePositionMarginProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgDecreasePositionMargin'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgDecreasePositionMargin */ +export interface MsgDecreasePositionMarginAmino { + sender?: string; + source_subaccount_id?: string; + destination_subaccount_id?: string; + market_id?: string; + /** amount defines the amount of margin to withdraw from the position */ + amount?: string; +} +export interface MsgDecreasePositionMarginAminoMsg { + type: 'exchange/MsgDecreasePositionMargin'; + value: MsgDecreasePositionMarginAmino; +} +/** A Cosmos-SDK MsgDecreasePositionMargin */ +export interface MsgDecreasePositionMarginSDKType { + sender: string; + source_subaccount_id: string; + destination_subaccount_id: string; + market_id: string; + amount: string; +} +/** + * MsgDecreasePositionMarginResponse defines the Msg/MsgDecreasePositionMargin + * response type. + */ +export interface MsgDecreasePositionMarginResponse {} +export interface MsgDecreasePositionMarginResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgDecreasePositionMarginResponse'; + value: Uint8Array; +} +/** + * MsgDecreasePositionMarginResponse defines the Msg/MsgDecreasePositionMargin + * response type. + */ +export interface MsgDecreasePositionMarginResponseAmino {} +export interface MsgDecreasePositionMarginResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgDecreasePositionMarginResponse'; + value: MsgDecreasePositionMarginResponseAmino; +} +/** + * MsgDecreasePositionMarginResponse defines the Msg/MsgDecreasePositionMargin + * response type. + */ +export interface MsgDecreasePositionMarginResponseSDKType {} +/** MsgPrivilegedExecuteContract defines the Msg/Exec message type */ +export interface MsgPrivilegedExecuteContract { + sender: string; + /** + * funds defines the user's bank coins used to fund the execution (e.g. + * 100inj). + */ + funds: string; + /** contract_address defines the contract address to execute */ + contractAddress: string; + /** data defines the call data used when executing the contract */ + data: string; +} +export interface MsgPrivilegedExecuteContractProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgPrivilegedExecuteContract'; + value: Uint8Array; +} +/** MsgPrivilegedExecuteContract defines the Msg/Exec message type */ +export interface MsgPrivilegedExecuteContractAmino { + sender?: string; + /** + * funds defines the user's bank coins used to fund the execution (e.g. + * 100inj). + */ + funds?: string; + /** contract_address defines the contract address to execute */ + contract_address?: string; + /** data defines the call data used when executing the contract */ + data?: string; +} +export interface MsgPrivilegedExecuteContractAminoMsg { + type: 'exchange/MsgPrivilegedExecuteContract'; + value: MsgPrivilegedExecuteContractAmino; +} +/** MsgPrivilegedExecuteContract defines the Msg/Exec message type */ +export interface MsgPrivilegedExecuteContractSDKType { + sender: string; + funds: string; + contract_address: string; + data: string; +} +/** MsgPrivilegedExecuteContractResponse defines the Msg/Exec response type. */ +export interface MsgPrivilegedExecuteContractResponse { + fundsDiff: Coin[]; +} +export interface MsgPrivilegedExecuteContractResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgPrivilegedExecuteContractResponse'; + value: Uint8Array; +} +/** MsgPrivilegedExecuteContractResponse defines the Msg/Exec response type. */ +export interface MsgPrivilegedExecuteContractResponseAmino { + funds_diff?: CoinAmino[]; +} +export interface MsgPrivilegedExecuteContractResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgPrivilegedExecuteContractResponse'; + value: MsgPrivilegedExecuteContractResponseAmino; +} +/** MsgPrivilegedExecuteContractResponse defines the Msg/Exec response type. */ +export interface MsgPrivilegedExecuteContractResponseSDKType { + funds_diff: CoinSDKType[]; +} +/** A Cosmos-SDK MsgRewardsOptOut */ +export interface MsgRewardsOptOut { + sender: string; +} +export interface MsgRewardsOptOutProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgRewardsOptOut'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgRewardsOptOut */ +export interface MsgRewardsOptOutAmino { + sender?: string; +} +export interface MsgRewardsOptOutAminoMsg { + type: 'exchange/MsgRewardsOptOut'; + value: MsgRewardsOptOutAmino; +} +/** A Cosmos-SDK MsgRewardsOptOut */ +export interface MsgRewardsOptOutSDKType { + sender: string; +} +/** MsgRewardsOptOutResponse defines the Msg/RewardsOptOut response type. */ +export interface MsgRewardsOptOutResponse {} +export interface MsgRewardsOptOutResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgRewardsOptOutResponse'; + value: Uint8Array; +} +/** MsgRewardsOptOutResponse defines the Msg/RewardsOptOut response type. */ +export interface MsgRewardsOptOutResponseAmino {} +export interface MsgRewardsOptOutResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgRewardsOptOutResponse'; + value: MsgRewardsOptOutResponseAmino; +} +/** MsgRewardsOptOutResponse defines the Msg/RewardsOptOut response type. */ +export interface MsgRewardsOptOutResponseSDKType {} +/** A Cosmos-SDK MsgReclaimLockedFunds */ +export interface MsgReclaimLockedFunds { + sender: string; + lockedAccountPubKey: Uint8Array; + signature: Uint8Array; +} +export interface MsgReclaimLockedFundsProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgReclaimLockedFunds'; + value: Uint8Array; +} +/** A Cosmos-SDK MsgReclaimLockedFunds */ +export interface MsgReclaimLockedFundsAmino { + sender?: string; + lockedAccountPubKey?: string; + signature?: string; +} +export interface MsgReclaimLockedFundsAminoMsg { + type: 'exchange/MsgReclaimLockedFunds'; + value: MsgReclaimLockedFundsAmino; +} +/** A Cosmos-SDK MsgReclaimLockedFunds */ +export interface MsgReclaimLockedFundsSDKType { + sender: string; + lockedAccountPubKey: Uint8Array; + signature: Uint8Array; +} +/** + * MsgReclaimLockedFundsResponse defines the Msg/ReclaimLockedFunds response + * type. + */ +export interface MsgReclaimLockedFundsResponse {} +export interface MsgReclaimLockedFundsResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgReclaimLockedFundsResponse'; + value: Uint8Array; +} +/** + * MsgReclaimLockedFundsResponse defines the Msg/ReclaimLockedFunds response + * type. + */ +export interface MsgReclaimLockedFundsResponseAmino {} +export interface MsgReclaimLockedFundsResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgReclaimLockedFundsResponse'; + value: MsgReclaimLockedFundsResponseAmino; +} +/** + * MsgReclaimLockedFundsResponse defines the Msg/ReclaimLockedFunds response + * type. + */ +export interface MsgReclaimLockedFundsResponseSDKType {} +/** MsgSignData defines an arbitrary, general-purpose, off-chain message */ +export interface MsgSignData { + /** Signer is the sdk.AccAddress of the message signer */ + signer: Uint8Array; + /** + * Data represents the raw bytes of the content that is signed (text, json, + * etc) + */ + data: Uint8Array; +} +export interface MsgSignDataProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgSignData'; + value: Uint8Array; +} +/** MsgSignData defines an arbitrary, general-purpose, off-chain message */ +export interface MsgSignDataAmino { + /** Signer is the sdk.AccAddress of the message signer */ + Signer: string; + /** + * Data represents the raw bytes of the content that is signed (text, json, + * etc) + */ + Data: string; +} +export interface MsgSignDataAminoMsg { + type: '/injective.exchange.v1beta1.MsgSignData'; + value: MsgSignDataAmino; +} +/** MsgSignData defines an arbitrary, general-purpose, off-chain message */ +export interface MsgSignDataSDKType { + Signer: Uint8Array; + Data: Uint8Array; +} +/** MsgSignDoc defines an arbitrary, general-purpose, off-chain message */ +export interface MsgSignDoc { + signType: string; + value: MsgSignData; +} +export interface MsgSignDocProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgSignDoc'; + value: Uint8Array; +} +/** MsgSignDoc defines an arbitrary, general-purpose, off-chain message */ +export interface MsgSignDocAmino { + sign_type: string; + value?: MsgSignDataAmino; +} +export interface MsgSignDocAminoMsg { + type: '/injective.exchange.v1beta1.MsgSignDoc'; + value: MsgSignDocAmino; +} +/** MsgSignDoc defines an arbitrary, general-purpose, off-chain message */ +export interface MsgSignDocSDKType { + sign_type: string; + value: MsgSignDataSDKType; +} +/** + * MsgAdminUpdateBinaryOptionsMarket is used by the market Admin to operate the + * market + */ +export interface MsgAdminUpdateBinaryOptionsMarket { + sender: string; + marketId: string; + /** new price at which market will be settled */ + settlementPrice?: string; + /** expiration timestamp */ + expirationTimestamp: bigint; + /** expiration timestamp */ + settlementTimestamp: bigint; + /** Status of the market */ + status: MarketStatus; +} +export interface MsgAdminUpdateBinaryOptionsMarketProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket'; + value: Uint8Array; +} +/** + * MsgAdminUpdateBinaryOptionsMarket is used by the market Admin to operate the + * market + */ +export interface MsgAdminUpdateBinaryOptionsMarketAmino { + sender?: string; + market_id?: string; + /** new price at which market will be settled */ + settlement_price?: string; + /** expiration timestamp */ + expiration_timestamp?: string; + /** expiration timestamp */ + settlement_timestamp?: string; + /** Status of the market */ + status?: MarketStatus; +} +export interface MsgAdminUpdateBinaryOptionsMarketAminoMsg { + type: 'exchange/MsgAdminUpdateBinaryOptionsMarket'; + value: MsgAdminUpdateBinaryOptionsMarketAmino; +} +/** + * MsgAdminUpdateBinaryOptionsMarket is used by the market Admin to operate the + * market + */ +export interface MsgAdminUpdateBinaryOptionsMarketSDKType { + sender: string; + market_id: string; + settlement_price?: string; + expiration_timestamp: bigint; + settlement_timestamp: bigint; + status: MarketStatus; +} +/** + * MsgAdminUpdateBinaryOptionsMarketResponse is the response for + * AdminUpdateBinaryOptionsMarket rpc method + */ +export interface MsgAdminUpdateBinaryOptionsMarketResponse {} +export interface MsgAdminUpdateBinaryOptionsMarketResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse'; + value: Uint8Array; +} +/** + * MsgAdminUpdateBinaryOptionsMarketResponse is the response for + * AdminUpdateBinaryOptionsMarket rpc method + */ +export interface MsgAdminUpdateBinaryOptionsMarketResponseAmino {} +export interface MsgAdminUpdateBinaryOptionsMarketResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse'; + value: MsgAdminUpdateBinaryOptionsMarketResponseAmino; +} +/** + * MsgAdminUpdateBinaryOptionsMarketResponse is the response for + * AdminUpdateBinaryOptionsMarket rpc method + */ +export interface MsgAdminUpdateBinaryOptionsMarketResponseSDKType {} +/** MsgAuthorizeStakeGrants grants stakes to grantees. */ +export interface MsgAuthorizeStakeGrants { + sender: string; + grants: GrantAuthorization[]; +} +export interface MsgAuthorizeStakeGrantsProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgAuthorizeStakeGrants'; + value: Uint8Array; +} +/** MsgAuthorizeStakeGrants grants stakes to grantees. */ +export interface MsgAuthorizeStakeGrantsAmino { + sender?: string; + grants?: GrantAuthorizationAmino[]; +} +export interface MsgAuthorizeStakeGrantsAminoMsg { + type: 'exchange/MsgAuthorizeStakeGrants'; + value: MsgAuthorizeStakeGrantsAmino; +} +/** MsgAuthorizeStakeGrants grants stakes to grantees. */ +export interface MsgAuthorizeStakeGrantsSDKType { + sender: string; + grants: GrantAuthorizationSDKType[]; +} +export interface MsgAuthorizeStakeGrantsResponse {} +export interface MsgAuthorizeStakeGrantsResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgAuthorizeStakeGrantsResponse'; + value: Uint8Array; +} +export interface MsgAuthorizeStakeGrantsResponseAmino {} +export interface MsgAuthorizeStakeGrantsResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgAuthorizeStakeGrantsResponse'; + value: MsgAuthorizeStakeGrantsResponseAmino; +} +export interface MsgAuthorizeStakeGrantsResponseSDKType {} +/** MsgActivateStakeGrant allows a grantee to activate a stake grant. */ +export interface MsgActivateStakeGrant { + sender: string; + granter: string; +} +export interface MsgActivateStakeGrantProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgActivateStakeGrant'; + value: Uint8Array; +} +/** MsgActivateStakeGrant allows a grantee to activate a stake grant. */ +export interface MsgActivateStakeGrantAmino { + sender?: string; + granter?: string; +} +export interface MsgActivateStakeGrantAminoMsg { + type: 'exchange/MsgActivateStakeGrant'; + value: MsgActivateStakeGrantAmino; +} +/** MsgActivateStakeGrant allows a grantee to activate a stake grant. */ +export interface MsgActivateStakeGrantSDKType { + sender: string; + granter: string; +} +export interface MsgActivateStakeGrantResponse {} +export interface MsgActivateStakeGrantResponseProtoMsg { + typeUrl: '/injective.exchange.v1beta1.MsgActivateStakeGrantResponse'; + value: Uint8Array; +} +export interface MsgActivateStakeGrantResponseAmino {} +export interface MsgActivateStakeGrantResponseAminoMsg { + type: '/injective.exchange.v1beta1.MsgActivateStakeGrantResponse'; + value: MsgActivateStakeGrantResponseAmino; +} +export interface MsgActivateStakeGrantResponseSDKType {} +function createBaseMsgUpdateSpotMarket(): MsgUpdateSpotMarket { + return { + admin: '', + marketId: '', + newTicker: '', + newMinPriceTickSize: '', + newMinQuantityTickSize: '', + newMinNotional: '', + }; +} +export const MsgUpdateSpotMarket = { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateSpotMarket', + encode(message: MsgUpdateSpotMarket, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.admin !== '') { + writer.uint32(10).string(message.admin); + } + if (message.marketId !== '') { + writer.uint32(18).string(message.marketId); + } + if (message.newTicker !== '') { + writer.uint32(26).string(message.newTicker); + } + if (message.newMinPriceTickSize !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.newMinPriceTickSize, 18).atomics); + } + if (message.newMinQuantityTickSize !== '') { + writer.uint32(42).string(Decimal.fromUserInput(message.newMinQuantityTickSize, 18).atomics); + } + if (message.newMinNotional !== '') { + writer.uint32(50).string(Decimal.fromUserInput(message.newMinNotional, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateSpotMarket { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateSpotMarket(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.marketId = reader.string(); + break; + case 3: + message.newTicker = reader.string(); + break; + case 4: + message.newMinPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.newMinQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 6: + message.newMinNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateSpotMarket { + const message = createBaseMsgUpdateSpotMarket(); + message.admin = object.admin ?? ''; + message.marketId = object.marketId ?? ''; + message.newTicker = object.newTicker ?? ''; + message.newMinPriceTickSize = object.newMinPriceTickSize ?? ''; + message.newMinQuantityTickSize = object.newMinQuantityTickSize ?? ''; + message.newMinNotional = object.newMinNotional ?? ''; + return message; + }, + fromAmino(object: MsgUpdateSpotMarketAmino): MsgUpdateSpotMarket { + const message = createBaseMsgUpdateSpotMarket(); + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.new_ticker !== undefined && object.new_ticker !== null) { + message.newTicker = object.new_ticker; + } + if (object.new_min_price_tick_size !== undefined && object.new_min_price_tick_size !== null) { + message.newMinPriceTickSize = object.new_min_price_tick_size; + } + if (object.new_min_quantity_tick_size !== undefined && object.new_min_quantity_tick_size !== null) { + message.newMinQuantityTickSize = object.new_min_quantity_tick_size; + } + if (object.new_min_notional !== undefined && object.new_min_notional !== null) { + message.newMinNotional = object.new_min_notional; + } + return message; + }, + toAmino(message: MsgUpdateSpotMarket): MsgUpdateSpotMarketAmino { + const obj: any = {}; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.new_ticker = message.newTicker === '' ? undefined : message.newTicker; + obj.new_min_price_tick_size = message.newMinPriceTickSize === '' ? undefined : message.newMinPriceTickSize; + obj.new_min_quantity_tick_size = message.newMinQuantityTickSize === '' ? undefined : message.newMinQuantityTickSize; + obj.new_min_notional = message.newMinNotional === '' ? undefined : message.newMinNotional; + return obj; + }, + fromAminoMsg(object: MsgUpdateSpotMarketAminoMsg): MsgUpdateSpotMarket { + return MsgUpdateSpotMarket.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateSpotMarket): MsgUpdateSpotMarketAminoMsg { + return { + type: 'exchange/MsgUpdateSpotMarket', + value: MsgUpdateSpotMarket.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateSpotMarketProtoMsg): MsgUpdateSpotMarket { + return MsgUpdateSpotMarket.decode(message.value); + }, + toProto(message: MsgUpdateSpotMarket): Uint8Array { + return MsgUpdateSpotMarket.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateSpotMarket): MsgUpdateSpotMarketProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateSpotMarket', + value: MsgUpdateSpotMarket.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateSpotMarketResponse(): MsgUpdateSpotMarketResponse { + return {}; +} +export const MsgUpdateSpotMarketResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateSpotMarketResponse', + encode(_: MsgUpdateSpotMarketResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateSpotMarketResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateSpotMarketResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateSpotMarketResponse { + const message = createBaseMsgUpdateSpotMarketResponse(); + return message; + }, + fromAmino(_: MsgUpdateSpotMarketResponseAmino): MsgUpdateSpotMarketResponse { + const message = createBaseMsgUpdateSpotMarketResponse(); + return message; + }, + toAmino(_: MsgUpdateSpotMarketResponse): MsgUpdateSpotMarketResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateSpotMarketResponseAminoMsg): MsgUpdateSpotMarketResponse { + return MsgUpdateSpotMarketResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgUpdateSpotMarketResponseProtoMsg): MsgUpdateSpotMarketResponse { + return MsgUpdateSpotMarketResponse.decode(message.value); + }, + toProto(message: MsgUpdateSpotMarketResponse): Uint8Array { + return MsgUpdateSpotMarketResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateSpotMarketResponse): MsgUpdateSpotMarketResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateSpotMarketResponse', + value: MsgUpdateSpotMarketResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateDerivativeMarket(): MsgUpdateDerivativeMarket { + return { + admin: '', + marketId: '', + newTicker: '', + newMinPriceTickSize: '', + newMinQuantityTickSize: '', + newMinNotional: '', + newInitialMarginRatio: '', + newMaintenanceMarginRatio: '', + }; +} +export const MsgUpdateDerivativeMarket = { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateDerivativeMarket', + encode(message: MsgUpdateDerivativeMarket, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.admin !== '') { + writer.uint32(10).string(message.admin); + } + if (message.marketId !== '') { + writer.uint32(18).string(message.marketId); + } + if (message.newTicker !== '') { + writer.uint32(26).string(message.newTicker); + } + if (message.newMinPriceTickSize !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.newMinPriceTickSize, 18).atomics); + } + if (message.newMinQuantityTickSize !== '') { + writer.uint32(42).string(Decimal.fromUserInput(message.newMinQuantityTickSize, 18).atomics); + } + if (message.newMinNotional !== '') { + writer.uint32(50).string(Decimal.fromUserInput(message.newMinNotional, 18).atomics); + } + if (message.newInitialMarginRatio !== '') { + writer.uint32(58).string(Decimal.fromUserInput(message.newInitialMarginRatio, 18).atomics); + } + if (message.newMaintenanceMarginRatio !== '') { + writer.uint32(66).string(Decimal.fromUserInput(message.newMaintenanceMarginRatio, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateDerivativeMarket { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateDerivativeMarket(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.admin = reader.string(); + break; + case 2: + message.marketId = reader.string(); + break; + case 3: + message.newTicker = reader.string(); + break; + case 4: + message.newMinPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.newMinQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 6: + message.newMinNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 7: + message.newInitialMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 8: + message.newMaintenanceMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateDerivativeMarket { + const message = createBaseMsgUpdateDerivativeMarket(); + message.admin = object.admin ?? ''; + message.marketId = object.marketId ?? ''; + message.newTicker = object.newTicker ?? ''; + message.newMinPriceTickSize = object.newMinPriceTickSize ?? ''; + message.newMinQuantityTickSize = object.newMinQuantityTickSize ?? ''; + message.newMinNotional = object.newMinNotional ?? ''; + message.newInitialMarginRatio = object.newInitialMarginRatio ?? ''; + message.newMaintenanceMarginRatio = object.newMaintenanceMarginRatio ?? ''; + return message; + }, + fromAmino(object: MsgUpdateDerivativeMarketAmino): MsgUpdateDerivativeMarket { + const message = createBaseMsgUpdateDerivativeMarket(); + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.new_ticker !== undefined && object.new_ticker !== null) { + message.newTicker = object.new_ticker; + } + if (object.new_min_price_tick_size !== undefined && object.new_min_price_tick_size !== null) { + message.newMinPriceTickSize = object.new_min_price_tick_size; + } + if (object.new_min_quantity_tick_size !== undefined && object.new_min_quantity_tick_size !== null) { + message.newMinQuantityTickSize = object.new_min_quantity_tick_size; + } + if (object.new_min_notional !== undefined && object.new_min_notional !== null) { + message.newMinNotional = object.new_min_notional; + } + if (object.new_initial_margin_ratio !== undefined && object.new_initial_margin_ratio !== null) { + message.newInitialMarginRatio = object.new_initial_margin_ratio; + } + if (object.new_maintenance_margin_ratio !== undefined && object.new_maintenance_margin_ratio !== null) { + message.newMaintenanceMarginRatio = object.new_maintenance_margin_ratio; + } + return message; + }, + toAmino(message: MsgUpdateDerivativeMarket): MsgUpdateDerivativeMarketAmino { + const obj: any = {}; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.new_ticker = message.newTicker === '' ? undefined : message.newTicker; + obj.new_min_price_tick_size = message.newMinPriceTickSize === '' ? undefined : message.newMinPriceTickSize; + obj.new_min_quantity_tick_size = message.newMinQuantityTickSize === '' ? undefined : message.newMinQuantityTickSize; + obj.new_min_notional = message.newMinNotional === '' ? undefined : message.newMinNotional; + obj.new_initial_margin_ratio = message.newInitialMarginRatio === '' ? undefined : message.newInitialMarginRatio; + obj.new_maintenance_margin_ratio = + message.newMaintenanceMarginRatio === '' ? undefined : message.newMaintenanceMarginRatio; + return obj; + }, + fromAminoMsg(object: MsgUpdateDerivativeMarketAminoMsg): MsgUpdateDerivativeMarket { + return MsgUpdateDerivativeMarket.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateDerivativeMarket): MsgUpdateDerivativeMarketAminoMsg { + return { + type: 'exchange/MsgUpdateDerivativeMarket', + value: MsgUpdateDerivativeMarket.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateDerivativeMarketProtoMsg): MsgUpdateDerivativeMarket { + return MsgUpdateDerivativeMarket.decode(message.value); + }, + toProto(message: MsgUpdateDerivativeMarket): Uint8Array { + return MsgUpdateDerivativeMarket.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateDerivativeMarket): MsgUpdateDerivativeMarketProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateDerivativeMarket', + value: MsgUpdateDerivativeMarket.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateDerivativeMarketResponse(): MsgUpdateDerivativeMarketResponse { + return {}; +} +export const MsgUpdateDerivativeMarketResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateDerivativeMarketResponse', + encode(_: MsgUpdateDerivativeMarketResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateDerivativeMarketResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateDerivativeMarketResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateDerivativeMarketResponse { + const message = createBaseMsgUpdateDerivativeMarketResponse(); + return message; + }, + fromAmino(_: MsgUpdateDerivativeMarketResponseAmino): MsgUpdateDerivativeMarketResponse { + const message = createBaseMsgUpdateDerivativeMarketResponse(); + return message; + }, + toAmino(_: MsgUpdateDerivativeMarketResponse): MsgUpdateDerivativeMarketResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateDerivativeMarketResponseAminoMsg): MsgUpdateDerivativeMarketResponse { + return MsgUpdateDerivativeMarketResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgUpdateDerivativeMarketResponseProtoMsg): MsgUpdateDerivativeMarketResponse { + return MsgUpdateDerivativeMarketResponse.decode(message.value); + }, + toProto(message: MsgUpdateDerivativeMarketResponse): Uint8Array { + return MsgUpdateDerivativeMarketResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateDerivativeMarketResponse): MsgUpdateDerivativeMarketResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateDerivativeMarketResponse', + value: MsgUpdateDerivativeMarketResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParams(): MsgUpdateParams { + return { + authority: '', + params: Params.fromPartial({}), + }; +} +export const MsgUpdateParams = { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateParams', + encode(message: MsgUpdateParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.params = Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + message.authority = object.authority ?? ''; + message.params = + object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, + fromAmino(object: MsgUpdateParamsAmino): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + if (object.params !== undefined && object.params !== null) { + message.params = Params.fromAmino(object.params); + } + return message; + }, + toAmino(message: MsgUpdateParams): MsgUpdateParamsAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + obj.params = message.params ? Params.toAmino(message.params) : undefined; + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsAminoMsg): MsgUpdateParams { + return MsgUpdateParams.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateParams): MsgUpdateParamsAminoMsg { + return { + type: 'exchange/MsgUpdateParams', + value: MsgUpdateParams.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateParamsProtoMsg): MsgUpdateParams { + return MsgUpdateParams.decode(message.value); + }, + toProto(message: MsgUpdateParams): Uint8Array { + return MsgUpdateParams.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParams): MsgUpdateParamsProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateParams', + value: MsgUpdateParams.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse { + return {}; +} +export const MsgUpdateParamsResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateParamsResponse', + encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + fromAmino(_: MsgUpdateParamsResponseAmino): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + toAmino(_: MsgUpdateParamsResponse): MsgUpdateParamsResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsResponseAminoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgUpdateParamsResponseProtoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.decode(message.value); + }, + toProto(message: MsgUpdateParamsResponse): Uint8Array { + return MsgUpdateParamsResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgUpdateParamsResponse', + value: MsgUpdateParamsResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgDeposit(): MsgDeposit { + return { + sender: '', + subaccountId: '', + amount: Coin.fromPartial({}), + }; +} +export const MsgDeposit = { + typeUrl: '/injective.exchange.v1beta1.MsgDeposit', + encode(message: MsgDeposit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.subaccountId !== '') { + writer.uint32(18).string(message.subaccountId); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDeposit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDeposit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.subaccountId = reader.string(); + break; + case 3: + message.amount = Coin.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgDeposit { + const message = createBaseMsgDeposit(); + message.sender = object.sender ?? ''; + message.subaccountId = object.subaccountId ?? ''; + message.amount = + object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, + fromAmino(object: MsgDepositAmino): MsgDeposit { + const message = createBaseMsgDeposit(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = object.subaccount_id; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = Coin.fromAmino(object.amount); + } + return message; + }, + toAmino(message: MsgDeposit): MsgDepositAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.subaccount_id = message.subaccountId === '' ? undefined : message.subaccountId; + obj.amount = message.amount ? Coin.toAmino(message.amount) : undefined; + return obj; + }, + fromAminoMsg(object: MsgDepositAminoMsg): MsgDeposit { + return MsgDeposit.fromAmino(object.value); + }, + toAminoMsg(message: MsgDeposit): MsgDepositAminoMsg { + return { + type: 'exchange/MsgDeposit', + value: MsgDeposit.toAmino(message), + }; + }, + fromProtoMsg(message: MsgDepositProtoMsg): MsgDeposit { + return MsgDeposit.decode(message.value); + }, + toProto(message: MsgDeposit): Uint8Array { + return MsgDeposit.encode(message).finish(); + }, + toProtoMsg(message: MsgDeposit): MsgDepositProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgDeposit', + value: MsgDeposit.encode(message).finish(), + }; + }, +}; +function createBaseMsgDepositResponse(): MsgDepositResponse { + return {}; +} +export const MsgDepositResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgDepositResponse', + encode(_: MsgDepositResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDepositResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDepositResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgDepositResponse { + const message = createBaseMsgDepositResponse(); + return message; + }, + fromAmino(_: MsgDepositResponseAmino): MsgDepositResponse { + const message = createBaseMsgDepositResponse(); + return message; + }, + toAmino(_: MsgDepositResponse): MsgDepositResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgDepositResponseAminoMsg): MsgDepositResponse { + return MsgDepositResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgDepositResponseProtoMsg): MsgDepositResponse { + return MsgDepositResponse.decode(message.value); + }, + toProto(message: MsgDepositResponse): Uint8Array { + return MsgDepositResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgDepositResponse): MsgDepositResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgDepositResponse', + value: MsgDepositResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgWithdraw(): MsgWithdraw { + return { + sender: '', + subaccountId: '', + amount: Coin.fromPartial({}), + }; +} +export const MsgWithdraw = { + typeUrl: '/injective.exchange.v1beta1.MsgWithdraw', + encode(message: MsgWithdraw, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.subaccountId !== '') { + writer.uint32(18).string(message.subaccountId); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdraw { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdraw(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.subaccountId = reader.string(); + break; + case 3: + message.amount = Coin.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgWithdraw { + const message = createBaseMsgWithdraw(); + message.sender = object.sender ?? ''; + message.subaccountId = object.subaccountId ?? ''; + message.amount = + object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, + fromAmino(object: MsgWithdrawAmino): MsgWithdraw { + const message = createBaseMsgWithdraw(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = object.subaccount_id; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = Coin.fromAmino(object.amount); + } + return message; + }, + toAmino(message: MsgWithdraw): MsgWithdrawAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.subaccount_id = message.subaccountId === '' ? undefined : message.subaccountId; + obj.amount = message.amount ? Coin.toAmino(message.amount) : undefined; + return obj; + }, + fromAminoMsg(object: MsgWithdrawAminoMsg): MsgWithdraw { + return MsgWithdraw.fromAmino(object.value); + }, + toAminoMsg(message: MsgWithdraw): MsgWithdrawAminoMsg { + return { + type: 'exchange/MsgWithdraw', + value: MsgWithdraw.toAmino(message), + }; + }, + fromProtoMsg(message: MsgWithdrawProtoMsg): MsgWithdraw { + return MsgWithdraw.decode(message.value); + }, + toProto(message: MsgWithdraw): Uint8Array { + return MsgWithdraw.encode(message).finish(); + }, + toProtoMsg(message: MsgWithdraw): MsgWithdrawProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgWithdraw', + value: MsgWithdraw.encode(message).finish(), + }; + }, +}; +function createBaseMsgWithdrawResponse(): MsgWithdrawResponse { + return {}; +} +export const MsgWithdrawResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgWithdrawResponse', + encode(_: MsgWithdrawResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgWithdrawResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgWithdrawResponse { + const message = createBaseMsgWithdrawResponse(); + return message; + }, + fromAmino(_: MsgWithdrawResponseAmino): MsgWithdrawResponse { + const message = createBaseMsgWithdrawResponse(); + return message; + }, + toAmino(_: MsgWithdrawResponse): MsgWithdrawResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgWithdrawResponseAminoMsg): MsgWithdrawResponse { + return MsgWithdrawResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgWithdrawResponseProtoMsg): MsgWithdrawResponse { + return MsgWithdrawResponse.decode(message.value); + }, + toProto(message: MsgWithdrawResponse): Uint8Array { + return MsgWithdrawResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgWithdrawResponse): MsgWithdrawResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgWithdrawResponse', + value: MsgWithdrawResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateSpotLimitOrder(): MsgCreateSpotLimitOrder { + return { + sender: '', + order: SpotOrder.fromPartial({}), + }; +} +export const MsgCreateSpotLimitOrder = { + typeUrl: '/injective.exchange.v1beta1.MsgCreateSpotLimitOrder', + encode(message: MsgCreateSpotLimitOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.order !== undefined) { + SpotOrder.encode(message.order, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateSpotLimitOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateSpotLimitOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.order = SpotOrder.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateSpotLimitOrder { + const message = createBaseMsgCreateSpotLimitOrder(); + message.sender = object.sender ?? ''; + message.order = + object.order !== undefined && object.order !== null ? SpotOrder.fromPartial(object.order) : undefined; + return message; + }, + fromAmino(object: MsgCreateSpotLimitOrderAmino): MsgCreateSpotLimitOrder { + const message = createBaseMsgCreateSpotLimitOrder(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.order !== undefined && object.order !== null) { + message.order = SpotOrder.fromAmino(object.order); + } + return message; + }, + toAmino(message: MsgCreateSpotLimitOrder): MsgCreateSpotLimitOrderAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.order = message.order ? SpotOrder.toAmino(message.order) : undefined; + return obj; + }, + fromAminoMsg(object: MsgCreateSpotLimitOrderAminoMsg): MsgCreateSpotLimitOrder { + return MsgCreateSpotLimitOrder.fromAmino(object.value); + }, + toAminoMsg(message: MsgCreateSpotLimitOrder): MsgCreateSpotLimitOrderAminoMsg { + return { + type: 'exchange/MsgCreateSpotLimitOrder', + value: MsgCreateSpotLimitOrder.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCreateSpotLimitOrderProtoMsg): MsgCreateSpotLimitOrder { + return MsgCreateSpotLimitOrder.decode(message.value); + }, + toProto(message: MsgCreateSpotLimitOrder): Uint8Array { + return MsgCreateSpotLimitOrder.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateSpotLimitOrder): MsgCreateSpotLimitOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCreateSpotLimitOrder', + value: MsgCreateSpotLimitOrder.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateSpotLimitOrderResponse(): MsgCreateSpotLimitOrderResponse { + return { + orderHash: '', + cid: '', + }; +} +export const MsgCreateSpotLimitOrderResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgCreateSpotLimitOrderResponse', + encode(message: MsgCreateSpotLimitOrderResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.orderHash !== '') { + writer.uint32(10).string(message.orderHash); + } + if (message.cid !== '') { + writer.uint32(18).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateSpotLimitOrderResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateSpotLimitOrderResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.orderHash = reader.string(); + break; + case 2: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateSpotLimitOrderResponse { + const message = createBaseMsgCreateSpotLimitOrderResponse(); + message.orderHash = object.orderHash ?? ''; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: MsgCreateSpotLimitOrderResponseAmino): MsgCreateSpotLimitOrderResponse { + const message = createBaseMsgCreateSpotLimitOrderResponse(); + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = object.order_hash; + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: MsgCreateSpotLimitOrderResponse): MsgCreateSpotLimitOrderResponseAmino { + const obj: any = {}; + obj.order_hash = message.orderHash === '' ? undefined : message.orderHash; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: MsgCreateSpotLimitOrderResponseAminoMsg): MsgCreateSpotLimitOrderResponse { + return MsgCreateSpotLimitOrderResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgCreateSpotLimitOrderResponseProtoMsg): MsgCreateSpotLimitOrderResponse { + return MsgCreateSpotLimitOrderResponse.decode(message.value); + }, + toProto(message: MsgCreateSpotLimitOrderResponse): Uint8Array { + return MsgCreateSpotLimitOrderResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateSpotLimitOrderResponse): MsgCreateSpotLimitOrderResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCreateSpotLimitOrderResponse', + value: MsgCreateSpotLimitOrderResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgBatchCreateSpotLimitOrders(): MsgBatchCreateSpotLimitOrders { + return { + sender: '', + orders: [], + }; +} +export const MsgBatchCreateSpotLimitOrders = { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrders', + encode(message: MsgBatchCreateSpotLimitOrders, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + for (const v of message.orders) { + SpotOrder.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBatchCreateSpotLimitOrders { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBatchCreateSpotLimitOrders(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.orders.push(SpotOrder.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBatchCreateSpotLimitOrders { + const message = createBaseMsgBatchCreateSpotLimitOrders(); + message.sender = object.sender ?? ''; + message.orders = object.orders?.map((e) => SpotOrder.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgBatchCreateSpotLimitOrdersAmino): MsgBatchCreateSpotLimitOrders { + const message = createBaseMsgBatchCreateSpotLimitOrders(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + message.orders = object.orders?.map((e) => SpotOrder.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgBatchCreateSpotLimitOrders): MsgBatchCreateSpotLimitOrdersAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + if (message.orders) { + obj.orders = message.orders.map((e) => (e ? SpotOrder.toAmino(e) : undefined)); + } else { + obj.orders = message.orders; + } + return obj; + }, + fromAminoMsg(object: MsgBatchCreateSpotLimitOrdersAminoMsg): MsgBatchCreateSpotLimitOrders { + return MsgBatchCreateSpotLimitOrders.fromAmino(object.value); + }, + toAminoMsg(message: MsgBatchCreateSpotLimitOrders): MsgBatchCreateSpotLimitOrdersAminoMsg { + return { + type: 'exchange/MsgBatchCreateSpotLimitOrders', + value: MsgBatchCreateSpotLimitOrders.toAmino(message), + }; + }, + fromProtoMsg(message: MsgBatchCreateSpotLimitOrdersProtoMsg): MsgBatchCreateSpotLimitOrders { + return MsgBatchCreateSpotLimitOrders.decode(message.value); + }, + toProto(message: MsgBatchCreateSpotLimitOrders): Uint8Array { + return MsgBatchCreateSpotLimitOrders.encode(message).finish(); + }, + toProtoMsg(message: MsgBatchCreateSpotLimitOrders): MsgBatchCreateSpotLimitOrdersProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrders', + value: MsgBatchCreateSpotLimitOrders.encode(message).finish(), + }; + }, +}; +function createBaseMsgBatchCreateSpotLimitOrdersResponse(): MsgBatchCreateSpotLimitOrdersResponse { + return { + orderHashes: [], + createdOrdersCids: [], + failedOrdersCids: [], + }; +} +export const MsgBatchCreateSpotLimitOrdersResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrdersResponse', + encode(message: MsgBatchCreateSpotLimitOrdersResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.orderHashes) { + writer.uint32(10).string(v!); + } + for (const v of message.createdOrdersCids) { + writer.uint32(18).string(v!); + } + for (const v of message.failedOrdersCids) { + writer.uint32(26).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBatchCreateSpotLimitOrdersResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBatchCreateSpotLimitOrdersResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.orderHashes.push(reader.string()); + break; + case 2: + message.createdOrdersCids.push(reader.string()); + break; + case 3: + message.failedOrdersCids.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBatchCreateSpotLimitOrdersResponse { + const message = createBaseMsgBatchCreateSpotLimitOrdersResponse(); + message.orderHashes = object.orderHashes?.map((e) => e) || []; + message.createdOrdersCids = object.createdOrdersCids?.map((e) => e) || []; + message.failedOrdersCids = object.failedOrdersCids?.map((e) => e) || []; + return message; + }, + fromAmino(object: MsgBatchCreateSpotLimitOrdersResponseAmino): MsgBatchCreateSpotLimitOrdersResponse { + const message = createBaseMsgBatchCreateSpotLimitOrdersResponse(); + message.orderHashes = object.order_hashes?.map((e) => e) || []; + message.createdOrdersCids = object.created_orders_cids?.map((e) => e) || []; + message.failedOrdersCids = object.failed_orders_cids?.map((e) => e) || []; + return message; + }, + toAmino(message: MsgBatchCreateSpotLimitOrdersResponse): MsgBatchCreateSpotLimitOrdersResponseAmino { + const obj: any = {}; + if (message.orderHashes) { + obj.order_hashes = message.orderHashes.map((e) => e); + } else { + obj.order_hashes = message.orderHashes; + } + if (message.createdOrdersCids) { + obj.created_orders_cids = message.createdOrdersCids.map((e) => e); + } else { + obj.created_orders_cids = message.createdOrdersCids; + } + if (message.failedOrdersCids) { + obj.failed_orders_cids = message.failedOrdersCids.map((e) => e); + } else { + obj.failed_orders_cids = message.failedOrdersCids; + } + return obj; + }, + fromAminoMsg(object: MsgBatchCreateSpotLimitOrdersResponseAminoMsg): MsgBatchCreateSpotLimitOrdersResponse { + return MsgBatchCreateSpotLimitOrdersResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgBatchCreateSpotLimitOrdersResponseProtoMsg): MsgBatchCreateSpotLimitOrdersResponse { + return MsgBatchCreateSpotLimitOrdersResponse.decode(message.value); + }, + toProto(message: MsgBatchCreateSpotLimitOrdersResponse): Uint8Array { + return MsgBatchCreateSpotLimitOrdersResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgBatchCreateSpotLimitOrdersResponse): MsgBatchCreateSpotLimitOrdersResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrdersResponse', + value: MsgBatchCreateSpotLimitOrdersResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgInstantSpotMarketLaunch(): MsgInstantSpotMarketLaunch { + return { + sender: '', + ticker: '', + baseDenom: '', + quoteDenom: '', + minPriceTickSize: '', + minQuantityTickSize: '', + minNotional: '', + }; +} +export const MsgInstantSpotMarketLaunch = { + typeUrl: '/injective.exchange.v1beta1.MsgInstantSpotMarketLaunch', + encode(message: MsgInstantSpotMarketLaunch, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.ticker !== '') { + writer.uint32(18).string(message.ticker); + } + if (message.baseDenom !== '') { + writer.uint32(26).string(message.baseDenom); + } + if (message.quoteDenom !== '') { + writer.uint32(34).string(message.quoteDenom); + } + if (message.minPriceTickSize !== '') { + writer.uint32(42).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== '') { + writer.uint32(50).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.minNotional !== '') { + writer.uint32(58).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgInstantSpotMarketLaunch { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantSpotMarketLaunch(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.ticker = reader.string(); + break; + case 3: + message.baseDenom = reader.string(); + break; + case 4: + message.quoteDenom = reader.string(); + break; + case 5: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 6: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 7: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgInstantSpotMarketLaunch { + const message = createBaseMsgInstantSpotMarketLaunch(); + message.sender = object.sender ?? ''; + message.ticker = object.ticker ?? ''; + message.baseDenom = object.baseDenom ?? ''; + message.quoteDenom = object.quoteDenom ?? ''; + message.minPriceTickSize = object.minPriceTickSize ?? ''; + message.minQuantityTickSize = object.minQuantityTickSize ?? ''; + message.minNotional = object.minNotional ?? ''; + return message; + }, + fromAmino(object: MsgInstantSpotMarketLaunchAmino): MsgInstantSpotMarketLaunch { + const message = createBaseMsgInstantSpotMarketLaunch(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.base_denom !== undefined && object.base_denom !== null) { + message.baseDenom = object.base_denom; + } + if (object.quote_denom !== undefined && object.quote_denom !== null) { + message.quoteDenom = object.quote_denom; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + return message; + }, + toAmino(message: MsgInstantSpotMarketLaunch): MsgInstantSpotMarketLaunchAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.ticker = message.ticker === '' ? undefined : message.ticker; + obj.base_denom = message.baseDenom === '' ? undefined : message.baseDenom; + obj.quote_denom = message.quoteDenom === '' ? undefined : message.quoteDenom; + obj.min_price_tick_size = message.minPriceTickSize === '' ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === '' ? undefined : message.minQuantityTickSize; + obj.min_notional = message.minNotional === '' ? undefined : message.minNotional; + return obj; + }, + fromAminoMsg(object: MsgInstantSpotMarketLaunchAminoMsg): MsgInstantSpotMarketLaunch { + return MsgInstantSpotMarketLaunch.fromAmino(object.value); + }, + toAminoMsg(message: MsgInstantSpotMarketLaunch): MsgInstantSpotMarketLaunchAminoMsg { + return { + type: 'exchange/MsgInstantSpotMarketLaunch', + value: MsgInstantSpotMarketLaunch.toAmino(message), + }; + }, + fromProtoMsg(message: MsgInstantSpotMarketLaunchProtoMsg): MsgInstantSpotMarketLaunch { + return MsgInstantSpotMarketLaunch.decode(message.value); + }, + toProto(message: MsgInstantSpotMarketLaunch): Uint8Array { + return MsgInstantSpotMarketLaunch.encode(message).finish(); + }, + toProtoMsg(message: MsgInstantSpotMarketLaunch): MsgInstantSpotMarketLaunchProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgInstantSpotMarketLaunch', + value: MsgInstantSpotMarketLaunch.encode(message).finish(), + }; + }, +}; +function createBaseMsgInstantSpotMarketLaunchResponse(): MsgInstantSpotMarketLaunchResponse { + return {}; +} +export const MsgInstantSpotMarketLaunchResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgInstantSpotMarketLaunchResponse', + encode(_: MsgInstantSpotMarketLaunchResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgInstantSpotMarketLaunchResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantSpotMarketLaunchResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgInstantSpotMarketLaunchResponse { + const message = createBaseMsgInstantSpotMarketLaunchResponse(); + return message; + }, + fromAmino(_: MsgInstantSpotMarketLaunchResponseAmino): MsgInstantSpotMarketLaunchResponse { + const message = createBaseMsgInstantSpotMarketLaunchResponse(); + return message; + }, + toAmino(_: MsgInstantSpotMarketLaunchResponse): MsgInstantSpotMarketLaunchResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgInstantSpotMarketLaunchResponseAminoMsg): MsgInstantSpotMarketLaunchResponse { + return MsgInstantSpotMarketLaunchResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgInstantSpotMarketLaunchResponseProtoMsg): MsgInstantSpotMarketLaunchResponse { + return MsgInstantSpotMarketLaunchResponse.decode(message.value); + }, + toProto(message: MsgInstantSpotMarketLaunchResponse): Uint8Array { + return MsgInstantSpotMarketLaunchResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgInstantSpotMarketLaunchResponse): MsgInstantSpotMarketLaunchResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgInstantSpotMarketLaunchResponse', + value: MsgInstantSpotMarketLaunchResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgInstantPerpetualMarketLaunch(): MsgInstantPerpetualMarketLaunch { + return { + sender: '', + ticker: '', + quoteDenom: '', + oracleBase: '', + oracleQuote: '', + oracleScaleFactor: 0, + oracleType: 0, + makerFeeRate: '', + takerFeeRate: '', + initialMarginRatio: '', + maintenanceMarginRatio: '', + minPriceTickSize: '', + minQuantityTickSize: '', + minNotional: '', + }; +} +export const MsgInstantPerpetualMarketLaunch = { + typeUrl: '/injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunch', + encode(message: MsgInstantPerpetualMarketLaunch, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.ticker !== '') { + writer.uint32(18).string(message.ticker); + } + if (message.quoteDenom !== '') { + writer.uint32(26).string(message.quoteDenom); + } + if (message.oracleBase !== '') { + writer.uint32(34).string(message.oracleBase); + } + if (message.oracleQuote !== '') { + writer.uint32(42).string(message.oracleQuote); + } + if (message.oracleScaleFactor !== 0) { + writer.uint32(48).uint32(message.oracleScaleFactor); + } + if (message.oracleType !== 0) { + writer.uint32(56).int32(message.oracleType); + } + if (message.makerFeeRate !== '') { + writer.uint32(66).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== '') { + writer.uint32(74).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.initialMarginRatio !== '') { + writer.uint32(82).string(Decimal.fromUserInput(message.initialMarginRatio, 18).atomics); + } + if (message.maintenanceMarginRatio !== '') { + writer.uint32(90).string(Decimal.fromUserInput(message.maintenanceMarginRatio, 18).atomics); + } + if (message.minPriceTickSize !== '') { + writer.uint32(98).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== '') { + writer.uint32(106).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.minNotional !== '') { + writer.uint32(114).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgInstantPerpetualMarketLaunch { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantPerpetualMarketLaunch(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.ticker = reader.string(); + break; + case 3: + message.quoteDenom = reader.string(); + break; + case 4: + message.oracleBase = reader.string(); + break; + case 5: + message.oracleQuote = reader.string(); + break; + case 6: + message.oracleScaleFactor = reader.uint32(); + break; + case 7: + message.oracleType = reader.int32() as any; + break; + case 8: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 9: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 10: + message.initialMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 11: + message.maintenanceMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 12: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 13: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 14: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgInstantPerpetualMarketLaunch { + const message = createBaseMsgInstantPerpetualMarketLaunch(); + message.sender = object.sender ?? ''; + message.ticker = object.ticker ?? ''; + message.quoteDenom = object.quoteDenom ?? ''; + message.oracleBase = object.oracleBase ?? ''; + message.oracleQuote = object.oracleQuote ?? ''; + message.oracleScaleFactor = object.oracleScaleFactor ?? 0; + message.oracleType = object.oracleType ?? 0; + message.makerFeeRate = object.makerFeeRate ?? ''; + message.takerFeeRate = object.takerFeeRate ?? ''; + message.initialMarginRatio = object.initialMarginRatio ?? ''; + message.maintenanceMarginRatio = object.maintenanceMarginRatio ?? ''; + message.minPriceTickSize = object.minPriceTickSize ?? ''; + message.minQuantityTickSize = object.minQuantityTickSize ?? ''; + message.minNotional = object.minNotional ?? ''; + return message; + }, + fromAmino(object: MsgInstantPerpetualMarketLaunchAmino): MsgInstantPerpetualMarketLaunch { + const message = createBaseMsgInstantPerpetualMarketLaunch(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.quote_denom !== undefined && object.quote_denom !== null) { + message.quoteDenom = object.quote_denom; + } + if (object.oracle_base !== undefined && object.oracle_base !== null) { + message.oracleBase = object.oracle_base; + } + if (object.oracle_quote !== undefined && object.oracle_quote !== null) { + message.oracleQuote = object.oracle_quote; + } + if (object.oracle_scale_factor !== undefined && object.oracle_scale_factor !== null) { + message.oracleScaleFactor = object.oracle_scale_factor; + } + if (object.oracle_type !== undefined && object.oracle_type !== null) { + message.oracleType = object.oracle_type; + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.initial_margin_ratio !== undefined && object.initial_margin_ratio !== null) { + message.initialMarginRatio = object.initial_margin_ratio; + } + if (object.maintenance_margin_ratio !== undefined && object.maintenance_margin_ratio !== null) { + message.maintenanceMarginRatio = object.maintenance_margin_ratio; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + return message; + }, + toAmino(message: MsgInstantPerpetualMarketLaunch): MsgInstantPerpetualMarketLaunchAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.ticker = message.ticker === '' ? undefined : message.ticker; + obj.quote_denom = message.quoteDenom === '' ? undefined : message.quoteDenom; + obj.oracle_base = message.oracleBase === '' ? undefined : message.oracleBase; + obj.oracle_quote = message.oracleQuote === '' ? undefined : message.oracleQuote; + obj.oracle_scale_factor = message.oracleScaleFactor === 0 ? undefined : message.oracleScaleFactor; + obj.oracle_type = message.oracleType === 0 ? undefined : message.oracleType; + obj.maker_fee_rate = message.makerFeeRate === '' ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === '' ? undefined : message.takerFeeRate; + obj.initial_margin_ratio = message.initialMarginRatio === '' ? undefined : message.initialMarginRatio; + obj.maintenance_margin_ratio = message.maintenanceMarginRatio === '' ? undefined : message.maintenanceMarginRatio; + obj.min_price_tick_size = message.minPriceTickSize === '' ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === '' ? undefined : message.minQuantityTickSize; + obj.min_notional = message.minNotional === '' ? undefined : message.minNotional; + return obj; + }, + fromAminoMsg(object: MsgInstantPerpetualMarketLaunchAminoMsg): MsgInstantPerpetualMarketLaunch { + return MsgInstantPerpetualMarketLaunch.fromAmino(object.value); + }, + toAminoMsg(message: MsgInstantPerpetualMarketLaunch): MsgInstantPerpetualMarketLaunchAminoMsg { + return { + type: 'exchange/MsgInstantPerpetualMarketLaunch', + value: MsgInstantPerpetualMarketLaunch.toAmino(message), + }; + }, + fromProtoMsg(message: MsgInstantPerpetualMarketLaunchProtoMsg): MsgInstantPerpetualMarketLaunch { + return MsgInstantPerpetualMarketLaunch.decode(message.value); + }, + toProto(message: MsgInstantPerpetualMarketLaunch): Uint8Array { + return MsgInstantPerpetualMarketLaunch.encode(message).finish(); + }, + toProtoMsg(message: MsgInstantPerpetualMarketLaunch): MsgInstantPerpetualMarketLaunchProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunch', + value: MsgInstantPerpetualMarketLaunch.encode(message).finish(), + }; + }, +}; +function createBaseMsgInstantPerpetualMarketLaunchResponse(): MsgInstantPerpetualMarketLaunchResponse { + return {}; +} +export const MsgInstantPerpetualMarketLaunchResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunchResponse', + encode(_: MsgInstantPerpetualMarketLaunchResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgInstantPerpetualMarketLaunchResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantPerpetualMarketLaunchResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgInstantPerpetualMarketLaunchResponse { + const message = createBaseMsgInstantPerpetualMarketLaunchResponse(); + return message; + }, + fromAmino(_: MsgInstantPerpetualMarketLaunchResponseAmino): MsgInstantPerpetualMarketLaunchResponse { + const message = createBaseMsgInstantPerpetualMarketLaunchResponse(); + return message; + }, + toAmino(_: MsgInstantPerpetualMarketLaunchResponse): MsgInstantPerpetualMarketLaunchResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgInstantPerpetualMarketLaunchResponseAminoMsg): MsgInstantPerpetualMarketLaunchResponse { + return MsgInstantPerpetualMarketLaunchResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgInstantPerpetualMarketLaunchResponseProtoMsg): MsgInstantPerpetualMarketLaunchResponse { + return MsgInstantPerpetualMarketLaunchResponse.decode(message.value); + }, + toProto(message: MsgInstantPerpetualMarketLaunchResponse): Uint8Array { + return MsgInstantPerpetualMarketLaunchResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgInstantPerpetualMarketLaunchResponse): MsgInstantPerpetualMarketLaunchResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunchResponse', + value: MsgInstantPerpetualMarketLaunchResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgInstantBinaryOptionsMarketLaunch(): MsgInstantBinaryOptionsMarketLaunch { + return { + sender: '', + ticker: '', + oracleSymbol: '', + oracleProvider: '', + oracleType: 0, + oracleScaleFactor: 0, + makerFeeRate: '', + takerFeeRate: '', + expirationTimestamp: BigInt(0), + settlementTimestamp: BigInt(0), + admin: '', + quoteDenom: '', + minPriceTickSize: '', + minQuantityTickSize: '', + minNotional: '', + }; +} +export const MsgInstantBinaryOptionsMarketLaunch = { + typeUrl: '/injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunch', + encode(message: MsgInstantBinaryOptionsMarketLaunch, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.ticker !== '') { + writer.uint32(18).string(message.ticker); + } + if (message.oracleSymbol !== '') { + writer.uint32(26).string(message.oracleSymbol); + } + if (message.oracleProvider !== '') { + writer.uint32(34).string(message.oracleProvider); + } + if (message.oracleType !== 0) { + writer.uint32(40).int32(message.oracleType); + } + if (message.oracleScaleFactor !== 0) { + writer.uint32(48).uint32(message.oracleScaleFactor); + } + if (message.makerFeeRate !== '') { + writer.uint32(58).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== '') { + writer.uint32(66).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.expirationTimestamp !== BigInt(0)) { + writer.uint32(72).int64(message.expirationTimestamp); + } + if (message.settlementTimestamp !== BigInt(0)) { + writer.uint32(80).int64(message.settlementTimestamp); + } + if (message.admin !== '') { + writer.uint32(90).string(message.admin); + } + if (message.quoteDenom !== '') { + writer.uint32(98).string(message.quoteDenom); + } + if (message.minPriceTickSize !== '') { + writer.uint32(106).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== '') { + writer.uint32(114).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.minNotional !== '') { + writer.uint32(122).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgInstantBinaryOptionsMarketLaunch { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantBinaryOptionsMarketLaunch(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.ticker = reader.string(); + break; + case 3: + message.oracleSymbol = reader.string(); + break; + case 4: + message.oracleProvider = reader.string(); + break; + case 5: + message.oracleType = reader.int32() as any; + break; + case 6: + message.oracleScaleFactor = reader.uint32(); + break; + case 7: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 8: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 9: + message.expirationTimestamp = reader.int64(); + break; + case 10: + message.settlementTimestamp = reader.int64(); + break; + case 11: + message.admin = reader.string(); + break; + case 12: + message.quoteDenom = reader.string(); + break; + case 13: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 14: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 15: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgInstantBinaryOptionsMarketLaunch { + const message = createBaseMsgInstantBinaryOptionsMarketLaunch(); + message.sender = object.sender ?? ''; + message.ticker = object.ticker ?? ''; + message.oracleSymbol = object.oracleSymbol ?? ''; + message.oracleProvider = object.oracleProvider ?? ''; + message.oracleType = object.oracleType ?? 0; + message.oracleScaleFactor = object.oracleScaleFactor ?? 0; + message.makerFeeRate = object.makerFeeRate ?? ''; + message.takerFeeRate = object.takerFeeRate ?? ''; + message.expirationTimestamp = + object.expirationTimestamp !== undefined && object.expirationTimestamp !== null + ? BigInt(object.expirationTimestamp.toString()) + : BigInt(0); + message.settlementTimestamp = + object.settlementTimestamp !== undefined && object.settlementTimestamp !== null + ? BigInt(object.settlementTimestamp.toString()) + : BigInt(0); + message.admin = object.admin ?? ''; + message.quoteDenom = object.quoteDenom ?? ''; + message.minPriceTickSize = object.minPriceTickSize ?? ''; + message.minQuantityTickSize = object.minQuantityTickSize ?? ''; + message.minNotional = object.minNotional ?? ''; + return message; + }, + fromAmino(object: MsgInstantBinaryOptionsMarketLaunchAmino): MsgInstantBinaryOptionsMarketLaunch { + const message = createBaseMsgInstantBinaryOptionsMarketLaunch(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.oracle_symbol !== undefined && object.oracle_symbol !== null) { + message.oracleSymbol = object.oracle_symbol; + } + if (object.oracle_provider !== undefined && object.oracle_provider !== null) { + message.oracleProvider = object.oracle_provider; + } + if (object.oracle_type !== undefined && object.oracle_type !== null) { + message.oracleType = object.oracle_type; + } + if (object.oracle_scale_factor !== undefined && object.oracle_scale_factor !== null) { + message.oracleScaleFactor = object.oracle_scale_factor; + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.expiration_timestamp !== undefined && object.expiration_timestamp !== null) { + message.expirationTimestamp = BigInt(object.expiration_timestamp); + } + if (object.settlement_timestamp !== undefined && object.settlement_timestamp !== null) { + message.settlementTimestamp = BigInt(object.settlement_timestamp); + } + if (object.admin !== undefined && object.admin !== null) { + message.admin = object.admin; + } + if (object.quote_denom !== undefined && object.quote_denom !== null) { + message.quoteDenom = object.quote_denom; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + return message; + }, + toAmino(message: MsgInstantBinaryOptionsMarketLaunch): MsgInstantBinaryOptionsMarketLaunchAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.ticker = message.ticker === '' ? undefined : message.ticker; + obj.oracle_symbol = message.oracleSymbol === '' ? undefined : message.oracleSymbol; + obj.oracle_provider = message.oracleProvider === '' ? undefined : message.oracleProvider; + obj.oracle_type = message.oracleType === 0 ? undefined : message.oracleType; + obj.oracle_scale_factor = message.oracleScaleFactor === 0 ? undefined : message.oracleScaleFactor; + obj.maker_fee_rate = message.makerFeeRate === '' ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === '' ? undefined : message.takerFeeRate; + obj.expiration_timestamp = + message.expirationTimestamp !== BigInt(0) ? (message.expirationTimestamp?.toString)() : undefined; + obj.settlement_timestamp = + message.settlementTimestamp !== BigInt(0) ? (message.settlementTimestamp?.toString)() : undefined; + obj.admin = message.admin === '' ? undefined : message.admin; + obj.quote_denom = message.quoteDenom === '' ? undefined : message.quoteDenom; + obj.min_price_tick_size = message.minPriceTickSize === '' ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === '' ? undefined : message.minQuantityTickSize; + obj.min_notional = message.minNotional === '' ? undefined : message.minNotional; + return obj; + }, + fromAminoMsg(object: MsgInstantBinaryOptionsMarketLaunchAminoMsg): MsgInstantBinaryOptionsMarketLaunch { + return MsgInstantBinaryOptionsMarketLaunch.fromAmino(object.value); + }, + toAminoMsg(message: MsgInstantBinaryOptionsMarketLaunch): MsgInstantBinaryOptionsMarketLaunchAminoMsg { + return { + type: 'exchange/MsgInstantBinaryOptionsMarketLaunch', + value: MsgInstantBinaryOptionsMarketLaunch.toAmino(message), + }; + }, + fromProtoMsg(message: MsgInstantBinaryOptionsMarketLaunchProtoMsg): MsgInstantBinaryOptionsMarketLaunch { + return MsgInstantBinaryOptionsMarketLaunch.decode(message.value); + }, + toProto(message: MsgInstantBinaryOptionsMarketLaunch): Uint8Array { + return MsgInstantBinaryOptionsMarketLaunch.encode(message).finish(); + }, + toProtoMsg(message: MsgInstantBinaryOptionsMarketLaunch): MsgInstantBinaryOptionsMarketLaunchProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunch', + value: MsgInstantBinaryOptionsMarketLaunch.encode(message).finish(), + }; + }, +}; +function createBaseMsgInstantBinaryOptionsMarketLaunchResponse(): MsgInstantBinaryOptionsMarketLaunchResponse { + return {}; +} +export const MsgInstantBinaryOptionsMarketLaunchResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunchResponse', + encode(_: MsgInstantBinaryOptionsMarketLaunchResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgInstantBinaryOptionsMarketLaunchResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantBinaryOptionsMarketLaunchResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgInstantBinaryOptionsMarketLaunchResponse { + const message = createBaseMsgInstantBinaryOptionsMarketLaunchResponse(); + return message; + }, + fromAmino(_: MsgInstantBinaryOptionsMarketLaunchResponseAmino): MsgInstantBinaryOptionsMarketLaunchResponse { + const message = createBaseMsgInstantBinaryOptionsMarketLaunchResponse(); + return message; + }, + toAmino(_: MsgInstantBinaryOptionsMarketLaunchResponse): MsgInstantBinaryOptionsMarketLaunchResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg( + object: MsgInstantBinaryOptionsMarketLaunchResponseAminoMsg, + ): MsgInstantBinaryOptionsMarketLaunchResponse { + return MsgInstantBinaryOptionsMarketLaunchResponse.fromAmino(object.value); + }, + fromProtoMsg( + message: MsgInstantBinaryOptionsMarketLaunchResponseProtoMsg, + ): MsgInstantBinaryOptionsMarketLaunchResponse { + return MsgInstantBinaryOptionsMarketLaunchResponse.decode(message.value); + }, + toProto(message: MsgInstantBinaryOptionsMarketLaunchResponse): Uint8Array { + return MsgInstantBinaryOptionsMarketLaunchResponse.encode(message).finish(); + }, + toProtoMsg( + message: MsgInstantBinaryOptionsMarketLaunchResponse, + ): MsgInstantBinaryOptionsMarketLaunchResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunchResponse', + value: MsgInstantBinaryOptionsMarketLaunchResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgInstantExpiryFuturesMarketLaunch(): MsgInstantExpiryFuturesMarketLaunch { + return { + sender: '', + ticker: '', + quoteDenom: '', + oracleBase: '', + oracleQuote: '', + oracleType: 0, + oracleScaleFactor: 0, + expiry: BigInt(0), + makerFeeRate: '', + takerFeeRate: '', + initialMarginRatio: '', + maintenanceMarginRatio: '', + minPriceTickSize: '', + minQuantityTickSize: '', + minNotional: '', + }; +} +export const MsgInstantExpiryFuturesMarketLaunch = { + typeUrl: '/injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunch', + encode(message: MsgInstantExpiryFuturesMarketLaunch, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.ticker !== '') { + writer.uint32(18).string(message.ticker); + } + if (message.quoteDenom !== '') { + writer.uint32(26).string(message.quoteDenom); + } + if (message.oracleBase !== '') { + writer.uint32(34).string(message.oracleBase); + } + if (message.oracleQuote !== '') { + writer.uint32(42).string(message.oracleQuote); + } + if (message.oracleType !== 0) { + writer.uint32(48).int32(message.oracleType); + } + if (message.oracleScaleFactor !== 0) { + writer.uint32(56).uint32(message.oracleScaleFactor); + } + if (message.expiry !== BigInt(0)) { + writer.uint32(64).int64(message.expiry); + } + if (message.makerFeeRate !== '') { + writer.uint32(74).string(Decimal.fromUserInput(message.makerFeeRate, 18).atomics); + } + if (message.takerFeeRate !== '') { + writer.uint32(82).string(Decimal.fromUserInput(message.takerFeeRate, 18).atomics); + } + if (message.initialMarginRatio !== '') { + writer.uint32(90).string(Decimal.fromUserInput(message.initialMarginRatio, 18).atomics); + } + if (message.maintenanceMarginRatio !== '') { + writer.uint32(98).string(Decimal.fromUserInput(message.maintenanceMarginRatio, 18).atomics); + } + if (message.minPriceTickSize !== '') { + writer.uint32(106).string(Decimal.fromUserInput(message.minPriceTickSize, 18).atomics); + } + if (message.minQuantityTickSize !== '') { + writer.uint32(114).string(Decimal.fromUserInput(message.minQuantityTickSize, 18).atomics); + } + if (message.minNotional !== '') { + writer.uint32(122).string(Decimal.fromUserInput(message.minNotional, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgInstantExpiryFuturesMarketLaunch { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantExpiryFuturesMarketLaunch(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.ticker = reader.string(); + break; + case 3: + message.quoteDenom = reader.string(); + break; + case 4: + message.oracleBase = reader.string(); + break; + case 5: + message.oracleQuote = reader.string(); + break; + case 6: + message.oracleType = reader.int32() as any; + break; + case 7: + message.oracleScaleFactor = reader.uint32(); + break; + case 8: + message.expiry = reader.int64(); + break; + case 9: + message.makerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 10: + message.takerFeeRate = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 11: + message.initialMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 12: + message.maintenanceMarginRatio = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 13: + message.minPriceTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 14: + message.minQuantityTickSize = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 15: + message.minNotional = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgInstantExpiryFuturesMarketLaunch { + const message = createBaseMsgInstantExpiryFuturesMarketLaunch(); + message.sender = object.sender ?? ''; + message.ticker = object.ticker ?? ''; + message.quoteDenom = object.quoteDenom ?? ''; + message.oracleBase = object.oracleBase ?? ''; + message.oracleQuote = object.oracleQuote ?? ''; + message.oracleType = object.oracleType ?? 0; + message.oracleScaleFactor = object.oracleScaleFactor ?? 0; + message.expiry = + object.expiry !== undefined && object.expiry !== null ? BigInt(object.expiry.toString()) : BigInt(0); + message.makerFeeRate = object.makerFeeRate ?? ''; + message.takerFeeRate = object.takerFeeRate ?? ''; + message.initialMarginRatio = object.initialMarginRatio ?? ''; + message.maintenanceMarginRatio = object.maintenanceMarginRatio ?? ''; + message.minPriceTickSize = object.minPriceTickSize ?? ''; + message.minQuantityTickSize = object.minQuantityTickSize ?? ''; + message.minNotional = object.minNotional ?? ''; + return message; + }, + fromAmino(object: MsgInstantExpiryFuturesMarketLaunchAmino): MsgInstantExpiryFuturesMarketLaunch { + const message = createBaseMsgInstantExpiryFuturesMarketLaunch(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.ticker !== undefined && object.ticker !== null) { + message.ticker = object.ticker; + } + if (object.quote_denom !== undefined && object.quote_denom !== null) { + message.quoteDenom = object.quote_denom; + } + if (object.oracle_base !== undefined && object.oracle_base !== null) { + message.oracleBase = object.oracle_base; + } + if (object.oracle_quote !== undefined && object.oracle_quote !== null) { + message.oracleQuote = object.oracle_quote; + } + if (object.oracle_type !== undefined && object.oracle_type !== null) { + message.oracleType = object.oracle_type; + } + if (object.oracle_scale_factor !== undefined && object.oracle_scale_factor !== null) { + message.oracleScaleFactor = object.oracle_scale_factor; + } + if (object.expiry !== undefined && object.expiry !== null) { + message.expiry = BigInt(object.expiry); + } + if (object.maker_fee_rate !== undefined && object.maker_fee_rate !== null) { + message.makerFeeRate = object.maker_fee_rate; + } + if (object.taker_fee_rate !== undefined && object.taker_fee_rate !== null) { + message.takerFeeRate = object.taker_fee_rate; + } + if (object.initial_margin_ratio !== undefined && object.initial_margin_ratio !== null) { + message.initialMarginRatio = object.initial_margin_ratio; + } + if (object.maintenance_margin_ratio !== undefined && object.maintenance_margin_ratio !== null) { + message.maintenanceMarginRatio = object.maintenance_margin_ratio; + } + if (object.min_price_tick_size !== undefined && object.min_price_tick_size !== null) { + message.minPriceTickSize = object.min_price_tick_size; + } + if (object.min_quantity_tick_size !== undefined && object.min_quantity_tick_size !== null) { + message.minQuantityTickSize = object.min_quantity_tick_size; + } + if (object.min_notional !== undefined && object.min_notional !== null) { + message.minNotional = object.min_notional; + } + return message; + }, + toAmino(message: MsgInstantExpiryFuturesMarketLaunch): MsgInstantExpiryFuturesMarketLaunchAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.ticker = message.ticker === '' ? undefined : message.ticker; + obj.quote_denom = message.quoteDenom === '' ? undefined : message.quoteDenom; + obj.oracle_base = message.oracleBase === '' ? undefined : message.oracleBase; + obj.oracle_quote = message.oracleQuote === '' ? undefined : message.oracleQuote; + obj.oracle_type = message.oracleType === 0 ? undefined : message.oracleType; + obj.oracle_scale_factor = message.oracleScaleFactor === 0 ? undefined : message.oracleScaleFactor; + obj.expiry = message.expiry !== BigInt(0) ? (message.expiry?.toString)() : undefined; + obj.maker_fee_rate = message.makerFeeRate === '' ? undefined : message.makerFeeRate; + obj.taker_fee_rate = message.takerFeeRate === '' ? undefined : message.takerFeeRate; + obj.initial_margin_ratio = message.initialMarginRatio === '' ? undefined : message.initialMarginRatio; + obj.maintenance_margin_ratio = message.maintenanceMarginRatio === '' ? undefined : message.maintenanceMarginRatio; + obj.min_price_tick_size = message.minPriceTickSize === '' ? undefined : message.minPriceTickSize; + obj.min_quantity_tick_size = message.minQuantityTickSize === '' ? undefined : message.minQuantityTickSize; + obj.min_notional = message.minNotional === '' ? undefined : message.minNotional; + return obj; + }, + fromAminoMsg(object: MsgInstantExpiryFuturesMarketLaunchAminoMsg): MsgInstantExpiryFuturesMarketLaunch { + return MsgInstantExpiryFuturesMarketLaunch.fromAmino(object.value); + }, + toAminoMsg(message: MsgInstantExpiryFuturesMarketLaunch): MsgInstantExpiryFuturesMarketLaunchAminoMsg { + return { + type: 'exchange/MsgInstantExpiryFuturesMarketLaunch', + value: MsgInstantExpiryFuturesMarketLaunch.toAmino(message), + }; + }, + fromProtoMsg(message: MsgInstantExpiryFuturesMarketLaunchProtoMsg): MsgInstantExpiryFuturesMarketLaunch { + return MsgInstantExpiryFuturesMarketLaunch.decode(message.value); + }, + toProto(message: MsgInstantExpiryFuturesMarketLaunch): Uint8Array { + return MsgInstantExpiryFuturesMarketLaunch.encode(message).finish(); + }, + toProtoMsg(message: MsgInstantExpiryFuturesMarketLaunch): MsgInstantExpiryFuturesMarketLaunchProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunch', + value: MsgInstantExpiryFuturesMarketLaunch.encode(message).finish(), + }; + }, +}; +function createBaseMsgInstantExpiryFuturesMarketLaunchResponse(): MsgInstantExpiryFuturesMarketLaunchResponse { + return {}; +} +export const MsgInstantExpiryFuturesMarketLaunchResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunchResponse', + encode(_: MsgInstantExpiryFuturesMarketLaunchResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgInstantExpiryFuturesMarketLaunchResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantExpiryFuturesMarketLaunchResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgInstantExpiryFuturesMarketLaunchResponse { + const message = createBaseMsgInstantExpiryFuturesMarketLaunchResponse(); + return message; + }, + fromAmino(_: MsgInstantExpiryFuturesMarketLaunchResponseAmino): MsgInstantExpiryFuturesMarketLaunchResponse { + const message = createBaseMsgInstantExpiryFuturesMarketLaunchResponse(); + return message; + }, + toAmino(_: MsgInstantExpiryFuturesMarketLaunchResponse): MsgInstantExpiryFuturesMarketLaunchResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg( + object: MsgInstantExpiryFuturesMarketLaunchResponseAminoMsg, + ): MsgInstantExpiryFuturesMarketLaunchResponse { + return MsgInstantExpiryFuturesMarketLaunchResponse.fromAmino(object.value); + }, + fromProtoMsg( + message: MsgInstantExpiryFuturesMarketLaunchResponseProtoMsg, + ): MsgInstantExpiryFuturesMarketLaunchResponse { + return MsgInstantExpiryFuturesMarketLaunchResponse.decode(message.value); + }, + toProto(message: MsgInstantExpiryFuturesMarketLaunchResponse): Uint8Array { + return MsgInstantExpiryFuturesMarketLaunchResponse.encode(message).finish(); + }, + toProtoMsg( + message: MsgInstantExpiryFuturesMarketLaunchResponse, + ): MsgInstantExpiryFuturesMarketLaunchResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunchResponse', + value: MsgInstantExpiryFuturesMarketLaunchResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateSpotMarketOrder(): MsgCreateSpotMarketOrder { + return { + sender: '', + order: SpotOrder.fromPartial({}), + }; +} +export const MsgCreateSpotMarketOrder = { + typeUrl: '/injective.exchange.v1beta1.MsgCreateSpotMarketOrder', + encode(message: MsgCreateSpotMarketOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.order !== undefined) { + SpotOrder.encode(message.order, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateSpotMarketOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateSpotMarketOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.order = SpotOrder.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateSpotMarketOrder { + const message = createBaseMsgCreateSpotMarketOrder(); + message.sender = object.sender ?? ''; + message.order = + object.order !== undefined && object.order !== null ? SpotOrder.fromPartial(object.order) : undefined; + return message; + }, + fromAmino(object: MsgCreateSpotMarketOrderAmino): MsgCreateSpotMarketOrder { + const message = createBaseMsgCreateSpotMarketOrder(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.order !== undefined && object.order !== null) { + message.order = SpotOrder.fromAmino(object.order); + } + return message; + }, + toAmino(message: MsgCreateSpotMarketOrder): MsgCreateSpotMarketOrderAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.order = message.order ? SpotOrder.toAmino(message.order) : undefined; + return obj; + }, + fromAminoMsg(object: MsgCreateSpotMarketOrderAminoMsg): MsgCreateSpotMarketOrder { + return MsgCreateSpotMarketOrder.fromAmino(object.value); + }, + toAminoMsg(message: MsgCreateSpotMarketOrder): MsgCreateSpotMarketOrderAminoMsg { + return { + type: 'exchange/MsgCreateSpotMarketOrder', + value: MsgCreateSpotMarketOrder.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCreateSpotMarketOrderProtoMsg): MsgCreateSpotMarketOrder { + return MsgCreateSpotMarketOrder.decode(message.value); + }, + toProto(message: MsgCreateSpotMarketOrder): Uint8Array { + return MsgCreateSpotMarketOrder.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateSpotMarketOrder): MsgCreateSpotMarketOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCreateSpotMarketOrder', + value: MsgCreateSpotMarketOrder.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateSpotMarketOrderResponse(): MsgCreateSpotMarketOrderResponse { + return { + orderHash: '', + results: undefined, + cid: '', + }; +} +export const MsgCreateSpotMarketOrderResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse', + encode(message: MsgCreateSpotMarketOrderResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.orderHash !== '') { + writer.uint32(10).string(message.orderHash); + } + if (message.results !== undefined) { + SpotMarketOrderResults.encode(message.results, writer.uint32(18).fork()).ldelim(); + } + if (message.cid !== '') { + writer.uint32(26).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateSpotMarketOrderResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateSpotMarketOrderResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.orderHash = reader.string(); + break; + case 2: + message.results = SpotMarketOrderResults.decode(reader, reader.uint32()); + break; + case 3: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateSpotMarketOrderResponse { + const message = createBaseMsgCreateSpotMarketOrderResponse(); + message.orderHash = object.orderHash ?? ''; + message.results = + object.results !== undefined && object.results !== null + ? SpotMarketOrderResults.fromPartial(object.results) + : undefined; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: MsgCreateSpotMarketOrderResponseAmino): MsgCreateSpotMarketOrderResponse { + const message = createBaseMsgCreateSpotMarketOrderResponse(); + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = object.order_hash; + } + if (object.results !== undefined && object.results !== null) { + message.results = SpotMarketOrderResults.fromAmino(object.results); + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: MsgCreateSpotMarketOrderResponse): MsgCreateSpotMarketOrderResponseAmino { + const obj: any = {}; + obj.order_hash = message.orderHash === '' ? undefined : message.orderHash; + obj.results = message.results ? SpotMarketOrderResults.toAmino(message.results) : undefined; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: MsgCreateSpotMarketOrderResponseAminoMsg): MsgCreateSpotMarketOrderResponse { + return MsgCreateSpotMarketOrderResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgCreateSpotMarketOrderResponseProtoMsg): MsgCreateSpotMarketOrderResponse { + return MsgCreateSpotMarketOrderResponse.decode(message.value); + }, + toProto(message: MsgCreateSpotMarketOrderResponse): Uint8Array { + return MsgCreateSpotMarketOrderResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateSpotMarketOrderResponse): MsgCreateSpotMarketOrderResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse', + value: MsgCreateSpotMarketOrderResponse.encode(message).finish(), + }; + }, +}; +function createBaseSpotMarketOrderResults(): SpotMarketOrderResults { + return { + quantity: '', + price: '', + fee: '', + }; +} +export const SpotMarketOrderResults = { + typeUrl: '/injective.exchange.v1beta1.SpotMarketOrderResults', + encode(message: SpotMarketOrderResults, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.quantity !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.quantity, 18).atomics); + } + if (message.price !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.price, 18).atomics); + } + if (message.fee !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.fee, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SpotMarketOrderResults { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSpotMarketOrderResults(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.quantity = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.price = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.fee = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SpotMarketOrderResults { + const message = createBaseSpotMarketOrderResults(); + message.quantity = object.quantity ?? ''; + message.price = object.price ?? ''; + message.fee = object.fee ?? ''; + return message; + }, + fromAmino(object: SpotMarketOrderResultsAmino): SpotMarketOrderResults { + const message = createBaseSpotMarketOrderResults(); + if (object.quantity !== undefined && object.quantity !== null) { + message.quantity = object.quantity; + } + if (object.price !== undefined && object.price !== null) { + message.price = object.price; + } + if (object.fee !== undefined && object.fee !== null) { + message.fee = object.fee; + } + return message; + }, + toAmino(message: SpotMarketOrderResults): SpotMarketOrderResultsAmino { + const obj: any = {}; + obj.quantity = message.quantity === '' ? undefined : message.quantity; + obj.price = message.price === '' ? undefined : message.price; + obj.fee = message.fee === '' ? undefined : message.fee; + return obj; + }, + fromAminoMsg(object: SpotMarketOrderResultsAminoMsg): SpotMarketOrderResults { + return SpotMarketOrderResults.fromAmino(object.value); + }, + fromProtoMsg(message: SpotMarketOrderResultsProtoMsg): SpotMarketOrderResults { + return SpotMarketOrderResults.decode(message.value); + }, + toProto(message: SpotMarketOrderResults): Uint8Array { + return SpotMarketOrderResults.encode(message).finish(); + }, + toProtoMsg(message: SpotMarketOrderResults): SpotMarketOrderResultsProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.SpotMarketOrderResults', + value: SpotMarketOrderResults.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateDerivativeLimitOrder(): MsgCreateDerivativeLimitOrder { + return { + sender: '', + order: DerivativeOrder.fromPartial({}), + }; +} +export const MsgCreateDerivativeLimitOrder = { + typeUrl: '/injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder', + encode(message: MsgCreateDerivativeLimitOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.order !== undefined) { + DerivativeOrder.encode(message.order, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateDerivativeLimitOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateDerivativeLimitOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.order = DerivativeOrder.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateDerivativeLimitOrder { + const message = createBaseMsgCreateDerivativeLimitOrder(); + message.sender = object.sender ?? ''; + message.order = + object.order !== undefined && object.order !== null ? DerivativeOrder.fromPartial(object.order) : undefined; + return message; + }, + fromAmino(object: MsgCreateDerivativeLimitOrderAmino): MsgCreateDerivativeLimitOrder { + const message = createBaseMsgCreateDerivativeLimitOrder(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.order !== undefined && object.order !== null) { + message.order = DerivativeOrder.fromAmino(object.order); + } + return message; + }, + toAmino(message: MsgCreateDerivativeLimitOrder): MsgCreateDerivativeLimitOrderAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.order = message.order ? DerivativeOrder.toAmino(message.order) : undefined; + return obj; + }, + fromAminoMsg(object: MsgCreateDerivativeLimitOrderAminoMsg): MsgCreateDerivativeLimitOrder { + return MsgCreateDerivativeLimitOrder.fromAmino(object.value); + }, + toAminoMsg(message: MsgCreateDerivativeLimitOrder): MsgCreateDerivativeLimitOrderAminoMsg { + return { + type: 'exchange/MsgCreateDerivativeLimitOrder', + value: MsgCreateDerivativeLimitOrder.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCreateDerivativeLimitOrderProtoMsg): MsgCreateDerivativeLimitOrder { + return MsgCreateDerivativeLimitOrder.decode(message.value); + }, + toProto(message: MsgCreateDerivativeLimitOrder): Uint8Array { + return MsgCreateDerivativeLimitOrder.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateDerivativeLimitOrder): MsgCreateDerivativeLimitOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder', + value: MsgCreateDerivativeLimitOrder.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateDerivativeLimitOrderResponse(): MsgCreateDerivativeLimitOrderResponse { + return { + orderHash: '', + cid: '', + }; +} +export const MsgCreateDerivativeLimitOrderResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgCreateDerivativeLimitOrderResponse', + encode(message: MsgCreateDerivativeLimitOrderResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.orderHash !== '') { + writer.uint32(10).string(message.orderHash); + } + if (message.cid !== '') { + writer.uint32(18).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateDerivativeLimitOrderResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateDerivativeLimitOrderResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.orderHash = reader.string(); + break; + case 2: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateDerivativeLimitOrderResponse { + const message = createBaseMsgCreateDerivativeLimitOrderResponse(); + message.orderHash = object.orderHash ?? ''; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: MsgCreateDerivativeLimitOrderResponseAmino): MsgCreateDerivativeLimitOrderResponse { + const message = createBaseMsgCreateDerivativeLimitOrderResponse(); + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = object.order_hash; + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: MsgCreateDerivativeLimitOrderResponse): MsgCreateDerivativeLimitOrderResponseAmino { + const obj: any = {}; + obj.order_hash = message.orderHash === '' ? undefined : message.orderHash; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: MsgCreateDerivativeLimitOrderResponseAminoMsg): MsgCreateDerivativeLimitOrderResponse { + return MsgCreateDerivativeLimitOrderResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgCreateDerivativeLimitOrderResponseProtoMsg): MsgCreateDerivativeLimitOrderResponse { + return MsgCreateDerivativeLimitOrderResponse.decode(message.value); + }, + toProto(message: MsgCreateDerivativeLimitOrderResponse): Uint8Array { + return MsgCreateDerivativeLimitOrderResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateDerivativeLimitOrderResponse): MsgCreateDerivativeLimitOrderResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCreateDerivativeLimitOrderResponse', + value: MsgCreateDerivativeLimitOrderResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateBinaryOptionsLimitOrder(): MsgCreateBinaryOptionsLimitOrder { + return { + sender: '', + order: DerivativeOrder.fromPartial({}), + }; +} +export const MsgCreateBinaryOptionsLimitOrder = { + typeUrl: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder', + encode(message: MsgCreateBinaryOptionsLimitOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.order !== undefined) { + DerivativeOrder.encode(message.order, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateBinaryOptionsLimitOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateBinaryOptionsLimitOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.order = DerivativeOrder.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateBinaryOptionsLimitOrder { + const message = createBaseMsgCreateBinaryOptionsLimitOrder(); + message.sender = object.sender ?? ''; + message.order = + object.order !== undefined && object.order !== null ? DerivativeOrder.fromPartial(object.order) : undefined; + return message; + }, + fromAmino(object: MsgCreateBinaryOptionsLimitOrderAmino): MsgCreateBinaryOptionsLimitOrder { + const message = createBaseMsgCreateBinaryOptionsLimitOrder(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.order !== undefined && object.order !== null) { + message.order = DerivativeOrder.fromAmino(object.order); + } + return message; + }, + toAmino(message: MsgCreateBinaryOptionsLimitOrder): MsgCreateBinaryOptionsLimitOrderAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.order = message.order ? DerivativeOrder.toAmino(message.order) : undefined; + return obj; + }, + fromAminoMsg(object: MsgCreateBinaryOptionsLimitOrderAminoMsg): MsgCreateBinaryOptionsLimitOrder { + return MsgCreateBinaryOptionsLimitOrder.fromAmino(object.value); + }, + toAminoMsg(message: MsgCreateBinaryOptionsLimitOrder): MsgCreateBinaryOptionsLimitOrderAminoMsg { + return { + type: 'exchange/MsgCreateBinaryOptionsLimitOrder', + value: MsgCreateBinaryOptionsLimitOrder.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCreateBinaryOptionsLimitOrderProtoMsg): MsgCreateBinaryOptionsLimitOrder { + return MsgCreateBinaryOptionsLimitOrder.decode(message.value); + }, + toProto(message: MsgCreateBinaryOptionsLimitOrder): Uint8Array { + return MsgCreateBinaryOptionsLimitOrder.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateBinaryOptionsLimitOrder): MsgCreateBinaryOptionsLimitOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder', + value: MsgCreateBinaryOptionsLimitOrder.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateBinaryOptionsLimitOrderResponse(): MsgCreateBinaryOptionsLimitOrderResponse { + return { + orderHash: '', + cid: '', + }; +} +export const MsgCreateBinaryOptionsLimitOrderResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrderResponse', + encode( + message: MsgCreateBinaryOptionsLimitOrderResponse, + writer: BinaryWriter = BinaryWriter.create(), + ): BinaryWriter { + if (message.orderHash !== '') { + writer.uint32(10).string(message.orderHash); + } + if (message.cid !== '') { + writer.uint32(18).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateBinaryOptionsLimitOrderResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateBinaryOptionsLimitOrderResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.orderHash = reader.string(); + break; + case 2: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateBinaryOptionsLimitOrderResponse { + const message = createBaseMsgCreateBinaryOptionsLimitOrderResponse(); + message.orderHash = object.orderHash ?? ''; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: MsgCreateBinaryOptionsLimitOrderResponseAmino): MsgCreateBinaryOptionsLimitOrderResponse { + const message = createBaseMsgCreateBinaryOptionsLimitOrderResponse(); + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = object.order_hash; + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: MsgCreateBinaryOptionsLimitOrderResponse): MsgCreateBinaryOptionsLimitOrderResponseAmino { + const obj: any = {}; + obj.order_hash = message.orderHash === '' ? undefined : message.orderHash; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: MsgCreateBinaryOptionsLimitOrderResponseAminoMsg): MsgCreateBinaryOptionsLimitOrderResponse { + return MsgCreateBinaryOptionsLimitOrderResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgCreateBinaryOptionsLimitOrderResponseProtoMsg): MsgCreateBinaryOptionsLimitOrderResponse { + return MsgCreateBinaryOptionsLimitOrderResponse.decode(message.value); + }, + toProto(message: MsgCreateBinaryOptionsLimitOrderResponse): Uint8Array { + return MsgCreateBinaryOptionsLimitOrderResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateBinaryOptionsLimitOrderResponse): MsgCreateBinaryOptionsLimitOrderResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrderResponse', + value: MsgCreateBinaryOptionsLimitOrderResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgBatchCreateDerivativeLimitOrders(): MsgBatchCreateDerivativeLimitOrders { + return { + sender: '', + orders: [], + }; +} +export const MsgBatchCreateDerivativeLimitOrders = { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrders', + encode(message: MsgBatchCreateDerivativeLimitOrders, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + for (const v of message.orders) { + DerivativeOrder.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBatchCreateDerivativeLimitOrders { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBatchCreateDerivativeLimitOrders(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.orders.push(DerivativeOrder.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBatchCreateDerivativeLimitOrders { + const message = createBaseMsgBatchCreateDerivativeLimitOrders(); + message.sender = object.sender ?? ''; + message.orders = object.orders?.map((e) => DerivativeOrder.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgBatchCreateDerivativeLimitOrdersAmino): MsgBatchCreateDerivativeLimitOrders { + const message = createBaseMsgBatchCreateDerivativeLimitOrders(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + message.orders = object.orders?.map((e) => DerivativeOrder.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgBatchCreateDerivativeLimitOrders): MsgBatchCreateDerivativeLimitOrdersAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + if (message.orders) { + obj.orders = message.orders.map((e) => (e ? DerivativeOrder.toAmino(e) : undefined)); + } else { + obj.orders = message.orders; + } + return obj; + }, + fromAminoMsg(object: MsgBatchCreateDerivativeLimitOrdersAminoMsg): MsgBatchCreateDerivativeLimitOrders { + return MsgBatchCreateDerivativeLimitOrders.fromAmino(object.value); + }, + toAminoMsg(message: MsgBatchCreateDerivativeLimitOrders): MsgBatchCreateDerivativeLimitOrdersAminoMsg { + return { + type: 'exchange/MsgBatchCreateDerivativeLimitOrders', + value: MsgBatchCreateDerivativeLimitOrders.toAmino(message), + }; + }, + fromProtoMsg(message: MsgBatchCreateDerivativeLimitOrdersProtoMsg): MsgBatchCreateDerivativeLimitOrders { + return MsgBatchCreateDerivativeLimitOrders.decode(message.value); + }, + toProto(message: MsgBatchCreateDerivativeLimitOrders): Uint8Array { + return MsgBatchCreateDerivativeLimitOrders.encode(message).finish(); + }, + toProtoMsg(message: MsgBatchCreateDerivativeLimitOrders): MsgBatchCreateDerivativeLimitOrdersProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrders', + value: MsgBatchCreateDerivativeLimitOrders.encode(message).finish(), + }; + }, +}; +function createBaseMsgBatchCreateDerivativeLimitOrdersResponse(): MsgBatchCreateDerivativeLimitOrdersResponse { + return { + orderHashes: [], + createdOrdersCids: [], + failedOrdersCids: [], + }; +} +export const MsgBatchCreateDerivativeLimitOrdersResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrdersResponse', + encode( + message: MsgBatchCreateDerivativeLimitOrdersResponse, + writer: BinaryWriter = BinaryWriter.create(), + ): BinaryWriter { + for (const v of message.orderHashes) { + writer.uint32(10).string(v!); + } + for (const v of message.createdOrdersCids) { + writer.uint32(18).string(v!); + } + for (const v of message.failedOrdersCids) { + writer.uint32(26).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBatchCreateDerivativeLimitOrdersResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBatchCreateDerivativeLimitOrdersResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.orderHashes.push(reader.string()); + break; + case 2: + message.createdOrdersCids.push(reader.string()); + break; + case 3: + message.failedOrdersCids.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial( + object: Partial, + ): MsgBatchCreateDerivativeLimitOrdersResponse { + const message = createBaseMsgBatchCreateDerivativeLimitOrdersResponse(); + message.orderHashes = object.orderHashes?.map((e) => e) || []; + message.createdOrdersCids = object.createdOrdersCids?.map((e) => e) || []; + message.failedOrdersCids = object.failedOrdersCids?.map((e) => e) || []; + return message; + }, + fromAmino(object: MsgBatchCreateDerivativeLimitOrdersResponseAmino): MsgBatchCreateDerivativeLimitOrdersResponse { + const message = createBaseMsgBatchCreateDerivativeLimitOrdersResponse(); + message.orderHashes = object.order_hashes?.map((e) => e) || []; + message.createdOrdersCids = object.created_orders_cids?.map((e) => e) || []; + message.failedOrdersCids = object.failed_orders_cids?.map((e) => e) || []; + return message; + }, + toAmino(message: MsgBatchCreateDerivativeLimitOrdersResponse): MsgBatchCreateDerivativeLimitOrdersResponseAmino { + const obj: any = {}; + if (message.orderHashes) { + obj.order_hashes = message.orderHashes.map((e) => e); + } else { + obj.order_hashes = message.orderHashes; + } + if (message.createdOrdersCids) { + obj.created_orders_cids = message.createdOrdersCids.map((e) => e); + } else { + obj.created_orders_cids = message.createdOrdersCids; + } + if (message.failedOrdersCids) { + obj.failed_orders_cids = message.failedOrdersCids.map((e) => e); + } else { + obj.failed_orders_cids = message.failedOrdersCids; + } + return obj; + }, + fromAminoMsg( + object: MsgBatchCreateDerivativeLimitOrdersResponseAminoMsg, + ): MsgBatchCreateDerivativeLimitOrdersResponse { + return MsgBatchCreateDerivativeLimitOrdersResponse.fromAmino(object.value); + }, + fromProtoMsg( + message: MsgBatchCreateDerivativeLimitOrdersResponseProtoMsg, + ): MsgBatchCreateDerivativeLimitOrdersResponse { + return MsgBatchCreateDerivativeLimitOrdersResponse.decode(message.value); + }, + toProto(message: MsgBatchCreateDerivativeLimitOrdersResponse): Uint8Array { + return MsgBatchCreateDerivativeLimitOrdersResponse.encode(message).finish(); + }, + toProtoMsg( + message: MsgBatchCreateDerivativeLimitOrdersResponse, + ): MsgBatchCreateDerivativeLimitOrdersResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrdersResponse', + value: MsgBatchCreateDerivativeLimitOrdersResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgCancelSpotOrder(): MsgCancelSpotOrder { + return { + sender: '', + marketId: '', + subaccountId: '', + orderHash: '', + cid: '', + }; +} +export const MsgCancelSpotOrder = { + typeUrl: '/injective.exchange.v1beta1.MsgCancelSpotOrder', + encode(message: MsgCancelSpotOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.marketId !== '') { + writer.uint32(18).string(message.marketId); + } + if (message.subaccountId !== '') { + writer.uint32(26).string(message.subaccountId); + } + if (message.orderHash !== '') { + writer.uint32(34).string(message.orderHash); + } + if (message.cid !== '') { + writer.uint32(42).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelSpotOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCancelSpotOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.marketId = reader.string(); + break; + case 3: + message.subaccountId = reader.string(); + break; + case 4: + message.orderHash = reader.string(); + break; + case 5: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCancelSpotOrder { + const message = createBaseMsgCancelSpotOrder(); + message.sender = object.sender ?? ''; + message.marketId = object.marketId ?? ''; + message.subaccountId = object.subaccountId ?? ''; + message.orderHash = object.orderHash ?? ''; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: MsgCancelSpotOrderAmino): MsgCancelSpotOrder { + const message = createBaseMsgCancelSpotOrder(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = object.subaccount_id; + } + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = object.order_hash; + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: MsgCancelSpotOrder): MsgCancelSpotOrderAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.subaccount_id = message.subaccountId === '' ? undefined : message.subaccountId; + obj.order_hash = message.orderHash === '' ? undefined : message.orderHash; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: MsgCancelSpotOrderAminoMsg): MsgCancelSpotOrder { + return MsgCancelSpotOrder.fromAmino(object.value); + }, + toAminoMsg(message: MsgCancelSpotOrder): MsgCancelSpotOrderAminoMsg { + return { + type: 'exchange/MsgCancelSpotOrder', + value: MsgCancelSpotOrder.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCancelSpotOrderProtoMsg): MsgCancelSpotOrder { + return MsgCancelSpotOrder.decode(message.value); + }, + toProto(message: MsgCancelSpotOrder): Uint8Array { + return MsgCancelSpotOrder.encode(message).finish(); + }, + toProtoMsg(message: MsgCancelSpotOrder): MsgCancelSpotOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCancelSpotOrder', + value: MsgCancelSpotOrder.encode(message).finish(), + }; + }, +}; +function createBaseMsgCancelSpotOrderResponse(): MsgCancelSpotOrderResponse { + return {}; +} +export const MsgCancelSpotOrderResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgCancelSpotOrderResponse', + encode(_: MsgCancelSpotOrderResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelSpotOrderResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCancelSpotOrderResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgCancelSpotOrderResponse { + const message = createBaseMsgCancelSpotOrderResponse(); + return message; + }, + fromAmino(_: MsgCancelSpotOrderResponseAmino): MsgCancelSpotOrderResponse { + const message = createBaseMsgCancelSpotOrderResponse(); + return message; + }, + toAmino(_: MsgCancelSpotOrderResponse): MsgCancelSpotOrderResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgCancelSpotOrderResponseAminoMsg): MsgCancelSpotOrderResponse { + return MsgCancelSpotOrderResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgCancelSpotOrderResponseProtoMsg): MsgCancelSpotOrderResponse { + return MsgCancelSpotOrderResponse.decode(message.value); + }, + toProto(message: MsgCancelSpotOrderResponse): Uint8Array { + return MsgCancelSpotOrderResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCancelSpotOrderResponse): MsgCancelSpotOrderResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCancelSpotOrderResponse', + value: MsgCancelSpotOrderResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgBatchCancelSpotOrders(): MsgBatchCancelSpotOrders { + return { + sender: '', + data: [], + }; +} +export const MsgBatchCancelSpotOrders = { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelSpotOrders', + encode(message: MsgBatchCancelSpotOrders, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + for (const v of message.data) { + OrderData.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBatchCancelSpotOrders { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBatchCancelSpotOrders(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.data.push(OrderData.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBatchCancelSpotOrders { + const message = createBaseMsgBatchCancelSpotOrders(); + message.sender = object.sender ?? ''; + message.data = object.data?.map((e) => OrderData.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgBatchCancelSpotOrdersAmino): MsgBatchCancelSpotOrders { + const message = createBaseMsgBatchCancelSpotOrders(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + message.data = object.data?.map((e) => OrderData.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgBatchCancelSpotOrders): MsgBatchCancelSpotOrdersAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + if (message.data) { + obj.data = message.data.map((e) => (e ? OrderData.toAmino(e) : undefined)); + } else { + obj.data = message.data; + } + return obj; + }, + fromAminoMsg(object: MsgBatchCancelSpotOrdersAminoMsg): MsgBatchCancelSpotOrders { + return MsgBatchCancelSpotOrders.fromAmino(object.value); + }, + toAminoMsg(message: MsgBatchCancelSpotOrders): MsgBatchCancelSpotOrdersAminoMsg { + return { + type: 'exchange/MsgBatchCancelSpotOrders', + value: MsgBatchCancelSpotOrders.toAmino(message), + }; + }, + fromProtoMsg(message: MsgBatchCancelSpotOrdersProtoMsg): MsgBatchCancelSpotOrders { + return MsgBatchCancelSpotOrders.decode(message.value); + }, + toProto(message: MsgBatchCancelSpotOrders): Uint8Array { + return MsgBatchCancelSpotOrders.encode(message).finish(); + }, + toProtoMsg(message: MsgBatchCancelSpotOrders): MsgBatchCancelSpotOrdersProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelSpotOrders', + value: MsgBatchCancelSpotOrders.encode(message).finish(), + }; + }, +}; +function createBaseMsgBatchCancelSpotOrdersResponse(): MsgBatchCancelSpotOrdersResponse { + return { + success: [], + }; +} +export const MsgBatchCancelSpotOrdersResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelSpotOrdersResponse', + encode(message: MsgBatchCancelSpotOrdersResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + writer.uint32(10).fork(); + for (const v of message.success) { + writer.bool(v); + } + writer.ldelim(); + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBatchCancelSpotOrdersResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBatchCancelSpotOrdersResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.success.push(reader.bool()); + } + } else { + message.success.push(reader.bool()); + } + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBatchCancelSpotOrdersResponse { + const message = createBaseMsgBatchCancelSpotOrdersResponse(); + message.success = object.success?.map((e) => e) || []; + return message; + }, + fromAmino(object: MsgBatchCancelSpotOrdersResponseAmino): MsgBatchCancelSpotOrdersResponse { + const message = createBaseMsgBatchCancelSpotOrdersResponse(); + message.success = object.success?.map((e) => e) || []; + return message; + }, + toAmino(message: MsgBatchCancelSpotOrdersResponse): MsgBatchCancelSpotOrdersResponseAmino { + const obj: any = {}; + if (message.success) { + obj.success = message.success.map((e) => e); + } else { + obj.success = message.success; + } + return obj; + }, + fromAminoMsg(object: MsgBatchCancelSpotOrdersResponseAminoMsg): MsgBatchCancelSpotOrdersResponse { + return MsgBatchCancelSpotOrdersResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgBatchCancelSpotOrdersResponseProtoMsg): MsgBatchCancelSpotOrdersResponse { + return MsgBatchCancelSpotOrdersResponse.decode(message.value); + }, + toProto(message: MsgBatchCancelSpotOrdersResponse): Uint8Array { + return MsgBatchCancelSpotOrdersResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgBatchCancelSpotOrdersResponse): MsgBatchCancelSpotOrdersResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelSpotOrdersResponse', + value: MsgBatchCancelSpotOrdersResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgBatchCancelBinaryOptionsOrders(): MsgBatchCancelBinaryOptionsOrders { + return { + sender: '', + data: [], + }; +} +export const MsgBatchCancelBinaryOptionsOrders = { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrders', + encode(message: MsgBatchCancelBinaryOptionsOrders, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + for (const v of message.data) { + OrderData.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBatchCancelBinaryOptionsOrders { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBatchCancelBinaryOptionsOrders(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.data.push(OrderData.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBatchCancelBinaryOptionsOrders { + const message = createBaseMsgBatchCancelBinaryOptionsOrders(); + message.sender = object.sender ?? ''; + message.data = object.data?.map((e) => OrderData.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgBatchCancelBinaryOptionsOrdersAmino): MsgBatchCancelBinaryOptionsOrders { + const message = createBaseMsgBatchCancelBinaryOptionsOrders(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + message.data = object.data?.map((e) => OrderData.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgBatchCancelBinaryOptionsOrders): MsgBatchCancelBinaryOptionsOrdersAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + if (message.data) { + obj.data = message.data.map((e) => (e ? OrderData.toAmino(e) : undefined)); + } else { + obj.data = message.data; + } + return obj; + }, + fromAminoMsg(object: MsgBatchCancelBinaryOptionsOrdersAminoMsg): MsgBatchCancelBinaryOptionsOrders { + return MsgBatchCancelBinaryOptionsOrders.fromAmino(object.value); + }, + toAminoMsg(message: MsgBatchCancelBinaryOptionsOrders): MsgBatchCancelBinaryOptionsOrdersAminoMsg { + return { + type: 'exchange/MsgBatchCancelBinaryOptionsOrders', + value: MsgBatchCancelBinaryOptionsOrders.toAmino(message), + }; + }, + fromProtoMsg(message: MsgBatchCancelBinaryOptionsOrdersProtoMsg): MsgBatchCancelBinaryOptionsOrders { + return MsgBatchCancelBinaryOptionsOrders.decode(message.value); + }, + toProto(message: MsgBatchCancelBinaryOptionsOrders): Uint8Array { + return MsgBatchCancelBinaryOptionsOrders.encode(message).finish(); + }, + toProtoMsg(message: MsgBatchCancelBinaryOptionsOrders): MsgBatchCancelBinaryOptionsOrdersProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrders', + value: MsgBatchCancelBinaryOptionsOrders.encode(message).finish(), + }; + }, +}; +function createBaseMsgBatchCancelBinaryOptionsOrdersResponse(): MsgBatchCancelBinaryOptionsOrdersResponse { + return { + success: [], + }; +} +export const MsgBatchCancelBinaryOptionsOrdersResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrdersResponse', + encode( + message: MsgBatchCancelBinaryOptionsOrdersResponse, + writer: BinaryWriter = BinaryWriter.create(), + ): BinaryWriter { + writer.uint32(10).fork(); + for (const v of message.success) { + writer.bool(v); + } + writer.ldelim(); + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBatchCancelBinaryOptionsOrdersResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBatchCancelBinaryOptionsOrdersResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.success.push(reader.bool()); + } + } else { + message.success.push(reader.bool()); + } + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBatchCancelBinaryOptionsOrdersResponse { + const message = createBaseMsgBatchCancelBinaryOptionsOrdersResponse(); + message.success = object.success?.map((e) => e) || []; + return message; + }, + fromAmino(object: MsgBatchCancelBinaryOptionsOrdersResponseAmino): MsgBatchCancelBinaryOptionsOrdersResponse { + const message = createBaseMsgBatchCancelBinaryOptionsOrdersResponse(); + message.success = object.success?.map((e) => e) || []; + return message; + }, + toAmino(message: MsgBatchCancelBinaryOptionsOrdersResponse): MsgBatchCancelBinaryOptionsOrdersResponseAmino { + const obj: any = {}; + if (message.success) { + obj.success = message.success.map((e) => e); + } else { + obj.success = message.success; + } + return obj; + }, + fromAminoMsg(object: MsgBatchCancelBinaryOptionsOrdersResponseAminoMsg): MsgBatchCancelBinaryOptionsOrdersResponse { + return MsgBatchCancelBinaryOptionsOrdersResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgBatchCancelBinaryOptionsOrdersResponseProtoMsg): MsgBatchCancelBinaryOptionsOrdersResponse { + return MsgBatchCancelBinaryOptionsOrdersResponse.decode(message.value); + }, + toProto(message: MsgBatchCancelBinaryOptionsOrdersResponse): Uint8Array { + return MsgBatchCancelBinaryOptionsOrdersResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgBatchCancelBinaryOptionsOrdersResponse): MsgBatchCancelBinaryOptionsOrdersResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrdersResponse', + value: MsgBatchCancelBinaryOptionsOrdersResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgBatchUpdateOrders(): MsgBatchUpdateOrders { + return { + sender: '', + subaccountId: '', + spotMarketIdsToCancelAll: [], + derivativeMarketIdsToCancelAll: [], + spotOrdersToCancel: [], + derivativeOrdersToCancel: [], + spotOrdersToCreate: [], + derivativeOrdersToCreate: [], + binaryOptionsOrdersToCancel: [], + binaryOptionsMarketIdsToCancelAll: [], + binaryOptionsOrdersToCreate: [], + }; +} +export const MsgBatchUpdateOrders = { + typeUrl: '/injective.exchange.v1beta1.MsgBatchUpdateOrders', + encode(message: MsgBatchUpdateOrders, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.subaccountId !== '') { + writer.uint32(18).string(message.subaccountId); + } + for (const v of message.spotMarketIdsToCancelAll) { + writer.uint32(26).string(v!); + } + for (const v of message.derivativeMarketIdsToCancelAll) { + writer.uint32(34).string(v!); + } + for (const v of message.spotOrdersToCancel) { + OrderData.encode(v!, writer.uint32(42).fork()).ldelim(); + } + for (const v of message.derivativeOrdersToCancel) { + OrderData.encode(v!, writer.uint32(50).fork()).ldelim(); + } + for (const v of message.spotOrdersToCreate) { + SpotOrder.encode(v!, writer.uint32(58).fork()).ldelim(); + } + for (const v of message.derivativeOrdersToCreate) { + DerivativeOrder.encode(v!, writer.uint32(66).fork()).ldelim(); + } + for (const v of message.binaryOptionsOrdersToCancel) { + OrderData.encode(v!, writer.uint32(74).fork()).ldelim(); + } + for (const v of message.binaryOptionsMarketIdsToCancelAll) { + writer.uint32(82).string(v!); + } + for (const v of message.binaryOptionsOrdersToCreate) { + DerivativeOrder.encode(v!, writer.uint32(90).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBatchUpdateOrders { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBatchUpdateOrders(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.subaccountId = reader.string(); + break; + case 3: + message.spotMarketIdsToCancelAll.push(reader.string()); + break; + case 4: + message.derivativeMarketIdsToCancelAll.push(reader.string()); + break; + case 5: + message.spotOrdersToCancel.push(OrderData.decode(reader, reader.uint32())); + break; + case 6: + message.derivativeOrdersToCancel.push(OrderData.decode(reader, reader.uint32())); + break; + case 7: + message.spotOrdersToCreate.push(SpotOrder.decode(reader, reader.uint32())); + break; + case 8: + message.derivativeOrdersToCreate.push(DerivativeOrder.decode(reader, reader.uint32())); + break; + case 9: + message.binaryOptionsOrdersToCancel.push(OrderData.decode(reader, reader.uint32())); + break; + case 10: + message.binaryOptionsMarketIdsToCancelAll.push(reader.string()); + break; + case 11: + message.binaryOptionsOrdersToCreate.push(DerivativeOrder.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBatchUpdateOrders { + const message = createBaseMsgBatchUpdateOrders(); + message.sender = object.sender ?? ''; + message.subaccountId = object.subaccountId ?? ''; + message.spotMarketIdsToCancelAll = object.spotMarketIdsToCancelAll?.map((e) => e) || []; + message.derivativeMarketIdsToCancelAll = object.derivativeMarketIdsToCancelAll?.map((e) => e) || []; + message.spotOrdersToCancel = object.spotOrdersToCancel?.map((e) => OrderData.fromPartial(e)) || []; + message.derivativeOrdersToCancel = object.derivativeOrdersToCancel?.map((e) => OrderData.fromPartial(e)) || []; + message.spotOrdersToCreate = object.spotOrdersToCreate?.map((e) => SpotOrder.fromPartial(e)) || []; + message.derivativeOrdersToCreate = + object.derivativeOrdersToCreate?.map((e) => DerivativeOrder.fromPartial(e)) || []; + message.binaryOptionsOrdersToCancel = + object.binaryOptionsOrdersToCancel?.map((e) => OrderData.fromPartial(e)) || []; + message.binaryOptionsMarketIdsToCancelAll = object.binaryOptionsMarketIdsToCancelAll?.map((e) => e) || []; + message.binaryOptionsOrdersToCreate = + object.binaryOptionsOrdersToCreate?.map((e) => DerivativeOrder.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgBatchUpdateOrdersAmino): MsgBatchUpdateOrders { + const message = createBaseMsgBatchUpdateOrders(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = object.subaccount_id; + } + message.spotMarketIdsToCancelAll = object.spot_market_ids_to_cancel_all?.map((e) => e) || []; + message.derivativeMarketIdsToCancelAll = object.derivative_market_ids_to_cancel_all?.map((e) => e) || []; + message.spotOrdersToCancel = object.spot_orders_to_cancel?.map((e) => OrderData.fromAmino(e)) || []; + message.derivativeOrdersToCancel = object.derivative_orders_to_cancel?.map((e) => OrderData.fromAmino(e)) || []; + message.spotOrdersToCreate = object.spot_orders_to_create?.map((e) => SpotOrder.fromAmino(e)) || []; + message.derivativeOrdersToCreate = + object.derivative_orders_to_create?.map((e) => DerivativeOrder.fromAmino(e)) || []; + message.binaryOptionsOrdersToCancel = + object.binary_options_orders_to_cancel?.map((e) => OrderData.fromAmino(e)) || []; + message.binaryOptionsMarketIdsToCancelAll = object.binary_options_market_ids_to_cancel_all?.map((e) => e) || []; + message.binaryOptionsOrdersToCreate = + object.binary_options_orders_to_create?.map((e) => DerivativeOrder.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgBatchUpdateOrders): MsgBatchUpdateOrdersAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.subaccount_id = message.subaccountId === '' ? undefined : message.subaccountId; + if (message.spotMarketIdsToCancelAll) { + obj.spot_market_ids_to_cancel_all = message.spotMarketIdsToCancelAll.map((e) => e); + } else { + obj.spot_market_ids_to_cancel_all = message.spotMarketIdsToCancelAll; + } + if (message.derivativeMarketIdsToCancelAll) { + obj.derivative_market_ids_to_cancel_all = message.derivativeMarketIdsToCancelAll.map((e) => e); + } else { + obj.derivative_market_ids_to_cancel_all = message.derivativeMarketIdsToCancelAll; + } + if (message.spotOrdersToCancel) { + obj.spot_orders_to_cancel = message.spotOrdersToCancel.map((e) => (e ? OrderData.toAmino(e) : undefined)); + } else { + obj.spot_orders_to_cancel = message.spotOrdersToCancel; + } + if (message.derivativeOrdersToCancel) { + obj.derivative_orders_to_cancel = message.derivativeOrdersToCancel.map((e) => + e ? OrderData.toAmino(e) : undefined, + ); + } else { + obj.derivative_orders_to_cancel = message.derivativeOrdersToCancel; + } + if (message.spotOrdersToCreate) { + obj.spot_orders_to_create = message.spotOrdersToCreate.map((e) => (e ? SpotOrder.toAmino(e) : undefined)); + } else { + obj.spot_orders_to_create = message.spotOrdersToCreate; + } + if (message.derivativeOrdersToCreate) { + obj.derivative_orders_to_create = message.derivativeOrdersToCreate.map((e) => + e ? DerivativeOrder.toAmino(e) : undefined, + ); + } else { + obj.derivative_orders_to_create = message.derivativeOrdersToCreate; + } + if (message.binaryOptionsOrdersToCancel) { + obj.binary_options_orders_to_cancel = message.binaryOptionsOrdersToCancel.map((e) => + e ? OrderData.toAmino(e) : undefined, + ); + } else { + obj.binary_options_orders_to_cancel = message.binaryOptionsOrdersToCancel; + } + if (message.binaryOptionsMarketIdsToCancelAll) { + obj.binary_options_market_ids_to_cancel_all = message.binaryOptionsMarketIdsToCancelAll.map((e) => e); + } else { + obj.binary_options_market_ids_to_cancel_all = message.binaryOptionsMarketIdsToCancelAll; + } + if (message.binaryOptionsOrdersToCreate) { + obj.binary_options_orders_to_create = message.binaryOptionsOrdersToCreate.map((e) => + e ? DerivativeOrder.toAmino(e) : undefined, + ); + } else { + obj.binary_options_orders_to_create = message.binaryOptionsOrdersToCreate; + } + return obj; + }, + fromAminoMsg(object: MsgBatchUpdateOrdersAminoMsg): MsgBatchUpdateOrders { + return MsgBatchUpdateOrders.fromAmino(object.value); + }, + toAminoMsg(message: MsgBatchUpdateOrders): MsgBatchUpdateOrdersAminoMsg { + return { + type: 'exchange/MsgBatchUpdateOrders', + value: MsgBatchUpdateOrders.toAmino(message), + }; + }, + fromProtoMsg(message: MsgBatchUpdateOrdersProtoMsg): MsgBatchUpdateOrders { + return MsgBatchUpdateOrders.decode(message.value); + }, + toProto(message: MsgBatchUpdateOrders): Uint8Array { + return MsgBatchUpdateOrders.encode(message).finish(); + }, + toProtoMsg(message: MsgBatchUpdateOrders): MsgBatchUpdateOrdersProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgBatchUpdateOrders', + value: MsgBatchUpdateOrders.encode(message).finish(), + }; + }, +}; +function createBaseMsgBatchUpdateOrdersResponse(): MsgBatchUpdateOrdersResponse { + return { + spotCancelSuccess: [], + derivativeCancelSuccess: [], + spotOrderHashes: [], + derivativeOrderHashes: [], + binaryOptionsCancelSuccess: [], + binaryOptionsOrderHashes: [], + createdSpotOrdersCids: [], + failedSpotOrdersCids: [], + createdDerivativeOrdersCids: [], + failedDerivativeOrdersCids: [], + createdBinaryOptionsOrdersCids: [], + failedBinaryOptionsOrdersCids: [], + }; +} +export const MsgBatchUpdateOrdersResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgBatchUpdateOrdersResponse', + encode(message: MsgBatchUpdateOrdersResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + writer.uint32(10).fork(); + for (const v of message.spotCancelSuccess) { + writer.bool(v); + } + writer.ldelim(); + writer.uint32(18).fork(); + for (const v of message.derivativeCancelSuccess) { + writer.bool(v); + } + writer.ldelim(); + for (const v of message.spotOrderHashes) { + writer.uint32(26).string(v!); + } + for (const v of message.derivativeOrderHashes) { + writer.uint32(34).string(v!); + } + writer.uint32(42).fork(); + for (const v of message.binaryOptionsCancelSuccess) { + writer.bool(v); + } + writer.ldelim(); + for (const v of message.binaryOptionsOrderHashes) { + writer.uint32(50).string(v!); + } + for (const v of message.createdSpotOrdersCids) { + writer.uint32(58).string(v!); + } + for (const v of message.failedSpotOrdersCids) { + writer.uint32(66).string(v!); + } + for (const v of message.createdDerivativeOrdersCids) { + writer.uint32(74).string(v!); + } + for (const v of message.failedDerivativeOrdersCids) { + writer.uint32(82).string(v!); + } + for (const v of message.createdBinaryOptionsOrdersCids) { + writer.uint32(90).string(v!); + } + for (const v of message.failedBinaryOptionsOrdersCids) { + writer.uint32(98).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBatchUpdateOrdersResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBatchUpdateOrdersResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.spotCancelSuccess.push(reader.bool()); + } + } else { + message.spotCancelSuccess.push(reader.bool()); + } + break; + case 2: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.derivativeCancelSuccess.push(reader.bool()); + } + } else { + message.derivativeCancelSuccess.push(reader.bool()); + } + break; + case 3: + message.spotOrderHashes.push(reader.string()); + break; + case 4: + message.derivativeOrderHashes.push(reader.string()); + break; + case 5: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.binaryOptionsCancelSuccess.push(reader.bool()); + } + } else { + message.binaryOptionsCancelSuccess.push(reader.bool()); + } + break; + case 6: + message.binaryOptionsOrderHashes.push(reader.string()); + break; + case 7: + message.createdSpotOrdersCids.push(reader.string()); + break; + case 8: + message.failedSpotOrdersCids.push(reader.string()); + break; + case 9: + message.createdDerivativeOrdersCids.push(reader.string()); + break; + case 10: + message.failedDerivativeOrdersCids.push(reader.string()); + break; + case 11: + message.createdBinaryOptionsOrdersCids.push(reader.string()); + break; + case 12: + message.failedBinaryOptionsOrdersCids.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBatchUpdateOrdersResponse { + const message = createBaseMsgBatchUpdateOrdersResponse(); + message.spotCancelSuccess = object.spotCancelSuccess?.map((e) => e) || []; + message.derivativeCancelSuccess = object.derivativeCancelSuccess?.map((e) => e) || []; + message.spotOrderHashes = object.spotOrderHashes?.map((e) => e) || []; + message.derivativeOrderHashes = object.derivativeOrderHashes?.map((e) => e) || []; + message.binaryOptionsCancelSuccess = object.binaryOptionsCancelSuccess?.map((e) => e) || []; + message.binaryOptionsOrderHashes = object.binaryOptionsOrderHashes?.map((e) => e) || []; + message.createdSpotOrdersCids = object.createdSpotOrdersCids?.map((e) => e) || []; + message.failedSpotOrdersCids = object.failedSpotOrdersCids?.map((e) => e) || []; + message.createdDerivativeOrdersCids = object.createdDerivativeOrdersCids?.map((e) => e) || []; + message.failedDerivativeOrdersCids = object.failedDerivativeOrdersCids?.map((e) => e) || []; + message.createdBinaryOptionsOrdersCids = object.createdBinaryOptionsOrdersCids?.map((e) => e) || []; + message.failedBinaryOptionsOrdersCids = object.failedBinaryOptionsOrdersCids?.map((e) => e) || []; + return message; + }, + fromAmino(object: MsgBatchUpdateOrdersResponseAmino): MsgBatchUpdateOrdersResponse { + const message = createBaseMsgBatchUpdateOrdersResponse(); + message.spotCancelSuccess = object.spot_cancel_success?.map((e) => e) || []; + message.derivativeCancelSuccess = object.derivative_cancel_success?.map((e) => e) || []; + message.spotOrderHashes = object.spot_order_hashes?.map((e) => e) || []; + message.derivativeOrderHashes = object.derivative_order_hashes?.map((e) => e) || []; + message.binaryOptionsCancelSuccess = object.binary_options_cancel_success?.map((e) => e) || []; + message.binaryOptionsOrderHashes = object.binary_options_order_hashes?.map((e) => e) || []; + message.createdSpotOrdersCids = object.created_spot_orders_cids?.map((e) => e) || []; + message.failedSpotOrdersCids = object.failed_spot_orders_cids?.map((e) => e) || []; + message.createdDerivativeOrdersCids = object.created_derivative_orders_cids?.map((e) => e) || []; + message.failedDerivativeOrdersCids = object.failed_derivative_orders_cids?.map((e) => e) || []; + message.createdBinaryOptionsOrdersCids = object.created_binary_options_orders_cids?.map((e) => e) || []; + message.failedBinaryOptionsOrdersCids = object.failed_binary_options_orders_cids?.map((e) => e) || []; + return message; + }, + toAmino(message: MsgBatchUpdateOrdersResponse): MsgBatchUpdateOrdersResponseAmino { + const obj: any = {}; + if (message.spotCancelSuccess) { + obj.spot_cancel_success = message.spotCancelSuccess.map((e) => e); + } else { + obj.spot_cancel_success = message.spotCancelSuccess; + } + if (message.derivativeCancelSuccess) { + obj.derivative_cancel_success = message.derivativeCancelSuccess.map((e) => e); + } else { + obj.derivative_cancel_success = message.derivativeCancelSuccess; + } + if (message.spotOrderHashes) { + obj.spot_order_hashes = message.spotOrderHashes.map((e) => e); + } else { + obj.spot_order_hashes = message.spotOrderHashes; + } + if (message.derivativeOrderHashes) { + obj.derivative_order_hashes = message.derivativeOrderHashes.map((e) => e); + } else { + obj.derivative_order_hashes = message.derivativeOrderHashes; + } + if (message.binaryOptionsCancelSuccess) { + obj.binary_options_cancel_success = message.binaryOptionsCancelSuccess.map((e) => e); + } else { + obj.binary_options_cancel_success = message.binaryOptionsCancelSuccess; + } + if (message.binaryOptionsOrderHashes) { + obj.binary_options_order_hashes = message.binaryOptionsOrderHashes.map((e) => e); + } else { + obj.binary_options_order_hashes = message.binaryOptionsOrderHashes; + } + if (message.createdSpotOrdersCids) { + obj.created_spot_orders_cids = message.createdSpotOrdersCids.map((e) => e); + } else { + obj.created_spot_orders_cids = message.createdSpotOrdersCids; + } + if (message.failedSpotOrdersCids) { + obj.failed_spot_orders_cids = message.failedSpotOrdersCids.map((e) => e); + } else { + obj.failed_spot_orders_cids = message.failedSpotOrdersCids; + } + if (message.createdDerivativeOrdersCids) { + obj.created_derivative_orders_cids = message.createdDerivativeOrdersCids.map((e) => e); + } else { + obj.created_derivative_orders_cids = message.createdDerivativeOrdersCids; + } + if (message.failedDerivativeOrdersCids) { + obj.failed_derivative_orders_cids = message.failedDerivativeOrdersCids.map((e) => e); + } else { + obj.failed_derivative_orders_cids = message.failedDerivativeOrdersCids; + } + if (message.createdBinaryOptionsOrdersCids) { + obj.created_binary_options_orders_cids = message.createdBinaryOptionsOrdersCids.map((e) => e); + } else { + obj.created_binary_options_orders_cids = message.createdBinaryOptionsOrdersCids; + } + if (message.failedBinaryOptionsOrdersCids) { + obj.failed_binary_options_orders_cids = message.failedBinaryOptionsOrdersCids.map((e) => e); + } else { + obj.failed_binary_options_orders_cids = message.failedBinaryOptionsOrdersCids; + } + return obj; + }, + fromAminoMsg(object: MsgBatchUpdateOrdersResponseAminoMsg): MsgBatchUpdateOrdersResponse { + return MsgBatchUpdateOrdersResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgBatchUpdateOrdersResponseProtoMsg): MsgBatchUpdateOrdersResponse { + return MsgBatchUpdateOrdersResponse.decode(message.value); + }, + toProto(message: MsgBatchUpdateOrdersResponse): Uint8Array { + return MsgBatchUpdateOrdersResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgBatchUpdateOrdersResponse): MsgBatchUpdateOrdersResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgBatchUpdateOrdersResponse', + value: MsgBatchUpdateOrdersResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateDerivativeMarketOrder(): MsgCreateDerivativeMarketOrder { + return { + sender: '', + order: DerivativeOrder.fromPartial({}), + }; +} +export const MsgCreateDerivativeMarketOrder = { + typeUrl: '/injective.exchange.v1beta1.MsgCreateDerivativeMarketOrder', + encode(message: MsgCreateDerivativeMarketOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.order !== undefined) { + DerivativeOrder.encode(message.order, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateDerivativeMarketOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateDerivativeMarketOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.order = DerivativeOrder.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateDerivativeMarketOrder { + const message = createBaseMsgCreateDerivativeMarketOrder(); + message.sender = object.sender ?? ''; + message.order = + object.order !== undefined && object.order !== null ? DerivativeOrder.fromPartial(object.order) : undefined; + return message; + }, + fromAmino(object: MsgCreateDerivativeMarketOrderAmino): MsgCreateDerivativeMarketOrder { + const message = createBaseMsgCreateDerivativeMarketOrder(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.order !== undefined && object.order !== null) { + message.order = DerivativeOrder.fromAmino(object.order); + } + return message; + }, + toAmino(message: MsgCreateDerivativeMarketOrder): MsgCreateDerivativeMarketOrderAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.order = message.order ? DerivativeOrder.toAmino(message.order) : undefined; + return obj; + }, + fromAminoMsg(object: MsgCreateDerivativeMarketOrderAminoMsg): MsgCreateDerivativeMarketOrder { + return MsgCreateDerivativeMarketOrder.fromAmino(object.value); + }, + toAminoMsg(message: MsgCreateDerivativeMarketOrder): MsgCreateDerivativeMarketOrderAminoMsg { + return { + type: 'exchange/MsgCreateDerivativeMarketOrder', + value: MsgCreateDerivativeMarketOrder.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCreateDerivativeMarketOrderProtoMsg): MsgCreateDerivativeMarketOrder { + return MsgCreateDerivativeMarketOrder.decode(message.value); + }, + toProto(message: MsgCreateDerivativeMarketOrder): Uint8Array { + return MsgCreateDerivativeMarketOrder.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateDerivativeMarketOrder): MsgCreateDerivativeMarketOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCreateDerivativeMarketOrder', + value: MsgCreateDerivativeMarketOrder.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateDerivativeMarketOrderResponse(): MsgCreateDerivativeMarketOrderResponse { + return { + orderHash: '', + results: undefined, + cid: '', + }; +} +export const MsgCreateDerivativeMarketOrderResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgCreateDerivativeMarketOrderResponse', + encode(message: MsgCreateDerivativeMarketOrderResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.orderHash !== '') { + writer.uint32(10).string(message.orderHash); + } + if (message.results !== undefined) { + DerivativeMarketOrderResults.encode(message.results, writer.uint32(18).fork()).ldelim(); + } + if (message.cid !== '') { + writer.uint32(26).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateDerivativeMarketOrderResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateDerivativeMarketOrderResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.orderHash = reader.string(); + break; + case 2: + message.results = DerivativeMarketOrderResults.decode(reader, reader.uint32()); + break; + case 3: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateDerivativeMarketOrderResponse { + const message = createBaseMsgCreateDerivativeMarketOrderResponse(); + message.orderHash = object.orderHash ?? ''; + message.results = + object.results !== undefined && object.results !== null + ? DerivativeMarketOrderResults.fromPartial(object.results) + : undefined; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: MsgCreateDerivativeMarketOrderResponseAmino): MsgCreateDerivativeMarketOrderResponse { + const message = createBaseMsgCreateDerivativeMarketOrderResponse(); + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = object.order_hash; + } + if (object.results !== undefined && object.results !== null) { + message.results = DerivativeMarketOrderResults.fromAmino(object.results); + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: MsgCreateDerivativeMarketOrderResponse): MsgCreateDerivativeMarketOrderResponseAmino { + const obj: any = {}; + obj.order_hash = message.orderHash === '' ? undefined : message.orderHash; + obj.results = message.results ? DerivativeMarketOrderResults.toAmino(message.results) : undefined; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: MsgCreateDerivativeMarketOrderResponseAminoMsg): MsgCreateDerivativeMarketOrderResponse { + return MsgCreateDerivativeMarketOrderResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgCreateDerivativeMarketOrderResponseProtoMsg): MsgCreateDerivativeMarketOrderResponse { + return MsgCreateDerivativeMarketOrderResponse.decode(message.value); + }, + toProto(message: MsgCreateDerivativeMarketOrderResponse): Uint8Array { + return MsgCreateDerivativeMarketOrderResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateDerivativeMarketOrderResponse): MsgCreateDerivativeMarketOrderResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCreateDerivativeMarketOrderResponse', + value: MsgCreateDerivativeMarketOrderResponse.encode(message).finish(), + }; + }, +}; +function createBaseDerivativeMarketOrderResults(): DerivativeMarketOrderResults { + return { + quantity: '', + price: '', + fee: '', + positionDelta: PositionDelta.fromPartial({}), + payout: '', + }; +} +export const DerivativeMarketOrderResults = { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketOrderResults', + encode(message: DerivativeMarketOrderResults, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.quantity !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.quantity, 18).atomics); + } + if (message.price !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.price, 18).atomics); + } + if (message.fee !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.fee, 18).atomics); + } + if (message.positionDelta !== undefined) { + PositionDelta.encode(message.positionDelta, writer.uint32(34).fork()).ldelim(); + } + if (message.payout !== '') { + writer.uint32(42).string(Decimal.fromUserInput(message.payout, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DerivativeMarketOrderResults { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDerivativeMarketOrderResults(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.quantity = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.price = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.fee = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.positionDelta = PositionDelta.decode(reader, reader.uint32()); + break; + case 5: + message.payout = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DerivativeMarketOrderResults { + const message = createBaseDerivativeMarketOrderResults(); + message.quantity = object.quantity ?? ''; + message.price = object.price ?? ''; + message.fee = object.fee ?? ''; + message.positionDelta = + object.positionDelta !== undefined && object.positionDelta !== null + ? PositionDelta.fromPartial(object.positionDelta) + : undefined; + message.payout = object.payout ?? ''; + return message; + }, + fromAmino(object: DerivativeMarketOrderResultsAmino): DerivativeMarketOrderResults { + const message = createBaseDerivativeMarketOrderResults(); + if (object.quantity !== undefined && object.quantity !== null) { + message.quantity = object.quantity; + } + if (object.price !== undefined && object.price !== null) { + message.price = object.price; + } + if (object.fee !== undefined && object.fee !== null) { + message.fee = object.fee; + } + if (object.position_delta !== undefined && object.position_delta !== null) { + message.positionDelta = PositionDelta.fromAmino(object.position_delta); + } + if (object.payout !== undefined && object.payout !== null) { + message.payout = object.payout; + } + return message; + }, + toAmino(message: DerivativeMarketOrderResults): DerivativeMarketOrderResultsAmino { + const obj: any = {}; + obj.quantity = message.quantity === '' ? undefined : message.quantity; + obj.price = message.price === '' ? undefined : message.price; + obj.fee = message.fee === '' ? undefined : message.fee; + obj.position_delta = message.positionDelta ? PositionDelta.toAmino(message.positionDelta) : undefined; + obj.payout = message.payout === '' ? undefined : message.payout; + return obj; + }, + fromAminoMsg(object: DerivativeMarketOrderResultsAminoMsg): DerivativeMarketOrderResults { + return DerivativeMarketOrderResults.fromAmino(object.value); + }, + fromProtoMsg(message: DerivativeMarketOrderResultsProtoMsg): DerivativeMarketOrderResults { + return DerivativeMarketOrderResults.decode(message.value); + }, + toProto(message: DerivativeMarketOrderResults): Uint8Array { + return DerivativeMarketOrderResults.encode(message).finish(); + }, + toProtoMsg(message: DerivativeMarketOrderResults): DerivativeMarketOrderResultsProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.DerivativeMarketOrderResults', + value: DerivativeMarketOrderResults.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateBinaryOptionsMarketOrder(): MsgCreateBinaryOptionsMarketOrder { + return { + sender: '', + order: DerivativeOrder.fromPartial({}), + }; +} +export const MsgCreateBinaryOptionsMarketOrder = { + typeUrl: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrder', + encode(message: MsgCreateBinaryOptionsMarketOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.order !== undefined) { + DerivativeOrder.encode(message.order, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateBinaryOptionsMarketOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateBinaryOptionsMarketOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.order = DerivativeOrder.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateBinaryOptionsMarketOrder { + const message = createBaseMsgCreateBinaryOptionsMarketOrder(); + message.sender = object.sender ?? ''; + message.order = + object.order !== undefined && object.order !== null ? DerivativeOrder.fromPartial(object.order) : undefined; + return message; + }, + fromAmino(object: MsgCreateBinaryOptionsMarketOrderAmino): MsgCreateBinaryOptionsMarketOrder { + const message = createBaseMsgCreateBinaryOptionsMarketOrder(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.order !== undefined && object.order !== null) { + message.order = DerivativeOrder.fromAmino(object.order); + } + return message; + }, + toAmino(message: MsgCreateBinaryOptionsMarketOrder): MsgCreateBinaryOptionsMarketOrderAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.order = message.order ? DerivativeOrder.toAmino(message.order) : undefined; + return obj; + }, + fromAminoMsg(object: MsgCreateBinaryOptionsMarketOrderAminoMsg): MsgCreateBinaryOptionsMarketOrder { + return MsgCreateBinaryOptionsMarketOrder.fromAmino(object.value); + }, + toAminoMsg(message: MsgCreateBinaryOptionsMarketOrder): MsgCreateBinaryOptionsMarketOrderAminoMsg { + return { + type: 'exchange/MsgCreateBinaryOptionsMarketOrder', + value: MsgCreateBinaryOptionsMarketOrder.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCreateBinaryOptionsMarketOrderProtoMsg): MsgCreateBinaryOptionsMarketOrder { + return MsgCreateBinaryOptionsMarketOrder.decode(message.value); + }, + toProto(message: MsgCreateBinaryOptionsMarketOrder): Uint8Array { + return MsgCreateBinaryOptionsMarketOrder.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateBinaryOptionsMarketOrder): MsgCreateBinaryOptionsMarketOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrder', + value: MsgCreateBinaryOptionsMarketOrder.encode(message).finish(), + }; + }, +}; +function createBaseMsgCreateBinaryOptionsMarketOrderResponse(): MsgCreateBinaryOptionsMarketOrderResponse { + return { + orderHash: '', + results: undefined, + cid: '', + }; +} +export const MsgCreateBinaryOptionsMarketOrderResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrderResponse', + encode( + message: MsgCreateBinaryOptionsMarketOrderResponse, + writer: BinaryWriter = BinaryWriter.create(), + ): BinaryWriter { + if (message.orderHash !== '') { + writer.uint32(10).string(message.orderHash); + } + if (message.results !== undefined) { + DerivativeMarketOrderResults.encode(message.results, writer.uint32(18).fork()).ldelim(); + } + if (message.cid !== '') { + writer.uint32(26).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateBinaryOptionsMarketOrderResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCreateBinaryOptionsMarketOrderResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.orderHash = reader.string(); + break; + case 2: + message.results = DerivativeMarketOrderResults.decode(reader, reader.uint32()); + break; + case 3: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCreateBinaryOptionsMarketOrderResponse { + const message = createBaseMsgCreateBinaryOptionsMarketOrderResponse(); + message.orderHash = object.orderHash ?? ''; + message.results = + object.results !== undefined && object.results !== null + ? DerivativeMarketOrderResults.fromPartial(object.results) + : undefined; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: MsgCreateBinaryOptionsMarketOrderResponseAmino): MsgCreateBinaryOptionsMarketOrderResponse { + const message = createBaseMsgCreateBinaryOptionsMarketOrderResponse(); + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = object.order_hash; + } + if (object.results !== undefined && object.results !== null) { + message.results = DerivativeMarketOrderResults.fromAmino(object.results); + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: MsgCreateBinaryOptionsMarketOrderResponse): MsgCreateBinaryOptionsMarketOrderResponseAmino { + const obj: any = {}; + obj.order_hash = message.orderHash === '' ? undefined : message.orderHash; + obj.results = message.results ? DerivativeMarketOrderResults.toAmino(message.results) : undefined; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: MsgCreateBinaryOptionsMarketOrderResponseAminoMsg): MsgCreateBinaryOptionsMarketOrderResponse { + return MsgCreateBinaryOptionsMarketOrderResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgCreateBinaryOptionsMarketOrderResponseProtoMsg): MsgCreateBinaryOptionsMarketOrderResponse { + return MsgCreateBinaryOptionsMarketOrderResponse.decode(message.value); + }, + toProto(message: MsgCreateBinaryOptionsMarketOrderResponse): Uint8Array { + return MsgCreateBinaryOptionsMarketOrderResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCreateBinaryOptionsMarketOrderResponse): MsgCreateBinaryOptionsMarketOrderResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrderResponse', + value: MsgCreateBinaryOptionsMarketOrderResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgCancelDerivativeOrder(): MsgCancelDerivativeOrder { + return { + sender: '', + marketId: '', + subaccountId: '', + orderHash: '', + orderMask: 0, + cid: '', + }; +} +export const MsgCancelDerivativeOrder = { + typeUrl: '/injective.exchange.v1beta1.MsgCancelDerivativeOrder', + encode(message: MsgCancelDerivativeOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.marketId !== '') { + writer.uint32(18).string(message.marketId); + } + if (message.subaccountId !== '') { + writer.uint32(26).string(message.subaccountId); + } + if (message.orderHash !== '') { + writer.uint32(34).string(message.orderHash); + } + if (message.orderMask !== 0) { + writer.uint32(40).int32(message.orderMask); + } + if (message.cid !== '') { + writer.uint32(50).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelDerivativeOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCancelDerivativeOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.marketId = reader.string(); + break; + case 3: + message.subaccountId = reader.string(); + break; + case 4: + message.orderHash = reader.string(); + break; + case 5: + message.orderMask = reader.int32(); + break; + case 6: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCancelDerivativeOrder { + const message = createBaseMsgCancelDerivativeOrder(); + message.sender = object.sender ?? ''; + message.marketId = object.marketId ?? ''; + message.subaccountId = object.subaccountId ?? ''; + message.orderHash = object.orderHash ?? ''; + message.orderMask = object.orderMask ?? 0; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: MsgCancelDerivativeOrderAmino): MsgCancelDerivativeOrder { + const message = createBaseMsgCancelDerivativeOrder(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = object.subaccount_id; + } + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = object.order_hash; + } + if (object.order_mask !== undefined && object.order_mask !== null) { + message.orderMask = object.order_mask; + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: MsgCancelDerivativeOrder): MsgCancelDerivativeOrderAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.subaccount_id = message.subaccountId === '' ? undefined : message.subaccountId; + obj.order_hash = message.orderHash === '' ? undefined : message.orderHash; + obj.order_mask = message.orderMask === 0 ? undefined : message.orderMask; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: MsgCancelDerivativeOrderAminoMsg): MsgCancelDerivativeOrder { + return MsgCancelDerivativeOrder.fromAmino(object.value); + }, + toAminoMsg(message: MsgCancelDerivativeOrder): MsgCancelDerivativeOrderAminoMsg { + return { + type: 'exchange/MsgCancelDerivativeOrder', + value: MsgCancelDerivativeOrder.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCancelDerivativeOrderProtoMsg): MsgCancelDerivativeOrder { + return MsgCancelDerivativeOrder.decode(message.value); + }, + toProto(message: MsgCancelDerivativeOrder): Uint8Array { + return MsgCancelDerivativeOrder.encode(message).finish(); + }, + toProtoMsg(message: MsgCancelDerivativeOrder): MsgCancelDerivativeOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCancelDerivativeOrder', + value: MsgCancelDerivativeOrder.encode(message).finish(), + }; + }, +}; +function createBaseMsgCancelDerivativeOrderResponse(): MsgCancelDerivativeOrderResponse { + return {}; +} +export const MsgCancelDerivativeOrderResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgCancelDerivativeOrderResponse', + encode(_: MsgCancelDerivativeOrderResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelDerivativeOrderResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCancelDerivativeOrderResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgCancelDerivativeOrderResponse { + const message = createBaseMsgCancelDerivativeOrderResponse(); + return message; + }, + fromAmino(_: MsgCancelDerivativeOrderResponseAmino): MsgCancelDerivativeOrderResponse { + const message = createBaseMsgCancelDerivativeOrderResponse(); + return message; + }, + toAmino(_: MsgCancelDerivativeOrderResponse): MsgCancelDerivativeOrderResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgCancelDerivativeOrderResponseAminoMsg): MsgCancelDerivativeOrderResponse { + return MsgCancelDerivativeOrderResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgCancelDerivativeOrderResponseProtoMsg): MsgCancelDerivativeOrderResponse { + return MsgCancelDerivativeOrderResponse.decode(message.value); + }, + toProto(message: MsgCancelDerivativeOrderResponse): Uint8Array { + return MsgCancelDerivativeOrderResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCancelDerivativeOrderResponse): MsgCancelDerivativeOrderResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCancelDerivativeOrderResponse', + value: MsgCancelDerivativeOrderResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgCancelBinaryOptionsOrder(): MsgCancelBinaryOptionsOrder { + return { + sender: '', + marketId: '', + subaccountId: '', + orderHash: '', + orderMask: 0, + cid: '', + }; +} +export const MsgCancelBinaryOptionsOrder = { + typeUrl: '/injective.exchange.v1beta1.MsgCancelBinaryOptionsOrder', + encode(message: MsgCancelBinaryOptionsOrder, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.marketId !== '') { + writer.uint32(18).string(message.marketId); + } + if (message.subaccountId !== '') { + writer.uint32(26).string(message.subaccountId); + } + if (message.orderHash !== '') { + writer.uint32(34).string(message.orderHash); + } + if (message.orderMask !== 0) { + writer.uint32(40).int32(message.orderMask); + } + if (message.cid !== '') { + writer.uint32(50).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelBinaryOptionsOrder { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCancelBinaryOptionsOrder(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.marketId = reader.string(); + break; + case 3: + message.subaccountId = reader.string(); + break; + case 4: + message.orderHash = reader.string(); + break; + case 5: + message.orderMask = reader.int32(); + break; + case 6: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgCancelBinaryOptionsOrder { + const message = createBaseMsgCancelBinaryOptionsOrder(); + message.sender = object.sender ?? ''; + message.marketId = object.marketId ?? ''; + message.subaccountId = object.subaccountId ?? ''; + message.orderHash = object.orderHash ?? ''; + message.orderMask = object.orderMask ?? 0; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: MsgCancelBinaryOptionsOrderAmino): MsgCancelBinaryOptionsOrder { + const message = createBaseMsgCancelBinaryOptionsOrder(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = object.subaccount_id; + } + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = object.order_hash; + } + if (object.order_mask !== undefined && object.order_mask !== null) { + message.orderMask = object.order_mask; + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: MsgCancelBinaryOptionsOrder): MsgCancelBinaryOptionsOrderAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.subaccount_id = message.subaccountId === '' ? undefined : message.subaccountId; + obj.order_hash = message.orderHash === '' ? undefined : message.orderHash; + obj.order_mask = message.orderMask === 0 ? undefined : message.orderMask; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: MsgCancelBinaryOptionsOrderAminoMsg): MsgCancelBinaryOptionsOrder { + return MsgCancelBinaryOptionsOrder.fromAmino(object.value); + }, + toAminoMsg(message: MsgCancelBinaryOptionsOrder): MsgCancelBinaryOptionsOrderAminoMsg { + return { + type: 'exchange/MsgCancelBinaryOptionsOrder', + value: MsgCancelBinaryOptionsOrder.toAmino(message), + }; + }, + fromProtoMsg(message: MsgCancelBinaryOptionsOrderProtoMsg): MsgCancelBinaryOptionsOrder { + return MsgCancelBinaryOptionsOrder.decode(message.value); + }, + toProto(message: MsgCancelBinaryOptionsOrder): Uint8Array { + return MsgCancelBinaryOptionsOrder.encode(message).finish(); + }, + toProtoMsg(message: MsgCancelBinaryOptionsOrder): MsgCancelBinaryOptionsOrderProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCancelBinaryOptionsOrder', + value: MsgCancelBinaryOptionsOrder.encode(message).finish(), + }; + }, +}; +function createBaseMsgCancelBinaryOptionsOrderResponse(): MsgCancelBinaryOptionsOrderResponse { + return {}; +} +export const MsgCancelBinaryOptionsOrderResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgCancelBinaryOptionsOrderResponse', + encode(_: MsgCancelBinaryOptionsOrderResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelBinaryOptionsOrderResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgCancelBinaryOptionsOrderResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgCancelBinaryOptionsOrderResponse { + const message = createBaseMsgCancelBinaryOptionsOrderResponse(); + return message; + }, + fromAmino(_: MsgCancelBinaryOptionsOrderResponseAmino): MsgCancelBinaryOptionsOrderResponse { + const message = createBaseMsgCancelBinaryOptionsOrderResponse(); + return message; + }, + toAmino(_: MsgCancelBinaryOptionsOrderResponse): MsgCancelBinaryOptionsOrderResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgCancelBinaryOptionsOrderResponseAminoMsg): MsgCancelBinaryOptionsOrderResponse { + return MsgCancelBinaryOptionsOrderResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgCancelBinaryOptionsOrderResponseProtoMsg): MsgCancelBinaryOptionsOrderResponse { + return MsgCancelBinaryOptionsOrderResponse.decode(message.value); + }, + toProto(message: MsgCancelBinaryOptionsOrderResponse): Uint8Array { + return MsgCancelBinaryOptionsOrderResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgCancelBinaryOptionsOrderResponse): MsgCancelBinaryOptionsOrderResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgCancelBinaryOptionsOrderResponse', + value: MsgCancelBinaryOptionsOrderResponse.encode(message).finish(), + }; + }, +}; +function createBaseOrderData(): OrderData { + return { + marketId: '', + subaccountId: '', + orderHash: '', + orderMask: 0, + cid: '', + }; +} +export const OrderData = { + typeUrl: '/injective.exchange.v1beta1.OrderData', + encode(message: OrderData, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.marketId !== '') { + writer.uint32(10).string(message.marketId); + } + if (message.subaccountId !== '') { + writer.uint32(18).string(message.subaccountId); + } + if (message.orderHash !== '') { + writer.uint32(26).string(message.orderHash); + } + if (message.orderMask !== 0) { + writer.uint32(32).int32(message.orderMask); + } + if (message.cid !== '') { + writer.uint32(42).string(message.cid); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): OrderData { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOrderData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.marketId = reader.string(); + break; + case 2: + message.subaccountId = reader.string(); + break; + case 3: + message.orderHash = reader.string(); + break; + case 4: + message.orderMask = reader.int32(); + break; + case 5: + message.cid = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): OrderData { + const message = createBaseOrderData(); + message.marketId = object.marketId ?? ''; + message.subaccountId = object.subaccountId ?? ''; + message.orderHash = object.orderHash ?? ''; + message.orderMask = object.orderMask ?? 0; + message.cid = object.cid ?? ''; + return message; + }, + fromAmino(object: OrderDataAmino): OrderData { + const message = createBaseOrderData(); + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = object.subaccount_id; + } + if (object.order_hash !== undefined && object.order_hash !== null) { + message.orderHash = object.order_hash; + } + if (object.order_mask !== undefined && object.order_mask !== null) { + message.orderMask = object.order_mask; + } + if (object.cid !== undefined && object.cid !== null) { + message.cid = object.cid; + } + return message; + }, + toAmino(message: OrderData): OrderDataAmino { + const obj: any = {}; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.subaccount_id = message.subaccountId === '' ? undefined : message.subaccountId; + obj.order_hash = message.orderHash === '' ? undefined : message.orderHash; + obj.order_mask = message.orderMask === 0 ? undefined : message.orderMask; + obj.cid = message.cid === '' ? undefined : message.cid; + return obj; + }, + fromAminoMsg(object: OrderDataAminoMsg): OrderData { + return OrderData.fromAmino(object.value); + }, + fromProtoMsg(message: OrderDataProtoMsg): OrderData { + return OrderData.decode(message.value); + }, + toProto(message: OrderData): Uint8Array { + return OrderData.encode(message).finish(); + }, + toProtoMsg(message: OrderData): OrderDataProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.OrderData', + value: OrderData.encode(message).finish(), + }; + }, +}; +function createBaseMsgBatchCancelDerivativeOrders(): MsgBatchCancelDerivativeOrders { + return { + sender: '', + data: [], + }; +} +export const MsgBatchCancelDerivativeOrders = { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelDerivativeOrders', + encode(message: MsgBatchCancelDerivativeOrders, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + for (const v of message.data) { + OrderData.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBatchCancelDerivativeOrders { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBatchCancelDerivativeOrders(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.data.push(OrderData.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBatchCancelDerivativeOrders { + const message = createBaseMsgBatchCancelDerivativeOrders(); + message.sender = object.sender ?? ''; + message.data = object.data?.map((e) => OrderData.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgBatchCancelDerivativeOrdersAmino): MsgBatchCancelDerivativeOrders { + const message = createBaseMsgBatchCancelDerivativeOrders(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + message.data = object.data?.map((e) => OrderData.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgBatchCancelDerivativeOrders): MsgBatchCancelDerivativeOrdersAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + if (message.data) { + obj.data = message.data.map((e) => (e ? OrderData.toAmino(e) : undefined)); + } else { + obj.data = message.data; + } + return obj; + }, + fromAminoMsg(object: MsgBatchCancelDerivativeOrdersAminoMsg): MsgBatchCancelDerivativeOrders { + return MsgBatchCancelDerivativeOrders.fromAmino(object.value); + }, + toAminoMsg(message: MsgBatchCancelDerivativeOrders): MsgBatchCancelDerivativeOrdersAminoMsg { + return { + type: 'exchange/MsgBatchCancelDerivativeOrders', + value: MsgBatchCancelDerivativeOrders.toAmino(message), + }; + }, + fromProtoMsg(message: MsgBatchCancelDerivativeOrdersProtoMsg): MsgBatchCancelDerivativeOrders { + return MsgBatchCancelDerivativeOrders.decode(message.value); + }, + toProto(message: MsgBatchCancelDerivativeOrders): Uint8Array { + return MsgBatchCancelDerivativeOrders.encode(message).finish(); + }, + toProtoMsg(message: MsgBatchCancelDerivativeOrders): MsgBatchCancelDerivativeOrdersProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelDerivativeOrders', + value: MsgBatchCancelDerivativeOrders.encode(message).finish(), + }; + }, +}; +function createBaseMsgBatchCancelDerivativeOrdersResponse(): MsgBatchCancelDerivativeOrdersResponse { + return { + success: [], + }; +} +export const MsgBatchCancelDerivativeOrdersResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelDerivativeOrdersResponse', + encode(message: MsgBatchCancelDerivativeOrdersResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + writer.uint32(10).fork(); + for (const v of message.success) { + writer.bool(v); + } + writer.ldelim(); + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgBatchCancelDerivativeOrdersResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgBatchCancelDerivativeOrdersResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.success.push(reader.bool()); + } + } else { + message.success.push(reader.bool()); + } + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgBatchCancelDerivativeOrdersResponse { + const message = createBaseMsgBatchCancelDerivativeOrdersResponse(); + message.success = object.success?.map((e) => e) || []; + return message; + }, + fromAmino(object: MsgBatchCancelDerivativeOrdersResponseAmino): MsgBatchCancelDerivativeOrdersResponse { + const message = createBaseMsgBatchCancelDerivativeOrdersResponse(); + message.success = object.success?.map((e) => e) || []; + return message; + }, + toAmino(message: MsgBatchCancelDerivativeOrdersResponse): MsgBatchCancelDerivativeOrdersResponseAmino { + const obj: any = {}; + if (message.success) { + obj.success = message.success.map((e) => e); + } else { + obj.success = message.success; + } + return obj; + }, + fromAminoMsg(object: MsgBatchCancelDerivativeOrdersResponseAminoMsg): MsgBatchCancelDerivativeOrdersResponse { + return MsgBatchCancelDerivativeOrdersResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgBatchCancelDerivativeOrdersResponseProtoMsg): MsgBatchCancelDerivativeOrdersResponse { + return MsgBatchCancelDerivativeOrdersResponse.decode(message.value); + }, + toProto(message: MsgBatchCancelDerivativeOrdersResponse): Uint8Array { + return MsgBatchCancelDerivativeOrdersResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgBatchCancelDerivativeOrdersResponse): MsgBatchCancelDerivativeOrdersResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgBatchCancelDerivativeOrdersResponse', + value: MsgBatchCancelDerivativeOrdersResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgSubaccountTransfer(): MsgSubaccountTransfer { + return { + sender: '', + sourceSubaccountId: '', + destinationSubaccountId: '', + amount: Coin.fromPartial({}), + }; +} +export const MsgSubaccountTransfer = { + typeUrl: '/injective.exchange.v1beta1.MsgSubaccountTransfer', + encode(message: MsgSubaccountTransfer, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.sourceSubaccountId !== '') { + writer.uint32(18).string(message.sourceSubaccountId); + } + if (message.destinationSubaccountId !== '') { + writer.uint32(26).string(message.destinationSubaccountId); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSubaccountTransfer { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSubaccountTransfer(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.sourceSubaccountId = reader.string(); + break; + case 3: + message.destinationSubaccountId = reader.string(); + break; + case 4: + message.amount = Coin.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgSubaccountTransfer { + const message = createBaseMsgSubaccountTransfer(); + message.sender = object.sender ?? ''; + message.sourceSubaccountId = object.sourceSubaccountId ?? ''; + message.destinationSubaccountId = object.destinationSubaccountId ?? ''; + message.amount = + object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, + fromAmino(object: MsgSubaccountTransferAmino): MsgSubaccountTransfer { + const message = createBaseMsgSubaccountTransfer(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.source_subaccount_id !== undefined && object.source_subaccount_id !== null) { + message.sourceSubaccountId = object.source_subaccount_id; + } + if (object.destination_subaccount_id !== undefined && object.destination_subaccount_id !== null) { + message.destinationSubaccountId = object.destination_subaccount_id; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = Coin.fromAmino(object.amount); + } + return message; + }, + toAmino(message: MsgSubaccountTransfer): MsgSubaccountTransferAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.source_subaccount_id = message.sourceSubaccountId === '' ? undefined : message.sourceSubaccountId; + obj.destination_subaccount_id = + message.destinationSubaccountId === '' ? undefined : message.destinationSubaccountId; + obj.amount = message.amount ? Coin.toAmino(message.amount) : undefined; + return obj; + }, + fromAminoMsg(object: MsgSubaccountTransferAminoMsg): MsgSubaccountTransfer { + return MsgSubaccountTransfer.fromAmino(object.value); + }, + toAminoMsg(message: MsgSubaccountTransfer): MsgSubaccountTransferAminoMsg { + return { + type: 'exchange/MsgSubaccountTransfer', + value: MsgSubaccountTransfer.toAmino(message), + }; + }, + fromProtoMsg(message: MsgSubaccountTransferProtoMsg): MsgSubaccountTransfer { + return MsgSubaccountTransfer.decode(message.value); + }, + toProto(message: MsgSubaccountTransfer): Uint8Array { + return MsgSubaccountTransfer.encode(message).finish(); + }, + toProtoMsg(message: MsgSubaccountTransfer): MsgSubaccountTransferProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgSubaccountTransfer', + value: MsgSubaccountTransfer.encode(message).finish(), + }; + }, +}; +function createBaseMsgSubaccountTransferResponse(): MsgSubaccountTransferResponse { + return {}; +} +export const MsgSubaccountTransferResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgSubaccountTransferResponse', + encode(_: MsgSubaccountTransferResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSubaccountTransferResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSubaccountTransferResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgSubaccountTransferResponse { + const message = createBaseMsgSubaccountTransferResponse(); + return message; + }, + fromAmino(_: MsgSubaccountTransferResponseAmino): MsgSubaccountTransferResponse { + const message = createBaseMsgSubaccountTransferResponse(); + return message; + }, + toAmino(_: MsgSubaccountTransferResponse): MsgSubaccountTransferResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgSubaccountTransferResponseAminoMsg): MsgSubaccountTransferResponse { + return MsgSubaccountTransferResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgSubaccountTransferResponseProtoMsg): MsgSubaccountTransferResponse { + return MsgSubaccountTransferResponse.decode(message.value); + }, + toProto(message: MsgSubaccountTransferResponse): Uint8Array { + return MsgSubaccountTransferResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgSubaccountTransferResponse): MsgSubaccountTransferResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgSubaccountTransferResponse', + value: MsgSubaccountTransferResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgExternalTransfer(): MsgExternalTransfer { + return { + sender: '', + sourceSubaccountId: '', + destinationSubaccountId: '', + amount: Coin.fromPartial({}), + }; +} +export const MsgExternalTransfer = { + typeUrl: '/injective.exchange.v1beta1.MsgExternalTransfer', + encode(message: MsgExternalTransfer, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.sourceSubaccountId !== '') { + writer.uint32(18).string(message.sourceSubaccountId); + } + if (message.destinationSubaccountId !== '') { + writer.uint32(26).string(message.destinationSubaccountId); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgExternalTransfer { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExternalTransfer(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.sourceSubaccountId = reader.string(); + break; + case 3: + message.destinationSubaccountId = reader.string(); + break; + case 4: + message.amount = Coin.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgExternalTransfer { + const message = createBaseMsgExternalTransfer(); + message.sender = object.sender ?? ''; + message.sourceSubaccountId = object.sourceSubaccountId ?? ''; + message.destinationSubaccountId = object.destinationSubaccountId ?? ''; + message.amount = + object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, + fromAmino(object: MsgExternalTransferAmino): MsgExternalTransfer { + const message = createBaseMsgExternalTransfer(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.source_subaccount_id !== undefined && object.source_subaccount_id !== null) { + message.sourceSubaccountId = object.source_subaccount_id; + } + if (object.destination_subaccount_id !== undefined && object.destination_subaccount_id !== null) { + message.destinationSubaccountId = object.destination_subaccount_id; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = Coin.fromAmino(object.amount); + } + return message; + }, + toAmino(message: MsgExternalTransfer): MsgExternalTransferAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.source_subaccount_id = message.sourceSubaccountId === '' ? undefined : message.sourceSubaccountId; + obj.destination_subaccount_id = + message.destinationSubaccountId === '' ? undefined : message.destinationSubaccountId; + obj.amount = message.amount ? Coin.toAmino(message.amount) : undefined; + return obj; + }, + fromAminoMsg(object: MsgExternalTransferAminoMsg): MsgExternalTransfer { + return MsgExternalTransfer.fromAmino(object.value); + }, + toAminoMsg(message: MsgExternalTransfer): MsgExternalTransferAminoMsg { + return { + type: 'exchange/MsgExternalTransfer', + value: MsgExternalTransfer.toAmino(message), + }; + }, + fromProtoMsg(message: MsgExternalTransferProtoMsg): MsgExternalTransfer { + return MsgExternalTransfer.decode(message.value); + }, + toProto(message: MsgExternalTransfer): Uint8Array { + return MsgExternalTransfer.encode(message).finish(); + }, + toProtoMsg(message: MsgExternalTransfer): MsgExternalTransferProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgExternalTransfer', + value: MsgExternalTransfer.encode(message).finish(), + }; + }, +}; +function createBaseMsgExternalTransferResponse(): MsgExternalTransferResponse { + return {}; +} +export const MsgExternalTransferResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgExternalTransferResponse', + encode(_: MsgExternalTransferResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgExternalTransferResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExternalTransferResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgExternalTransferResponse { + const message = createBaseMsgExternalTransferResponse(); + return message; + }, + fromAmino(_: MsgExternalTransferResponseAmino): MsgExternalTransferResponse { + const message = createBaseMsgExternalTransferResponse(); + return message; + }, + toAmino(_: MsgExternalTransferResponse): MsgExternalTransferResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgExternalTransferResponseAminoMsg): MsgExternalTransferResponse { + return MsgExternalTransferResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgExternalTransferResponseProtoMsg): MsgExternalTransferResponse { + return MsgExternalTransferResponse.decode(message.value); + }, + toProto(message: MsgExternalTransferResponse): Uint8Array { + return MsgExternalTransferResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgExternalTransferResponse): MsgExternalTransferResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgExternalTransferResponse', + value: MsgExternalTransferResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgLiquidatePosition(): MsgLiquidatePosition { + return { + sender: '', + subaccountId: '', + marketId: '', + order: undefined, + }; +} +export const MsgLiquidatePosition = { + typeUrl: '/injective.exchange.v1beta1.MsgLiquidatePosition', + encode(message: MsgLiquidatePosition, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.subaccountId !== '') { + writer.uint32(18).string(message.subaccountId); + } + if (message.marketId !== '') { + writer.uint32(26).string(message.marketId); + } + if (message.order !== undefined) { + DerivativeOrder.encode(message.order, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgLiquidatePosition { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLiquidatePosition(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.subaccountId = reader.string(); + break; + case 3: + message.marketId = reader.string(); + break; + case 4: + message.order = DerivativeOrder.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgLiquidatePosition { + const message = createBaseMsgLiquidatePosition(); + message.sender = object.sender ?? ''; + message.subaccountId = object.subaccountId ?? ''; + message.marketId = object.marketId ?? ''; + message.order = + object.order !== undefined && object.order !== null ? DerivativeOrder.fromPartial(object.order) : undefined; + return message; + }, + fromAmino(object: MsgLiquidatePositionAmino): MsgLiquidatePosition { + const message = createBaseMsgLiquidatePosition(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = object.subaccount_id; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.order !== undefined && object.order !== null) { + message.order = DerivativeOrder.fromAmino(object.order); + } + return message; + }, + toAmino(message: MsgLiquidatePosition): MsgLiquidatePositionAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.subaccount_id = message.subaccountId === '' ? undefined : message.subaccountId; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.order = message.order ? DerivativeOrder.toAmino(message.order) : undefined; + return obj; + }, + fromAminoMsg(object: MsgLiquidatePositionAminoMsg): MsgLiquidatePosition { + return MsgLiquidatePosition.fromAmino(object.value); + }, + toAminoMsg(message: MsgLiquidatePosition): MsgLiquidatePositionAminoMsg { + return { + type: 'exchange/MsgLiquidatePosition', + value: MsgLiquidatePosition.toAmino(message), + }; + }, + fromProtoMsg(message: MsgLiquidatePositionProtoMsg): MsgLiquidatePosition { + return MsgLiquidatePosition.decode(message.value); + }, + toProto(message: MsgLiquidatePosition): Uint8Array { + return MsgLiquidatePosition.encode(message).finish(); + }, + toProtoMsg(message: MsgLiquidatePosition): MsgLiquidatePositionProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgLiquidatePosition', + value: MsgLiquidatePosition.encode(message).finish(), + }; + }, +}; +function createBaseMsgLiquidatePositionResponse(): MsgLiquidatePositionResponse { + return {}; +} +export const MsgLiquidatePositionResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgLiquidatePositionResponse', + encode(_: MsgLiquidatePositionResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgLiquidatePositionResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgLiquidatePositionResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgLiquidatePositionResponse { + const message = createBaseMsgLiquidatePositionResponse(); + return message; + }, + fromAmino(_: MsgLiquidatePositionResponseAmino): MsgLiquidatePositionResponse { + const message = createBaseMsgLiquidatePositionResponse(); + return message; + }, + toAmino(_: MsgLiquidatePositionResponse): MsgLiquidatePositionResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgLiquidatePositionResponseAminoMsg): MsgLiquidatePositionResponse { + return MsgLiquidatePositionResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgLiquidatePositionResponseProtoMsg): MsgLiquidatePositionResponse { + return MsgLiquidatePositionResponse.decode(message.value); + }, + toProto(message: MsgLiquidatePositionResponse): Uint8Array { + return MsgLiquidatePositionResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgLiquidatePositionResponse): MsgLiquidatePositionResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgLiquidatePositionResponse', + value: MsgLiquidatePositionResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgEmergencySettleMarket(): MsgEmergencySettleMarket { + return { + sender: '', + subaccountId: '', + marketId: '', + }; +} +export const MsgEmergencySettleMarket = { + typeUrl: '/injective.exchange.v1beta1.MsgEmergencySettleMarket', + encode(message: MsgEmergencySettleMarket, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.subaccountId !== '') { + writer.uint32(18).string(message.subaccountId); + } + if (message.marketId !== '') { + writer.uint32(26).string(message.marketId); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgEmergencySettleMarket { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgEmergencySettleMarket(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.subaccountId = reader.string(); + break; + case 3: + message.marketId = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgEmergencySettleMarket { + const message = createBaseMsgEmergencySettleMarket(); + message.sender = object.sender ?? ''; + message.subaccountId = object.subaccountId ?? ''; + message.marketId = object.marketId ?? ''; + return message; + }, + fromAmino(object: MsgEmergencySettleMarketAmino): MsgEmergencySettleMarket { + const message = createBaseMsgEmergencySettleMarket(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.subaccount_id !== undefined && object.subaccount_id !== null) { + message.subaccountId = object.subaccount_id; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + return message; + }, + toAmino(message: MsgEmergencySettleMarket): MsgEmergencySettleMarketAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.subaccount_id = message.subaccountId === '' ? undefined : message.subaccountId; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + return obj; + }, + fromAminoMsg(object: MsgEmergencySettleMarketAminoMsg): MsgEmergencySettleMarket { + return MsgEmergencySettleMarket.fromAmino(object.value); + }, + toAminoMsg(message: MsgEmergencySettleMarket): MsgEmergencySettleMarketAminoMsg { + return { + type: 'exchange/MsgEmergencySettleMarket', + value: MsgEmergencySettleMarket.toAmino(message), + }; + }, + fromProtoMsg(message: MsgEmergencySettleMarketProtoMsg): MsgEmergencySettleMarket { + return MsgEmergencySettleMarket.decode(message.value); + }, + toProto(message: MsgEmergencySettleMarket): Uint8Array { + return MsgEmergencySettleMarket.encode(message).finish(); + }, + toProtoMsg(message: MsgEmergencySettleMarket): MsgEmergencySettleMarketProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgEmergencySettleMarket', + value: MsgEmergencySettleMarket.encode(message).finish(), + }; + }, +}; +function createBaseMsgEmergencySettleMarketResponse(): MsgEmergencySettleMarketResponse { + return {}; +} +export const MsgEmergencySettleMarketResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgEmergencySettleMarketResponse', + encode(_: MsgEmergencySettleMarketResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgEmergencySettleMarketResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgEmergencySettleMarketResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgEmergencySettleMarketResponse { + const message = createBaseMsgEmergencySettleMarketResponse(); + return message; + }, + fromAmino(_: MsgEmergencySettleMarketResponseAmino): MsgEmergencySettleMarketResponse { + const message = createBaseMsgEmergencySettleMarketResponse(); + return message; + }, + toAmino(_: MsgEmergencySettleMarketResponse): MsgEmergencySettleMarketResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgEmergencySettleMarketResponseAminoMsg): MsgEmergencySettleMarketResponse { + return MsgEmergencySettleMarketResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgEmergencySettleMarketResponseProtoMsg): MsgEmergencySettleMarketResponse { + return MsgEmergencySettleMarketResponse.decode(message.value); + }, + toProto(message: MsgEmergencySettleMarketResponse): Uint8Array { + return MsgEmergencySettleMarketResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgEmergencySettleMarketResponse): MsgEmergencySettleMarketResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgEmergencySettleMarketResponse', + value: MsgEmergencySettleMarketResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgIncreasePositionMargin(): MsgIncreasePositionMargin { + return { + sender: '', + sourceSubaccountId: '', + destinationSubaccountId: '', + marketId: '', + amount: '', + }; +} +export const MsgIncreasePositionMargin = { + typeUrl: '/injective.exchange.v1beta1.MsgIncreasePositionMargin', + encode(message: MsgIncreasePositionMargin, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.sourceSubaccountId !== '') { + writer.uint32(18).string(message.sourceSubaccountId); + } + if (message.destinationSubaccountId !== '') { + writer.uint32(26).string(message.destinationSubaccountId); + } + if (message.marketId !== '') { + writer.uint32(34).string(message.marketId); + } + if (message.amount !== '') { + writer.uint32(42).string(Decimal.fromUserInput(message.amount, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgIncreasePositionMargin { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgIncreasePositionMargin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.sourceSubaccountId = reader.string(); + break; + case 3: + message.destinationSubaccountId = reader.string(); + break; + case 4: + message.marketId = reader.string(); + break; + case 5: + message.amount = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgIncreasePositionMargin { + const message = createBaseMsgIncreasePositionMargin(); + message.sender = object.sender ?? ''; + message.sourceSubaccountId = object.sourceSubaccountId ?? ''; + message.destinationSubaccountId = object.destinationSubaccountId ?? ''; + message.marketId = object.marketId ?? ''; + message.amount = object.amount ?? ''; + return message; + }, + fromAmino(object: MsgIncreasePositionMarginAmino): MsgIncreasePositionMargin { + const message = createBaseMsgIncreasePositionMargin(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.source_subaccount_id !== undefined && object.source_subaccount_id !== null) { + message.sourceSubaccountId = object.source_subaccount_id; + } + if (object.destination_subaccount_id !== undefined && object.destination_subaccount_id !== null) { + message.destinationSubaccountId = object.destination_subaccount_id; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = object.amount; + } + return message; + }, + toAmino(message: MsgIncreasePositionMargin): MsgIncreasePositionMarginAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.source_subaccount_id = message.sourceSubaccountId === '' ? undefined : message.sourceSubaccountId; + obj.destination_subaccount_id = + message.destinationSubaccountId === '' ? undefined : message.destinationSubaccountId; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.amount = message.amount === '' ? undefined : message.amount; + return obj; + }, + fromAminoMsg(object: MsgIncreasePositionMarginAminoMsg): MsgIncreasePositionMargin { + return MsgIncreasePositionMargin.fromAmino(object.value); + }, + toAminoMsg(message: MsgIncreasePositionMargin): MsgIncreasePositionMarginAminoMsg { + return { + type: 'exchange/MsgIncreasePositionMargin', + value: MsgIncreasePositionMargin.toAmino(message), + }; + }, + fromProtoMsg(message: MsgIncreasePositionMarginProtoMsg): MsgIncreasePositionMargin { + return MsgIncreasePositionMargin.decode(message.value); + }, + toProto(message: MsgIncreasePositionMargin): Uint8Array { + return MsgIncreasePositionMargin.encode(message).finish(); + }, + toProtoMsg(message: MsgIncreasePositionMargin): MsgIncreasePositionMarginProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgIncreasePositionMargin', + value: MsgIncreasePositionMargin.encode(message).finish(), + }; + }, +}; +function createBaseMsgIncreasePositionMarginResponse(): MsgIncreasePositionMarginResponse { + return {}; +} +export const MsgIncreasePositionMarginResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgIncreasePositionMarginResponse', + encode(_: MsgIncreasePositionMarginResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgIncreasePositionMarginResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgIncreasePositionMarginResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgIncreasePositionMarginResponse { + const message = createBaseMsgIncreasePositionMarginResponse(); + return message; + }, + fromAmino(_: MsgIncreasePositionMarginResponseAmino): MsgIncreasePositionMarginResponse { + const message = createBaseMsgIncreasePositionMarginResponse(); + return message; + }, + toAmino(_: MsgIncreasePositionMarginResponse): MsgIncreasePositionMarginResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgIncreasePositionMarginResponseAminoMsg): MsgIncreasePositionMarginResponse { + return MsgIncreasePositionMarginResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgIncreasePositionMarginResponseProtoMsg): MsgIncreasePositionMarginResponse { + return MsgIncreasePositionMarginResponse.decode(message.value); + }, + toProto(message: MsgIncreasePositionMarginResponse): Uint8Array { + return MsgIncreasePositionMarginResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgIncreasePositionMarginResponse): MsgIncreasePositionMarginResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgIncreasePositionMarginResponse', + value: MsgIncreasePositionMarginResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgDecreasePositionMargin(): MsgDecreasePositionMargin { + return { + sender: '', + sourceSubaccountId: '', + destinationSubaccountId: '', + marketId: '', + amount: '', + }; +} +export const MsgDecreasePositionMargin = { + typeUrl: '/injective.exchange.v1beta1.MsgDecreasePositionMargin', + encode(message: MsgDecreasePositionMargin, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.sourceSubaccountId !== '') { + writer.uint32(18).string(message.sourceSubaccountId); + } + if (message.destinationSubaccountId !== '') { + writer.uint32(26).string(message.destinationSubaccountId); + } + if (message.marketId !== '') { + writer.uint32(34).string(message.marketId); + } + if (message.amount !== '') { + writer.uint32(42).string(Decimal.fromUserInput(message.amount, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDecreasePositionMargin { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDecreasePositionMargin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.sourceSubaccountId = reader.string(); + break; + case 3: + message.destinationSubaccountId = reader.string(); + break; + case 4: + message.marketId = reader.string(); + break; + case 5: + message.amount = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgDecreasePositionMargin { + const message = createBaseMsgDecreasePositionMargin(); + message.sender = object.sender ?? ''; + message.sourceSubaccountId = object.sourceSubaccountId ?? ''; + message.destinationSubaccountId = object.destinationSubaccountId ?? ''; + message.marketId = object.marketId ?? ''; + message.amount = object.amount ?? ''; + return message; + }, + fromAmino(object: MsgDecreasePositionMarginAmino): MsgDecreasePositionMargin { + const message = createBaseMsgDecreasePositionMargin(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.source_subaccount_id !== undefined && object.source_subaccount_id !== null) { + message.sourceSubaccountId = object.source_subaccount_id; + } + if (object.destination_subaccount_id !== undefined && object.destination_subaccount_id !== null) { + message.destinationSubaccountId = object.destination_subaccount_id; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = object.amount; + } + return message; + }, + toAmino(message: MsgDecreasePositionMargin): MsgDecreasePositionMarginAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.source_subaccount_id = message.sourceSubaccountId === '' ? undefined : message.sourceSubaccountId; + obj.destination_subaccount_id = + message.destinationSubaccountId === '' ? undefined : message.destinationSubaccountId; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.amount = message.amount === '' ? undefined : message.amount; + return obj; + }, + fromAminoMsg(object: MsgDecreasePositionMarginAminoMsg): MsgDecreasePositionMargin { + return MsgDecreasePositionMargin.fromAmino(object.value); + }, + toAminoMsg(message: MsgDecreasePositionMargin): MsgDecreasePositionMarginAminoMsg { + return { + type: 'exchange/MsgDecreasePositionMargin', + value: MsgDecreasePositionMargin.toAmino(message), + }; + }, + fromProtoMsg(message: MsgDecreasePositionMarginProtoMsg): MsgDecreasePositionMargin { + return MsgDecreasePositionMargin.decode(message.value); + }, + toProto(message: MsgDecreasePositionMargin): Uint8Array { + return MsgDecreasePositionMargin.encode(message).finish(); + }, + toProtoMsg(message: MsgDecreasePositionMargin): MsgDecreasePositionMarginProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgDecreasePositionMargin', + value: MsgDecreasePositionMargin.encode(message).finish(), + }; + }, +}; +function createBaseMsgDecreasePositionMarginResponse(): MsgDecreasePositionMarginResponse { + return {}; +} +export const MsgDecreasePositionMarginResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgDecreasePositionMarginResponse', + encode(_: MsgDecreasePositionMarginResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDecreasePositionMarginResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDecreasePositionMarginResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgDecreasePositionMarginResponse { + const message = createBaseMsgDecreasePositionMarginResponse(); + return message; + }, + fromAmino(_: MsgDecreasePositionMarginResponseAmino): MsgDecreasePositionMarginResponse { + const message = createBaseMsgDecreasePositionMarginResponse(); + return message; + }, + toAmino(_: MsgDecreasePositionMarginResponse): MsgDecreasePositionMarginResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgDecreasePositionMarginResponseAminoMsg): MsgDecreasePositionMarginResponse { + return MsgDecreasePositionMarginResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgDecreasePositionMarginResponseProtoMsg): MsgDecreasePositionMarginResponse { + return MsgDecreasePositionMarginResponse.decode(message.value); + }, + toProto(message: MsgDecreasePositionMarginResponse): Uint8Array { + return MsgDecreasePositionMarginResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgDecreasePositionMarginResponse): MsgDecreasePositionMarginResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgDecreasePositionMarginResponse', + value: MsgDecreasePositionMarginResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgPrivilegedExecuteContract(): MsgPrivilegedExecuteContract { + return { + sender: '', + funds: '', + contractAddress: '', + data: '', + }; +} +export const MsgPrivilegedExecuteContract = { + typeUrl: '/injective.exchange.v1beta1.MsgPrivilegedExecuteContract', + encode(message: MsgPrivilegedExecuteContract, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.funds !== '') { + writer.uint32(18).string(message.funds); + } + if (message.contractAddress !== '') { + writer.uint32(26).string(message.contractAddress); + } + if (message.data !== '') { + writer.uint32(34).string(message.data); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgPrivilegedExecuteContract { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPrivilegedExecuteContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.funds = reader.string(); + break; + case 3: + message.contractAddress = reader.string(); + break; + case 4: + message.data = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgPrivilegedExecuteContract { + const message = createBaseMsgPrivilegedExecuteContract(); + message.sender = object.sender ?? ''; + message.funds = object.funds ?? ''; + message.contractAddress = object.contractAddress ?? ''; + message.data = object.data ?? ''; + return message; + }, + fromAmino(object: MsgPrivilegedExecuteContractAmino): MsgPrivilegedExecuteContract { + const message = createBaseMsgPrivilegedExecuteContract(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.funds !== undefined && object.funds !== null) { + message.funds = object.funds; + } + if (object.contract_address !== undefined && object.contract_address !== null) { + message.contractAddress = object.contract_address; + } + if (object.data !== undefined && object.data !== null) { + message.data = object.data; + } + return message; + }, + toAmino(message: MsgPrivilegedExecuteContract): MsgPrivilegedExecuteContractAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.funds = message.funds === '' ? undefined : message.funds; + obj.contract_address = message.contractAddress === '' ? undefined : message.contractAddress; + obj.data = message.data === '' ? undefined : message.data; + return obj; + }, + fromAminoMsg(object: MsgPrivilegedExecuteContractAminoMsg): MsgPrivilegedExecuteContract { + return MsgPrivilegedExecuteContract.fromAmino(object.value); + }, + toAminoMsg(message: MsgPrivilegedExecuteContract): MsgPrivilegedExecuteContractAminoMsg { + return { + type: 'exchange/MsgPrivilegedExecuteContract', + value: MsgPrivilegedExecuteContract.toAmino(message), + }; + }, + fromProtoMsg(message: MsgPrivilegedExecuteContractProtoMsg): MsgPrivilegedExecuteContract { + return MsgPrivilegedExecuteContract.decode(message.value); + }, + toProto(message: MsgPrivilegedExecuteContract): Uint8Array { + return MsgPrivilegedExecuteContract.encode(message).finish(); + }, + toProtoMsg(message: MsgPrivilegedExecuteContract): MsgPrivilegedExecuteContractProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgPrivilegedExecuteContract', + value: MsgPrivilegedExecuteContract.encode(message).finish(), + }; + }, +}; +function createBaseMsgPrivilegedExecuteContractResponse(): MsgPrivilegedExecuteContractResponse { + return { + fundsDiff: [], + }; +} +export const MsgPrivilegedExecuteContractResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgPrivilegedExecuteContractResponse', + encode(message: MsgPrivilegedExecuteContractResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.fundsDiff) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgPrivilegedExecuteContractResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPrivilegedExecuteContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.fundsDiff.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgPrivilegedExecuteContractResponse { + const message = createBaseMsgPrivilegedExecuteContractResponse(); + message.fundsDiff = object.fundsDiff?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgPrivilegedExecuteContractResponseAmino): MsgPrivilegedExecuteContractResponse { + const message = createBaseMsgPrivilegedExecuteContractResponse(); + message.fundsDiff = object.funds_diff?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgPrivilegedExecuteContractResponse): MsgPrivilegedExecuteContractResponseAmino { + const obj: any = {}; + if (message.fundsDiff) { + obj.funds_diff = message.fundsDiff.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.funds_diff = message.fundsDiff; + } + return obj; + }, + fromAminoMsg(object: MsgPrivilegedExecuteContractResponseAminoMsg): MsgPrivilegedExecuteContractResponse { + return MsgPrivilegedExecuteContractResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgPrivilegedExecuteContractResponseProtoMsg): MsgPrivilegedExecuteContractResponse { + return MsgPrivilegedExecuteContractResponse.decode(message.value); + }, + toProto(message: MsgPrivilegedExecuteContractResponse): Uint8Array { + return MsgPrivilegedExecuteContractResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgPrivilegedExecuteContractResponse): MsgPrivilegedExecuteContractResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgPrivilegedExecuteContractResponse', + value: MsgPrivilegedExecuteContractResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgRewardsOptOut(): MsgRewardsOptOut { + return { + sender: '', + }; +} +export const MsgRewardsOptOut = { + typeUrl: '/injective.exchange.v1beta1.MsgRewardsOptOut', + encode(message: MsgRewardsOptOut, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgRewardsOptOut { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRewardsOptOut(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgRewardsOptOut { + const message = createBaseMsgRewardsOptOut(); + message.sender = object.sender ?? ''; + return message; + }, + fromAmino(object: MsgRewardsOptOutAmino): MsgRewardsOptOut { + const message = createBaseMsgRewardsOptOut(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + return message; + }, + toAmino(message: MsgRewardsOptOut): MsgRewardsOptOutAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + return obj; + }, + fromAminoMsg(object: MsgRewardsOptOutAminoMsg): MsgRewardsOptOut { + return MsgRewardsOptOut.fromAmino(object.value); + }, + toAminoMsg(message: MsgRewardsOptOut): MsgRewardsOptOutAminoMsg { + return { + type: 'exchange/MsgRewardsOptOut', + value: MsgRewardsOptOut.toAmino(message), + }; + }, + fromProtoMsg(message: MsgRewardsOptOutProtoMsg): MsgRewardsOptOut { + return MsgRewardsOptOut.decode(message.value); + }, + toProto(message: MsgRewardsOptOut): Uint8Array { + return MsgRewardsOptOut.encode(message).finish(); + }, + toProtoMsg(message: MsgRewardsOptOut): MsgRewardsOptOutProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgRewardsOptOut', + value: MsgRewardsOptOut.encode(message).finish(), + }; + }, +}; +function createBaseMsgRewardsOptOutResponse(): MsgRewardsOptOutResponse { + return {}; +} +export const MsgRewardsOptOutResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgRewardsOptOutResponse', + encode(_: MsgRewardsOptOutResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgRewardsOptOutResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRewardsOptOutResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgRewardsOptOutResponse { + const message = createBaseMsgRewardsOptOutResponse(); + return message; + }, + fromAmino(_: MsgRewardsOptOutResponseAmino): MsgRewardsOptOutResponse { + const message = createBaseMsgRewardsOptOutResponse(); + return message; + }, + toAmino(_: MsgRewardsOptOutResponse): MsgRewardsOptOutResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgRewardsOptOutResponseAminoMsg): MsgRewardsOptOutResponse { + return MsgRewardsOptOutResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgRewardsOptOutResponseProtoMsg): MsgRewardsOptOutResponse { + return MsgRewardsOptOutResponse.decode(message.value); + }, + toProto(message: MsgRewardsOptOutResponse): Uint8Array { + return MsgRewardsOptOutResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgRewardsOptOutResponse): MsgRewardsOptOutResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgRewardsOptOutResponse', + value: MsgRewardsOptOutResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgReclaimLockedFunds(): MsgReclaimLockedFunds { + return { + sender: '', + lockedAccountPubKey: new Uint8Array(), + signature: new Uint8Array(), + }; +} +export const MsgReclaimLockedFunds = { + typeUrl: '/injective.exchange.v1beta1.MsgReclaimLockedFunds', + encode(message: MsgReclaimLockedFunds, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.lockedAccountPubKey.length !== 0) { + writer.uint32(18).bytes(message.lockedAccountPubKey); + } + if (message.signature.length !== 0) { + writer.uint32(26).bytes(message.signature); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgReclaimLockedFunds { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgReclaimLockedFunds(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.lockedAccountPubKey = reader.bytes(); + break; + case 3: + message.signature = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgReclaimLockedFunds { + const message = createBaseMsgReclaimLockedFunds(); + message.sender = object.sender ?? ''; + message.lockedAccountPubKey = object.lockedAccountPubKey ?? new Uint8Array(); + message.signature = object.signature ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgReclaimLockedFundsAmino): MsgReclaimLockedFunds { + const message = createBaseMsgReclaimLockedFunds(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.lockedAccountPubKey !== undefined && object.lockedAccountPubKey !== null) { + message.lockedAccountPubKey = bytesFromBase64(object.lockedAccountPubKey); + } + if (object.signature !== undefined && object.signature !== null) { + message.signature = bytesFromBase64(object.signature); + } + return message; + }, + toAmino(message: MsgReclaimLockedFunds): MsgReclaimLockedFundsAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.lockedAccountPubKey = message.lockedAccountPubKey ? base64FromBytes(message.lockedAccountPubKey) : undefined; + obj.signature = message.signature ? base64FromBytes(message.signature) : undefined; + return obj; + }, + fromAminoMsg(object: MsgReclaimLockedFundsAminoMsg): MsgReclaimLockedFunds { + return MsgReclaimLockedFunds.fromAmino(object.value); + }, + toAminoMsg(message: MsgReclaimLockedFunds): MsgReclaimLockedFundsAminoMsg { + return { + type: 'exchange/MsgReclaimLockedFunds', + value: MsgReclaimLockedFunds.toAmino(message), + }; + }, + fromProtoMsg(message: MsgReclaimLockedFundsProtoMsg): MsgReclaimLockedFunds { + return MsgReclaimLockedFunds.decode(message.value); + }, + toProto(message: MsgReclaimLockedFunds): Uint8Array { + return MsgReclaimLockedFunds.encode(message).finish(); + }, + toProtoMsg(message: MsgReclaimLockedFunds): MsgReclaimLockedFundsProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgReclaimLockedFunds', + value: MsgReclaimLockedFunds.encode(message).finish(), + }; + }, +}; +function createBaseMsgReclaimLockedFundsResponse(): MsgReclaimLockedFundsResponse { + return {}; +} +export const MsgReclaimLockedFundsResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgReclaimLockedFundsResponse', + encode(_: MsgReclaimLockedFundsResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgReclaimLockedFundsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgReclaimLockedFundsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgReclaimLockedFundsResponse { + const message = createBaseMsgReclaimLockedFundsResponse(); + return message; + }, + fromAmino(_: MsgReclaimLockedFundsResponseAmino): MsgReclaimLockedFundsResponse { + const message = createBaseMsgReclaimLockedFundsResponse(); + return message; + }, + toAmino(_: MsgReclaimLockedFundsResponse): MsgReclaimLockedFundsResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgReclaimLockedFundsResponseAminoMsg): MsgReclaimLockedFundsResponse { + return MsgReclaimLockedFundsResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgReclaimLockedFundsResponseProtoMsg): MsgReclaimLockedFundsResponse { + return MsgReclaimLockedFundsResponse.decode(message.value); + }, + toProto(message: MsgReclaimLockedFundsResponse): Uint8Array { + return MsgReclaimLockedFundsResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgReclaimLockedFundsResponse): MsgReclaimLockedFundsResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgReclaimLockedFundsResponse', + value: MsgReclaimLockedFundsResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgSignData(): MsgSignData { + return { + signer: new Uint8Array(), + data: new Uint8Array(), + }; +} +export const MsgSignData = { + typeUrl: '/injective.exchange.v1beta1.MsgSignData', + encode(message: MsgSignData, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.signer.length !== 0) { + writer.uint32(10).bytes(message.signer); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSignData { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSignData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signer = reader.bytes(); + break; + case 2: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgSignData { + const message = createBaseMsgSignData(); + message.signer = object.signer ?? new Uint8Array(); + message.data = object.data ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgSignDataAmino): MsgSignData { + const message = createBaseMsgSignData(); + if (object.Signer !== undefined && object.Signer !== null) { + message.signer = bytesFromBase64(object.Signer); + } + if (object.Data !== undefined && object.Data !== null) { + message.data = bytesFromBase64(object.Data); + } + return message; + }, + toAmino(message: MsgSignData): MsgSignDataAmino { + const obj: any = {}; + obj.Signer = message.signer ? base64FromBytes(message.signer) : ''; + obj.Data = message.data ? base64FromBytes(message.data) : ''; + return obj; + }, + fromAminoMsg(object: MsgSignDataAminoMsg): MsgSignData { + return MsgSignData.fromAmino(object.value); + }, + fromProtoMsg(message: MsgSignDataProtoMsg): MsgSignData { + return MsgSignData.decode(message.value); + }, + toProto(message: MsgSignData): Uint8Array { + return MsgSignData.encode(message).finish(); + }, + toProtoMsg(message: MsgSignData): MsgSignDataProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgSignData', + value: MsgSignData.encode(message).finish(), + }; + }, +}; +function createBaseMsgSignDoc(): MsgSignDoc { + return { + signType: '', + value: MsgSignData.fromPartial({}), + }; +} +export const MsgSignDoc = { + typeUrl: '/injective.exchange.v1beta1.MsgSignDoc', + encode(message: MsgSignDoc, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.signType !== '') { + writer.uint32(10).string(message.signType); + } + if (message.value !== undefined) { + MsgSignData.encode(message.value, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgSignDoc { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSignDoc(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signType = reader.string(); + break; + case 2: + message.value = MsgSignData.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgSignDoc { + const message = createBaseMsgSignDoc(); + message.signType = object.signType ?? ''; + message.value = + object.value !== undefined && object.value !== null ? MsgSignData.fromPartial(object.value) : undefined; + return message; + }, + fromAmino(object: MsgSignDocAmino): MsgSignDoc { + const message = createBaseMsgSignDoc(); + if (object.sign_type !== undefined && object.sign_type !== null) { + message.signType = object.sign_type; + } + if (object.value !== undefined && object.value !== null) { + message.value = MsgSignData.fromAmino(object.value); + } + return message; + }, + toAmino(message: MsgSignDoc): MsgSignDocAmino { + const obj: any = {}; + obj.sign_type = message.signType ?? ''; + obj.value = message.value ? MsgSignData.toAmino(message.value) : undefined; + return obj; + }, + fromAminoMsg(object: MsgSignDocAminoMsg): MsgSignDoc { + return MsgSignDoc.fromAmino(object.value); + }, + fromProtoMsg(message: MsgSignDocProtoMsg): MsgSignDoc { + return MsgSignDoc.decode(message.value); + }, + toProto(message: MsgSignDoc): Uint8Array { + return MsgSignDoc.encode(message).finish(); + }, + toProtoMsg(message: MsgSignDoc): MsgSignDocProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgSignDoc', + value: MsgSignDoc.encode(message).finish(), + }; + }, +}; +function createBaseMsgAdminUpdateBinaryOptionsMarket(): MsgAdminUpdateBinaryOptionsMarket { + return { + sender: '', + marketId: '', + settlementPrice: undefined, + expirationTimestamp: BigInt(0), + settlementTimestamp: BigInt(0), + status: 0, + }; +} +export const MsgAdminUpdateBinaryOptionsMarket = { + typeUrl: '/injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket', + encode(message: MsgAdminUpdateBinaryOptionsMarket, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.marketId !== '') { + writer.uint32(18).string(message.marketId); + } + if (message.settlementPrice !== undefined) { + writer.uint32(26).string(Decimal.fromUserInput(message.settlementPrice, 18).atomics); + } + if (message.expirationTimestamp !== BigInt(0)) { + writer.uint32(32).int64(message.expirationTimestamp); + } + if (message.settlementTimestamp !== BigInt(0)) { + writer.uint32(40).int64(message.settlementTimestamp); + } + if (message.status !== 0) { + writer.uint32(48).int32(message.status); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgAdminUpdateBinaryOptionsMarket { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAdminUpdateBinaryOptionsMarket(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.marketId = reader.string(); + break; + case 3: + message.settlementPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.expirationTimestamp = reader.int64(); + break; + case 5: + message.settlementTimestamp = reader.int64(); + break; + case 6: + message.status = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgAdminUpdateBinaryOptionsMarket { + const message = createBaseMsgAdminUpdateBinaryOptionsMarket(); + message.sender = object.sender ?? ''; + message.marketId = object.marketId ?? ''; + message.settlementPrice = object.settlementPrice ?? undefined; + message.expirationTimestamp = + object.expirationTimestamp !== undefined && object.expirationTimestamp !== null + ? BigInt(object.expirationTimestamp.toString()) + : BigInt(0); + message.settlementTimestamp = + object.settlementTimestamp !== undefined && object.settlementTimestamp !== null + ? BigInt(object.settlementTimestamp.toString()) + : BigInt(0); + message.status = object.status ?? 0; + return message; + }, + fromAmino(object: MsgAdminUpdateBinaryOptionsMarketAmino): MsgAdminUpdateBinaryOptionsMarket { + const message = createBaseMsgAdminUpdateBinaryOptionsMarket(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.market_id !== undefined && object.market_id !== null) { + message.marketId = object.market_id; + } + if (object.settlement_price !== undefined && object.settlement_price !== null) { + message.settlementPrice = object.settlement_price; + } + if (object.expiration_timestamp !== undefined && object.expiration_timestamp !== null) { + message.expirationTimestamp = BigInt(object.expiration_timestamp); + } + if (object.settlement_timestamp !== undefined && object.settlement_timestamp !== null) { + message.settlementTimestamp = BigInt(object.settlement_timestamp); + } + if (object.status !== undefined && object.status !== null) { + message.status = object.status; + } + return message; + }, + toAmino(message: MsgAdminUpdateBinaryOptionsMarket): MsgAdminUpdateBinaryOptionsMarketAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.market_id = message.marketId === '' ? undefined : message.marketId; + obj.settlement_price = message.settlementPrice === null ? undefined : message.settlementPrice; + obj.expiration_timestamp = + message.expirationTimestamp !== BigInt(0) ? (message.expirationTimestamp?.toString)() : undefined; + obj.settlement_timestamp = + message.settlementTimestamp !== BigInt(0) ? (message.settlementTimestamp?.toString)() : undefined; + obj.status = message.status === 0 ? undefined : message.status; + return obj; + }, + fromAminoMsg(object: MsgAdminUpdateBinaryOptionsMarketAminoMsg): MsgAdminUpdateBinaryOptionsMarket { + return MsgAdminUpdateBinaryOptionsMarket.fromAmino(object.value); + }, + toAminoMsg(message: MsgAdminUpdateBinaryOptionsMarket): MsgAdminUpdateBinaryOptionsMarketAminoMsg { + return { + type: 'exchange/MsgAdminUpdateBinaryOptionsMarket', + value: MsgAdminUpdateBinaryOptionsMarket.toAmino(message), + }; + }, + fromProtoMsg(message: MsgAdminUpdateBinaryOptionsMarketProtoMsg): MsgAdminUpdateBinaryOptionsMarket { + return MsgAdminUpdateBinaryOptionsMarket.decode(message.value); + }, + toProto(message: MsgAdminUpdateBinaryOptionsMarket): Uint8Array { + return MsgAdminUpdateBinaryOptionsMarket.encode(message).finish(); + }, + toProtoMsg(message: MsgAdminUpdateBinaryOptionsMarket): MsgAdminUpdateBinaryOptionsMarketProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket', + value: MsgAdminUpdateBinaryOptionsMarket.encode(message).finish(), + }; + }, +}; +function createBaseMsgAdminUpdateBinaryOptionsMarketResponse(): MsgAdminUpdateBinaryOptionsMarketResponse { + return {}; +} +export const MsgAdminUpdateBinaryOptionsMarketResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse', + encode(_: MsgAdminUpdateBinaryOptionsMarketResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgAdminUpdateBinaryOptionsMarketResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAdminUpdateBinaryOptionsMarketResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgAdminUpdateBinaryOptionsMarketResponse { + const message = createBaseMsgAdminUpdateBinaryOptionsMarketResponse(); + return message; + }, + fromAmino(_: MsgAdminUpdateBinaryOptionsMarketResponseAmino): MsgAdminUpdateBinaryOptionsMarketResponse { + const message = createBaseMsgAdminUpdateBinaryOptionsMarketResponse(); + return message; + }, + toAmino(_: MsgAdminUpdateBinaryOptionsMarketResponse): MsgAdminUpdateBinaryOptionsMarketResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgAdminUpdateBinaryOptionsMarketResponseAminoMsg): MsgAdminUpdateBinaryOptionsMarketResponse { + return MsgAdminUpdateBinaryOptionsMarketResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgAdminUpdateBinaryOptionsMarketResponseProtoMsg): MsgAdminUpdateBinaryOptionsMarketResponse { + return MsgAdminUpdateBinaryOptionsMarketResponse.decode(message.value); + }, + toProto(message: MsgAdminUpdateBinaryOptionsMarketResponse): Uint8Array { + return MsgAdminUpdateBinaryOptionsMarketResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgAdminUpdateBinaryOptionsMarketResponse): MsgAdminUpdateBinaryOptionsMarketResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse', + value: MsgAdminUpdateBinaryOptionsMarketResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgAuthorizeStakeGrants(): MsgAuthorizeStakeGrants { + return { + sender: '', + grants: [], + }; +} +export const MsgAuthorizeStakeGrants = { + typeUrl: '/injective.exchange.v1beta1.MsgAuthorizeStakeGrants', + encode(message: MsgAuthorizeStakeGrants, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + for (const v of message.grants) { + GrantAuthorization.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgAuthorizeStakeGrants { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAuthorizeStakeGrants(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.grants.push(GrantAuthorization.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgAuthorizeStakeGrants { + const message = createBaseMsgAuthorizeStakeGrants(); + message.sender = object.sender ?? ''; + message.grants = object.grants?.map((e) => GrantAuthorization.fromPartial(e)) || []; + return message; + }, + fromAmino(object: MsgAuthorizeStakeGrantsAmino): MsgAuthorizeStakeGrants { + const message = createBaseMsgAuthorizeStakeGrants(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + message.grants = object.grants?.map((e) => GrantAuthorization.fromAmino(e)) || []; + return message; + }, + toAmino(message: MsgAuthorizeStakeGrants): MsgAuthorizeStakeGrantsAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + if (message.grants) { + obj.grants = message.grants.map((e) => (e ? GrantAuthorization.toAmino(e) : undefined)); + } else { + obj.grants = message.grants; + } + return obj; + }, + fromAminoMsg(object: MsgAuthorizeStakeGrantsAminoMsg): MsgAuthorizeStakeGrants { + return MsgAuthorizeStakeGrants.fromAmino(object.value); + }, + toAminoMsg(message: MsgAuthorizeStakeGrants): MsgAuthorizeStakeGrantsAminoMsg { + return { + type: 'exchange/MsgAuthorizeStakeGrants', + value: MsgAuthorizeStakeGrants.toAmino(message), + }; + }, + fromProtoMsg(message: MsgAuthorizeStakeGrantsProtoMsg): MsgAuthorizeStakeGrants { + return MsgAuthorizeStakeGrants.decode(message.value); + }, + toProto(message: MsgAuthorizeStakeGrants): Uint8Array { + return MsgAuthorizeStakeGrants.encode(message).finish(); + }, + toProtoMsg(message: MsgAuthorizeStakeGrants): MsgAuthorizeStakeGrantsProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgAuthorizeStakeGrants', + value: MsgAuthorizeStakeGrants.encode(message).finish(), + }; + }, +}; +function createBaseMsgAuthorizeStakeGrantsResponse(): MsgAuthorizeStakeGrantsResponse { + return {}; +} +export const MsgAuthorizeStakeGrantsResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgAuthorizeStakeGrantsResponse', + encode(_: MsgAuthorizeStakeGrantsResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgAuthorizeStakeGrantsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAuthorizeStakeGrantsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgAuthorizeStakeGrantsResponse { + const message = createBaseMsgAuthorizeStakeGrantsResponse(); + return message; + }, + fromAmino(_: MsgAuthorizeStakeGrantsResponseAmino): MsgAuthorizeStakeGrantsResponse { + const message = createBaseMsgAuthorizeStakeGrantsResponse(); + return message; + }, + toAmino(_: MsgAuthorizeStakeGrantsResponse): MsgAuthorizeStakeGrantsResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgAuthorizeStakeGrantsResponseAminoMsg): MsgAuthorizeStakeGrantsResponse { + return MsgAuthorizeStakeGrantsResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgAuthorizeStakeGrantsResponseProtoMsg): MsgAuthorizeStakeGrantsResponse { + return MsgAuthorizeStakeGrantsResponse.decode(message.value); + }, + toProto(message: MsgAuthorizeStakeGrantsResponse): Uint8Array { + return MsgAuthorizeStakeGrantsResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgAuthorizeStakeGrantsResponse): MsgAuthorizeStakeGrantsResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgAuthorizeStakeGrantsResponse', + value: MsgAuthorizeStakeGrantsResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgActivateStakeGrant(): MsgActivateStakeGrant { + return { + sender: '', + granter: '', + }; +} +export const MsgActivateStakeGrant = { + typeUrl: '/injective.exchange.v1beta1.MsgActivateStakeGrant', + encode(message: MsgActivateStakeGrant, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.granter !== '') { + writer.uint32(18).string(message.granter); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgActivateStakeGrant { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgActivateStakeGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.granter = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgActivateStakeGrant { + const message = createBaseMsgActivateStakeGrant(); + message.sender = object.sender ?? ''; + message.granter = object.granter ?? ''; + return message; + }, + fromAmino(object: MsgActivateStakeGrantAmino): MsgActivateStakeGrant { + const message = createBaseMsgActivateStakeGrant(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.granter !== undefined && object.granter !== null) { + message.granter = object.granter; + } + return message; + }, + toAmino(message: MsgActivateStakeGrant): MsgActivateStakeGrantAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.granter = message.granter === '' ? undefined : message.granter; + return obj; + }, + fromAminoMsg(object: MsgActivateStakeGrantAminoMsg): MsgActivateStakeGrant { + return MsgActivateStakeGrant.fromAmino(object.value); + }, + toAminoMsg(message: MsgActivateStakeGrant): MsgActivateStakeGrantAminoMsg { + return { + type: 'exchange/MsgActivateStakeGrant', + value: MsgActivateStakeGrant.toAmino(message), + }; + }, + fromProtoMsg(message: MsgActivateStakeGrantProtoMsg): MsgActivateStakeGrant { + return MsgActivateStakeGrant.decode(message.value); + }, + toProto(message: MsgActivateStakeGrant): Uint8Array { + return MsgActivateStakeGrant.encode(message).finish(); + }, + toProtoMsg(message: MsgActivateStakeGrant): MsgActivateStakeGrantProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgActivateStakeGrant', + value: MsgActivateStakeGrant.encode(message).finish(), + }; + }, +}; +function createBaseMsgActivateStakeGrantResponse(): MsgActivateStakeGrantResponse { + return {}; +} +export const MsgActivateStakeGrantResponse = { + typeUrl: '/injective.exchange.v1beta1.MsgActivateStakeGrantResponse', + encode(_: MsgActivateStakeGrantResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgActivateStakeGrantResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgActivateStakeGrantResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgActivateStakeGrantResponse { + const message = createBaseMsgActivateStakeGrantResponse(); + return message; + }, + fromAmino(_: MsgActivateStakeGrantResponseAmino): MsgActivateStakeGrantResponse { + const message = createBaseMsgActivateStakeGrantResponse(); + return message; + }, + toAmino(_: MsgActivateStakeGrantResponse): MsgActivateStakeGrantResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgActivateStakeGrantResponseAminoMsg): MsgActivateStakeGrantResponse { + return MsgActivateStakeGrantResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgActivateStakeGrantResponseProtoMsg): MsgActivateStakeGrantResponse { + return MsgActivateStakeGrantResponse.decode(message.value); + }, + toProto(message: MsgActivateStakeGrantResponse): Uint8Array { + return MsgActivateStakeGrantResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgActivateStakeGrantResponse): MsgActivateStakeGrantResponseProtoMsg { + return { + typeUrl: '/injective.exchange.v1beta1.MsgActivateStakeGrantResponse', + value: MsgActivateStakeGrantResponse.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/ocr/v1beta1/ocr.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/ocr/v1beta1/ocr.ts new file mode 100644 index 00000000..d3d1da56 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/ocr/v1beta1/ocr.ts @@ -0,0 +1,3099 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Decimal } from '@cosmjs/math'; +import { Timestamp } from 'cosmjs-types/google/protobuf/timestamp'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64, fromTimestamp, toTimestamp } from '../../../../../helpers'; +import { Coin, CoinAmino, CoinSDKType } from '../../../cosmos/base/v1beta1/coin'; +export interface Params { + /** Native denom for LINK coin in the bank keeper */ + linkDenom: string; + /** The block number interval at which payouts are made */ + payoutBlockInterval: bigint; + /** The admin for the OCR module */ + moduleAdmin: string; +} +export interface ParamsProtoMsg { + typeUrl: '/injective.ocr.v1beta1.Params'; + value: Uint8Array; +} +export interface ParamsAmino { + /** Native denom for LINK coin in the bank keeper */ + link_denom?: string; + /** The block number interval at which payouts are made */ + payout_block_interval?: string; + /** The admin for the OCR module */ + module_admin?: string; +} +export interface ParamsAminoMsg { + type: 'ocr/Params'; + value: ParamsAmino; +} +export interface ParamsSDKType { + link_denom: string; + payout_block_interval: bigint; + module_admin: string; +} +export interface FeedConfig { + /** signers ith element is address ith oracle uses to sign a report */ + signers: string[]; + /** + * transmitters ith element is address ith oracle uses to transmit a report + * via the transmit method + */ + transmitters: string[]; + /** + * f maximum number of faulty/dishonest oracles the protocol can tolerate + * while still working correctly + */ + f: number; + /** onchain_config serialized data with reporting plugin params on chain. */ + onchainConfig: Uint8Array; + /** + * offchain_config_version version of the serialization format used for + * "offchain_config" parameter + */ + offchainConfigVersion: bigint; + /** + * offchain_config serialized data used by oracles to configure their offchain + * operation + */ + offchainConfig: Uint8Array; + /** feed-specific params for the Cosmos module. */ + moduleParams?: ModuleParams; +} +export interface FeedConfigProtoMsg { + typeUrl: '/injective.ocr.v1beta1.FeedConfig'; + value: Uint8Array; +} +export interface FeedConfigAmino { + /** signers ith element is address ith oracle uses to sign a report */ + signers?: string[]; + /** + * transmitters ith element is address ith oracle uses to transmit a report + * via the transmit method + */ + transmitters?: string[]; + /** + * f maximum number of faulty/dishonest oracles the protocol can tolerate + * while still working correctly + */ + f?: number; + /** onchain_config serialized data with reporting plugin params on chain. */ + onchain_config?: string; + /** + * offchain_config_version version of the serialization format used for + * "offchain_config" parameter + */ + offchain_config_version?: string; + /** + * offchain_config serialized data used by oracles to configure their offchain + * operation + */ + offchain_config?: string; + /** feed-specific params for the Cosmos module. */ + module_params?: ModuleParamsAmino; +} +export interface FeedConfigAminoMsg { + type: '/injective.ocr.v1beta1.FeedConfig'; + value: FeedConfigAmino; +} +export interface FeedConfigSDKType { + signers: string[]; + transmitters: string[]; + f: number; + onchain_config: Uint8Array; + offchain_config_version: bigint; + offchain_config: Uint8Array; + module_params?: ModuleParamsSDKType; +} +export interface FeedConfigInfo { + latestConfigDigest: Uint8Array; + f: number; + n: number; + /** + * config_count ordinal number of this config setting among all config + * settings + */ + configCount: bigint; + latestConfigBlockNumber: bigint; +} +export interface FeedConfigInfoProtoMsg { + typeUrl: '/injective.ocr.v1beta1.FeedConfigInfo'; + value: Uint8Array; +} +export interface FeedConfigInfoAmino { + latest_config_digest?: string; + f?: number; + n?: number; + /** + * config_count ordinal number of this config setting among all config + * settings + */ + config_count?: string; + latest_config_block_number?: string; +} +export interface FeedConfigInfoAminoMsg { + type: '/injective.ocr.v1beta1.FeedConfigInfo'; + value: FeedConfigInfoAmino; +} +export interface FeedConfigInfoSDKType { + latest_config_digest: Uint8Array; + f: number; + n: number; + config_count: bigint; + latest_config_block_number: bigint; +} +export interface ModuleParams { + /** feed_id is an unique ID for the target of this config */ + feedId: string; + /** lowest answer the median of a report is allowed to be */ + minAnswer: string; + /** highest answer the median of a report is allowed to be */ + maxAnswer: string; + /** Fixed LINK reward for each observer */ + linkPerObservation: string; + /** Fixed LINK reward for transmitter */ + linkPerTransmission: string; + /** Native denom for LINK coin in the bank keeper */ + linkDenom: string; + /** Enables unique reports */ + uniqueReports: boolean; + /** + * short human-readable description of observable this feed's answers pertain + * to + */ + description: string; + /** feed administrator */ + feedAdmin: string; + /** feed billing administrator */ + billingAdmin: string; +} +export interface ModuleParamsProtoMsg { + typeUrl: '/injective.ocr.v1beta1.ModuleParams'; + value: Uint8Array; +} +export interface ModuleParamsAmino { + /** feed_id is an unique ID for the target of this config */ + feed_id?: string; + /** lowest answer the median of a report is allowed to be */ + min_answer?: string; + /** highest answer the median of a report is allowed to be */ + max_answer?: string; + /** Fixed LINK reward for each observer */ + link_per_observation?: string; + /** Fixed LINK reward for transmitter */ + link_per_transmission?: string; + /** Native denom for LINK coin in the bank keeper */ + link_denom?: string; + /** Enables unique reports */ + unique_reports?: boolean; + /** + * short human-readable description of observable this feed's answers pertain + * to + */ + description?: string; + /** feed administrator */ + feed_admin?: string; + /** feed billing administrator */ + billing_admin?: string; +} +export interface ModuleParamsAminoMsg { + type: '/injective.ocr.v1beta1.ModuleParams'; + value: ModuleParamsAmino; +} +export interface ModuleParamsSDKType { + feed_id: string; + min_answer: string; + max_answer: string; + link_per_observation: string; + link_per_transmission: string; + link_denom: string; + unique_reports: boolean; + description: string; + feed_admin: string; + billing_admin: string; +} +export interface ContractConfig { + /** + * config_count ordinal number of this config setting among all config + * settings + */ + configCount: bigint; + /** signers ith element is address ith oracle uses to sign a report */ + signers: string[]; + /** + * transmitters ith element is address ith oracle uses to transmit a report + * via the transmit method + */ + transmitters: string[]; + /** + * f maximum number of faulty/dishonest oracles the protocol can tolerate + * while still working correctly + */ + f: number; + /** onchain_config serialized data with reporting plugin params on chain. */ + onchainConfig: Uint8Array; + /** + * offchain_config_version version of the serialization format used for + * "offchain_config" parameter + */ + offchainConfigVersion: bigint; + /** + * offchain_config serialized data used by oracles to configure their offchain + * operation + */ + offchainConfig: Uint8Array; +} +export interface ContractConfigProtoMsg { + typeUrl: '/injective.ocr.v1beta1.ContractConfig'; + value: Uint8Array; +} +export interface ContractConfigAmino { + /** + * config_count ordinal number of this config setting among all config + * settings + */ + config_count?: string; + /** signers ith element is address ith oracle uses to sign a report */ + signers?: string[]; + /** + * transmitters ith element is address ith oracle uses to transmit a report + * via the transmit method + */ + transmitters?: string[]; + /** + * f maximum number of faulty/dishonest oracles the protocol can tolerate + * while still working correctly + */ + f?: number; + /** onchain_config serialized data with reporting plugin params on chain. */ + onchain_config?: string; + /** + * offchain_config_version version of the serialization format used for + * "offchain_config" parameter + */ + offchain_config_version?: string; + /** + * offchain_config serialized data used by oracles to configure their offchain + * operation + */ + offchain_config?: string; +} +export interface ContractConfigAminoMsg { + type: '/injective.ocr.v1beta1.ContractConfig'; + value: ContractConfigAmino; +} +export interface ContractConfigSDKType { + config_count: bigint; + signers: string[]; + transmitters: string[]; + f: number; + onchain_config: Uint8Array; + offchain_config_version: bigint; + offchain_config: Uint8Array; +} +export interface SetConfigProposal { + $typeUrl?: '/injective.ocr.v1beta1.SetConfigProposal'; + title: string; + description: string; + config?: FeedConfig; +} +export interface SetConfigProposalProtoMsg { + typeUrl: '/injective.ocr.v1beta1.SetConfigProposal'; + value: Uint8Array; +} +export interface SetConfigProposalAmino { + title?: string; + description?: string; + config?: FeedConfigAmino; +} +export interface SetConfigProposalAminoMsg { + type: 'ocr/SetConfigProposal'; + value: SetConfigProposalAmino; +} +export interface SetConfigProposalSDKType { + $typeUrl?: '/injective.ocr.v1beta1.SetConfigProposal'; + title: string; + description: string; + config?: FeedConfigSDKType; +} +export interface FeedProperties { + /** feed_id is an unique ID for the target of this config */ + feedId: string; + /** + * f maximum number of faulty/dishonest oracles the protocol can tolerate + * while still working correctly + */ + f: number; + /** onchain_config serialized data with reporting plugin params on chain. */ + onchainConfig: Uint8Array; + /** + * offchain_config_version version of the serialization format used for + * "offchain_config" parameter + */ + offchainConfigVersion: bigint; + /** + * offchain_config serialized data used by oracles to configure their offchain + * operation + */ + offchainConfig: Uint8Array; + /** lowest answer the median of a report is allowed to be */ + minAnswer: string; + /** highest answer the median of a report is allowed to be */ + maxAnswer: string; + /** Fixed LINK reward for each observer */ + linkPerObservation: string; + /** Fixed LINK reward for transmitter */ + linkPerTransmission: string; + /** Enables unique reports */ + uniqueReports: boolean; + /** + * short human-readable description of observable this feed's answers pertain + * to + */ + description: string; +} +export interface FeedPropertiesProtoMsg { + typeUrl: '/injective.ocr.v1beta1.FeedProperties'; + value: Uint8Array; +} +export interface FeedPropertiesAmino { + /** feed_id is an unique ID for the target of this config */ + feed_id?: string; + /** + * f maximum number of faulty/dishonest oracles the protocol can tolerate + * while still working correctly + */ + f?: number; + /** onchain_config serialized data with reporting plugin params on chain. */ + onchain_config?: string; + /** + * offchain_config_version version of the serialization format used for + * "offchain_config" parameter + */ + offchain_config_version?: string; + /** + * offchain_config serialized data used by oracles to configure their offchain + * operation + */ + offchain_config?: string; + /** lowest answer the median of a report is allowed to be */ + min_answer?: string; + /** highest answer the median of a report is allowed to be */ + max_answer?: string; + /** Fixed LINK reward for each observer */ + link_per_observation?: string; + /** Fixed LINK reward for transmitter */ + link_per_transmission?: string; + /** Enables unique reports */ + unique_reports?: boolean; + /** + * short human-readable description of observable this feed's answers pertain + * to + */ + description?: string; +} +export interface FeedPropertiesAminoMsg { + type: '/injective.ocr.v1beta1.FeedProperties'; + value: FeedPropertiesAmino; +} +export interface FeedPropertiesSDKType { + feed_id: string; + f: number; + onchain_config: Uint8Array; + offchain_config_version: bigint; + offchain_config: Uint8Array; + min_answer: string; + max_answer: string; + link_per_observation: string; + link_per_transmission: string; + unique_reports: boolean; + description: string; +} +export interface SetBatchConfigProposal { + $typeUrl?: '/injective.ocr.v1beta1.SetBatchConfigProposal'; + title: string; + description: string; + /** signers ith element is address ith oracle uses to sign a report */ + signers: string[]; + /** + * transmitters ith element is address ith oracle uses to transmit a report + * via the transmit method + */ + transmitters: string[]; + /** Native denom for LINK coin in the bank keeper */ + linkDenom: string; + /** feed properties */ + feedProperties: FeedProperties[]; +} +export interface SetBatchConfigProposalProtoMsg { + typeUrl: '/injective.ocr.v1beta1.SetBatchConfigProposal'; + value: Uint8Array; +} +export interface SetBatchConfigProposalAmino { + title?: string; + description?: string; + /** signers ith element is address ith oracle uses to sign a report */ + signers?: string[]; + /** + * transmitters ith element is address ith oracle uses to transmit a report + * via the transmit method + */ + transmitters?: string[]; + /** Native denom for LINK coin in the bank keeper */ + link_denom?: string; + /** feed properties */ + feed_properties?: FeedPropertiesAmino[]; +} +export interface SetBatchConfigProposalAminoMsg { + type: 'ocr/SetBatchConfigProposal'; + value: SetBatchConfigProposalAmino; +} +export interface SetBatchConfigProposalSDKType { + $typeUrl?: '/injective.ocr.v1beta1.SetBatchConfigProposal'; + title: string; + description: string; + signers: string[]; + transmitters: string[]; + link_denom: string; + feed_properties: FeedPropertiesSDKType[]; +} +export interface OracleObservationsCounts { + counts: number[]; +} +export interface OracleObservationsCountsProtoMsg { + typeUrl: '/injective.ocr.v1beta1.OracleObservationsCounts'; + value: Uint8Array; +} +export interface OracleObservationsCountsAmino { + counts?: number[]; +} +export interface OracleObservationsCountsAminoMsg { + type: '/injective.ocr.v1beta1.OracleObservationsCounts'; + value: OracleObservationsCountsAmino; +} +export interface OracleObservationsCountsSDKType { + counts: number[]; +} +/** LINK-INJ-denominated reimbursements for gas used by transmitters. */ +export interface GasReimbursements { + reimbursements: Coin[]; +} +export interface GasReimbursementsProtoMsg { + typeUrl: '/injective.ocr.v1beta1.GasReimbursements'; + value: Uint8Array; +} +/** LINK-INJ-denominated reimbursements for gas used by transmitters. */ +export interface GasReimbursementsAmino { + reimbursements?: CoinAmino[]; +} +export interface GasReimbursementsAminoMsg { + type: '/injective.ocr.v1beta1.GasReimbursements'; + value: GasReimbursementsAmino; +} +/** LINK-INJ-denominated reimbursements for gas used by transmitters. */ +export interface GasReimbursementsSDKType { + reimbursements: CoinSDKType[]; +} +export interface Payee { + transmitterAddr: string; + paymentAddr: string; +} +export interface PayeeProtoMsg { + typeUrl: '/injective.ocr.v1beta1.Payee'; + value: Uint8Array; +} +export interface PayeeAmino { + transmitter_addr?: string; + payment_addr?: string; +} +export interface PayeeAminoMsg { + type: '/injective.ocr.v1beta1.Payee'; + value: PayeeAmino; +} +export interface PayeeSDKType { + transmitter_addr: string; + payment_addr: string; +} +/** + * Transmission records the median answer from the transmit transaction at + * time timestamp + */ +export interface Transmission { + answer: string; + /** when were observations made offchain */ + observationsTimestamp: bigint; + /** when was report received onchain */ + transmissionTimestamp: bigint; +} +export interface TransmissionProtoMsg { + typeUrl: '/injective.ocr.v1beta1.Transmission'; + value: Uint8Array; +} +/** + * Transmission records the median answer from the transmit transaction at + * time timestamp + */ +export interface TransmissionAmino { + answer?: string; + /** when were observations made offchain */ + observations_timestamp?: string; + /** when was report received onchain */ + transmission_timestamp?: string; +} +export interface TransmissionAminoMsg { + type: '/injective.ocr.v1beta1.Transmission'; + value: TransmissionAmino; +} +/** + * Transmission records the median answer from the transmit transaction at + * time timestamp + */ +export interface TransmissionSDKType { + answer: string; + observations_timestamp: bigint; + transmission_timestamp: bigint; +} +export interface EpochAndRound { + epoch: bigint; + round: bigint; +} +export interface EpochAndRoundProtoMsg { + typeUrl: '/injective.ocr.v1beta1.EpochAndRound'; + value: Uint8Array; +} +export interface EpochAndRoundAmino { + epoch?: string; + round?: string; +} +export interface EpochAndRoundAminoMsg { + type: '/injective.ocr.v1beta1.EpochAndRound'; + value: EpochAndRoundAmino; +} +export interface EpochAndRoundSDKType { + epoch: bigint; + round: bigint; +} +export interface Report { + observationsTimestamp: bigint; + /** ith element is the index of the ith observer */ + observers: Uint8Array; + observations: string[]; +} +export interface ReportProtoMsg { + typeUrl: '/injective.ocr.v1beta1.Report'; + value: Uint8Array; +} +export interface ReportAmino { + observations_timestamp?: string; + /** ith element is the index of the ith observer */ + observers?: string; + observations?: string[]; +} +export interface ReportAminoMsg { + type: '/injective.ocr.v1beta1.Report'; + value: ReportAmino; +} +export interface ReportSDKType { + observations_timestamp: bigint; + observers: Uint8Array; + observations: string[]; +} +export interface ReportToSign { + configDigest: Uint8Array; + epoch: bigint; + round: bigint; + extraHash: Uint8Array; + /** Opaque report */ + report: Uint8Array; +} +export interface ReportToSignProtoMsg { + typeUrl: '/injective.ocr.v1beta1.ReportToSign'; + value: Uint8Array; +} +export interface ReportToSignAmino { + config_digest?: string; + epoch?: string; + round?: string; + extra_hash?: string; + /** Opaque report */ + report?: string; +} +export interface ReportToSignAminoMsg { + type: '/injective.ocr.v1beta1.ReportToSign'; + value: ReportToSignAmino; +} +export interface ReportToSignSDKType { + config_digest: Uint8Array; + epoch: bigint; + round: bigint; + extra_hash: Uint8Array; + report: Uint8Array; +} +export interface EventOraclePaid { + transmitterAddr: string; + payeeAddr: string; + amount: Coin; +} +export interface EventOraclePaidProtoMsg { + typeUrl: '/injective.ocr.v1beta1.EventOraclePaid'; + value: Uint8Array; +} +export interface EventOraclePaidAmino { + transmitter_addr?: string; + payee_addr?: string; + amount?: CoinAmino; +} +export interface EventOraclePaidAminoMsg { + type: '/injective.ocr.v1beta1.EventOraclePaid'; + value: EventOraclePaidAmino; +} +export interface EventOraclePaidSDKType { + transmitter_addr: string; + payee_addr: string; + amount: CoinSDKType; +} +export interface EventAnswerUpdated { + current: string; + roundId: string; + updatedAt: Date; +} +export interface EventAnswerUpdatedProtoMsg { + typeUrl: '/injective.ocr.v1beta1.EventAnswerUpdated'; + value: Uint8Array; +} +export interface EventAnswerUpdatedAmino { + current?: string; + round_id?: string; + updated_at?: string; +} +export interface EventAnswerUpdatedAminoMsg { + type: '/injective.ocr.v1beta1.EventAnswerUpdated'; + value: EventAnswerUpdatedAmino; +} +export interface EventAnswerUpdatedSDKType { + current: string; + round_id: string; + updated_at: Date; +} +export interface EventNewRound { + roundId: string; + /** address of starter */ + startedBy: string; + startedAt: Date; +} +export interface EventNewRoundProtoMsg { + typeUrl: '/injective.ocr.v1beta1.EventNewRound'; + value: Uint8Array; +} +export interface EventNewRoundAmino { + round_id?: string; + /** address of starter */ + started_by?: string; + started_at?: string; +} +export interface EventNewRoundAminoMsg { + type: '/injective.ocr.v1beta1.EventNewRound'; + value: EventNewRoundAmino; +} +export interface EventNewRoundSDKType { + round_id: string; + started_by: string; + started_at: Date; +} +export interface EventTransmitted { + configDigest: Uint8Array; + epoch: bigint; +} +export interface EventTransmittedProtoMsg { + typeUrl: '/injective.ocr.v1beta1.EventTransmitted'; + value: Uint8Array; +} +export interface EventTransmittedAmino { + config_digest?: string; + epoch?: string; +} +export interface EventTransmittedAminoMsg { + type: '/injective.ocr.v1beta1.EventTransmitted'; + value: EventTransmittedAmino; +} +export interface EventTransmittedSDKType { + config_digest: Uint8Array; + epoch: bigint; +} +export interface EventNewTransmission { + feedId: string; + aggregatorRoundId: number; + answer: string; + transmitter: string; + observationsTimestamp: bigint; + observations: string[]; + observers: Uint8Array; + configDigest: Uint8Array; + epochAndRound?: EpochAndRound; +} +export interface EventNewTransmissionProtoMsg { + typeUrl: '/injective.ocr.v1beta1.EventNewTransmission'; + value: Uint8Array; +} +export interface EventNewTransmissionAmino { + feed_id?: string; + aggregator_round_id?: number; + answer?: string; + transmitter?: string; + observations_timestamp?: string; + observations?: string[]; + observers?: string; + config_digest?: string; + epoch_and_round?: EpochAndRoundAmino; +} +export interface EventNewTransmissionAminoMsg { + type: '/injective.ocr.v1beta1.EventNewTransmission'; + value: EventNewTransmissionAmino; +} +export interface EventNewTransmissionSDKType { + feed_id: string; + aggregator_round_id: number; + answer: string; + transmitter: string; + observations_timestamp: bigint; + observations: string[]; + observers: Uint8Array; + config_digest: Uint8Array; + epoch_and_round?: EpochAndRoundSDKType; +} +export interface EventConfigSet { + /** hash of the config */ + configDigest: Uint8Array; + /** + * previous_config_block_number block in which the previous config was set, to + * simplify historic analysis + */ + previousConfigBlockNumber: bigint; + config?: FeedConfig; + configInfo?: FeedConfigInfo; +} +export interface EventConfigSetProtoMsg { + typeUrl: '/injective.ocr.v1beta1.EventConfigSet'; + value: Uint8Array; +} +export interface EventConfigSetAmino { + /** hash of the config */ + config_digest?: string; + /** + * previous_config_block_number block in which the previous config was set, to + * simplify historic analysis + */ + previous_config_block_number?: string; + config?: FeedConfigAmino; + config_info?: FeedConfigInfoAmino; +} +export interface EventConfigSetAminoMsg { + type: '/injective.ocr.v1beta1.EventConfigSet'; + value: EventConfigSetAmino; +} +export interface EventConfigSetSDKType { + config_digest: Uint8Array; + previous_config_block_number: bigint; + config?: FeedConfigSDKType; + config_info?: FeedConfigInfoSDKType; +} +function createBaseParams(): Params { + return { + linkDenom: '', + payoutBlockInterval: BigInt(0), + moduleAdmin: '', + }; +} +export const Params = { + typeUrl: '/injective.ocr.v1beta1.Params', + encode(message: Params, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.linkDenom !== '') { + writer.uint32(10).string(message.linkDenom); + } + if (message.payoutBlockInterval !== BigInt(0)) { + writer.uint32(16).uint64(message.payoutBlockInterval); + } + if (message.moduleAdmin !== '') { + writer.uint32(26).string(message.moduleAdmin); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.linkDenom = reader.string(); + break; + case 2: + message.payoutBlockInterval = reader.uint64(); + break; + case 3: + message.moduleAdmin = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Params { + const message = createBaseParams(); + message.linkDenom = object.linkDenom ?? ''; + message.payoutBlockInterval = + object.payoutBlockInterval !== undefined && object.payoutBlockInterval !== null + ? BigInt(object.payoutBlockInterval.toString()) + : BigInt(0); + message.moduleAdmin = object.moduleAdmin ?? ''; + return message; + }, + fromAmino(object: ParamsAmino): Params { + const message = createBaseParams(); + if (object.link_denom !== undefined && object.link_denom !== null) { + message.linkDenom = object.link_denom; + } + if (object.payout_block_interval !== undefined && object.payout_block_interval !== null) { + message.payoutBlockInterval = BigInt(object.payout_block_interval); + } + if (object.module_admin !== undefined && object.module_admin !== null) { + message.moduleAdmin = object.module_admin; + } + return message; + }, + toAmino(message: Params): ParamsAmino { + const obj: any = {}; + obj.link_denom = message.linkDenom === '' ? undefined : message.linkDenom; + obj.payout_block_interval = + message.payoutBlockInterval !== BigInt(0) ? (message.payoutBlockInterval?.toString)() : undefined; + obj.module_admin = message.moduleAdmin === '' ? undefined : message.moduleAdmin; + return obj; + }, + fromAminoMsg(object: ParamsAminoMsg): Params { + return Params.fromAmino(object.value); + }, + toAminoMsg(message: Params): ParamsAminoMsg { + return { + type: 'ocr/Params', + value: Params.toAmino(message), + }; + }, + fromProtoMsg(message: ParamsProtoMsg): Params { + return Params.decode(message.value); + }, + toProto(message: Params): Uint8Array { + return Params.encode(message).finish(); + }, + toProtoMsg(message: Params): ParamsProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.Params', + value: Params.encode(message).finish(), + }; + }, +}; +function createBaseFeedConfig(): FeedConfig { + return { + signers: [], + transmitters: [], + f: 0, + onchainConfig: new Uint8Array(), + offchainConfigVersion: BigInt(0), + offchainConfig: new Uint8Array(), + moduleParams: undefined, + }; +} +export const FeedConfig = { + typeUrl: '/injective.ocr.v1beta1.FeedConfig', + encode(message: FeedConfig, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.signers) { + writer.uint32(10).string(v!); + } + for (const v of message.transmitters) { + writer.uint32(18).string(v!); + } + if (message.f !== 0) { + writer.uint32(24).uint32(message.f); + } + if (message.onchainConfig.length !== 0) { + writer.uint32(34).bytes(message.onchainConfig); + } + if (message.offchainConfigVersion !== BigInt(0)) { + writer.uint32(40).uint64(message.offchainConfigVersion); + } + if (message.offchainConfig.length !== 0) { + writer.uint32(50).bytes(message.offchainConfig); + } + if (message.moduleParams !== undefined) { + ModuleParams.encode(message.moduleParams, writer.uint32(58).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): FeedConfig { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeedConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signers.push(reader.string()); + break; + case 2: + message.transmitters.push(reader.string()); + break; + case 3: + message.f = reader.uint32(); + break; + case 4: + message.onchainConfig = reader.bytes(); + break; + case 5: + message.offchainConfigVersion = reader.uint64(); + break; + case 6: + message.offchainConfig = reader.bytes(); + break; + case 7: + message.moduleParams = ModuleParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): FeedConfig { + const message = createBaseFeedConfig(); + message.signers = object.signers?.map((e) => e) || []; + message.transmitters = object.transmitters?.map((e) => e) || []; + message.f = object.f ?? 0; + message.onchainConfig = object.onchainConfig ?? new Uint8Array(); + message.offchainConfigVersion = + object.offchainConfigVersion !== undefined && object.offchainConfigVersion !== null + ? BigInt(object.offchainConfigVersion.toString()) + : BigInt(0); + message.offchainConfig = object.offchainConfig ?? new Uint8Array(); + message.moduleParams = + object.moduleParams !== undefined && object.moduleParams !== null + ? ModuleParams.fromPartial(object.moduleParams) + : undefined; + return message; + }, + fromAmino(object: FeedConfigAmino): FeedConfig { + const message = createBaseFeedConfig(); + message.signers = object.signers?.map((e) => e) || []; + message.transmitters = object.transmitters?.map((e) => e) || []; + if (object.f !== undefined && object.f !== null) { + message.f = object.f; + } + if (object.onchain_config !== undefined && object.onchain_config !== null) { + message.onchainConfig = bytesFromBase64(object.onchain_config); + } + if (object.offchain_config_version !== undefined && object.offchain_config_version !== null) { + message.offchainConfigVersion = BigInt(object.offchain_config_version); + } + if (object.offchain_config !== undefined && object.offchain_config !== null) { + message.offchainConfig = bytesFromBase64(object.offchain_config); + } + if (object.module_params !== undefined && object.module_params !== null) { + message.moduleParams = ModuleParams.fromAmino(object.module_params); + } + return message; + }, + toAmino(message: FeedConfig): FeedConfigAmino { + const obj: any = {}; + if (message.signers) { + obj.signers = message.signers.map((e) => e); + } else { + obj.signers = message.signers; + } + if (message.transmitters) { + obj.transmitters = message.transmitters.map((e) => e); + } else { + obj.transmitters = message.transmitters; + } + obj.f = message.f === 0 ? undefined : message.f; + obj.onchain_config = message.onchainConfig ? base64FromBytes(message.onchainConfig) : undefined; + obj.offchain_config_version = + message.offchainConfigVersion !== BigInt(0) ? (message.offchainConfigVersion?.toString)() : undefined; + obj.offchain_config = message.offchainConfig ? base64FromBytes(message.offchainConfig) : undefined; + obj.module_params = message.moduleParams ? ModuleParams.toAmino(message.moduleParams) : undefined; + return obj; + }, + fromAminoMsg(object: FeedConfigAminoMsg): FeedConfig { + return FeedConfig.fromAmino(object.value); + }, + fromProtoMsg(message: FeedConfigProtoMsg): FeedConfig { + return FeedConfig.decode(message.value); + }, + toProto(message: FeedConfig): Uint8Array { + return FeedConfig.encode(message).finish(); + }, + toProtoMsg(message: FeedConfig): FeedConfigProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.FeedConfig', + value: FeedConfig.encode(message).finish(), + }; + }, +}; +function createBaseFeedConfigInfo(): FeedConfigInfo { + return { + latestConfigDigest: new Uint8Array(), + f: 0, + n: 0, + configCount: BigInt(0), + latestConfigBlockNumber: BigInt(0), + }; +} +export const FeedConfigInfo = { + typeUrl: '/injective.ocr.v1beta1.FeedConfigInfo', + encode(message: FeedConfigInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.latestConfigDigest.length !== 0) { + writer.uint32(10).bytes(message.latestConfigDigest); + } + if (message.f !== 0) { + writer.uint32(16).uint32(message.f); + } + if (message.n !== 0) { + writer.uint32(24).uint32(message.n); + } + if (message.configCount !== BigInt(0)) { + writer.uint32(32).uint64(message.configCount); + } + if (message.latestConfigBlockNumber !== BigInt(0)) { + writer.uint32(40).int64(message.latestConfigBlockNumber); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): FeedConfigInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeedConfigInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.latestConfigDigest = reader.bytes(); + break; + case 2: + message.f = reader.uint32(); + break; + case 3: + message.n = reader.uint32(); + break; + case 4: + message.configCount = reader.uint64(); + break; + case 5: + message.latestConfigBlockNumber = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): FeedConfigInfo { + const message = createBaseFeedConfigInfo(); + message.latestConfigDigest = object.latestConfigDigest ?? new Uint8Array(); + message.f = object.f ?? 0; + message.n = object.n ?? 0; + message.configCount = + object.configCount !== undefined && object.configCount !== null + ? BigInt(object.configCount.toString()) + : BigInt(0); + message.latestConfigBlockNumber = + object.latestConfigBlockNumber !== undefined && object.latestConfigBlockNumber !== null + ? BigInt(object.latestConfigBlockNumber.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: FeedConfigInfoAmino): FeedConfigInfo { + const message = createBaseFeedConfigInfo(); + if (object.latest_config_digest !== undefined && object.latest_config_digest !== null) { + message.latestConfigDigest = bytesFromBase64(object.latest_config_digest); + } + if (object.f !== undefined && object.f !== null) { + message.f = object.f; + } + if (object.n !== undefined && object.n !== null) { + message.n = object.n; + } + if (object.config_count !== undefined && object.config_count !== null) { + message.configCount = BigInt(object.config_count); + } + if (object.latest_config_block_number !== undefined && object.latest_config_block_number !== null) { + message.latestConfigBlockNumber = BigInt(object.latest_config_block_number); + } + return message; + }, + toAmino(message: FeedConfigInfo): FeedConfigInfoAmino { + const obj: any = {}; + obj.latest_config_digest = message.latestConfigDigest ? base64FromBytes(message.latestConfigDigest) : undefined; + obj.f = message.f === 0 ? undefined : message.f; + obj.n = message.n === 0 ? undefined : message.n; + obj.config_count = message.configCount !== BigInt(0) ? (message.configCount?.toString)() : undefined; + obj.latest_config_block_number = + message.latestConfigBlockNumber !== BigInt(0) ? (message.latestConfigBlockNumber?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: FeedConfigInfoAminoMsg): FeedConfigInfo { + return FeedConfigInfo.fromAmino(object.value); + }, + fromProtoMsg(message: FeedConfigInfoProtoMsg): FeedConfigInfo { + return FeedConfigInfo.decode(message.value); + }, + toProto(message: FeedConfigInfo): Uint8Array { + return FeedConfigInfo.encode(message).finish(); + }, + toProtoMsg(message: FeedConfigInfo): FeedConfigInfoProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.FeedConfigInfo', + value: FeedConfigInfo.encode(message).finish(), + }; + }, +}; +function createBaseModuleParams(): ModuleParams { + return { + feedId: '', + minAnswer: '', + maxAnswer: '', + linkPerObservation: '', + linkPerTransmission: '', + linkDenom: '', + uniqueReports: false, + description: '', + feedAdmin: '', + billingAdmin: '', + }; +} +export const ModuleParams = { + typeUrl: '/injective.ocr.v1beta1.ModuleParams', + encode(message: ModuleParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.feedId !== '') { + writer.uint32(10).string(message.feedId); + } + if (message.minAnswer !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.minAnswer, 18).atomics); + } + if (message.maxAnswer !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.maxAnswer, 18).atomics); + } + if (message.linkPerObservation !== '') { + writer.uint32(34).string(message.linkPerObservation); + } + if (message.linkPerTransmission !== '') { + writer.uint32(42).string(message.linkPerTransmission); + } + if (message.linkDenom !== '') { + writer.uint32(50).string(message.linkDenom); + } + if (message.uniqueReports === true) { + writer.uint32(56).bool(message.uniqueReports); + } + if (message.description !== '') { + writer.uint32(66).string(message.description); + } + if (message.feedAdmin !== '') { + writer.uint32(74).string(message.feedAdmin); + } + if (message.billingAdmin !== '') { + writer.uint32(82).string(message.billingAdmin); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ModuleParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.feedId = reader.string(); + break; + case 2: + message.minAnswer = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.maxAnswer = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.linkPerObservation = reader.string(); + break; + case 5: + message.linkPerTransmission = reader.string(); + break; + case 6: + message.linkDenom = reader.string(); + break; + case 7: + message.uniqueReports = reader.bool(); + break; + case 8: + message.description = reader.string(); + break; + case 9: + message.feedAdmin = reader.string(); + break; + case 10: + message.billingAdmin = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ModuleParams { + const message = createBaseModuleParams(); + message.feedId = object.feedId ?? ''; + message.minAnswer = object.minAnswer ?? ''; + message.maxAnswer = object.maxAnswer ?? ''; + message.linkPerObservation = object.linkPerObservation ?? ''; + message.linkPerTransmission = object.linkPerTransmission ?? ''; + message.linkDenom = object.linkDenom ?? ''; + message.uniqueReports = object.uniqueReports ?? false; + message.description = object.description ?? ''; + message.feedAdmin = object.feedAdmin ?? ''; + message.billingAdmin = object.billingAdmin ?? ''; + return message; + }, + fromAmino(object: ModuleParamsAmino): ModuleParams { + const message = createBaseModuleParams(); + if (object.feed_id !== undefined && object.feed_id !== null) { + message.feedId = object.feed_id; + } + if (object.min_answer !== undefined && object.min_answer !== null) { + message.minAnswer = object.min_answer; + } + if (object.max_answer !== undefined && object.max_answer !== null) { + message.maxAnswer = object.max_answer; + } + if (object.link_per_observation !== undefined && object.link_per_observation !== null) { + message.linkPerObservation = object.link_per_observation; + } + if (object.link_per_transmission !== undefined && object.link_per_transmission !== null) { + message.linkPerTransmission = object.link_per_transmission; + } + if (object.link_denom !== undefined && object.link_denom !== null) { + message.linkDenom = object.link_denom; + } + if (object.unique_reports !== undefined && object.unique_reports !== null) { + message.uniqueReports = object.unique_reports; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.feed_admin !== undefined && object.feed_admin !== null) { + message.feedAdmin = object.feed_admin; + } + if (object.billing_admin !== undefined && object.billing_admin !== null) { + message.billingAdmin = object.billing_admin; + } + return message; + }, + toAmino(message: ModuleParams): ModuleParamsAmino { + const obj: any = {}; + obj.feed_id = message.feedId === '' ? undefined : message.feedId; + obj.min_answer = message.minAnswer === '' ? undefined : message.minAnswer; + obj.max_answer = message.maxAnswer === '' ? undefined : message.maxAnswer; + obj.link_per_observation = message.linkPerObservation === '' ? undefined : message.linkPerObservation; + obj.link_per_transmission = message.linkPerTransmission === '' ? undefined : message.linkPerTransmission; + obj.link_denom = message.linkDenom === '' ? undefined : message.linkDenom; + obj.unique_reports = message.uniqueReports === false ? undefined : message.uniqueReports; + obj.description = message.description === '' ? undefined : message.description; + obj.feed_admin = message.feedAdmin === '' ? undefined : message.feedAdmin; + obj.billing_admin = message.billingAdmin === '' ? undefined : message.billingAdmin; + return obj; + }, + fromAminoMsg(object: ModuleParamsAminoMsg): ModuleParams { + return ModuleParams.fromAmino(object.value); + }, + fromProtoMsg(message: ModuleParamsProtoMsg): ModuleParams { + return ModuleParams.decode(message.value); + }, + toProto(message: ModuleParams): Uint8Array { + return ModuleParams.encode(message).finish(); + }, + toProtoMsg(message: ModuleParams): ModuleParamsProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.ModuleParams', + value: ModuleParams.encode(message).finish(), + }; + }, +}; +function createBaseContractConfig(): ContractConfig { + return { + configCount: BigInt(0), + signers: [], + transmitters: [], + f: 0, + onchainConfig: new Uint8Array(), + offchainConfigVersion: BigInt(0), + offchainConfig: new Uint8Array(), + }; +} +export const ContractConfig = { + typeUrl: '/injective.ocr.v1beta1.ContractConfig', + encode(message: ContractConfig, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.configCount !== BigInt(0)) { + writer.uint32(8).uint64(message.configCount); + } + for (const v of message.signers) { + writer.uint32(18).string(v!); + } + for (const v of message.transmitters) { + writer.uint32(26).string(v!); + } + if (message.f !== 0) { + writer.uint32(32).uint32(message.f); + } + if (message.onchainConfig.length !== 0) { + writer.uint32(42).bytes(message.onchainConfig); + } + if (message.offchainConfigVersion !== BigInt(0)) { + writer.uint32(48).uint64(message.offchainConfigVersion); + } + if (message.offchainConfig.length !== 0) { + writer.uint32(58).bytes(message.offchainConfig); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ContractConfig { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.configCount = reader.uint64(); + break; + case 2: + message.signers.push(reader.string()); + break; + case 3: + message.transmitters.push(reader.string()); + break; + case 4: + message.f = reader.uint32(); + break; + case 5: + message.onchainConfig = reader.bytes(); + break; + case 6: + message.offchainConfigVersion = reader.uint64(); + break; + case 7: + message.offchainConfig = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ContractConfig { + const message = createBaseContractConfig(); + message.configCount = + object.configCount !== undefined && object.configCount !== null + ? BigInt(object.configCount.toString()) + : BigInt(0); + message.signers = object.signers?.map((e) => e) || []; + message.transmitters = object.transmitters?.map((e) => e) || []; + message.f = object.f ?? 0; + message.onchainConfig = object.onchainConfig ?? new Uint8Array(); + message.offchainConfigVersion = + object.offchainConfigVersion !== undefined && object.offchainConfigVersion !== null + ? BigInt(object.offchainConfigVersion.toString()) + : BigInt(0); + message.offchainConfig = object.offchainConfig ?? new Uint8Array(); + return message; + }, + fromAmino(object: ContractConfigAmino): ContractConfig { + const message = createBaseContractConfig(); + if (object.config_count !== undefined && object.config_count !== null) { + message.configCount = BigInt(object.config_count); + } + message.signers = object.signers?.map((e) => e) || []; + message.transmitters = object.transmitters?.map((e) => e) || []; + if (object.f !== undefined && object.f !== null) { + message.f = object.f; + } + if (object.onchain_config !== undefined && object.onchain_config !== null) { + message.onchainConfig = bytesFromBase64(object.onchain_config); + } + if (object.offchain_config_version !== undefined && object.offchain_config_version !== null) { + message.offchainConfigVersion = BigInt(object.offchain_config_version); + } + if (object.offchain_config !== undefined && object.offchain_config !== null) { + message.offchainConfig = bytesFromBase64(object.offchain_config); + } + return message; + }, + toAmino(message: ContractConfig): ContractConfigAmino { + const obj: any = {}; + obj.config_count = message.configCount !== BigInt(0) ? (message.configCount?.toString)() : undefined; + if (message.signers) { + obj.signers = message.signers.map((e) => e); + } else { + obj.signers = message.signers; + } + if (message.transmitters) { + obj.transmitters = message.transmitters.map((e) => e); + } else { + obj.transmitters = message.transmitters; + } + obj.f = message.f === 0 ? undefined : message.f; + obj.onchain_config = message.onchainConfig ? base64FromBytes(message.onchainConfig) : undefined; + obj.offchain_config_version = + message.offchainConfigVersion !== BigInt(0) ? (message.offchainConfigVersion?.toString)() : undefined; + obj.offchain_config = message.offchainConfig ? base64FromBytes(message.offchainConfig) : undefined; + return obj; + }, + fromAminoMsg(object: ContractConfigAminoMsg): ContractConfig { + return ContractConfig.fromAmino(object.value); + }, + fromProtoMsg(message: ContractConfigProtoMsg): ContractConfig { + return ContractConfig.decode(message.value); + }, + toProto(message: ContractConfig): Uint8Array { + return ContractConfig.encode(message).finish(); + }, + toProtoMsg(message: ContractConfig): ContractConfigProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.ContractConfig', + value: ContractConfig.encode(message).finish(), + }; + }, +}; +function createBaseSetConfigProposal(): SetConfigProposal { + return { + $typeUrl: '/injective.ocr.v1beta1.SetConfigProposal', + title: '', + description: '', + config: undefined, + }; +} +export const SetConfigProposal = { + typeUrl: '/injective.ocr.v1beta1.SetConfigProposal', + encode(message: SetConfigProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.config !== undefined) { + FeedConfig.encode(message.config, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SetConfigProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSetConfigProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.config = FeedConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SetConfigProposal { + const message = createBaseSetConfigProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.config = + object.config !== undefined && object.config !== null ? FeedConfig.fromPartial(object.config) : undefined; + return message; + }, + fromAmino(object: SetConfigProposalAmino): SetConfigProposal { + const message = createBaseSetConfigProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.config !== undefined && object.config !== null) { + message.config = FeedConfig.fromAmino(object.config); + } + return message; + }, + toAmino(message: SetConfigProposal): SetConfigProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.config = message.config ? FeedConfig.toAmino(message.config) : undefined; + return obj; + }, + fromAminoMsg(object: SetConfigProposalAminoMsg): SetConfigProposal { + return SetConfigProposal.fromAmino(object.value); + }, + toAminoMsg(message: SetConfigProposal): SetConfigProposalAminoMsg { + return { + type: 'ocr/SetConfigProposal', + value: SetConfigProposal.toAmino(message), + }; + }, + fromProtoMsg(message: SetConfigProposalProtoMsg): SetConfigProposal { + return SetConfigProposal.decode(message.value); + }, + toProto(message: SetConfigProposal): Uint8Array { + return SetConfigProposal.encode(message).finish(); + }, + toProtoMsg(message: SetConfigProposal): SetConfigProposalProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.SetConfigProposal', + value: SetConfigProposal.encode(message).finish(), + }; + }, +}; +function createBaseFeedProperties(): FeedProperties { + return { + feedId: '', + f: 0, + onchainConfig: new Uint8Array(), + offchainConfigVersion: BigInt(0), + offchainConfig: new Uint8Array(), + minAnswer: '', + maxAnswer: '', + linkPerObservation: '', + linkPerTransmission: '', + uniqueReports: false, + description: '', + }; +} +export const FeedProperties = { + typeUrl: '/injective.ocr.v1beta1.FeedProperties', + encode(message: FeedProperties, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.feedId !== '') { + writer.uint32(10).string(message.feedId); + } + if (message.f !== 0) { + writer.uint32(16).uint32(message.f); + } + if (message.onchainConfig.length !== 0) { + writer.uint32(26).bytes(message.onchainConfig); + } + if (message.offchainConfigVersion !== BigInt(0)) { + writer.uint32(32).uint64(message.offchainConfigVersion); + } + if (message.offchainConfig.length !== 0) { + writer.uint32(42).bytes(message.offchainConfig); + } + if (message.minAnswer !== '') { + writer.uint32(50).string(Decimal.fromUserInput(message.minAnswer, 18).atomics); + } + if (message.maxAnswer !== '') { + writer.uint32(58).string(Decimal.fromUserInput(message.maxAnswer, 18).atomics); + } + if (message.linkPerObservation !== '') { + writer.uint32(66).string(message.linkPerObservation); + } + if (message.linkPerTransmission !== '') { + writer.uint32(74).string(message.linkPerTransmission); + } + if (message.uniqueReports === true) { + writer.uint32(80).bool(message.uniqueReports); + } + if (message.description !== '') { + writer.uint32(90).string(message.description); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): FeedProperties { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseFeedProperties(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.feedId = reader.string(); + break; + case 2: + message.f = reader.uint32(); + break; + case 3: + message.onchainConfig = reader.bytes(); + break; + case 4: + message.offchainConfigVersion = reader.uint64(); + break; + case 5: + message.offchainConfig = reader.bytes(); + break; + case 6: + message.minAnswer = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 7: + message.maxAnswer = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 8: + message.linkPerObservation = reader.string(); + break; + case 9: + message.linkPerTransmission = reader.string(); + break; + case 10: + message.uniqueReports = reader.bool(); + break; + case 11: + message.description = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): FeedProperties { + const message = createBaseFeedProperties(); + message.feedId = object.feedId ?? ''; + message.f = object.f ?? 0; + message.onchainConfig = object.onchainConfig ?? new Uint8Array(); + message.offchainConfigVersion = + object.offchainConfigVersion !== undefined && object.offchainConfigVersion !== null + ? BigInt(object.offchainConfigVersion.toString()) + : BigInt(0); + message.offchainConfig = object.offchainConfig ?? new Uint8Array(); + message.minAnswer = object.minAnswer ?? ''; + message.maxAnswer = object.maxAnswer ?? ''; + message.linkPerObservation = object.linkPerObservation ?? ''; + message.linkPerTransmission = object.linkPerTransmission ?? ''; + message.uniqueReports = object.uniqueReports ?? false; + message.description = object.description ?? ''; + return message; + }, + fromAmino(object: FeedPropertiesAmino): FeedProperties { + const message = createBaseFeedProperties(); + if (object.feed_id !== undefined && object.feed_id !== null) { + message.feedId = object.feed_id; + } + if (object.f !== undefined && object.f !== null) { + message.f = object.f; + } + if (object.onchain_config !== undefined && object.onchain_config !== null) { + message.onchainConfig = bytesFromBase64(object.onchain_config); + } + if (object.offchain_config_version !== undefined && object.offchain_config_version !== null) { + message.offchainConfigVersion = BigInt(object.offchain_config_version); + } + if (object.offchain_config !== undefined && object.offchain_config !== null) { + message.offchainConfig = bytesFromBase64(object.offchain_config); + } + if (object.min_answer !== undefined && object.min_answer !== null) { + message.minAnswer = object.min_answer; + } + if (object.max_answer !== undefined && object.max_answer !== null) { + message.maxAnswer = object.max_answer; + } + if (object.link_per_observation !== undefined && object.link_per_observation !== null) { + message.linkPerObservation = object.link_per_observation; + } + if (object.link_per_transmission !== undefined && object.link_per_transmission !== null) { + message.linkPerTransmission = object.link_per_transmission; + } + if (object.unique_reports !== undefined && object.unique_reports !== null) { + message.uniqueReports = object.unique_reports; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + return message; + }, + toAmino(message: FeedProperties): FeedPropertiesAmino { + const obj: any = {}; + obj.feed_id = message.feedId === '' ? undefined : message.feedId; + obj.f = message.f === 0 ? undefined : message.f; + obj.onchain_config = message.onchainConfig ? base64FromBytes(message.onchainConfig) : undefined; + obj.offchain_config_version = + message.offchainConfigVersion !== BigInt(0) ? (message.offchainConfigVersion?.toString)() : undefined; + obj.offchain_config = message.offchainConfig ? base64FromBytes(message.offchainConfig) : undefined; + obj.min_answer = message.minAnswer === '' ? undefined : message.minAnswer; + obj.max_answer = message.maxAnswer === '' ? undefined : message.maxAnswer; + obj.link_per_observation = message.linkPerObservation === '' ? undefined : message.linkPerObservation; + obj.link_per_transmission = message.linkPerTransmission === '' ? undefined : message.linkPerTransmission; + obj.unique_reports = message.uniqueReports === false ? undefined : message.uniqueReports; + obj.description = message.description === '' ? undefined : message.description; + return obj; + }, + fromAminoMsg(object: FeedPropertiesAminoMsg): FeedProperties { + return FeedProperties.fromAmino(object.value); + }, + fromProtoMsg(message: FeedPropertiesProtoMsg): FeedProperties { + return FeedProperties.decode(message.value); + }, + toProto(message: FeedProperties): Uint8Array { + return FeedProperties.encode(message).finish(); + }, + toProtoMsg(message: FeedProperties): FeedPropertiesProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.FeedProperties', + value: FeedProperties.encode(message).finish(), + }; + }, +}; +function createBaseSetBatchConfigProposal(): SetBatchConfigProposal { + return { + $typeUrl: '/injective.ocr.v1beta1.SetBatchConfigProposal', + title: '', + description: '', + signers: [], + transmitters: [], + linkDenom: '', + feedProperties: [], + }; +} +export const SetBatchConfigProposal = { + typeUrl: '/injective.ocr.v1beta1.SetBatchConfigProposal', + encode(message: SetBatchConfigProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.signers) { + writer.uint32(26).string(v!); + } + for (const v of message.transmitters) { + writer.uint32(34).string(v!); + } + if (message.linkDenom !== '') { + writer.uint32(42).string(message.linkDenom); + } + for (const v of message.feedProperties) { + FeedProperties.encode(v!, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SetBatchConfigProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSetBatchConfigProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.signers.push(reader.string()); + break; + case 4: + message.transmitters.push(reader.string()); + break; + case 5: + message.linkDenom = reader.string(); + break; + case 6: + message.feedProperties.push(FeedProperties.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SetBatchConfigProposal { + const message = createBaseSetBatchConfigProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.signers = object.signers?.map((e) => e) || []; + message.transmitters = object.transmitters?.map((e) => e) || []; + message.linkDenom = object.linkDenom ?? ''; + message.feedProperties = object.feedProperties?.map((e) => FeedProperties.fromPartial(e)) || []; + return message; + }, + fromAmino(object: SetBatchConfigProposalAmino): SetBatchConfigProposal { + const message = createBaseSetBatchConfigProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.signers = object.signers?.map((e) => e) || []; + message.transmitters = object.transmitters?.map((e) => e) || []; + if (object.link_denom !== undefined && object.link_denom !== null) { + message.linkDenom = object.link_denom; + } + message.feedProperties = object.feed_properties?.map((e) => FeedProperties.fromAmino(e)) || []; + return message; + }, + toAmino(message: SetBatchConfigProposal): SetBatchConfigProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.signers) { + obj.signers = message.signers.map((e) => e); + } else { + obj.signers = message.signers; + } + if (message.transmitters) { + obj.transmitters = message.transmitters.map((e) => e); + } else { + obj.transmitters = message.transmitters; + } + obj.link_denom = message.linkDenom === '' ? undefined : message.linkDenom; + if (message.feedProperties) { + obj.feed_properties = message.feedProperties.map((e) => (e ? FeedProperties.toAmino(e) : undefined)); + } else { + obj.feed_properties = message.feedProperties; + } + return obj; + }, + fromAminoMsg(object: SetBatchConfigProposalAminoMsg): SetBatchConfigProposal { + return SetBatchConfigProposal.fromAmino(object.value); + }, + toAminoMsg(message: SetBatchConfigProposal): SetBatchConfigProposalAminoMsg { + return { + type: 'ocr/SetBatchConfigProposal', + value: SetBatchConfigProposal.toAmino(message), + }; + }, + fromProtoMsg(message: SetBatchConfigProposalProtoMsg): SetBatchConfigProposal { + return SetBatchConfigProposal.decode(message.value); + }, + toProto(message: SetBatchConfigProposal): Uint8Array { + return SetBatchConfigProposal.encode(message).finish(); + }, + toProtoMsg(message: SetBatchConfigProposal): SetBatchConfigProposalProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.SetBatchConfigProposal', + value: SetBatchConfigProposal.encode(message).finish(), + }; + }, +}; +function createBaseOracleObservationsCounts(): OracleObservationsCounts { + return { + counts: [], + }; +} +export const OracleObservationsCounts = { + typeUrl: '/injective.ocr.v1beta1.OracleObservationsCounts', + encode(message: OracleObservationsCounts, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + writer.uint32(10).fork(); + for (const v of message.counts) { + writer.uint32(v); + } + writer.ldelim(); + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): OracleObservationsCounts { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOracleObservationsCounts(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.counts.push(reader.uint32()); + } + } else { + message.counts.push(reader.uint32()); + } + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): OracleObservationsCounts { + const message = createBaseOracleObservationsCounts(); + message.counts = object.counts?.map((e) => e) || []; + return message; + }, + fromAmino(object: OracleObservationsCountsAmino): OracleObservationsCounts { + const message = createBaseOracleObservationsCounts(); + message.counts = object.counts?.map((e) => e) || []; + return message; + }, + toAmino(message: OracleObservationsCounts): OracleObservationsCountsAmino { + const obj: any = {}; + if (message.counts) { + obj.counts = message.counts.map((e) => e); + } else { + obj.counts = message.counts; + } + return obj; + }, + fromAminoMsg(object: OracleObservationsCountsAminoMsg): OracleObservationsCounts { + return OracleObservationsCounts.fromAmino(object.value); + }, + fromProtoMsg(message: OracleObservationsCountsProtoMsg): OracleObservationsCounts { + return OracleObservationsCounts.decode(message.value); + }, + toProto(message: OracleObservationsCounts): Uint8Array { + return OracleObservationsCounts.encode(message).finish(); + }, + toProtoMsg(message: OracleObservationsCounts): OracleObservationsCountsProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.OracleObservationsCounts', + value: OracleObservationsCounts.encode(message).finish(), + }; + }, +}; +function createBaseGasReimbursements(): GasReimbursements { + return { + reimbursements: [], + }; +} +export const GasReimbursements = { + typeUrl: '/injective.ocr.v1beta1.GasReimbursements', + encode(message: GasReimbursements, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.reimbursements) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GasReimbursements { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGasReimbursements(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.reimbursements.push(Coin.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GasReimbursements { + const message = createBaseGasReimbursements(); + message.reimbursements = object.reimbursements?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, + fromAmino(object: GasReimbursementsAmino): GasReimbursements { + const message = createBaseGasReimbursements(); + message.reimbursements = object.reimbursements?.map((e) => Coin.fromAmino(e)) || []; + return message; + }, + toAmino(message: GasReimbursements): GasReimbursementsAmino { + const obj: any = {}; + if (message.reimbursements) { + obj.reimbursements = message.reimbursements.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.reimbursements = message.reimbursements; + } + return obj; + }, + fromAminoMsg(object: GasReimbursementsAminoMsg): GasReimbursements { + return GasReimbursements.fromAmino(object.value); + }, + fromProtoMsg(message: GasReimbursementsProtoMsg): GasReimbursements { + return GasReimbursements.decode(message.value); + }, + toProto(message: GasReimbursements): Uint8Array { + return GasReimbursements.encode(message).finish(); + }, + toProtoMsg(message: GasReimbursements): GasReimbursementsProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.GasReimbursements', + value: GasReimbursements.encode(message).finish(), + }; + }, +}; +function createBasePayee(): Payee { + return { + transmitterAddr: '', + paymentAddr: '', + }; +} +export const Payee = { + typeUrl: '/injective.ocr.v1beta1.Payee', + encode(message: Payee, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.transmitterAddr !== '') { + writer.uint32(10).string(message.transmitterAddr); + } + if (message.paymentAddr !== '') { + writer.uint32(18).string(message.paymentAddr); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Payee { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePayee(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.transmitterAddr = reader.string(); + break; + case 2: + message.paymentAddr = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Payee { + const message = createBasePayee(); + message.transmitterAddr = object.transmitterAddr ?? ''; + message.paymentAddr = object.paymentAddr ?? ''; + return message; + }, + fromAmino(object: PayeeAmino): Payee { + const message = createBasePayee(); + if (object.transmitter_addr !== undefined && object.transmitter_addr !== null) { + message.transmitterAddr = object.transmitter_addr; + } + if (object.payment_addr !== undefined && object.payment_addr !== null) { + message.paymentAddr = object.payment_addr; + } + return message; + }, + toAmino(message: Payee): PayeeAmino { + const obj: any = {}; + obj.transmitter_addr = message.transmitterAddr === '' ? undefined : message.transmitterAddr; + obj.payment_addr = message.paymentAddr === '' ? undefined : message.paymentAddr; + return obj; + }, + fromAminoMsg(object: PayeeAminoMsg): Payee { + return Payee.fromAmino(object.value); + }, + fromProtoMsg(message: PayeeProtoMsg): Payee { + return Payee.decode(message.value); + }, + toProto(message: Payee): Uint8Array { + return Payee.encode(message).finish(); + }, + toProtoMsg(message: Payee): PayeeProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.Payee', + value: Payee.encode(message).finish(), + }; + }, +}; +function createBaseTransmission(): Transmission { + return { + answer: '', + observationsTimestamp: BigInt(0), + transmissionTimestamp: BigInt(0), + }; +} +export const Transmission = { + typeUrl: '/injective.ocr.v1beta1.Transmission', + encode(message: Transmission, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.answer !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.answer, 18).atomics); + } + if (message.observationsTimestamp !== BigInt(0)) { + writer.uint32(16).int64(message.observationsTimestamp); + } + if (message.transmissionTimestamp !== BigInt(0)) { + writer.uint32(24).int64(message.transmissionTimestamp); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Transmission { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTransmission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.answer = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.observationsTimestamp = reader.int64(); + break; + case 3: + message.transmissionTimestamp = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Transmission { + const message = createBaseTransmission(); + message.answer = object.answer ?? ''; + message.observationsTimestamp = + object.observationsTimestamp !== undefined && object.observationsTimestamp !== null + ? BigInt(object.observationsTimestamp.toString()) + : BigInt(0); + message.transmissionTimestamp = + object.transmissionTimestamp !== undefined && object.transmissionTimestamp !== null + ? BigInt(object.transmissionTimestamp.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: TransmissionAmino): Transmission { + const message = createBaseTransmission(); + if (object.answer !== undefined && object.answer !== null) { + message.answer = object.answer; + } + if (object.observations_timestamp !== undefined && object.observations_timestamp !== null) { + message.observationsTimestamp = BigInt(object.observations_timestamp); + } + if (object.transmission_timestamp !== undefined && object.transmission_timestamp !== null) { + message.transmissionTimestamp = BigInt(object.transmission_timestamp); + } + return message; + }, + toAmino(message: Transmission): TransmissionAmino { + const obj: any = {}; + obj.answer = message.answer === '' ? undefined : message.answer; + obj.observations_timestamp = + message.observationsTimestamp !== BigInt(0) ? (message.observationsTimestamp?.toString)() : undefined; + obj.transmission_timestamp = + message.transmissionTimestamp !== BigInt(0) ? (message.transmissionTimestamp?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: TransmissionAminoMsg): Transmission { + return Transmission.fromAmino(object.value); + }, + fromProtoMsg(message: TransmissionProtoMsg): Transmission { + return Transmission.decode(message.value); + }, + toProto(message: Transmission): Uint8Array { + return Transmission.encode(message).finish(); + }, + toProtoMsg(message: Transmission): TransmissionProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.Transmission', + value: Transmission.encode(message).finish(), + }; + }, +}; +function createBaseEpochAndRound(): EpochAndRound { + return { + epoch: BigInt(0), + round: BigInt(0), + }; +} +export const EpochAndRound = { + typeUrl: '/injective.ocr.v1beta1.EpochAndRound', + encode(message: EpochAndRound, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.epoch !== BigInt(0)) { + writer.uint32(8).uint64(message.epoch); + } + if (message.round !== BigInt(0)) { + writer.uint32(16).uint64(message.round); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EpochAndRound { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEpochAndRound(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.epoch = reader.uint64(); + break; + case 2: + message.round = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EpochAndRound { + const message = createBaseEpochAndRound(); + message.epoch = object.epoch !== undefined && object.epoch !== null ? BigInt(object.epoch.toString()) : BigInt(0); + message.round = object.round !== undefined && object.round !== null ? BigInt(object.round.toString()) : BigInt(0); + return message; + }, + fromAmino(object: EpochAndRoundAmino): EpochAndRound { + const message = createBaseEpochAndRound(); + if (object.epoch !== undefined && object.epoch !== null) { + message.epoch = BigInt(object.epoch); + } + if (object.round !== undefined && object.round !== null) { + message.round = BigInt(object.round); + } + return message; + }, + toAmino(message: EpochAndRound): EpochAndRoundAmino { + const obj: any = {}; + obj.epoch = message.epoch !== BigInt(0) ? (message.epoch?.toString)() : undefined; + obj.round = message.round !== BigInt(0) ? (message.round?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: EpochAndRoundAminoMsg): EpochAndRound { + return EpochAndRound.fromAmino(object.value); + }, + fromProtoMsg(message: EpochAndRoundProtoMsg): EpochAndRound { + return EpochAndRound.decode(message.value); + }, + toProto(message: EpochAndRound): Uint8Array { + return EpochAndRound.encode(message).finish(); + }, + toProtoMsg(message: EpochAndRound): EpochAndRoundProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.EpochAndRound', + value: EpochAndRound.encode(message).finish(), + }; + }, +}; +function createBaseReport(): Report { + return { + observationsTimestamp: BigInt(0), + observers: new Uint8Array(), + observations: [], + }; +} +export const Report = { + typeUrl: '/injective.ocr.v1beta1.Report', + encode(message: Report, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.observationsTimestamp !== BigInt(0)) { + writer.uint32(8).int64(message.observationsTimestamp); + } + if (message.observers.length !== 0) { + writer.uint32(18).bytes(message.observers); + } + for (const v of message.observations) { + writer.uint32(26).string(Decimal.fromUserInput(v!, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Report { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReport(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.observationsTimestamp = reader.int64(); + break; + case 2: + message.observers = reader.bytes(); + break; + case 3: + message.observations.push(Decimal.fromAtomics(reader.string(), 18).toString()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Report { + const message = createBaseReport(); + message.observationsTimestamp = + object.observationsTimestamp !== undefined && object.observationsTimestamp !== null + ? BigInt(object.observationsTimestamp.toString()) + : BigInt(0); + message.observers = object.observers ?? new Uint8Array(); + message.observations = object.observations?.map((e) => e) || []; + return message; + }, + fromAmino(object: ReportAmino): Report { + const message = createBaseReport(); + if (object.observations_timestamp !== undefined && object.observations_timestamp !== null) { + message.observationsTimestamp = BigInt(object.observations_timestamp); + } + if (object.observers !== undefined && object.observers !== null) { + message.observers = bytesFromBase64(object.observers); + } + message.observations = object.observations?.map((e) => e) || []; + return message; + }, + toAmino(message: Report): ReportAmino { + const obj: any = {}; + obj.observations_timestamp = + message.observationsTimestamp !== BigInt(0) ? (message.observationsTimestamp?.toString)() : undefined; + obj.observers = message.observers ? base64FromBytes(message.observers) : undefined; + if (message.observations) { + obj.observations = message.observations.map((e) => e); + } else { + obj.observations = message.observations; + } + return obj; + }, + fromAminoMsg(object: ReportAminoMsg): Report { + return Report.fromAmino(object.value); + }, + fromProtoMsg(message: ReportProtoMsg): Report { + return Report.decode(message.value); + }, + toProto(message: Report): Uint8Array { + return Report.encode(message).finish(); + }, + toProtoMsg(message: Report): ReportProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.Report', + value: Report.encode(message).finish(), + }; + }, +}; +function createBaseReportToSign(): ReportToSign { + return { + configDigest: new Uint8Array(), + epoch: BigInt(0), + round: BigInt(0), + extraHash: new Uint8Array(), + report: new Uint8Array(), + }; +} +export const ReportToSign = { + typeUrl: '/injective.ocr.v1beta1.ReportToSign', + encode(message: ReportToSign, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.configDigest.length !== 0) { + writer.uint32(10).bytes(message.configDigest); + } + if (message.epoch !== BigInt(0)) { + writer.uint32(16).uint64(message.epoch); + } + if (message.round !== BigInt(0)) { + writer.uint32(24).uint64(message.round); + } + if (message.extraHash.length !== 0) { + writer.uint32(34).bytes(message.extraHash); + } + if (message.report.length !== 0) { + writer.uint32(42).bytes(message.report); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ReportToSign { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseReportToSign(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.configDigest = reader.bytes(); + break; + case 2: + message.epoch = reader.uint64(); + break; + case 3: + message.round = reader.uint64(); + break; + case 4: + message.extraHash = reader.bytes(); + break; + case 5: + message.report = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ReportToSign { + const message = createBaseReportToSign(); + message.configDigest = object.configDigest ?? new Uint8Array(); + message.epoch = object.epoch !== undefined && object.epoch !== null ? BigInt(object.epoch.toString()) : BigInt(0); + message.round = object.round !== undefined && object.round !== null ? BigInt(object.round.toString()) : BigInt(0); + message.extraHash = object.extraHash ?? new Uint8Array(); + message.report = object.report ?? new Uint8Array(); + return message; + }, + fromAmino(object: ReportToSignAmino): ReportToSign { + const message = createBaseReportToSign(); + if (object.config_digest !== undefined && object.config_digest !== null) { + message.configDigest = bytesFromBase64(object.config_digest); + } + if (object.epoch !== undefined && object.epoch !== null) { + message.epoch = BigInt(object.epoch); + } + if (object.round !== undefined && object.round !== null) { + message.round = BigInt(object.round); + } + if (object.extra_hash !== undefined && object.extra_hash !== null) { + message.extraHash = bytesFromBase64(object.extra_hash); + } + if (object.report !== undefined && object.report !== null) { + message.report = bytesFromBase64(object.report); + } + return message; + }, + toAmino(message: ReportToSign): ReportToSignAmino { + const obj: any = {}; + obj.config_digest = message.configDigest ? base64FromBytes(message.configDigest) : undefined; + obj.epoch = message.epoch !== BigInt(0) ? (message.epoch?.toString)() : undefined; + obj.round = message.round !== BigInt(0) ? (message.round?.toString)() : undefined; + obj.extra_hash = message.extraHash ? base64FromBytes(message.extraHash) : undefined; + obj.report = message.report ? base64FromBytes(message.report) : undefined; + return obj; + }, + fromAminoMsg(object: ReportToSignAminoMsg): ReportToSign { + return ReportToSign.fromAmino(object.value); + }, + fromProtoMsg(message: ReportToSignProtoMsg): ReportToSign { + return ReportToSign.decode(message.value); + }, + toProto(message: ReportToSign): Uint8Array { + return ReportToSign.encode(message).finish(); + }, + toProtoMsg(message: ReportToSign): ReportToSignProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.ReportToSign', + value: ReportToSign.encode(message).finish(), + }; + }, +}; +function createBaseEventOraclePaid(): EventOraclePaid { + return { + transmitterAddr: '', + payeeAddr: '', + amount: Coin.fromPartial({}), + }; +} +export const EventOraclePaid = { + typeUrl: '/injective.ocr.v1beta1.EventOraclePaid', + encode(message: EventOraclePaid, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.transmitterAddr !== '') { + writer.uint32(10).string(message.transmitterAddr); + } + if (message.payeeAddr !== '') { + writer.uint32(18).string(message.payeeAddr); + } + if (message.amount !== undefined) { + Coin.encode(message.amount, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EventOraclePaid { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventOraclePaid(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.transmitterAddr = reader.string(); + break; + case 2: + message.payeeAddr = reader.string(); + break; + case 3: + message.amount = Coin.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EventOraclePaid { + const message = createBaseEventOraclePaid(); + message.transmitterAddr = object.transmitterAddr ?? ''; + message.payeeAddr = object.payeeAddr ?? ''; + message.amount = + object.amount !== undefined && object.amount !== null ? Coin.fromPartial(object.amount) : undefined; + return message; + }, + fromAmino(object: EventOraclePaidAmino): EventOraclePaid { + const message = createBaseEventOraclePaid(); + if (object.transmitter_addr !== undefined && object.transmitter_addr !== null) { + message.transmitterAddr = object.transmitter_addr; + } + if (object.payee_addr !== undefined && object.payee_addr !== null) { + message.payeeAddr = object.payee_addr; + } + if (object.amount !== undefined && object.amount !== null) { + message.amount = Coin.fromAmino(object.amount); + } + return message; + }, + toAmino(message: EventOraclePaid): EventOraclePaidAmino { + const obj: any = {}; + obj.transmitter_addr = message.transmitterAddr === '' ? undefined : message.transmitterAddr; + obj.payee_addr = message.payeeAddr === '' ? undefined : message.payeeAddr; + obj.amount = message.amount ? Coin.toAmino(message.amount) : undefined; + return obj; + }, + fromAminoMsg(object: EventOraclePaidAminoMsg): EventOraclePaid { + return EventOraclePaid.fromAmino(object.value); + }, + fromProtoMsg(message: EventOraclePaidProtoMsg): EventOraclePaid { + return EventOraclePaid.decode(message.value); + }, + toProto(message: EventOraclePaid): Uint8Array { + return EventOraclePaid.encode(message).finish(); + }, + toProtoMsg(message: EventOraclePaid): EventOraclePaidProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.EventOraclePaid', + value: EventOraclePaid.encode(message).finish(), + }; + }, +}; +function createBaseEventAnswerUpdated(): EventAnswerUpdated { + return { + current: '', + roundId: '', + updatedAt: new Date(), + }; +} +export const EventAnswerUpdated = { + typeUrl: '/injective.ocr.v1beta1.EventAnswerUpdated', + encode(message: EventAnswerUpdated, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.current !== '') { + writer.uint32(10).string(message.current); + } + if (message.roundId !== '') { + writer.uint32(18).string(message.roundId); + } + if (message.updatedAt !== undefined) { + Timestamp.encode(toTimestamp(message.updatedAt), writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EventAnswerUpdated { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventAnswerUpdated(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.current = reader.string(); + break; + case 2: + message.roundId = reader.string(); + break; + case 3: + message.updatedAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EventAnswerUpdated { + const message = createBaseEventAnswerUpdated(); + message.current = object.current ?? ''; + message.roundId = object.roundId ?? ''; + message.updatedAt = object.updatedAt ?? undefined; + return message; + }, + fromAmino(object: EventAnswerUpdatedAmino): EventAnswerUpdated { + const message = createBaseEventAnswerUpdated(); + if (object.current !== undefined && object.current !== null) { + message.current = object.current; + } + if (object.round_id !== undefined && object.round_id !== null) { + message.roundId = object.round_id; + } + if (object.updated_at !== undefined && object.updated_at !== null) { + message.updatedAt = fromTimestamp(Timestamp.fromAmino(object.updated_at)); + } + return message; + }, + toAmino(message: EventAnswerUpdated): EventAnswerUpdatedAmino { + const obj: any = {}; + obj.current = message.current === '' ? undefined : message.current; + obj.round_id = message.roundId === '' ? undefined : message.roundId; + obj.updated_at = message.updatedAt ? Timestamp.toAmino(toTimestamp(message.updatedAt)) : undefined; + return obj; + }, + fromAminoMsg(object: EventAnswerUpdatedAminoMsg): EventAnswerUpdated { + return EventAnswerUpdated.fromAmino(object.value); + }, + fromProtoMsg(message: EventAnswerUpdatedProtoMsg): EventAnswerUpdated { + return EventAnswerUpdated.decode(message.value); + }, + toProto(message: EventAnswerUpdated): Uint8Array { + return EventAnswerUpdated.encode(message).finish(); + }, + toProtoMsg(message: EventAnswerUpdated): EventAnswerUpdatedProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.EventAnswerUpdated', + value: EventAnswerUpdated.encode(message).finish(), + }; + }, +}; +function createBaseEventNewRound(): EventNewRound { + return { + roundId: '', + startedBy: '', + startedAt: new Date(), + }; +} +export const EventNewRound = { + typeUrl: '/injective.ocr.v1beta1.EventNewRound', + encode(message: EventNewRound, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.roundId !== '') { + writer.uint32(10).string(message.roundId); + } + if (message.startedBy !== '') { + writer.uint32(18).string(message.startedBy); + } + if (message.startedAt !== undefined) { + Timestamp.encode(toTimestamp(message.startedAt), writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EventNewRound { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventNewRound(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.roundId = reader.string(); + break; + case 2: + message.startedBy = reader.string(); + break; + case 3: + message.startedAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EventNewRound { + const message = createBaseEventNewRound(); + message.roundId = object.roundId ?? ''; + message.startedBy = object.startedBy ?? ''; + message.startedAt = object.startedAt ?? undefined; + return message; + }, + fromAmino(object: EventNewRoundAmino): EventNewRound { + const message = createBaseEventNewRound(); + if (object.round_id !== undefined && object.round_id !== null) { + message.roundId = object.round_id; + } + if (object.started_by !== undefined && object.started_by !== null) { + message.startedBy = object.started_by; + } + if (object.started_at !== undefined && object.started_at !== null) { + message.startedAt = fromTimestamp(Timestamp.fromAmino(object.started_at)); + } + return message; + }, + toAmino(message: EventNewRound): EventNewRoundAmino { + const obj: any = {}; + obj.round_id = message.roundId === '' ? undefined : message.roundId; + obj.started_by = message.startedBy === '' ? undefined : message.startedBy; + obj.started_at = message.startedAt ? Timestamp.toAmino(toTimestamp(message.startedAt)) : undefined; + return obj; + }, + fromAminoMsg(object: EventNewRoundAminoMsg): EventNewRound { + return EventNewRound.fromAmino(object.value); + }, + fromProtoMsg(message: EventNewRoundProtoMsg): EventNewRound { + return EventNewRound.decode(message.value); + }, + toProto(message: EventNewRound): Uint8Array { + return EventNewRound.encode(message).finish(); + }, + toProtoMsg(message: EventNewRound): EventNewRoundProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.EventNewRound', + value: EventNewRound.encode(message).finish(), + }; + }, +}; +function createBaseEventTransmitted(): EventTransmitted { + return { + configDigest: new Uint8Array(), + epoch: BigInt(0), + }; +} +export const EventTransmitted = { + typeUrl: '/injective.ocr.v1beta1.EventTransmitted', + encode(message: EventTransmitted, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.configDigest.length !== 0) { + writer.uint32(10).bytes(message.configDigest); + } + if (message.epoch !== BigInt(0)) { + writer.uint32(16).uint64(message.epoch); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EventTransmitted { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventTransmitted(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.configDigest = reader.bytes(); + break; + case 2: + message.epoch = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EventTransmitted { + const message = createBaseEventTransmitted(); + message.configDigest = object.configDigest ?? new Uint8Array(); + message.epoch = object.epoch !== undefined && object.epoch !== null ? BigInt(object.epoch.toString()) : BigInt(0); + return message; + }, + fromAmino(object: EventTransmittedAmino): EventTransmitted { + const message = createBaseEventTransmitted(); + if (object.config_digest !== undefined && object.config_digest !== null) { + message.configDigest = bytesFromBase64(object.config_digest); + } + if (object.epoch !== undefined && object.epoch !== null) { + message.epoch = BigInt(object.epoch); + } + return message; + }, + toAmino(message: EventTransmitted): EventTransmittedAmino { + const obj: any = {}; + obj.config_digest = message.configDigest ? base64FromBytes(message.configDigest) : undefined; + obj.epoch = message.epoch !== BigInt(0) ? (message.epoch?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: EventTransmittedAminoMsg): EventTransmitted { + return EventTransmitted.fromAmino(object.value); + }, + fromProtoMsg(message: EventTransmittedProtoMsg): EventTransmitted { + return EventTransmitted.decode(message.value); + }, + toProto(message: EventTransmitted): Uint8Array { + return EventTransmitted.encode(message).finish(); + }, + toProtoMsg(message: EventTransmitted): EventTransmittedProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.EventTransmitted', + value: EventTransmitted.encode(message).finish(), + }; + }, +}; +function createBaseEventNewTransmission(): EventNewTransmission { + return { + feedId: '', + aggregatorRoundId: 0, + answer: '', + transmitter: '', + observationsTimestamp: BigInt(0), + observations: [], + observers: new Uint8Array(), + configDigest: new Uint8Array(), + epochAndRound: undefined, + }; +} +export const EventNewTransmission = { + typeUrl: '/injective.ocr.v1beta1.EventNewTransmission', + encode(message: EventNewTransmission, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.feedId !== '') { + writer.uint32(10).string(message.feedId); + } + if (message.aggregatorRoundId !== 0) { + writer.uint32(16).uint32(message.aggregatorRoundId); + } + if (message.answer !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.answer, 18).atomics); + } + if (message.transmitter !== '') { + writer.uint32(34).string(message.transmitter); + } + if (message.observationsTimestamp !== BigInt(0)) { + writer.uint32(40).int64(message.observationsTimestamp); + } + for (const v of message.observations) { + writer.uint32(50).string(Decimal.fromUserInput(v!, 18).atomics); + } + if (message.observers.length !== 0) { + writer.uint32(58).bytes(message.observers); + } + if (message.configDigest.length !== 0) { + writer.uint32(66).bytes(message.configDigest); + } + if (message.epochAndRound !== undefined) { + EpochAndRound.encode(message.epochAndRound, writer.uint32(74).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EventNewTransmission { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventNewTransmission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.feedId = reader.string(); + break; + case 2: + message.aggregatorRoundId = reader.uint32(); + break; + case 3: + message.answer = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.transmitter = reader.string(); + break; + case 5: + message.observationsTimestamp = reader.int64(); + break; + case 6: + message.observations.push(Decimal.fromAtomics(reader.string(), 18).toString()); + break; + case 7: + message.observers = reader.bytes(); + break; + case 8: + message.configDigest = reader.bytes(); + break; + case 9: + message.epochAndRound = EpochAndRound.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EventNewTransmission { + const message = createBaseEventNewTransmission(); + message.feedId = object.feedId ?? ''; + message.aggregatorRoundId = object.aggregatorRoundId ?? 0; + message.answer = object.answer ?? ''; + message.transmitter = object.transmitter ?? ''; + message.observationsTimestamp = + object.observationsTimestamp !== undefined && object.observationsTimestamp !== null + ? BigInt(object.observationsTimestamp.toString()) + : BigInt(0); + message.observations = object.observations?.map((e) => e) || []; + message.observers = object.observers ?? new Uint8Array(); + message.configDigest = object.configDigest ?? new Uint8Array(); + message.epochAndRound = + object.epochAndRound !== undefined && object.epochAndRound !== null + ? EpochAndRound.fromPartial(object.epochAndRound) + : undefined; + return message; + }, + fromAmino(object: EventNewTransmissionAmino): EventNewTransmission { + const message = createBaseEventNewTransmission(); + if (object.feed_id !== undefined && object.feed_id !== null) { + message.feedId = object.feed_id; + } + if (object.aggregator_round_id !== undefined && object.aggregator_round_id !== null) { + message.aggregatorRoundId = object.aggregator_round_id; + } + if (object.answer !== undefined && object.answer !== null) { + message.answer = object.answer; + } + if (object.transmitter !== undefined && object.transmitter !== null) { + message.transmitter = object.transmitter; + } + if (object.observations_timestamp !== undefined && object.observations_timestamp !== null) { + message.observationsTimestamp = BigInt(object.observations_timestamp); + } + message.observations = object.observations?.map((e) => e) || []; + if (object.observers !== undefined && object.observers !== null) { + message.observers = bytesFromBase64(object.observers); + } + if (object.config_digest !== undefined && object.config_digest !== null) { + message.configDigest = bytesFromBase64(object.config_digest); + } + if (object.epoch_and_round !== undefined && object.epoch_and_round !== null) { + message.epochAndRound = EpochAndRound.fromAmino(object.epoch_and_round); + } + return message; + }, + toAmino(message: EventNewTransmission): EventNewTransmissionAmino { + const obj: any = {}; + obj.feed_id = message.feedId === '' ? undefined : message.feedId; + obj.aggregator_round_id = message.aggregatorRoundId === 0 ? undefined : message.aggregatorRoundId; + obj.answer = message.answer === '' ? undefined : message.answer; + obj.transmitter = message.transmitter === '' ? undefined : message.transmitter; + obj.observations_timestamp = + message.observationsTimestamp !== BigInt(0) ? (message.observationsTimestamp?.toString)() : undefined; + if (message.observations) { + obj.observations = message.observations.map((e) => e); + } else { + obj.observations = message.observations; + } + obj.observers = message.observers ? base64FromBytes(message.observers) : undefined; + obj.config_digest = message.configDigest ? base64FromBytes(message.configDigest) : undefined; + obj.epoch_and_round = message.epochAndRound ? EpochAndRound.toAmino(message.epochAndRound) : undefined; + return obj; + }, + fromAminoMsg(object: EventNewTransmissionAminoMsg): EventNewTransmission { + return EventNewTransmission.fromAmino(object.value); + }, + fromProtoMsg(message: EventNewTransmissionProtoMsg): EventNewTransmission { + return EventNewTransmission.decode(message.value); + }, + toProto(message: EventNewTransmission): Uint8Array { + return EventNewTransmission.encode(message).finish(); + }, + toProtoMsg(message: EventNewTransmission): EventNewTransmissionProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.EventNewTransmission', + value: EventNewTransmission.encode(message).finish(), + }; + }, +}; +function createBaseEventConfigSet(): EventConfigSet { + return { + configDigest: new Uint8Array(), + previousConfigBlockNumber: BigInt(0), + config: undefined, + configInfo: undefined, + }; +} +export const EventConfigSet = { + typeUrl: '/injective.ocr.v1beta1.EventConfigSet', + encode(message: EventConfigSet, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.configDigest.length !== 0) { + writer.uint32(10).bytes(message.configDigest); + } + if (message.previousConfigBlockNumber !== BigInt(0)) { + writer.uint32(16).int64(message.previousConfigBlockNumber); + } + if (message.config !== undefined) { + FeedConfig.encode(message.config, writer.uint32(26).fork()).ldelim(); + } + if (message.configInfo !== undefined) { + FeedConfigInfo.encode(message.configInfo, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EventConfigSet { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventConfigSet(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.configDigest = reader.bytes(); + break; + case 2: + message.previousConfigBlockNumber = reader.int64(); + break; + case 3: + message.config = FeedConfig.decode(reader, reader.uint32()); + break; + case 4: + message.configInfo = FeedConfigInfo.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EventConfigSet { + const message = createBaseEventConfigSet(); + message.configDigest = object.configDigest ?? new Uint8Array(); + message.previousConfigBlockNumber = + object.previousConfigBlockNumber !== undefined && object.previousConfigBlockNumber !== null + ? BigInt(object.previousConfigBlockNumber.toString()) + : BigInt(0); + message.config = + object.config !== undefined && object.config !== null ? FeedConfig.fromPartial(object.config) : undefined; + message.configInfo = + object.configInfo !== undefined && object.configInfo !== null + ? FeedConfigInfo.fromPartial(object.configInfo) + : undefined; + return message; + }, + fromAmino(object: EventConfigSetAmino): EventConfigSet { + const message = createBaseEventConfigSet(); + if (object.config_digest !== undefined && object.config_digest !== null) { + message.configDigest = bytesFromBase64(object.config_digest); + } + if (object.previous_config_block_number !== undefined && object.previous_config_block_number !== null) { + message.previousConfigBlockNumber = BigInt(object.previous_config_block_number); + } + if (object.config !== undefined && object.config !== null) { + message.config = FeedConfig.fromAmino(object.config); + } + if (object.config_info !== undefined && object.config_info !== null) { + message.configInfo = FeedConfigInfo.fromAmino(object.config_info); + } + return message; + }, + toAmino(message: EventConfigSet): EventConfigSetAmino { + const obj: any = {}; + obj.config_digest = message.configDigest ? base64FromBytes(message.configDigest) : undefined; + obj.previous_config_block_number = + message.previousConfigBlockNumber !== BigInt(0) ? (message.previousConfigBlockNumber?.toString)() : undefined; + obj.config = message.config ? FeedConfig.toAmino(message.config) : undefined; + obj.config_info = message.configInfo ? FeedConfigInfo.toAmino(message.configInfo) : undefined; + return obj; + }, + fromAminoMsg(object: EventConfigSetAminoMsg): EventConfigSet { + return EventConfigSet.fromAmino(object.value); + }, + fromProtoMsg(message: EventConfigSetProtoMsg): EventConfigSet { + return EventConfigSet.decode(message.value); + }, + toProto(message: EventConfigSet): Uint8Array { + return EventConfigSet.encode(message).finish(); + }, + toProtoMsg(message: EventConfigSet): EventConfigSetProtoMsg { + return { + typeUrl: '/injective.ocr.v1beta1.EventConfigSet', + value: EventConfigSet.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/oracle/v1beta1/oracle.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/oracle/v1beta1/oracle.ts new file mode 100644 index 00000000..f29ead70 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/oracle/v1beta1/oracle.ts @@ -0,0 +1,3249 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Decimal } from '@cosmjs/math'; + +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +import { Coin, CoinAmino, CoinSDKType } from '../../../cosmos/base/v1beta1/coin'; +export enum OracleType { + Unspecified = 0, + Band = 1, + PriceFeed = 2, + Coinbase = 3, + Chainlink = 4, + Razor = 5, + Dia = 6, + API3 = 7, + Uma = 8, + Pyth = 9, + BandIBC = 10, + Provider = 11, + Stork = 12, + UNRECOGNIZED = -1, +} +export const OracleTypeSDKType = OracleType; +export const OracleTypeAmino = OracleType; +export function oracleTypeFromJSON(object: any): OracleType { + switch (object) { + case 0: + case 'Unspecified': + return OracleType.Unspecified; + case 1: + case 'Band': + return OracleType.Band; + case 2: + case 'PriceFeed': + return OracleType.PriceFeed; + case 3: + case 'Coinbase': + return OracleType.Coinbase; + case 4: + case 'Chainlink': + return OracleType.Chainlink; + case 5: + case 'Razor': + return OracleType.Razor; + case 6: + case 'Dia': + return OracleType.Dia; + case 7: + case 'API3': + return OracleType.API3; + case 8: + case 'Uma': + return OracleType.Uma; + case 9: + case 'Pyth': + return OracleType.Pyth; + case 10: + case 'BandIBC': + return OracleType.BandIBC; + case 11: + case 'Provider': + return OracleType.Provider; + case 12: + case 'Stork': + return OracleType.Stork; + case -1: + case 'UNRECOGNIZED': + default: + return OracleType.UNRECOGNIZED; + } +} +export function oracleTypeToJSON(object: OracleType): string { + switch (object) { + case OracleType.Unspecified: + return 'Unspecified'; + case OracleType.Band: + return 'Band'; + case OracleType.PriceFeed: + return 'PriceFeed'; + case OracleType.Coinbase: + return 'Coinbase'; + case OracleType.Chainlink: + return 'Chainlink'; + case OracleType.Razor: + return 'Razor'; + case OracleType.Dia: + return 'Dia'; + case OracleType.API3: + return 'API3'; + case OracleType.Uma: + return 'Uma'; + case OracleType.Pyth: + return 'Pyth'; + case OracleType.BandIBC: + return 'BandIBC'; + case OracleType.Provider: + return 'Provider'; + case OracleType.Stork: + return 'Stork'; + case OracleType.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export interface Params { + pythContract: string; +} +export interface ParamsProtoMsg { + typeUrl: '/injective.oracle.v1beta1.Params'; + value: Uint8Array; +} +export interface ParamsAmino { + pyth_contract?: string; +} +export interface ParamsAminoMsg { + type: 'oracle/Params'; + value: ParamsAmino; +} +export interface ParamsSDKType { + pyth_contract: string; +} +export interface OracleInfo { + symbol: string; + oracleType: OracleType; +} +export interface OracleInfoProtoMsg { + typeUrl: '/injective.oracle.v1beta1.OracleInfo'; + value: Uint8Array; +} +export interface OracleInfoAmino { + symbol?: string; + oracle_type?: OracleType; +} +export interface OracleInfoAminoMsg { + type: '/injective.oracle.v1beta1.OracleInfo'; + value: OracleInfoAmino; +} +export interface OracleInfoSDKType { + symbol: string; + oracle_type: OracleType; +} +export interface ChainlinkPriceState { + feedId: string; + answer: string; + timestamp: bigint; + priceState: PriceState; +} +export interface ChainlinkPriceStateProtoMsg { + typeUrl: '/injective.oracle.v1beta1.ChainlinkPriceState'; + value: Uint8Array; +} +export interface ChainlinkPriceStateAmino { + feed_id?: string; + answer?: string; + timestamp?: string; + price_state?: PriceStateAmino; +} +export interface ChainlinkPriceStateAminoMsg { + type: '/injective.oracle.v1beta1.ChainlinkPriceState'; + value: ChainlinkPriceStateAmino; +} +export interface ChainlinkPriceStateSDKType { + feed_id: string; + answer: string; + timestamp: bigint; + price_state: PriceStateSDKType; +} +export interface BandPriceState { + symbol: string; + rate: string; + resolveTime: bigint; + requestID: bigint; + priceState: PriceState; +} +export interface BandPriceStateProtoMsg { + typeUrl: '/injective.oracle.v1beta1.BandPriceState'; + value: Uint8Array; +} +export interface BandPriceStateAmino { + symbol?: string; + rate?: string; + resolve_time?: string; + request_ID?: string; + price_state?: PriceStateAmino; +} +export interface BandPriceStateAminoMsg { + type: '/injective.oracle.v1beta1.BandPriceState'; + value: BandPriceStateAmino; +} +export interface BandPriceStateSDKType { + symbol: string; + rate: string; + resolve_time: bigint; + request_ID: bigint; + price_state: PriceStateSDKType; +} +export interface PriceFeedState { + base: string; + quote: string; + priceState?: PriceState; + relayers: string[]; +} +export interface PriceFeedStateProtoMsg { + typeUrl: '/injective.oracle.v1beta1.PriceFeedState'; + value: Uint8Array; +} +export interface PriceFeedStateAmino { + base?: string; + quote?: string; + price_state?: PriceStateAmino; + relayers?: string[]; +} +export interface PriceFeedStateAminoMsg { + type: '/injective.oracle.v1beta1.PriceFeedState'; + value: PriceFeedStateAmino; +} +export interface PriceFeedStateSDKType { + base: string; + quote: string; + price_state?: PriceStateSDKType; + relayers: string[]; +} +export interface ProviderInfo { + provider: string; + relayers: string[]; +} +export interface ProviderInfoProtoMsg { + typeUrl: '/injective.oracle.v1beta1.ProviderInfo'; + value: Uint8Array; +} +export interface ProviderInfoAmino { + provider?: string; + relayers?: string[]; +} +export interface ProviderInfoAminoMsg { + type: '/injective.oracle.v1beta1.ProviderInfo'; + value: ProviderInfoAmino; +} +export interface ProviderInfoSDKType { + provider: string; + relayers: string[]; +} +export interface ProviderState { + providerInfo?: ProviderInfo; + providerPriceStates: ProviderPriceState[]; +} +export interface ProviderStateProtoMsg { + typeUrl: '/injective.oracle.v1beta1.ProviderState'; + value: Uint8Array; +} +export interface ProviderStateAmino { + provider_info?: ProviderInfoAmino; + provider_price_states?: ProviderPriceStateAmino[]; +} +export interface ProviderStateAminoMsg { + type: '/injective.oracle.v1beta1.ProviderState'; + value: ProviderStateAmino; +} +export interface ProviderStateSDKType { + provider_info?: ProviderInfoSDKType; + provider_price_states: ProviderPriceStateSDKType[]; +} +export interface ProviderPriceState { + symbol: string; + state?: PriceState; +} +export interface ProviderPriceStateProtoMsg { + typeUrl: '/injective.oracle.v1beta1.ProviderPriceState'; + value: Uint8Array; +} +export interface ProviderPriceStateAmino { + symbol?: string; + state?: PriceStateAmino; +} +export interface ProviderPriceStateAminoMsg { + type: '/injective.oracle.v1beta1.ProviderPriceState'; + value: ProviderPriceStateAmino; +} +export interface ProviderPriceStateSDKType { + symbol: string; + state?: PriceStateSDKType; +} +export interface PriceFeedInfo { + base: string; + quote: string; +} +export interface PriceFeedInfoProtoMsg { + typeUrl: '/injective.oracle.v1beta1.PriceFeedInfo'; + value: Uint8Array; +} +export interface PriceFeedInfoAmino { + base?: string; + quote?: string; +} +export interface PriceFeedInfoAminoMsg { + type: '/injective.oracle.v1beta1.PriceFeedInfo'; + value: PriceFeedInfoAmino; +} +export interface PriceFeedInfoSDKType { + base: string; + quote: string; +} +export interface PriceFeedPrice { + price: string; +} +export interface PriceFeedPriceProtoMsg { + typeUrl: '/injective.oracle.v1beta1.PriceFeedPrice'; + value: Uint8Array; +} +export interface PriceFeedPriceAmino { + price?: string; +} +export interface PriceFeedPriceAminoMsg { + type: '/injective.oracle.v1beta1.PriceFeedPrice'; + value: PriceFeedPriceAmino; +} +export interface PriceFeedPriceSDKType { + price: string; +} +export interface CoinbasePriceState { + /** kind should always be "prices" */ + kind: string; + /** timestamp of the when the price was signed by coinbase */ + timestamp: bigint; + /** the symbol of the price, e.g. BTC */ + key: string; + /** the value of the price scaled by 1e6 */ + value: bigint; + /** the price state */ + priceState: PriceState; +} +export interface CoinbasePriceStateProtoMsg { + typeUrl: '/injective.oracle.v1beta1.CoinbasePriceState'; + value: Uint8Array; +} +export interface CoinbasePriceStateAmino { + /** kind should always be "prices" */ + kind?: string; + /** timestamp of the when the price was signed by coinbase */ + timestamp?: string; + /** the symbol of the price, e.g. BTC */ + key?: string; + /** the value of the price scaled by 1e6 */ + value?: string; + /** the price state */ + price_state?: PriceStateAmino; +} +export interface CoinbasePriceStateAminoMsg { + type: '/injective.oracle.v1beta1.CoinbasePriceState'; + value: CoinbasePriceStateAmino; +} +export interface CoinbasePriceStateSDKType { + kind: string; + timestamp: bigint; + key: string; + value: bigint; + price_state: PriceStateSDKType; +} +export interface StorkPriceState { + /** timestamp of the when the price was signed by stork */ + timestamp: bigint; + /** the symbol of the price, e.g. BTC */ + symbol: string; + /** the value of the price scaled by 1e18 */ + value: string; + /** the price state */ + priceState: PriceState; +} +export interface StorkPriceStateProtoMsg { + typeUrl: '/injective.oracle.v1beta1.StorkPriceState'; + value: Uint8Array; +} +export interface StorkPriceStateAmino { + /** timestamp of the when the price was signed by stork */ + timestamp?: string; + /** the symbol of the price, e.g. BTC */ + symbol?: string; + /** the value of the price scaled by 1e18 */ + value?: string; + /** the price state */ + price_state?: PriceStateAmino; +} +export interface StorkPriceStateAminoMsg { + type: '/injective.oracle.v1beta1.StorkPriceState'; + value: StorkPriceStateAmino; +} +export interface StorkPriceStateSDKType { + timestamp: bigint; + symbol: string; + value: string; + price_state: PriceStateSDKType; +} +export interface PriceState { + price: string; + cumulativePrice: string; + timestamp: bigint; +} +export interface PriceStateProtoMsg { + typeUrl: '/injective.oracle.v1beta1.PriceState'; + value: Uint8Array; +} +export interface PriceStateAmino { + price?: string; + cumulative_price?: string; + timestamp?: string; +} +export interface PriceStateAminoMsg { + type: '/injective.oracle.v1beta1.PriceState'; + value: PriceStateAmino; +} +export interface PriceStateSDKType { + price: string; + cumulative_price: string; + timestamp: bigint; +} +export interface PythPriceState { + priceId: string; + emaPrice: string; + emaConf: string; + conf: string; + publishTime: bigint; + priceState: PriceState; +} +export interface PythPriceStateProtoMsg { + typeUrl: '/injective.oracle.v1beta1.PythPriceState'; + value: Uint8Array; +} +export interface PythPriceStateAmino { + price_id?: string; + ema_price?: string; + ema_conf?: string; + conf?: string; + publish_time?: string; + price_state?: PriceStateAmino; +} +export interface PythPriceStateAminoMsg { + type: '/injective.oracle.v1beta1.PythPriceState'; + value: PythPriceStateAmino; +} +export interface PythPriceStateSDKType { + price_id: string; + ema_price: string; + ema_conf: string; + conf: string; + publish_time: bigint; + price_state: PriceStateSDKType; +} +export interface BandOracleRequest { + /** Unique Identifier for band ibc oracle request */ + requestId: bigint; + /** + * OracleScriptID is the unique identifier of the oracle script to be + * executed. + */ + oracleScriptId: bigint; + /** Symbols is the list of symbols to prepare in the calldata */ + symbols: string[]; + /** + * AskCount is the number of validators that are requested to respond to this + * oracle request. Higher value means more security, at a higher gas cost. + */ + askCount: bigint; + /** + * MinCount is the minimum number of validators necessary for the request to + * proceed to the execution phase. Higher value means more security, at the + * cost of liveness. + */ + minCount: bigint; + /** + * FeeLimit is the maximum tokens that will be paid to all data source + * providers. + */ + feeLimit: Coin[]; + /** PrepareGas is amount of gas to pay to prepare raw requests */ + prepareGas: bigint; + /** ExecuteGas is amount of gas to reserve for executing */ + executeGas: bigint; + /** + * MinSourceCount is the minimum number of data sources that must be used by + * each validator + */ + minSourceCount: bigint; +} +export interface BandOracleRequestProtoMsg { + typeUrl: '/injective.oracle.v1beta1.BandOracleRequest'; + value: Uint8Array; +} +export interface BandOracleRequestAmino { + /** Unique Identifier for band ibc oracle request */ + request_id?: string; + /** + * OracleScriptID is the unique identifier of the oracle script to be + * executed. + */ + oracle_script_id?: string; + /** Symbols is the list of symbols to prepare in the calldata */ + symbols?: string[]; + /** + * AskCount is the number of validators that are requested to respond to this + * oracle request. Higher value means more security, at a higher gas cost. + */ + ask_count?: string; + /** + * MinCount is the minimum number of validators necessary for the request to + * proceed to the execution phase. Higher value means more security, at the + * cost of liveness. + */ + min_count?: string; + /** + * FeeLimit is the maximum tokens that will be paid to all data source + * providers. + */ + fee_limit?: CoinAmino[]; + /** PrepareGas is amount of gas to pay to prepare raw requests */ + prepare_gas?: string; + /** ExecuteGas is amount of gas to reserve for executing */ + execute_gas?: string; + /** + * MinSourceCount is the minimum number of data sources that must be used by + * each validator + */ + min_source_count?: string; +} +export interface BandOracleRequestAminoMsg { + type: '/injective.oracle.v1beta1.BandOracleRequest'; + value: BandOracleRequestAmino; +} +export interface BandOracleRequestSDKType { + request_id: bigint; + oracle_script_id: bigint; + symbols: string[]; + ask_count: bigint; + min_count: bigint; + fee_limit: CoinSDKType[]; + prepare_gas: bigint; + execute_gas: bigint; + min_source_count: bigint; +} +export interface BandIBCParams { + /** true if Band IBC should be enabled */ + bandIbcEnabled: boolean; + /** block request interval to send Band IBC prices */ + ibcRequestInterval: bigint; + /** band IBC source channel */ + ibcSourceChannel: string; + /** band IBC version */ + ibcVersion: string; + /** band IBC portID */ + ibcPortId: string; + /** legacy oracle scheme ids */ + legacyOracleIds: bigint[]; +} +export interface BandIBCParamsProtoMsg { + typeUrl: '/injective.oracle.v1beta1.BandIBCParams'; + value: Uint8Array; +} +export interface BandIBCParamsAmino { + /** true if Band IBC should be enabled */ + band_ibc_enabled?: boolean; + /** block request interval to send Band IBC prices */ + ibc_request_interval?: string; + /** band IBC source channel */ + ibc_source_channel?: string; + /** band IBC version */ + ibc_version?: string; + /** band IBC portID */ + ibc_port_id?: string; + /** legacy oracle scheme ids */ + legacy_oracle_ids?: string[]; +} +export interface BandIBCParamsAminoMsg { + type: '/injective.oracle.v1beta1.BandIBCParams'; + value: BandIBCParamsAmino; +} +export interface BandIBCParamsSDKType { + band_ibc_enabled: boolean; + ibc_request_interval: bigint; + ibc_source_channel: string; + ibc_version: string; + ibc_port_id: string; + legacy_oracle_ids: bigint[]; +} +export interface SymbolPriceTimestamp { + oracle: OracleType; + symbolId: string; + timestamp: bigint; +} +export interface SymbolPriceTimestampProtoMsg { + typeUrl: '/injective.oracle.v1beta1.SymbolPriceTimestamp'; + value: Uint8Array; +} +export interface SymbolPriceTimestampAmino { + oracle?: OracleType; + symbol_id?: string; + timestamp?: string; +} +export interface SymbolPriceTimestampAminoMsg { + type: '/injective.oracle.v1beta1.SymbolPriceTimestamp'; + value: SymbolPriceTimestampAmino; +} +export interface SymbolPriceTimestampSDKType { + oracle: OracleType; + symbol_id: string; + timestamp: bigint; +} +export interface LastPriceTimestamps { + lastPriceTimestamps: SymbolPriceTimestamp[]; +} +export interface LastPriceTimestampsProtoMsg { + typeUrl: '/injective.oracle.v1beta1.LastPriceTimestamps'; + value: Uint8Array; +} +export interface LastPriceTimestampsAmino { + last_price_timestamps?: SymbolPriceTimestampAmino[]; +} +export interface LastPriceTimestampsAminoMsg { + type: '/injective.oracle.v1beta1.LastPriceTimestamps'; + value: LastPriceTimestampsAmino; +} +export interface LastPriceTimestampsSDKType { + last_price_timestamps: SymbolPriceTimestampSDKType[]; +} +export interface PriceRecords { + oracle: OracleType; + symbolId: string; + latestPriceRecords: PriceRecord[]; +} +export interface PriceRecordsProtoMsg { + typeUrl: '/injective.oracle.v1beta1.PriceRecords'; + value: Uint8Array; +} +export interface PriceRecordsAmino { + oracle?: OracleType; + symbol_id?: string; + latest_price_records?: PriceRecordAmino[]; +} +export interface PriceRecordsAminoMsg { + type: '/injective.oracle.v1beta1.PriceRecords'; + value: PriceRecordsAmino; +} +export interface PriceRecordsSDKType { + oracle: OracleType; + symbol_id: string; + latest_price_records: PriceRecordSDKType[]; +} +export interface PriceRecord { + timestamp: bigint; + price: string; +} +export interface PriceRecordProtoMsg { + typeUrl: '/injective.oracle.v1beta1.PriceRecord'; + value: Uint8Array; +} +export interface PriceRecordAmino { + timestamp?: string; + price?: string; +} +export interface PriceRecordAminoMsg { + type: '/injective.oracle.v1beta1.PriceRecord'; + value: PriceRecordAmino; +} +export interface PriceRecordSDKType { + timestamp: bigint; + price: string; +} +/** + * MetadataStatistics refers to the metadata summary statistics of the + * historical sample considered + */ +export interface MetadataStatistics { + /** + * GroupCount refers to the number of groups used. Equals RecordsSampleSize if + * no grouping is used + */ + groupCount: number; + /** RecordsSampleSize refers to the total number of records used. */ + recordsSampleSize: number; + /** + * Mean refers to the arithmetic mean + * For trades, the mean is the VWAP computed over the grouped trade records ∑ + * (price * quantity) / ∑ quantity For oracle prices, the mean is computed + * over the price records ∑ (price) / prices_count + */ + mean: string; + /** + * TWAP refers to the time-weighted average price which equals ∑ (price_i * + * ∆t_i) / ∑ ∆t_i where ∆t_i = t_i - t_{i-1} + */ + twap: string; + /** FirstTimestamp is the timestamp of the oldest record considered */ + firstTimestamp: bigint; + /** LastTimestamp is the timestamp of the youngest record considered */ + lastTimestamp: bigint; + /** MinPrice refers to the smallest individual raw price considered */ + minPrice: string; + /** MaxPrice refers to the largest individual raw price considered */ + maxPrice: string; + /** MedianPrice refers to the median individual raw price considered */ + medianPrice: string; +} +export interface MetadataStatisticsProtoMsg { + typeUrl: '/injective.oracle.v1beta1.MetadataStatistics'; + value: Uint8Array; +} +/** + * MetadataStatistics refers to the metadata summary statistics of the + * historical sample considered + */ +export interface MetadataStatisticsAmino { + /** + * GroupCount refers to the number of groups used. Equals RecordsSampleSize if + * no grouping is used + */ + group_count?: number; + /** RecordsSampleSize refers to the total number of records used. */ + records_sample_size?: number; + /** + * Mean refers to the arithmetic mean + * For trades, the mean is the VWAP computed over the grouped trade records ∑ + * (price * quantity) / ∑ quantity For oracle prices, the mean is computed + * over the price records ∑ (price) / prices_count + */ + mean?: string; + /** + * TWAP refers to the time-weighted average price which equals ∑ (price_i * + * ∆t_i) / ∑ ∆t_i where ∆t_i = t_i - t_{i-1} + */ + twap?: string; + /** FirstTimestamp is the timestamp of the oldest record considered */ + first_timestamp?: string; + /** LastTimestamp is the timestamp of the youngest record considered */ + last_timestamp?: string; + /** MinPrice refers to the smallest individual raw price considered */ + min_price?: string; + /** MaxPrice refers to the largest individual raw price considered */ + max_price?: string; + /** MedianPrice refers to the median individual raw price considered */ + median_price?: string; +} +export interface MetadataStatisticsAminoMsg { + type: '/injective.oracle.v1beta1.MetadataStatistics'; + value: MetadataStatisticsAmino; +} +/** + * MetadataStatistics refers to the metadata summary statistics of the + * historical sample considered + */ +export interface MetadataStatisticsSDKType { + group_count: number; + records_sample_size: number; + mean: string; + twap: string; + first_timestamp: bigint; + last_timestamp: bigint; + min_price: string; + max_price: string; + median_price: string; +} +export interface PriceAttestation { + priceId: string; + /** MaxPrice refers to the largest individual raw price considered */ + price: bigint; + conf: bigint; + expo: number; + emaPrice: bigint; + emaConf: bigint; + emaExpo: number; + publishTime: bigint; +} +export interface PriceAttestationProtoMsg { + typeUrl: '/injective.oracle.v1beta1.PriceAttestation'; + value: Uint8Array; +} +export interface PriceAttestationAmino { + price_id?: string; + /** MaxPrice refers to the largest individual raw price considered */ + price?: string; + conf?: string; + expo?: number; + ema_price?: string; + ema_conf?: string; + ema_expo?: number; + publish_time?: string; +} +export interface PriceAttestationAminoMsg { + type: '/injective.oracle.v1beta1.PriceAttestation'; + value: PriceAttestationAmino; +} +export interface PriceAttestationSDKType { + price_id: string; + price: bigint; + conf: bigint; + expo: number; + ema_price: bigint; + ema_conf: bigint; + ema_expo: number; + publish_time: bigint; +} +export interface AssetPair { + assetId: string; + signedPrices: SignedPriceOfAssetPair[]; +} +export interface AssetPairProtoMsg { + typeUrl: '/injective.oracle.v1beta1.AssetPair'; + value: Uint8Array; +} +export interface AssetPairAmino { + asset_id?: string; + signed_prices?: SignedPriceOfAssetPairAmino[]; +} +export interface AssetPairAminoMsg { + type: '/injective.oracle.v1beta1.AssetPair'; + value: AssetPairAmino; +} +export interface AssetPairSDKType { + asset_id: string; + signed_prices: SignedPriceOfAssetPairSDKType[]; +} +export interface SignedPriceOfAssetPair { + publisherKey: string; + timestamp: bigint; + price: string; + signature: Uint8Array; +} +export interface SignedPriceOfAssetPairProtoMsg { + typeUrl: '/injective.oracle.v1beta1.SignedPriceOfAssetPair'; + value: Uint8Array; +} +export interface SignedPriceOfAssetPairAmino { + publisher_key?: string; + timestamp?: string; + price?: string; + signature?: string; +} +export interface SignedPriceOfAssetPairAminoMsg { + type: '/injective.oracle.v1beta1.SignedPriceOfAssetPair'; + value: SignedPriceOfAssetPairAmino; +} +export interface SignedPriceOfAssetPairSDKType { + publisher_key: string; + timestamp: bigint; + price: string; + signature: Uint8Array; +} +function createBaseParams(): Params { + return { + pythContract: '', + }; +} +export const Params = { + typeUrl: '/injective.oracle.v1beta1.Params', + encode(message: Params, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.pythContract !== '') { + writer.uint32(10).string(message.pythContract); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pythContract = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Params { + const message = createBaseParams(); + message.pythContract = object.pythContract ?? ''; + return message; + }, + fromAmino(object: ParamsAmino): Params { + const message = createBaseParams(); + if (object.pyth_contract !== undefined && object.pyth_contract !== null) { + message.pythContract = object.pyth_contract; + } + return message; + }, + toAmino(message: Params): ParamsAmino { + const obj: any = {}; + obj.pyth_contract = message.pythContract === '' ? undefined : message.pythContract; + return obj; + }, + fromAminoMsg(object: ParamsAminoMsg): Params { + return Params.fromAmino(object.value); + }, + toAminoMsg(message: Params): ParamsAminoMsg { + return { + type: 'oracle/Params', + value: Params.toAmino(message), + }; + }, + fromProtoMsg(message: ParamsProtoMsg): Params { + return Params.decode(message.value); + }, + toProto(message: Params): Uint8Array { + return Params.encode(message).finish(); + }, + toProtoMsg(message: Params): ParamsProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.Params', + value: Params.encode(message).finish(), + }; + }, +}; +function createBaseOracleInfo(): OracleInfo { + return { + symbol: '', + oracleType: 0, + }; +} +export const OracleInfo = { + typeUrl: '/injective.oracle.v1beta1.OracleInfo', + encode(message: OracleInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.symbol !== '') { + writer.uint32(10).string(message.symbol); + } + if (message.oracleType !== 0) { + writer.uint32(16).int32(message.oracleType); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): OracleInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOracleInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.symbol = reader.string(); + break; + case 2: + message.oracleType = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): OracleInfo { + const message = createBaseOracleInfo(); + message.symbol = object.symbol ?? ''; + message.oracleType = object.oracleType ?? 0; + return message; + }, + fromAmino(object: OracleInfoAmino): OracleInfo { + const message = createBaseOracleInfo(); + if (object.symbol !== undefined && object.symbol !== null) { + message.symbol = object.symbol; + } + if (object.oracle_type !== undefined && object.oracle_type !== null) { + message.oracleType = object.oracle_type; + } + return message; + }, + toAmino(message: OracleInfo): OracleInfoAmino { + const obj: any = {}; + obj.symbol = message.symbol === '' ? undefined : message.symbol; + obj.oracle_type = message.oracleType === 0 ? undefined : message.oracleType; + return obj; + }, + fromAminoMsg(object: OracleInfoAminoMsg): OracleInfo { + return OracleInfo.fromAmino(object.value); + }, + fromProtoMsg(message: OracleInfoProtoMsg): OracleInfo { + return OracleInfo.decode(message.value); + }, + toProto(message: OracleInfo): Uint8Array { + return OracleInfo.encode(message).finish(); + }, + toProtoMsg(message: OracleInfo): OracleInfoProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.OracleInfo', + value: OracleInfo.encode(message).finish(), + }; + }, +}; +function createBaseChainlinkPriceState(): ChainlinkPriceState { + return { + feedId: '', + answer: '', + timestamp: BigInt(0), + priceState: PriceState.fromPartial({}), + }; +} +export const ChainlinkPriceState = { + typeUrl: '/injective.oracle.v1beta1.ChainlinkPriceState', + encode(message: ChainlinkPriceState, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.feedId !== '') { + writer.uint32(10).string(message.feedId); + } + if (message.answer !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.answer, 18).atomics); + } + if (message.timestamp !== BigInt(0)) { + writer.uint32(24).uint64(message.timestamp); + } + if (message.priceState !== undefined) { + PriceState.encode(message.priceState, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ChainlinkPriceState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseChainlinkPriceState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.feedId = reader.string(); + break; + case 2: + message.answer = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.timestamp = reader.uint64(); + break; + case 4: + message.priceState = PriceState.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ChainlinkPriceState { + const message = createBaseChainlinkPriceState(); + message.feedId = object.feedId ?? ''; + message.answer = object.answer ?? ''; + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); + message.priceState = + object.priceState !== undefined && object.priceState !== null + ? PriceState.fromPartial(object.priceState) + : undefined; + return message; + }, + fromAmino(object: ChainlinkPriceStateAmino): ChainlinkPriceState { + const message = createBaseChainlinkPriceState(); + if (object.feed_id !== undefined && object.feed_id !== null) { + message.feedId = object.feed_id; + } + if (object.answer !== undefined && object.answer !== null) { + message.answer = object.answer; + } + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = BigInt(object.timestamp); + } + if (object.price_state !== undefined && object.price_state !== null) { + message.priceState = PriceState.fromAmino(object.price_state); + } + return message; + }, + toAmino(message: ChainlinkPriceState): ChainlinkPriceStateAmino { + const obj: any = {}; + obj.feed_id = message.feedId === '' ? undefined : message.feedId; + obj.answer = message.answer === '' ? undefined : message.answer; + obj.timestamp = message.timestamp !== BigInt(0) ? (message.timestamp?.toString)() : undefined; + obj.price_state = message.priceState ? PriceState.toAmino(message.priceState) : undefined; + return obj; + }, + fromAminoMsg(object: ChainlinkPriceStateAminoMsg): ChainlinkPriceState { + return ChainlinkPriceState.fromAmino(object.value); + }, + fromProtoMsg(message: ChainlinkPriceStateProtoMsg): ChainlinkPriceState { + return ChainlinkPriceState.decode(message.value); + }, + toProto(message: ChainlinkPriceState): Uint8Array { + return ChainlinkPriceState.encode(message).finish(); + }, + toProtoMsg(message: ChainlinkPriceState): ChainlinkPriceStateProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.ChainlinkPriceState', + value: ChainlinkPriceState.encode(message).finish(), + }; + }, +}; +function createBaseBandPriceState(): BandPriceState { + return { + symbol: '', + rate: '', + resolveTime: BigInt(0), + requestID: BigInt(0), + priceState: PriceState.fromPartial({}), + }; +} +export const BandPriceState = { + typeUrl: '/injective.oracle.v1beta1.BandPriceState', + encode(message: BandPriceState, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.symbol !== '') { + writer.uint32(10).string(message.symbol); + } + if (message.rate !== '') { + writer.uint32(18).string(message.rate); + } + if (message.resolveTime !== BigInt(0)) { + writer.uint32(24).uint64(message.resolveTime); + } + if (message.requestID !== BigInt(0)) { + writer.uint32(32).uint64(message.requestID); + } + if (message.priceState !== undefined) { + PriceState.encode(message.priceState, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BandPriceState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBandPriceState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.symbol = reader.string(); + break; + case 2: + message.rate = reader.string(); + break; + case 3: + message.resolveTime = reader.uint64(); + break; + case 4: + message.requestID = reader.uint64(); + break; + case 5: + message.priceState = PriceState.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BandPriceState { + const message = createBaseBandPriceState(); + message.symbol = object.symbol ?? ''; + message.rate = object.rate ?? ''; + message.resolveTime = + object.resolveTime !== undefined && object.resolveTime !== null + ? BigInt(object.resolveTime.toString()) + : BigInt(0); + message.requestID = + object.requestID !== undefined && object.requestID !== null ? BigInt(object.requestID.toString()) : BigInt(0); + message.priceState = + object.priceState !== undefined && object.priceState !== null + ? PriceState.fromPartial(object.priceState) + : undefined; + return message; + }, + fromAmino(object: BandPriceStateAmino): BandPriceState { + const message = createBaseBandPriceState(); + if (object.symbol !== undefined && object.symbol !== null) { + message.symbol = object.symbol; + } + if (object.rate !== undefined && object.rate !== null) { + message.rate = object.rate; + } + if (object.resolve_time !== undefined && object.resolve_time !== null) { + message.resolveTime = BigInt(object.resolve_time); + } + if (object.request_ID !== undefined && object.request_ID !== null) { + message.requestID = BigInt(object.request_ID); + } + if (object.price_state !== undefined && object.price_state !== null) { + message.priceState = PriceState.fromAmino(object.price_state); + } + return message; + }, + toAmino(message: BandPriceState): BandPriceStateAmino { + const obj: any = {}; + obj.symbol = message.symbol === '' ? undefined : message.symbol; + obj.rate = message.rate === '' ? undefined : message.rate; + obj.resolve_time = message.resolveTime !== BigInt(0) ? (message.resolveTime?.toString)() : undefined; + obj.request_ID = message.requestID !== BigInt(0) ? (message.requestID?.toString)() : undefined; + obj.price_state = message.priceState ? PriceState.toAmino(message.priceState) : undefined; + return obj; + }, + fromAminoMsg(object: BandPriceStateAminoMsg): BandPriceState { + return BandPriceState.fromAmino(object.value); + }, + fromProtoMsg(message: BandPriceStateProtoMsg): BandPriceState { + return BandPriceState.decode(message.value); + }, + toProto(message: BandPriceState): Uint8Array { + return BandPriceState.encode(message).finish(); + }, + toProtoMsg(message: BandPriceState): BandPriceStateProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.BandPriceState', + value: BandPriceState.encode(message).finish(), + }; + }, +}; +function createBasePriceFeedState(): PriceFeedState { + return { + base: '', + quote: '', + priceState: undefined, + relayers: [], + }; +} +export const PriceFeedState = { + typeUrl: '/injective.oracle.v1beta1.PriceFeedState', + encode(message: PriceFeedState, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.base !== '') { + writer.uint32(10).string(message.base); + } + if (message.quote !== '') { + writer.uint32(18).string(message.quote); + } + if (message.priceState !== undefined) { + PriceState.encode(message.priceState, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.relayers) { + writer.uint32(34).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PriceFeedState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePriceFeedState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.base = reader.string(); + break; + case 2: + message.quote = reader.string(); + break; + case 3: + message.priceState = PriceState.decode(reader, reader.uint32()); + break; + case 4: + message.relayers.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PriceFeedState { + const message = createBasePriceFeedState(); + message.base = object.base ?? ''; + message.quote = object.quote ?? ''; + message.priceState = + object.priceState !== undefined && object.priceState !== null + ? PriceState.fromPartial(object.priceState) + : undefined; + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + fromAmino(object: PriceFeedStateAmino): PriceFeedState { + const message = createBasePriceFeedState(); + if (object.base !== undefined && object.base !== null) { + message.base = object.base; + } + if (object.quote !== undefined && object.quote !== null) { + message.quote = object.quote; + } + if (object.price_state !== undefined && object.price_state !== null) { + message.priceState = PriceState.fromAmino(object.price_state); + } + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + toAmino(message: PriceFeedState): PriceFeedStateAmino { + const obj: any = {}; + obj.base = message.base === '' ? undefined : message.base; + obj.quote = message.quote === '' ? undefined : message.quote; + obj.price_state = message.priceState ? PriceState.toAmino(message.priceState) : undefined; + if (message.relayers) { + obj.relayers = message.relayers.map((e) => e); + } else { + obj.relayers = message.relayers; + } + return obj; + }, + fromAminoMsg(object: PriceFeedStateAminoMsg): PriceFeedState { + return PriceFeedState.fromAmino(object.value); + }, + fromProtoMsg(message: PriceFeedStateProtoMsg): PriceFeedState { + return PriceFeedState.decode(message.value); + }, + toProto(message: PriceFeedState): Uint8Array { + return PriceFeedState.encode(message).finish(); + }, + toProtoMsg(message: PriceFeedState): PriceFeedStateProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.PriceFeedState', + value: PriceFeedState.encode(message).finish(), + }; + }, +}; +function createBaseProviderInfo(): ProviderInfo { + return { + provider: '', + relayers: [], + }; +} +export const ProviderInfo = { + typeUrl: '/injective.oracle.v1beta1.ProviderInfo', + encode(message: ProviderInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.provider !== '') { + writer.uint32(10).string(message.provider); + } + for (const v of message.relayers) { + writer.uint32(18).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ProviderInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProviderInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.provider = reader.string(); + break; + case 2: + message.relayers.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ProviderInfo { + const message = createBaseProviderInfo(); + message.provider = object.provider ?? ''; + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + fromAmino(object: ProviderInfoAmino): ProviderInfo { + const message = createBaseProviderInfo(); + if (object.provider !== undefined && object.provider !== null) { + message.provider = object.provider; + } + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + toAmino(message: ProviderInfo): ProviderInfoAmino { + const obj: any = {}; + obj.provider = message.provider === '' ? undefined : message.provider; + if (message.relayers) { + obj.relayers = message.relayers.map((e) => e); + } else { + obj.relayers = message.relayers; + } + return obj; + }, + fromAminoMsg(object: ProviderInfoAminoMsg): ProviderInfo { + return ProviderInfo.fromAmino(object.value); + }, + fromProtoMsg(message: ProviderInfoProtoMsg): ProviderInfo { + return ProviderInfo.decode(message.value); + }, + toProto(message: ProviderInfo): Uint8Array { + return ProviderInfo.encode(message).finish(); + }, + toProtoMsg(message: ProviderInfo): ProviderInfoProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.ProviderInfo', + value: ProviderInfo.encode(message).finish(), + }; + }, +}; +function createBaseProviderState(): ProviderState { + return { + providerInfo: undefined, + providerPriceStates: [], + }; +} +export const ProviderState = { + typeUrl: '/injective.oracle.v1beta1.ProviderState', + encode(message: ProviderState, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.providerInfo !== undefined) { + ProviderInfo.encode(message.providerInfo, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.providerPriceStates) { + ProviderPriceState.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ProviderState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProviderState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.providerInfo = ProviderInfo.decode(reader, reader.uint32()); + break; + case 2: + message.providerPriceStates.push(ProviderPriceState.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ProviderState { + const message = createBaseProviderState(); + message.providerInfo = + object.providerInfo !== undefined && object.providerInfo !== null + ? ProviderInfo.fromPartial(object.providerInfo) + : undefined; + message.providerPriceStates = object.providerPriceStates?.map((e) => ProviderPriceState.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ProviderStateAmino): ProviderState { + const message = createBaseProviderState(); + if (object.provider_info !== undefined && object.provider_info !== null) { + message.providerInfo = ProviderInfo.fromAmino(object.provider_info); + } + message.providerPriceStates = object.provider_price_states?.map((e) => ProviderPriceState.fromAmino(e)) || []; + return message; + }, + toAmino(message: ProviderState): ProviderStateAmino { + const obj: any = {}; + obj.provider_info = message.providerInfo ? ProviderInfo.toAmino(message.providerInfo) : undefined; + if (message.providerPriceStates) { + obj.provider_price_states = message.providerPriceStates.map((e) => + e ? ProviderPriceState.toAmino(e) : undefined, + ); + } else { + obj.provider_price_states = message.providerPriceStates; + } + return obj; + }, + fromAminoMsg(object: ProviderStateAminoMsg): ProviderState { + return ProviderState.fromAmino(object.value); + }, + fromProtoMsg(message: ProviderStateProtoMsg): ProviderState { + return ProviderState.decode(message.value); + }, + toProto(message: ProviderState): Uint8Array { + return ProviderState.encode(message).finish(); + }, + toProtoMsg(message: ProviderState): ProviderStateProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.ProviderState', + value: ProviderState.encode(message).finish(), + }; + }, +}; +function createBaseProviderPriceState(): ProviderPriceState { + return { + symbol: '', + state: undefined, + }; +} +export const ProviderPriceState = { + typeUrl: '/injective.oracle.v1beta1.ProviderPriceState', + encode(message: ProviderPriceState, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.symbol !== '') { + writer.uint32(10).string(message.symbol); + } + if (message.state !== undefined) { + PriceState.encode(message.state, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ProviderPriceState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProviderPriceState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.symbol = reader.string(); + break; + case 2: + message.state = PriceState.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ProviderPriceState { + const message = createBaseProviderPriceState(); + message.symbol = object.symbol ?? ''; + message.state = + object.state !== undefined && object.state !== null ? PriceState.fromPartial(object.state) : undefined; + return message; + }, + fromAmino(object: ProviderPriceStateAmino): ProviderPriceState { + const message = createBaseProviderPriceState(); + if (object.symbol !== undefined && object.symbol !== null) { + message.symbol = object.symbol; + } + if (object.state !== undefined && object.state !== null) { + message.state = PriceState.fromAmino(object.state); + } + return message; + }, + toAmino(message: ProviderPriceState): ProviderPriceStateAmino { + const obj: any = {}; + obj.symbol = message.symbol === '' ? undefined : message.symbol; + obj.state = message.state ? PriceState.toAmino(message.state) : undefined; + return obj; + }, + fromAminoMsg(object: ProviderPriceStateAminoMsg): ProviderPriceState { + return ProviderPriceState.fromAmino(object.value); + }, + fromProtoMsg(message: ProviderPriceStateProtoMsg): ProviderPriceState { + return ProviderPriceState.decode(message.value); + }, + toProto(message: ProviderPriceState): Uint8Array { + return ProviderPriceState.encode(message).finish(); + }, + toProtoMsg(message: ProviderPriceState): ProviderPriceStateProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.ProviderPriceState', + value: ProviderPriceState.encode(message).finish(), + }; + }, +}; +function createBasePriceFeedInfo(): PriceFeedInfo { + return { + base: '', + quote: '', + }; +} +export const PriceFeedInfo = { + typeUrl: '/injective.oracle.v1beta1.PriceFeedInfo', + encode(message: PriceFeedInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.base !== '') { + writer.uint32(10).string(message.base); + } + if (message.quote !== '') { + writer.uint32(18).string(message.quote); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PriceFeedInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePriceFeedInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.base = reader.string(); + break; + case 2: + message.quote = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PriceFeedInfo { + const message = createBasePriceFeedInfo(); + message.base = object.base ?? ''; + message.quote = object.quote ?? ''; + return message; + }, + fromAmino(object: PriceFeedInfoAmino): PriceFeedInfo { + const message = createBasePriceFeedInfo(); + if (object.base !== undefined && object.base !== null) { + message.base = object.base; + } + if (object.quote !== undefined && object.quote !== null) { + message.quote = object.quote; + } + return message; + }, + toAmino(message: PriceFeedInfo): PriceFeedInfoAmino { + const obj: any = {}; + obj.base = message.base === '' ? undefined : message.base; + obj.quote = message.quote === '' ? undefined : message.quote; + return obj; + }, + fromAminoMsg(object: PriceFeedInfoAminoMsg): PriceFeedInfo { + return PriceFeedInfo.fromAmino(object.value); + }, + fromProtoMsg(message: PriceFeedInfoProtoMsg): PriceFeedInfo { + return PriceFeedInfo.decode(message.value); + }, + toProto(message: PriceFeedInfo): Uint8Array { + return PriceFeedInfo.encode(message).finish(); + }, + toProtoMsg(message: PriceFeedInfo): PriceFeedInfoProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.PriceFeedInfo', + value: PriceFeedInfo.encode(message).finish(), + }; + }, +}; +function createBasePriceFeedPrice(): PriceFeedPrice { + return { + price: '', + }; +} +export const PriceFeedPrice = { + typeUrl: '/injective.oracle.v1beta1.PriceFeedPrice', + encode(message: PriceFeedPrice, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.price !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.price, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PriceFeedPrice { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePriceFeedPrice(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.price = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PriceFeedPrice { + const message = createBasePriceFeedPrice(); + message.price = object.price ?? ''; + return message; + }, + fromAmino(object: PriceFeedPriceAmino): PriceFeedPrice { + const message = createBasePriceFeedPrice(); + if (object.price !== undefined && object.price !== null) { + message.price = object.price; + } + return message; + }, + toAmino(message: PriceFeedPrice): PriceFeedPriceAmino { + const obj: any = {}; + obj.price = message.price === '' ? undefined : message.price; + return obj; + }, + fromAminoMsg(object: PriceFeedPriceAminoMsg): PriceFeedPrice { + return PriceFeedPrice.fromAmino(object.value); + }, + fromProtoMsg(message: PriceFeedPriceProtoMsg): PriceFeedPrice { + return PriceFeedPrice.decode(message.value); + }, + toProto(message: PriceFeedPrice): Uint8Array { + return PriceFeedPrice.encode(message).finish(); + }, + toProtoMsg(message: PriceFeedPrice): PriceFeedPriceProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.PriceFeedPrice', + value: PriceFeedPrice.encode(message).finish(), + }; + }, +}; +function createBaseCoinbasePriceState(): CoinbasePriceState { + return { + kind: '', + timestamp: BigInt(0), + key: '', + value: BigInt(0), + priceState: PriceState.fromPartial({}), + }; +} +export const CoinbasePriceState = { + typeUrl: '/injective.oracle.v1beta1.CoinbasePriceState', + encode(message: CoinbasePriceState, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.kind !== '') { + writer.uint32(10).string(message.kind); + } + if (message.timestamp !== BigInt(0)) { + writer.uint32(16).uint64(message.timestamp); + } + if (message.key !== '') { + writer.uint32(26).string(message.key); + } + if (message.value !== BigInt(0)) { + writer.uint32(32).uint64(message.value); + } + if (message.priceState !== undefined) { + PriceState.encode(message.priceState, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): CoinbasePriceState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCoinbasePriceState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.kind = reader.string(); + break; + case 2: + message.timestamp = reader.uint64(); + break; + case 3: + message.key = reader.string(); + break; + case 4: + message.value = reader.uint64(); + break; + case 5: + message.priceState = PriceState.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): CoinbasePriceState { + const message = createBaseCoinbasePriceState(); + message.kind = object.kind ?? ''; + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); + message.key = object.key ?? ''; + message.value = object.value !== undefined && object.value !== null ? BigInt(object.value.toString()) : BigInt(0); + message.priceState = + object.priceState !== undefined && object.priceState !== null + ? PriceState.fromPartial(object.priceState) + : undefined; + return message; + }, + fromAmino(object: CoinbasePriceStateAmino): CoinbasePriceState { + const message = createBaseCoinbasePriceState(); + if (object.kind !== undefined && object.kind !== null) { + message.kind = object.kind; + } + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = BigInt(object.timestamp); + } + if (object.key !== undefined && object.key !== null) { + message.key = object.key; + } + if (object.value !== undefined && object.value !== null) { + message.value = BigInt(object.value); + } + if (object.price_state !== undefined && object.price_state !== null) { + message.priceState = PriceState.fromAmino(object.price_state); + } + return message; + }, + toAmino(message: CoinbasePriceState): CoinbasePriceStateAmino { + const obj: any = {}; + obj.kind = message.kind === '' ? undefined : message.kind; + obj.timestamp = message.timestamp !== BigInt(0) ? (message.timestamp?.toString)() : undefined; + obj.key = message.key === '' ? undefined : message.key; + obj.value = message.value !== BigInt(0) ? (message.value?.toString)() : undefined; + obj.price_state = message.priceState ? PriceState.toAmino(message.priceState) : undefined; + return obj; + }, + fromAminoMsg(object: CoinbasePriceStateAminoMsg): CoinbasePriceState { + return CoinbasePriceState.fromAmino(object.value); + }, + fromProtoMsg(message: CoinbasePriceStateProtoMsg): CoinbasePriceState { + return CoinbasePriceState.decode(message.value); + }, + toProto(message: CoinbasePriceState): Uint8Array { + return CoinbasePriceState.encode(message).finish(); + }, + toProtoMsg(message: CoinbasePriceState): CoinbasePriceStateProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.CoinbasePriceState', + value: CoinbasePriceState.encode(message).finish(), + }; + }, +}; +function createBaseStorkPriceState(): StorkPriceState { + return { + timestamp: BigInt(0), + symbol: '', + value: '', + priceState: PriceState.fromPartial({}), + }; +} +export const StorkPriceState = { + typeUrl: '/injective.oracle.v1beta1.StorkPriceState', + encode(message: StorkPriceState, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.timestamp !== BigInt(0)) { + writer.uint32(8).uint64(message.timestamp); + } + if (message.symbol !== '') { + writer.uint32(18).string(message.symbol); + } + if (message.value !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.value, 18).atomics); + } + if (message.priceState !== undefined) { + PriceState.encode(message.priceState, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): StorkPriceState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStorkPriceState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timestamp = reader.uint64(); + break; + case 2: + message.symbol = reader.string(); + break; + case 3: + message.value = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.priceState = PriceState.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): StorkPriceState { + const message = createBaseStorkPriceState(); + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); + message.symbol = object.symbol ?? ''; + message.value = object.value ?? ''; + message.priceState = + object.priceState !== undefined && object.priceState !== null + ? PriceState.fromPartial(object.priceState) + : undefined; + return message; + }, + fromAmino(object: StorkPriceStateAmino): StorkPriceState { + const message = createBaseStorkPriceState(); + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = BigInt(object.timestamp); + } + if (object.symbol !== undefined && object.symbol !== null) { + message.symbol = object.symbol; + } + if (object.value !== undefined && object.value !== null) { + message.value = object.value; + } + if (object.price_state !== undefined && object.price_state !== null) { + message.priceState = PriceState.fromAmino(object.price_state); + } + return message; + }, + toAmino(message: StorkPriceState): StorkPriceStateAmino { + const obj: any = {}; + obj.timestamp = message.timestamp !== BigInt(0) ? (message.timestamp?.toString)() : undefined; + obj.symbol = message.symbol === '' ? undefined : message.symbol; + obj.value = message.value === '' ? undefined : message.value; + obj.price_state = message.priceState ? PriceState.toAmino(message.priceState) : undefined; + return obj; + }, + fromAminoMsg(object: StorkPriceStateAminoMsg): StorkPriceState { + return StorkPriceState.fromAmino(object.value); + }, + fromProtoMsg(message: StorkPriceStateProtoMsg): StorkPriceState { + return StorkPriceState.decode(message.value); + }, + toProto(message: StorkPriceState): Uint8Array { + return StorkPriceState.encode(message).finish(); + }, + toProtoMsg(message: StorkPriceState): StorkPriceStateProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.StorkPriceState', + value: StorkPriceState.encode(message).finish(), + }; + }, +}; +function createBasePriceState(): PriceState { + return { + price: '', + cumulativePrice: '', + timestamp: BigInt(0), + }; +} +export const PriceState = { + typeUrl: '/injective.oracle.v1beta1.PriceState', + encode(message: PriceState, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.price !== '') { + writer.uint32(10).string(Decimal.fromUserInput(message.price, 18).atomics); + } + if (message.cumulativePrice !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.cumulativePrice, 18).atomics); + } + if (message.timestamp !== BigInt(0)) { + writer.uint32(24).int64(message.timestamp); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PriceState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePriceState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.price = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 2: + message.cumulativePrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.timestamp = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PriceState { + const message = createBasePriceState(); + message.price = object.price ?? ''; + message.cumulativePrice = object.cumulativePrice ?? ''; + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); + return message; + }, + fromAmino(object: PriceStateAmino): PriceState { + const message = createBasePriceState(); + if (object.price !== undefined && object.price !== null) { + message.price = object.price; + } + if (object.cumulative_price !== undefined && object.cumulative_price !== null) { + message.cumulativePrice = object.cumulative_price; + } + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = BigInt(object.timestamp); + } + return message; + }, + toAmino(message: PriceState): PriceStateAmino { + const obj: any = {}; + obj.price = message.price === '' ? undefined : message.price; + obj.cumulative_price = message.cumulativePrice === '' ? undefined : message.cumulativePrice; + obj.timestamp = message.timestamp !== BigInt(0) ? (message.timestamp?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: PriceStateAminoMsg): PriceState { + return PriceState.fromAmino(object.value); + }, + fromProtoMsg(message: PriceStateProtoMsg): PriceState { + return PriceState.decode(message.value); + }, + toProto(message: PriceState): Uint8Array { + return PriceState.encode(message).finish(); + }, + toProtoMsg(message: PriceState): PriceStateProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.PriceState', + value: PriceState.encode(message).finish(), + }; + }, +}; +function createBasePythPriceState(): PythPriceState { + return { + priceId: '', + emaPrice: '', + emaConf: '', + conf: '', + publishTime: BigInt(0), + priceState: PriceState.fromPartial({}), + }; +} +export const PythPriceState = { + typeUrl: '/injective.oracle.v1beta1.PythPriceState', + encode(message: PythPriceState, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.priceId !== '') { + writer.uint32(10).string(message.priceId); + } + if (message.emaPrice !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.emaPrice, 18).atomics); + } + if (message.emaConf !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.emaConf, 18).atomics); + } + if (message.conf !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.conf, 18).atomics); + } + if (message.publishTime !== BigInt(0)) { + writer.uint32(40).uint64(message.publishTime); + } + if (message.priceState !== undefined) { + PriceState.encode(message.priceState, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PythPriceState { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePythPriceState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.priceId = reader.string(); + break; + case 2: + message.emaPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 3: + message.emaConf = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.conf = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.publishTime = reader.uint64(); + break; + case 6: + message.priceState = PriceState.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PythPriceState { + const message = createBasePythPriceState(); + message.priceId = object.priceId ?? ''; + message.emaPrice = object.emaPrice ?? ''; + message.emaConf = object.emaConf ?? ''; + message.conf = object.conf ?? ''; + message.publishTime = + object.publishTime !== undefined && object.publishTime !== null + ? BigInt(object.publishTime.toString()) + : BigInt(0); + message.priceState = + object.priceState !== undefined && object.priceState !== null + ? PriceState.fromPartial(object.priceState) + : undefined; + return message; + }, + fromAmino(object: PythPriceStateAmino): PythPriceState { + const message = createBasePythPriceState(); + if (object.price_id !== undefined && object.price_id !== null) { + message.priceId = object.price_id; + } + if (object.ema_price !== undefined && object.ema_price !== null) { + message.emaPrice = object.ema_price; + } + if (object.ema_conf !== undefined && object.ema_conf !== null) { + message.emaConf = object.ema_conf; + } + if (object.conf !== undefined && object.conf !== null) { + message.conf = object.conf; + } + if (object.publish_time !== undefined && object.publish_time !== null) { + message.publishTime = BigInt(object.publish_time); + } + if (object.price_state !== undefined && object.price_state !== null) { + message.priceState = PriceState.fromAmino(object.price_state); + } + return message; + }, + toAmino(message: PythPriceState): PythPriceStateAmino { + const obj: any = {}; + obj.price_id = message.priceId === '' ? undefined : message.priceId; + obj.ema_price = message.emaPrice === '' ? undefined : message.emaPrice; + obj.ema_conf = message.emaConf === '' ? undefined : message.emaConf; + obj.conf = message.conf === '' ? undefined : message.conf; + obj.publish_time = message.publishTime !== BigInt(0) ? (message.publishTime?.toString)() : undefined; + obj.price_state = message.priceState ? PriceState.toAmino(message.priceState) : undefined; + return obj; + }, + fromAminoMsg(object: PythPriceStateAminoMsg): PythPriceState { + return PythPriceState.fromAmino(object.value); + }, + fromProtoMsg(message: PythPriceStateProtoMsg): PythPriceState { + return PythPriceState.decode(message.value); + }, + toProto(message: PythPriceState): Uint8Array { + return PythPriceState.encode(message).finish(); + }, + toProtoMsg(message: PythPriceState): PythPriceStateProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.PythPriceState', + value: PythPriceState.encode(message).finish(), + }; + }, +}; +function createBaseBandOracleRequest(): BandOracleRequest { + return { + requestId: BigInt(0), + oracleScriptId: BigInt(0), + symbols: [], + askCount: BigInt(0), + minCount: BigInt(0), + feeLimit: [], + prepareGas: BigInt(0), + executeGas: BigInt(0), + minSourceCount: BigInt(0), + }; +} +export const BandOracleRequest = { + typeUrl: '/injective.oracle.v1beta1.BandOracleRequest', + encode(message: BandOracleRequest, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.requestId !== BigInt(0)) { + writer.uint32(8).uint64(message.requestId); + } + if (message.oracleScriptId !== BigInt(0)) { + writer.uint32(16).int64(message.oracleScriptId); + } + for (const v of message.symbols) { + writer.uint32(26).string(v!); + } + if (message.askCount !== BigInt(0)) { + writer.uint32(32).uint64(message.askCount); + } + if (message.minCount !== BigInt(0)) { + writer.uint32(40).uint64(message.minCount); + } + for (const v of message.feeLimit) { + Coin.encode(v!, writer.uint32(50).fork()).ldelim(); + } + if (message.prepareGas !== BigInt(0)) { + writer.uint32(56).uint64(message.prepareGas); + } + if (message.executeGas !== BigInt(0)) { + writer.uint32(64).uint64(message.executeGas); + } + if (message.minSourceCount !== BigInt(0)) { + writer.uint32(72).uint64(message.minSourceCount); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BandOracleRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBandOracleRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.requestId = reader.uint64(); + break; + case 2: + message.oracleScriptId = reader.int64(); + break; + case 3: + message.symbols.push(reader.string()); + break; + case 4: + message.askCount = reader.uint64(); + break; + case 5: + message.minCount = reader.uint64(); + break; + case 6: + message.feeLimit.push(Coin.decode(reader, reader.uint32())); + break; + case 7: + message.prepareGas = reader.uint64(); + break; + case 8: + message.executeGas = reader.uint64(); + break; + case 9: + message.minSourceCount = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BandOracleRequest { + const message = createBaseBandOracleRequest(); + message.requestId = + object.requestId !== undefined && object.requestId !== null ? BigInt(object.requestId.toString()) : BigInt(0); + message.oracleScriptId = + object.oracleScriptId !== undefined && object.oracleScriptId !== null + ? BigInt(object.oracleScriptId.toString()) + : BigInt(0); + message.symbols = object.symbols?.map((e) => e) || []; + message.askCount = + object.askCount !== undefined && object.askCount !== null ? BigInt(object.askCount.toString()) : BigInt(0); + message.minCount = + object.minCount !== undefined && object.minCount !== null ? BigInt(object.minCount.toString()) : BigInt(0); + message.feeLimit = object.feeLimit?.map((e) => Coin.fromPartial(e)) || []; + message.prepareGas = + object.prepareGas !== undefined && object.prepareGas !== null ? BigInt(object.prepareGas.toString()) : BigInt(0); + message.executeGas = + object.executeGas !== undefined && object.executeGas !== null ? BigInt(object.executeGas.toString()) : BigInt(0); + message.minSourceCount = + object.minSourceCount !== undefined && object.minSourceCount !== null + ? BigInt(object.minSourceCount.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: BandOracleRequestAmino): BandOracleRequest { + const message = createBaseBandOracleRequest(); + if (object.request_id !== undefined && object.request_id !== null) { + message.requestId = BigInt(object.request_id); + } + if (object.oracle_script_id !== undefined && object.oracle_script_id !== null) { + message.oracleScriptId = BigInt(object.oracle_script_id); + } + message.symbols = object.symbols?.map((e) => e) || []; + if (object.ask_count !== undefined && object.ask_count !== null) { + message.askCount = BigInt(object.ask_count); + } + if (object.min_count !== undefined && object.min_count !== null) { + message.minCount = BigInt(object.min_count); + } + message.feeLimit = object.fee_limit?.map((e) => Coin.fromAmino(e)) || []; + if (object.prepare_gas !== undefined && object.prepare_gas !== null) { + message.prepareGas = BigInt(object.prepare_gas); + } + if (object.execute_gas !== undefined && object.execute_gas !== null) { + message.executeGas = BigInt(object.execute_gas); + } + if (object.min_source_count !== undefined && object.min_source_count !== null) { + message.minSourceCount = BigInt(object.min_source_count); + } + return message; + }, + toAmino(message: BandOracleRequest): BandOracleRequestAmino { + const obj: any = {}; + obj.request_id = message.requestId !== BigInt(0) ? (message.requestId?.toString)() : undefined; + obj.oracle_script_id = message.oracleScriptId !== BigInt(0) ? (message.oracleScriptId?.toString)() : undefined; + if (message.symbols) { + obj.symbols = message.symbols.map((e) => e); + } else { + obj.symbols = message.symbols; + } + obj.ask_count = message.askCount !== BigInt(0) ? (message.askCount?.toString)() : undefined; + obj.min_count = message.minCount !== BigInt(0) ? (message.minCount?.toString)() : undefined; + if (message.feeLimit) { + obj.fee_limit = message.feeLimit.map((e) => (e ? Coin.toAmino(e) : undefined)); + } else { + obj.fee_limit = message.feeLimit; + } + obj.prepare_gas = message.prepareGas !== BigInt(0) ? (message.prepareGas?.toString)() : undefined; + obj.execute_gas = message.executeGas !== BigInt(0) ? (message.executeGas?.toString)() : undefined; + obj.min_source_count = message.minSourceCount !== BigInt(0) ? (message.minSourceCount?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: BandOracleRequestAminoMsg): BandOracleRequest { + return BandOracleRequest.fromAmino(object.value); + }, + fromProtoMsg(message: BandOracleRequestProtoMsg): BandOracleRequest { + return BandOracleRequest.decode(message.value); + }, + toProto(message: BandOracleRequest): Uint8Array { + return BandOracleRequest.encode(message).finish(); + }, + toProtoMsg(message: BandOracleRequest): BandOracleRequestProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.BandOracleRequest', + value: BandOracleRequest.encode(message).finish(), + }; + }, +}; +function createBaseBandIBCParams(): BandIBCParams { + return { + bandIbcEnabled: false, + ibcRequestInterval: BigInt(0), + ibcSourceChannel: '', + ibcVersion: '', + ibcPortId: '', + legacyOracleIds: [], + }; +} +export const BandIBCParams = { + typeUrl: '/injective.oracle.v1beta1.BandIBCParams', + encode(message: BandIBCParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.bandIbcEnabled === true) { + writer.uint32(8).bool(message.bandIbcEnabled); + } + if (message.ibcRequestInterval !== BigInt(0)) { + writer.uint32(16).int64(message.ibcRequestInterval); + } + if (message.ibcSourceChannel !== '') { + writer.uint32(26).string(message.ibcSourceChannel); + } + if (message.ibcVersion !== '') { + writer.uint32(34).string(message.ibcVersion); + } + if (message.ibcPortId !== '') { + writer.uint32(42).string(message.ibcPortId); + } + writer.uint32(50).fork(); + for (const v of message.legacyOracleIds) { + writer.int64(v); + } + writer.ldelim(); + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BandIBCParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBandIBCParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.bandIbcEnabled = reader.bool(); + break; + case 2: + message.ibcRequestInterval = reader.int64(); + break; + case 3: + message.ibcSourceChannel = reader.string(); + break; + case 4: + message.ibcVersion = reader.string(); + break; + case 5: + message.ibcPortId = reader.string(); + break; + case 6: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.legacyOracleIds.push(reader.int64()); + } + } else { + message.legacyOracleIds.push(reader.int64()); + } + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BandIBCParams { + const message = createBaseBandIBCParams(); + message.bandIbcEnabled = object.bandIbcEnabled ?? false; + message.ibcRequestInterval = + object.ibcRequestInterval !== undefined && object.ibcRequestInterval !== null + ? BigInt(object.ibcRequestInterval.toString()) + : BigInt(0); + message.ibcSourceChannel = object.ibcSourceChannel ?? ''; + message.ibcVersion = object.ibcVersion ?? ''; + message.ibcPortId = object.ibcPortId ?? ''; + message.legacyOracleIds = object.legacyOracleIds?.map((e) => BigInt(e.toString())) || []; + return message; + }, + fromAmino(object: BandIBCParamsAmino): BandIBCParams { + const message = createBaseBandIBCParams(); + if (object.band_ibc_enabled !== undefined && object.band_ibc_enabled !== null) { + message.bandIbcEnabled = object.band_ibc_enabled; + } + if (object.ibc_request_interval !== undefined && object.ibc_request_interval !== null) { + message.ibcRequestInterval = BigInt(object.ibc_request_interval); + } + if (object.ibc_source_channel !== undefined && object.ibc_source_channel !== null) { + message.ibcSourceChannel = object.ibc_source_channel; + } + if (object.ibc_version !== undefined && object.ibc_version !== null) { + message.ibcVersion = object.ibc_version; + } + if (object.ibc_port_id !== undefined && object.ibc_port_id !== null) { + message.ibcPortId = object.ibc_port_id; + } + message.legacyOracleIds = object.legacy_oracle_ids?.map((e) => BigInt(e)) || []; + return message; + }, + toAmino(message: BandIBCParams): BandIBCParamsAmino { + const obj: any = {}; + obj.band_ibc_enabled = message.bandIbcEnabled === false ? undefined : message.bandIbcEnabled; + obj.ibc_request_interval = + message.ibcRequestInterval !== BigInt(0) ? (message.ibcRequestInterval?.toString)() : undefined; + obj.ibc_source_channel = message.ibcSourceChannel === '' ? undefined : message.ibcSourceChannel; + obj.ibc_version = message.ibcVersion === '' ? undefined : message.ibcVersion; + obj.ibc_port_id = message.ibcPortId === '' ? undefined : message.ibcPortId; + if (message.legacyOracleIds) { + obj.legacy_oracle_ids = message.legacyOracleIds.map((e) => e.toString()); + } else { + obj.legacy_oracle_ids = message.legacyOracleIds; + } + return obj; + }, + fromAminoMsg(object: BandIBCParamsAminoMsg): BandIBCParams { + return BandIBCParams.fromAmino(object.value); + }, + fromProtoMsg(message: BandIBCParamsProtoMsg): BandIBCParams { + return BandIBCParams.decode(message.value); + }, + toProto(message: BandIBCParams): Uint8Array { + return BandIBCParams.encode(message).finish(); + }, + toProtoMsg(message: BandIBCParams): BandIBCParamsProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.BandIBCParams', + value: BandIBCParams.encode(message).finish(), + }; + }, +}; +function createBaseSymbolPriceTimestamp(): SymbolPriceTimestamp { + return { + oracle: 0, + symbolId: '', + timestamp: BigInt(0), + }; +} +export const SymbolPriceTimestamp = { + typeUrl: '/injective.oracle.v1beta1.SymbolPriceTimestamp', + encode(message: SymbolPriceTimestamp, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.oracle !== 0) { + writer.uint32(8).int32(message.oracle); + } + if (message.symbolId !== '') { + writer.uint32(18).string(message.symbolId); + } + if (message.timestamp !== BigInt(0)) { + writer.uint32(24).int64(message.timestamp); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SymbolPriceTimestamp { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSymbolPriceTimestamp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.oracle = reader.int32() as any; + break; + case 2: + message.symbolId = reader.string(); + break; + case 3: + message.timestamp = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SymbolPriceTimestamp { + const message = createBaseSymbolPriceTimestamp(); + message.oracle = object.oracle ?? 0; + message.symbolId = object.symbolId ?? ''; + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); + return message; + }, + fromAmino(object: SymbolPriceTimestampAmino): SymbolPriceTimestamp { + const message = createBaseSymbolPriceTimestamp(); + if (object.oracle !== undefined && object.oracle !== null) { + message.oracle = object.oracle; + } + if (object.symbol_id !== undefined && object.symbol_id !== null) { + message.symbolId = object.symbol_id; + } + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = BigInt(object.timestamp); + } + return message; + }, + toAmino(message: SymbolPriceTimestamp): SymbolPriceTimestampAmino { + const obj: any = {}; + obj.oracle = message.oracle === 0 ? undefined : message.oracle; + obj.symbol_id = message.symbolId === '' ? undefined : message.symbolId; + obj.timestamp = message.timestamp !== BigInt(0) ? (message.timestamp?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: SymbolPriceTimestampAminoMsg): SymbolPriceTimestamp { + return SymbolPriceTimestamp.fromAmino(object.value); + }, + fromProtoMsg(message: SymbolPriceTimestampProtoMsg): SymbolPriceTimestamp { + return SymbolPriceTimestamp.decode(message.value); + }, + toProto(message: SymbolPriceTimestamp): Uint8Array { + return SymbolPriceTimestamp.encode(message).finish(); + }, + toProtoMsg(message: SymbolPriceTimestamp): SymbolPriceTimestampProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.SymbolPriceTimestamp', + value: SymbolPriceTimestamp.encode(message).finish(), + }; + }, +}; +function createBaseLastPriceTimestamps(): LastPriceTimestamps { + return { + lastPriceTimestamps: [], + }; +} +export const LastPriceTimestamps = { + typeUrl: '/injective.oracle.v1beta1.LastPriceTimestamps', + encode(message: LastPriceTimestamps, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.lastPriceTimestamps) { + SymbolPriceTimestamp.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): LastPriceTimestamps { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLastPriceTimestamps(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.lastPriceTimestamps.push(SymbolPriceTimestamp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): LastPriceTimestamps { + const message = createBaseLastPriceTimestamps(); + message.lastPriceTimestamps = object.lastPriceTimestamps?.map((e) => SymbolPriceTimestamp.fromPartial(e)) || []; + return message; + }, + fromAmino(object: LastPriceTimestampsAmino): LastPriceTimestamps { + const message = createBaseLastPriceTimestamps(); + message.lastPriceTimestamps = object.last_price_timestamps?.map((e) => SymbolPriceTimestamp.fromAmino(e)) || []; + return message; + }, + toAmino(message: LastPriceTimestamps): LastPriceTimestampsAmino { + const obj: any = {}; + if (message.lastPriceTimestamps) { + obj.last_price_timestamps = message.lastPriceTimestamps.map((e) => + e ? SymbolPriceTimestamp.toAmino(e) : undefined, + ); + } else { + obj.last_price_timestamps = message.lastPriceTimestamps; + } + return obj; + }, + fromAminoMsg(object: LastPriceTimestampsAminoMsg): LastPriceTimestamps { + return LastPriceTimestamps.fromAmino(object.value); + }, + fromProtoMsg(message: LastPriceTimestampsProtoMsg): LastPriceTimestamps { + return LastPriceTimestamps.decode(message.value); + }, + toProto(message: LastPriceTimestamps): Uint8Array { + return LastPriceTimestamps.encode(message).finish(); + }, + toProtoMsg(message: LastPriceTimestamps): LastPriceTimestampsProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.LastPriceTimestamps', + value: LastPriceTimestamps.encode(message).finish(), + }; + }, +}; +function createBasePriceRecords(): PriceRecords { + return { + oracle: 0, + symbolId: '', + latestPriceRecords: [], + }; +} +export const PriceRecords = { + typeUrl: '/injective.oracle.v1beta1.PriceRecords', + encode(message: PriceRecords, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.oracle !== 0) { + writer.uint32(8).int32(message.oracle); + } + if (message.symbolId !== '') { + writer.uint32(18).string(message.symbolId); + } + for (const v of message.latestPriceRecords) { + PriceRecord.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PriceRecords { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePriceRecords(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.oracle = reader.int32() as any; + break; + case 2: + message.symbolId = reader.string(); + break; + case 3: + message.latestPriceRecords.push(PriceRecord.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PriceRecords { + const message = createBasePriceRecords(); + message.oracle = object.oracle ?? 0; + message.symbolId = object.symbolId ?? ''; + message.latestPriceRecords = object.latestPriceRecords?.map((e) => PriceRecord.fromPartial(e)) || []; + return message; + }, + fromAmino(object: PriceRecordsAmino): PriceRecords { + const message = createBasePriceRecords(); + if (object.oracle !== undefined && object.oracle !== null) { + message.oracle = object.oracle; + } + if (object.symbol_id !== undefined && object.symbol_id !== null) { + message.symbolId = object.symbol_id; + } + message.latestPriceRecords = object.latest_price_records?.map((e) => PriceRecord.fromAmino(e)) || []; + return message; + }, + toAmino(message: PriceRecords): PriceRecordsAmino { + const obj: any = {}; + obj.oracle = message.oracle === 0 ? undefined : message.oracle; + obj.symbol_id = message.symbolId === '' ? undefined : message.symbolId; + if (message.latestPriceRecords) { + obj.latest_price_records = message.latestPriceRecords.map((e) => (e ? PriceRecord.toAmino(e) : undefined)); + } else { + obj.latest_price_records = message.latestPriceRecords; + } + return obj; + }, + fromAminoMsg(object: PriceRecordsAminoMsg): PriceRecords { + return PriceRecords.fromAmino(object.value); + }, + fromProtoMsg(message: PriceRecordsProtoMsg): PriceRecords { + return PriceRecords.decode(message.value); + }, + toProto(message: PriceRecords): Uint8Array { + return PriceRecords.encode(message).finish(); + }, + toProtoMsg(message: PriceRecords): PriceRecordsProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.PriceRecords', + value: PriceRecords.encode(message).finish(), + }; + }, +}; +function createBasePriceRecord(): PriceRecord { + return { + timestamp: BigInt(0), + price: '', + }; +} +export const PriceRecord = { + typeUrl: '/injective.oracle.v1beta1.PriceRecord', + encode(message: PriceRecord, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.timestamp !== BigInt(0)) { + writer.uint32(8).int64(message.timestamp); + } + if (message.price !== '') { + writer.uint32(18).string(Decimal.fromUserInput(message.price, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PriceRecord { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePriceRecord(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.timestamp = reader.int64(); + break; + case 2: + message.price = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PriceRecord { + const message = createBasePriceRecord(); + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); + message.price = object.price ?? ''; + return message; + }, + fromAmino(object: PriceRecordAmino): PriceRecord { + const message = createBasePriceRecord(); + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = BigInt(object.timestamp); + } + if (object.price !== undefined && object.price !== null) { + message.price = object.price; + } + return message; + }, + toAmino(message: PriceRecord): PriceRecordAmino { + const obj: any = {}; + obj.timestamp = message.timestamp !== BigInt(0) ? (message.timestamp?.toString)() : undefined; + obj.price = message.price === '' ? undefined : message.price; + return obj; + }, + fromAminoMsg(object: PriceRecordAminoMsg): PriceRecord { + return PriceRecord.fromAmino(object.value); + }, + fromProtoMsg(message: PriceRecordProtoMsg): PriceRecord { + return PriceRecord.decode(message.value); + }, + toProto(message: PriceRecord): Uint8Array { + return PriceRecord.encode(message).finish(); + }, + toProtoMsg(message: PriceRecord): PriceRecordProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.PriceRecord', + value: PriceRecord.encode(message).finish(), + }; + }, +}; +function createBaseMetadataStatistics(): MetadataStatistics { + return { + groupCount: 0, + recordsSampleSize: 0, + mean: '', + twap: '', + firstTimestamp: BigInt(0), + lastTimestamp: BigInt(0), + minPrice: '', + maxPrice: '', + medianPrice: '', + }; +} +export const MetadataStatistics = { + typeUrl: '/injective.oracle.v1beta1.MetadataStatistics', + encode(message: MetadataStatistics, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.groupCount !== 0) { + writer.uint32(8).uint32(message.groupCount); + } + if (message.recordsSampleSize !== 0) { + writer.uint32(16).uint32(message.recordsSampleSize); + } + if (message.mean !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.mean, 18).atomics); + } + if (message.twap !== '') { + writer.uint32(34).string(Decimal.fromUserInput(message.twap, 18).atomics); + } + if (message.firstTimestamp !== BigInt(0)) { + writer.uint32(40).int64(message.firstTimestamp); + } + if (message.lastTimestamp !== BigInt(0)) { + writer.uint32(48).int64(message.lastTimestamp); + } + if (message.minPrice !== '') { + writer.uint32(58).string(Decimal.fromUserInput(message.minPrice, 18).atomics); + } + if (message.maxPrice !== '') { + writer.uint32(66).string(Decimal.fromUserInput(message.maxPrice, 18).atomics); + } + if (message.medianPrice !== '') { + writer.uint32(74).string(Decimal.fromUserInput(message.medianPrice, 18).atomics); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MetadataStatistics { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMetadataStatistics(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.groupCount = reader.uint32(); + break; + case 2: + message.recordsSampleSize = reader.uint32(); + break; + case 3: + message.mean = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.twap = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 5: + message.firstTimestamp = reader.int64(); + break; + case 6: + message.lastTimestamp = reader.int64(); + break; + case 7: + message.minPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 8: + message.maxPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 9: + message.medianPrice = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MetadataStatistics { + const message = createBaseMetadataStatistics(); + message.groupCount = object.groupCount ?? 0; + message.recordsSampleSize = object.recordsSampleSize ?? 0; + message.mean = object.mean ?? ''; + message.twap = object.twap ?? ''; + message.firstTimestamp = + object.firstTimestamp !== undefined && object.firstTimestamp !== null + ? BigInt(object.firstTimestamp.toString()) + : BigInt(0); + message.lastTimestamp = + object.lastTimestamp !== undefined && object.lastTimestamp !== null + ? BigInt(object.lastTimestamp.toString()) + : BigInt(0); + message.minPrice = object.minPrice ?? ''; + message.maxPrice = object.maxPrice ?? ''; + message.medianPrice = object.medianPrice ?? ''; + return message; + }, + fromAmino(object: MetadataStatisticsAmino): MetadataStatistics { + const message = createBaseMetadataStatistics(); + if (object.group_count !== undefined && object.group_count !== null) { + message.groupCount = object.group_count; + } + if (object.records_sample_size !== undefined && object.records_sample_size !== null) { + message.recordsSampleSize = object.records_sample_size; + } + if (object.mean !== undefined && object.mean !== null) { + message.mean = object.mean; + } + if (object.twap !== undefined && object.twap !== null) { + message.twap = object.twap; + } + if (object.first_timestamp !== undefined && object.first_timestamp !== null) { + message.firstTimestamp = BigInt(object.first_timestamp); + } + if (object.last_timestamp !== undefined && object.last_timestamp !== null) { + message.lastTimestamp = BigInt(object.last_timestamp); + } + if (object.min_price !== undefined && object.min_price !== null) { + message.minPrice = object.min_price; + } + if (object.max_price !== undefined && object.max_price !== null) { + message.maxPrice = object.max_price; + } + if (object.median_price !== undefined && object.median_price !== null) { + message.medianPrice = object.median_price; + } + return message; + }, + toAmino(message: MetadataStatistics): MetadataStatisticsAmino { + const obj: any = {}; + obj.group_count = message.groupCount === 0 ? undefined : message.groupCount; + obj.records_sample_size = message.recordsSampleSize === 0 ? undefined : message.recordsSampleSize; + obj.mean = message.mean === '' ? undefined : message.mean; + obj.twap = message.twap === '' ? undefined : message.twap; + obj.first_timestamp = message.firstTimestamp !== BigInt(0) ? (message.firstTimestamp?.toString)() : undefined; + obj.last_timestamp = message.lastTimestamp !== BigInt(0) ? (message.lastTimestamp?.toString)() : undefined; + obj.min_price = message.minPrice === '' ? undefined : message.minPrice; + obj.max_price = message.maxPrice === '' ? undefined : message.maxPrice; + obj.median_price = message.medianPrice === '' ? undefined : message.medianPrice; + return obj; + }, + fromAminoMsg(object: MetadataStatisticsAminoMsg): MetadataStatistics { + return MetadataStatistics.fromAmino(object.value); + }, + fromProtoMsg(message: MetadataStatisticsProtoMsg): MetadataStatistics { + return MetadataStatistics.decode(message.value); + }, + toProto(message: MetadataStatistics): Uint8Array { + return MetadataStatistics.encode(message).finish(); + }, + toProtoMsg(message: MetadataStatistics): MetadataStatisticsProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.MetadataStatistics', + value: MetadataStatistics.encode(message).finish(), + }; + }, +}; +function createBasePriceAttestation(): PriceAttestation { + return { + priceId: '', + price: BigInt(0), + conf: BigInt(0), + expo: 0, + emaPrice: BigInt(0), + emaConf: BigInt(0), + emaExpo: 0, + publishTime: BigInt(0), + }; +} +export const PriceAttestation = { + typeUrl: '/injective.oracle.v1beta1.PriceAttestation', + encode(message: PriceAttestation, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.priceId !== '') { + writer.uint32(10).string(message.priceId); + } + if (message.price !== BigInt(0)) { + writer.uint32(16).int64(message.price); + } + if (message.conf !== BigInt(0)) { + writer.uint32(24).uint64(message.conf); + } + if (message.expo !== 0) { + writer.uint32(32).int32(message.expo); + } + if (message.emaPrice !== BigInt(0)) { + writer.uint32(40).int64(message.emaPrice); + } + if (message.emaConf !== BigInt(0)) { + writer.uint32(48).uint64(message.emaConf); + } + if (message.emaExpo !== 0) { + writer.uint32(56).int32(message.emaExpo); + } + if (message.publishTime !== BigInt(0)) { + writer.uint32(64).int64(message.publishTime); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PriceAttestation { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePriceAttestation(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.priceId = reader.string(); + break; + case 2: + message.price = reader.int64(); + break; + case 3: + message.conf = reader.uint64(); + break; + case 4: + message.expo = reader.int32(); + break; + case 5: + message.emaPrice = reader.int64(); + break; + case 6: + message.emaConf = reader.uint64(); + break; + case 7: + message.emaExpo = reader.int32(); + break; + case 8: + message.publishTime = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): PriceAttestation { + const message = createBasePriceAttestation(); + message.priceId = object.priceId ?? ''; + message.price = object.price !== undefined && object.price !== null ? BigInt(object.price.toString()) : BigInt(0); + message.conf = object.conf !== undefined && object.conf !== null ? BigInt(object.conf.toString()) : BigInt(0); + message.expo = object.expo ?? 0; + message.emaPrice = + object.emaPrice !== undefined && object.emaPrice !== null ? BigInt(object.emaPrice.toString()) : BigInt(0); + message.emaConf = + object.emaConf !== undefined && object.emaConf !== null ? BigInt(object.emaConf.toString()) : BigInt(0); + message.emaExpo = object.emaExpo ?? 0; + message.publishTime = + object.publishTime !== undefined && object.publishTime !== null + ? BigInt(object.publishTime.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: PriceAttestationAmino): PriceAttestation { + const message = createBasePriceAttestation(); + if (object.price_id !== undefined && object.price_id !== null) { + message.priceId = object.price_id; + } + if (object.price !== undefined && object.price !== null) { + message.price = BigInt(object.price); + } + if (object.conf !== undefined && object.conf !== null) { + message.conf = BigInt(object.conf); + } + if (object.expo !== undefined && object.expo !== null) { + message.expo = object.expo; + } + if (object.ema_price !== undefined && object.ema_price !== null) { + message.emaPrice = BigInt(object.ema_price); + } + if (object.ema_conf !== undefined && object.ema_conf !== null) { + message.emaConf = BigInt(object.ema_conf); + } + if (object.ema_expo !== undefined && object.ema_expo !== null) { + message.emaExpo = object.ema_expo; + } + if (object.publish_time !== undefined && object.publish_time !== null) { + message.publishTime = BigInt(object.publish_time); + } + return message; + }, + toAmino(message: PriceAttestation): PriceAttestationAmino { + const obj: any = {}; + obj.price_id = message.priceId === '' ? undefined : message.priceId; + obj.price = message.price !== BigInt(0) ? (message.price?.toString)() : undefined; + obj.conf = message.conf !== BigInt(0) ? (message.conf?.toString)() : undefined; + obj.expo = message.expo === 0 ? undefined : message.expo; + obj.ema_price = message.emaPrice !== BigInt(0) ? (message.emaPrice?.toString)() : undefined; + obj.ema_conf = message.emaConf !== BigInt(0) ? (message.emaConf?.toString)() : undefined; + obj.ema_expo = message.emaExpo === 0 ? undefined : message.emaExpo; + obj.publish_time = message.publishTime !== BigInt(0) ? (message.publishTime?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: PriceAttestationAminoMsg): PriceAttestation { + return PriceAttestation.fromAmino(object.value); + }, + fromProtoMsg(message: PriceAttestationProtoMsg): PriceAttestation { + return PriceAttestation.decode(message.value); + }, + toProto(message: PriceAttestation): Uint8Array { + return PriceAttestation.encode(message).finish(); + }, + toProtoMsg(message: PriceAttestation): PriceAttestationProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.PriceAttestation', + value: PriceAttestation.encode(message).finish(), + }; + }, +}; +function createBaseAssetPair(): AssetPair { + return { + assetId: '', + signedPrices: [], + }; +} +export const AssetPair = { + typeUrl: '/injective.oracle.v1beta1.AssetPair', + encode(message: AssetPair, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.assetId !== '') { + writer.uint32(10).string(message.assetId); + } + for (const v of message.signedPrices) { + SignedPriceOfAssetPair.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AssetPair { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAssetPair(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.assetId = reader.string(); + break; + case 2: + message.signedPrices.push(SignedPriceOfAssetPair.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AssetPair { + const message = createBaseAssetPair(); + message.assetId = object.assetId ?? ''; + message.signedPrices = object.signedPrices?.map((e) => SignedPriceOfAssetPair.fromPartial(e)) || []; + return message; + }, + fromAmino(object: AssetPairAmino): AssetPair { + const message = createBaseAssetPair(); + if (object.asset_id !== undefined && object.asset_id !== null) { + message.assetId = object.asset_id; + } + message.signedPrices = object.signed_prices?.map((e) => SignedPriceOfAssetPair.fromAmino(e)) || []; + return message; + }, + toAmino(message: AssetPair): AssetPairAmino { + const obj: any = {}; + obj.asset_id = message.assetId === '' ? undefined : message.assetId; + if (message.signedPrices) { + obj.signed_prices = message.signedPrices.map((e) => (e ? SignedPriceOfAssetPair.toAmino(e) : undefined)); + } else { + obj.signed_prices = message.signedPrices; + } + return obj; + }, + fromAminoMsg(object: AssetPairAminoMsg): AssetPair { + return AssetPair.fromAmino(object.value); + }, + fromProtoMsg(message: AssetPairProtoMsg): AssetPair { + return AssetPair.decode(message.value); + }, + toProto(message: AssetPair): Uint8Array { + return AssetPair.encode(message).finish(); + }, + toProtoMsg(message: AssetPair): AssetPairProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.AssetPair', + value: AssetPair.encode(message).finish(), + }; + }, +}; +function createBaseSignedPriceOfAssetPair(): SignedPriceOfAssetPair { + return { + publisherKey: '', + timestamp: BigInt(0), + price: '', + signature: new Uint8Array(), + }; +} +export const SignedPriceOfAssetPair = { + typeUrl: '/injective.oracle.v1beta1.SignedPriceOfAssetPair', + encode(message: SignedPriceOfAssetPair, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.publisherKey !== '') { + writer.uint32(10).string(message.publisherKey); + } + if (message.timestamp !== BigInt(0)) { + writer.uint32(16).uint64(message.timestamp); + } + if (message.price !== '') { + writer.uint32(26).string(Decimal.fromUserInput(message.price, 18).atomics); + } + if (message.signature.length !== 0) { + writer.uint32(34).bytes(message.signature); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SignedPriceOfAssetPair { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignedPriceOfAssetPair(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.publisherKey = reader.string(); + break; + case 2: + message.timestamp = reader.uint64(); + break; + case 3: + message.price = Decimal.fromAtomics(reader.string(), 18).toString(); + break; + case 4: + message.signature = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SignedPriceOfAssetPair { + const message = createBaseSignedPriceOfAssetPair(); + message.publisherKey = object.publisherKey ?? ''; + message.timestamp = + object.timestamp !== undefined && object.timestamp !== null ? BigInt(object.timestamp.toString()) : BigInt(0); + message.price = object.price ?? ''; + message.signature = object.signature ?? new Uint8Array(); + return message; + }, + fromAmino(object: SignedPriceOfAssetPairAmino): SignedPriceOfAssetPair { + const message = createBaseSignedPriceOfAssetPair(); + if (object.publisher_key !== undefined && object.publisher_key !== null) { + message.publisherKey = object.publisher_key; + } + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = BigInt(object.timestamp); + } + if (object.price !== undefined && object.price !== null) { + message.price = object.price; + } + if (object.signature !== undefined && object.signature !== null) { + message.signature = bytesFromBase64(object.signature); + } + return message; + }, + toAmino(message: SignedPriceOfAssetPair): SignedPriceOfAssetPairAmino { + const obj: any = {}; + obj.publisher_key = message.publisherKey === '' ? undefined : message.publisherKey; + obj.timestamp = message.timestamp !== BigInt(0) ? (message.timestamp?.toString)() : undefined; + obj.price = message.price === '' ? undefined : message.price; + obj.signature = message.signature ? base64FromBytes(message.signature) : undefined; + return obj; + }, + fromAminoMsg(object: SignedPriceOfAssetPairAminoMsg): SignedPriceOfAssetPair { + return SignedPriceOfAssetPair.fromAmino(object.value); + }, + fromProtoMsg(message: SignedPriceOfAssetPairProtoMsg): SignedPriceOfAssetPair { + return SignedPriceOfAssetPair.decode(message.value); + }, + toProto(message: SignedPriceOfAssetPair): Uint8Array { + return SignedPriceOfAssetPair.encode(message).finish(); + }, + toProtoMsg(message: SignedPriceOfAssetPair): SignedPriceOfAssetPairProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.SignedPriceOfAssetPair', + value: SignedPriceOfAssetPair.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/oracle/v1beta1/proposal.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/oracle/v1beta1/proposal.ts new file mode 100644 index 00000000..9eb4fb17 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/oracle/v1beta1/proposal.ts @@ -0,0 +1,1463 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { + BandIBCParams, + BandIBCParamsAmino, + BandIBCParamsSDKType, + BandOracleRequest, + BandOracleRequestAmino, + BandOracleRequestSDKType, +} from './oracle'; +export interface GrantBandOraclePrivilegeProposal { + $typeUrl?: '/injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal'; + title: string; + description: string; + relayers: string[]; +} +export interface GrantBandOraclePrivilegeProposalProtoMsg { + typeUrl: '/injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal'; + value: Uint8Array; +} +export interface GrantBandOraclePrivilegeProposalAmino { + title?: string; + description?: string; + relayers?: string[]; +} +export interface GrantBandOraclePrivilegeProposalAminoMsg { + type: 'oracle/GrantBandOraclePrivilegeProposal'; + value: GrantBandOraclePrivilegeProposalAmino; +} +export interface GrantBandOraclePrivilegeProposalSDKType { + $typeUrl?: '/injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal'; + title: string; + description: string; + relayers: string[]; +} +export interface RevokeBandOraclePrivilegeProposal { + $typeUrl?: '/injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal'; + title: string; + description: string; + relayers: string[]; +} +export interface RevokeBandOraclePrivilegeProposalProtoMsg { + typeUrl: '/injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal'; + value: Uint8Array; +} +export interface RevokeBandOraclePrivilegeProposalAmino { + title?: string; + description?: string; + relayers?: string[]; +} +export interface RevokeBandOraclePrivilegeProposalAminoMsg { + type: 'oracle/RevokeBandOraclePrivilegeProposal'; + value: RevokeBandOraclePrivilegeProposalAmino; +} +export interface RevokeBandOraclePrivilegeProposalSDKType { + $typeUrl?: '/injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal'; + title: string; + description: string; + relayers: string[]; +} +export interface GrantPriceFeederPrivilegeProposal { + $typeUrl?: '/injective.oracle.v1beta1.GrantPriceFeederPrivilegeProposal'; + title: string; + description: string; + base: string; + quote: string; + relayers: string[]; +} +export interface GrantPriceFeederPrivilegeProposalProtoMsg { + typeUrl: '/injective.oracle.v1beta1.GrantPriceFeederPrivilegeProposal'; + value: Uint8Array; +} +export interface GrantPriceFeederPrivilegeProposalAmino { + title?: string; + description?: string; + base?: string; + quote?: string; + relayers?: string[]; +} +export interface GrantPriceFeederPrivilegeProposalAminoMsg { + type: 'oracle/GrantPriceFeederPrivilegeProposal'; + value: GrantPriceFeederPrivilegeProposalAmino; +} +export interface GrantPriceFeederPrivilegeProposalSDKType { + $typeUrl?: '/injective.oracle.v1beta1.GrantPriceFeederPrivilegeProposal'; + title: string; + description: string; + base: string; + quote: string; + relayers: string[]; +} +export interface GrantProviderPrivilegeProposal { + $typeUrl?: '/injective.oracle.v1beta1.GrantProviderPrivilegeProposal'; + title: string; + description: string; + provider: string; + relayers: string[]; +} +export interface GrantProviderPrivilegeProposalProtoMsg { + typeUrl: '/injective.oracle.v1beta1.GrantProviderPrivilegeProposal'; + value: Uint8Array; +} +export interface GrantProviderPrivilegeProposalAmino { + title?: string; + description?: string; + provider?: string; + relayers?: string[]; +} +export interface GrantProviderPrivilegeProposalAminoMsg { + type: 'oracle/GrantProviderPrivilegeProposal'; + value: GrantProviderPrivilegeProposalAmino; +} +export interface GrantProviderPrivilegeProposalSDKType { + $typeUrl?: '/injective.oracle.v1beta1.GrantProviderPrivilegeProposal'; + title: string; + description: string; + provider: string; + relayers: string[]; +} +export interface RevokeProviderPrivilegeProposal { + $typeUrl?: '/injective.oracle.v1beta1.RevokeProviderPrivilegeProposal'; + title: string; + description: string; + provider: string; + relayers: string[]; +} +export interface RevokeProviderPrivilegeProposalProtoMsg { + typeUrl: '/injective.oracle.v1beta1.RevokeProviderPrivilegeProposal'; + value: Uint8Array; +} +export interface RevokeProviderPrivilegeProposalAmino { + title?: string; + description?: string; + provider?: string; + relayers?: string[]; +} +export interface RevokeProviderPrivilegeProposalAminoMsg { + type: 'oracle/RevokeProviderPrivilegeProposal'; + value: RevokeProviderPrivilegeProposalAmino; +} +export interface RevokeProviderPrivilegeProposalSDKType { + $typeUrl?: '/injective.oracle.v1beta1.RevokeProviderPrivilegeProposal'; + title: string; + description: string; + provider: string; + relayers: string[]; +} +export interface RevokePriceFeederPrivilegeProposal { + $typeUrl?: '/injective.oracle.v1beta1.RevokePriceFeederPrivilegeProposal'; + title: string; + description: string; + base: string; + quote: string; + relayers: string[]; +} +export interface RevokePriceFeederPrivilegeProposalProtoMsg { + typeUrl: '/injective.oracle.v1beta1.RevokePriceFeederPrivilegeProposal'; + value: Uint8Array; +} +export interface RevokePriceFeederPrivilegeProposalAmino { + title?: string; + description?: string; + base?: string; + quote?: string; + relayers?: string[]; +} +export interface RevokePriceFeederPrivilegeProposalAminoMsg { + type: 'oracle/RevokePriceFeederPrivilegeProposal'; + value: RevokePriceFeederPrivilegeProposalAmino; +} +export interface RevokePriceFeederPrivilegeProposalSDKType { + $typeUrl?: '/injective.oracle.v1beta1.RevokePriceFeederPrivilegeProposal'; + title: string; + description: string; + base: string; + quote: string; + relayers: string[]; +} +export interface AuthorizeBandOracleRequestProposal { + $typeUrl?: '/injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal'; + title: string; + description: string; + request: BandOracleRequest; +} +export interface AuthorizeBandOracleRequestProposalProtoMsg { + typeUrl: '/injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal'; + value: Uint8Array; +} +export interface AuthorizeBandOracleRequestProposalAmino { + title?: string; + description?: string; + request?: BandOracleRequestAmino; +} +export interface AuthorizeBandOracleRequestProposalAminoMsg { + type: 'oracle/AuthorizeBandOracleRequestProposal'; + value: AuthorizeBandOracleRequestProposalAmino; +} +export interface AuthorizeBandOracleRequestProposalSDKType { + $typeUrl?: '/injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal'; + title: string; + description: string; + request: BandOracleRequestSDKType; +} +export interface UpdateBandOracleRequestProposal { + $typeUrl?: '/injective.oracle.v1beta1.UpdateBandOracleRequestProposal'; + title: string; + description: string; + deleteRequestIds: bigint[]; + updateOracleRequest?: BandOracleRequest; +} +export interface UpdateBandOracleRequestProposalProtoMsg { + typeUrl: '/injective.oracle.v1beta1.UpdateBandOracleRequestProposal'; + value: Uint8Array; +} +export interface UpdateBandOracleRequestProposalAmino { + title?: string; + description?: string; + delete_request_ids?: string[]; + update_oracle_request?: BandOracleRequestAmino; +} +export interface UpdateBandOracleRequestProposalAminoMsg { + type: 'oracle/UpdateBandOracleRequestProposal'; + value: UpdateBandOracleRequestProposalAmino; +} +export interface UpdateBandOracleRequestProposalSDKType { + $typeUrl?: '/injective.oracle.v1beta1.UpdateBandOracleRequestProposal'; + title: string; + description: string; + delete_request_ids: bigint[]; + update_oracle_request?: BandOracleRequestSDKType; +} +export interface EnableBandIBCProposal { + $typeUrl?: '/injective.oracle.v1beta1.EnableBandIBCProposal'; + title: string; + description: string; + bandIbcParams: BandIBCParams; +} +export interface EnableBandIBCProposalProtoMsg { + typeUrl: '/injective.oracle.v1beta1.EnableBandIBCProposal'; + value: Uint8Array; +} +export interface EnableBandIBCProposalAmino { + title?: string; + description?: string; + band_ibc_params?: BandIBCParamsAmino; +} +export interface EnableBandIBCProposalAminoMsg { + type: 'oracle/EnableBandIBCProposal'; + value: EnableBandIBCProposalAmino; +} +export interface EnableBandIBCProposalSDKType { + $typeUrl?: '/injective.oracle.v1beta1.EnableBandIBCProposal'; + title: string; + description: string; + band_ibc_params: BandIBCParamsSDKType; +} +export interface GrantStorkPublisherPrivilegeProposal { + $typeUrl?: '/injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal'; + title: string; + description: string; + storkPublishers: string[]; +} +export interface GrantStorkPublisherPrivilegeProposalProtoMsg { + typeUrl: '/injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal'; + value: Uint8Array; +} +export interface GrantStorkPublisherPrivilegeProposalAmino { + title?: string; + description?: string; + stork_publishers?: string[]; +} +export interface GrantStorkPublisherPrivilegeProposalAminoMsg { + type: 'oracle/GrantStorkPublisherPrivilegeProposal'; + value: GrantStorkPublisherPrivilegeProposalAmino; +} +export interface GrantStorkPublisherPrivilegeProposalSDKType { + $typeUrl?: '/injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal'; + title: string; + description: string; + stork_publishers: string[]; +} +export interface RevokeStorkPublisherPrivilegeProposal { + $typeUrl?: '/injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal'; + title: string; + description: string; + storkPublishers: string[]; +} +export interface RevokeStorkPublisherPrivilegeProposalProtoMsg { + typeUrl: '/injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal'; + value: Uint8Array; +} +export interface RevokeStorkPublisherPrivilegeProposalAmino { + title?: string; + description?: string; + stork_publishers?: string[]; +} +export interface RevokeStorkPublisherPrivilegeProposalAminoMsg { + type: 'oracle/RevokeStorkPublisherPrivilegeProposal'; + value: RevokeStorkPublisherPrivilegeProposalAmino; +} +export interface RevokeStorkPublisherPrivilegeProposalSDKType { + $typeUrl?: '/injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal'; + title: string; + description: string; + stork_publishers: string[]; +} +function createBaseGrantBandOraclePrivilegeProposal(): GrantBandOraclePrivilegeProposal { + return { + $typeUrl: '/injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal', + title: '', + description: '', + relayers: [], + }; +} +export const GrantBandOraclePrivilegeProposal = { + typeUrl: '/injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal', + encode(message: GrantBandOraclePrivilegeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.relayers) { + writer.uint32(26).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GrantBandOraclePrivilegeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGrantBandOraclePrivilegeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.relayers.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GrantBandOraclePrivilegeProposal { + const message = createBaseGrantBandOraclePrivilegeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + fromAmino(object: GrantBandOraclePrivilegeProposalAmino): GrantBandOraclePrivilegeProposal { + const message = createBaseGrantBandOraclePrivilegeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + toAmino(message: GrantBandOraclePrivilegeProposal): GrantBandOraclePrivilegeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.relayers) { + obj.relayers = message.relayers.map((e) => e); + } else { + obj.relayers = message.relayers; + } + return obj; + }, + fromAminoMsg(object: GrantBandOraclePrivilegeProposalAminoMsg): GrantBandOraclePrivilegeProposal { + return GrantBandOraclePrivilegeProposal.fromAmino(object.value); + }, + toAminoMsg(message: GrantBandOraclePrivilegeProposal): GrantBandOraclePrivilegeProposalAminoMsg { + return { + type: 'oracle/GrantBandOraclePrivilegeProposal', + value: GrantBandOraclePrivilegeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: GrantBandOraclePrivilegeProposalProtoMsg): GrantBandOraclePrivilegeProposal { + return GrantBandOraclePrivilegeProposal.decode(message.value); + }, + toProto(message: GrantBandOraclePrivilegeProposal): Uint8Array { + return GrantBandOraclePrivilegeProposal.encode(message).finish(); + }, + toProtoMsg(message: GrantBandOraclePrivilegeProposal): GrantBandOraclePrivilegeProposalProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal', + value: GrantBandOraclePrivilegeProposal.encode(message).finish(), + }; + }, +}; +function createBaseRevokeBandOraclePrivilegeProposal(): RevokeBandOraclePrivilegeProposal { + return { + $typeUrl: '/injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal', + title: '', + description: '', + relayers: [], + }; +} +export const RevokeBandOraclePrivilegeProposal = { + typeUrl: '/injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal', + encode(message: RevokeBandOraclePrivilegeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.relayers) { + writer.uint32(26).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RevokeBandOraclePrivilegeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRevokeBandOraclePrivilegeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.relayers.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RevokeBandOraclePrivilegeProposal { + const message = createBaseRevokeBandOraclePrivilegeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + fromAmino(object: RevokeBandOraclePrivilegeProposalAmino): RevokeBandOraclePrivilegeProposal { + const message = createBaseRevokeBandOraclePrivilegeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + toAmino(message: RevokeBandOraclePrivilegeProposal): RevokeBandOraclePrivilegeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.relayers) { + obj.relayers = message.relayers.map((e) => e); + } else { + obj.relayers = message.relayers; + } + return obj; + }, + fromAminoMsg(object: RevokeBandOraclePrivilegeProposalAminoMsg): RevokeBandOraclePrivilegeProposal { + return RevokeBandOraclePrivilegeProposal.fromAmino(object.value); + }, + toAminoMsg(message: RevokeBandOraclePrivilegeProposal): RevokeBandOraclePrivilegeProposalAminoMsg { + return { + type: 'oracle/RevokeBandOraclePrivilegeProposal', + value: RevokeBandOraclePrivilegeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: RevokeBandOraclePrivilegeProposalProtoMsg): RevokeBandOraclePrivilegeProposal { + return RevokeBandOraclePrivilegeProposal.decode(message.value); + }, + toProto(message: RevokeBandOraclePrivilegeProposal): Uint8Array { + return RevokeBandOraclePrivilegeProposal.encode(message).finish(); + }, + toProtoMsg(message: RevokeBandOraclePrivilegeProposal): RevokeBandOraclePrivilegeProposalProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal', + value: RevokeBandOraclePrivilegeProposal.encode(message).finish(), + }; + }, +}; +function createBaseGrantPriceFeederPrivilegeProposal(): GrantPriceFeederPrivilegeProposal { + return { + $typeUrl: '/injective.oracle.v1beta1.GrantPriceFeederPrivilegeProposal', + title: '', + description: '', + base: '', + quote: '', + relayers: [], + }; +} +export const GrantPriceFeederPrivilegeProposal = { + typeUrl: '/injective.oracle.v1beta1.GrantPriceFeederPrivilegeProposal', + encode(message: GrantPriceFeederPrivilegeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.base !== '') { + writer.uint32(26).string(message.base); + } + if (message.quote !== '') { + writer.uint32(34).string(message.quote); + } + for (const v of message.relayers) { + writer.uint32(42).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GrantPriceFeederPrivilegeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGrantPriceFeederPrivilegeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.base = reader.string(); + break; + case 4: + message.quote = reader.string(); + break; + case 5: + message.relayers.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GrantPriceFeederPrivilegeProposal { + const message = createBaseGrantPriceFeederPrivilegeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.base = object.base ?? ''; + message.quote = object.quote ?? ''; + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + fromAmino(object: GrantPriceFeederPrivilegeProposalAmino): GrantPriceFeederPrivilegeProposal { + const message = createBaseGrantPriceFeederPrivilegeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.base !== undefined && object.base !== null) { + message.base = object.base; + } + if (object.quote !== undefined && object.quote !== null) { + message.quote = object.quote; + } + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + toAmino(message: GrantPriceFeederPrivilegeProposal): GrantPriceFeederPrivilegeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.base = message.base === '' ? undefined : message.base; + obj.quote = message.quote === '' ? undefined : message.quote; + if (message.relayers) { + obj.relayers = message.relayers.map((e) => e); + } else { + obj.relayers = message.relayers; + } + return obj; + }, + fromAminoMsg(object: GrantPriceFeederPrivilegeProposalAminoMsg): GrantPriceFeederPrivilegeProposal { + return GrantPriceFeederPrivilegeProposal.fromAmino(object.value); + }, + toAminoMsg(message: GrantPriceFeederPrivilegeProposal): GrantPriceFeederPrivilegeProposalAminoMsg { + return { + type: 'oracle/GrantPriceFeederPrivilegeProposal', + value: GrantPriceFeederPrivilegeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: GrantPriceFeederPrivilegeProposalProtoMsg): GrantPriceFeederPrivilegeProposal { + return GrantPriceFeederPrivilegeProposal.decode(message.value); + }, + toProto(message: GrantPriceFeederPrivilegeProposal): Uint8Array { + return GrantPriceFeederPrivilegeProposal.encode(message).finish(); + }, + toProtoMsg(message: GrantPriceFeederPrivilegeProposal): GrantPriceFeederPrivilegeProposalProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.GrantPriceFeederPrivilegeProposal', + value: GrantPriceFeederPrivilegeProposal.encode(message).finish(), + }; + }, +}; +function createBaseGrantProviderPrivilegeProposal(): GrantProviderPrivilegeProposal { + return { + $typeUrl: '/injective.oracle.v1beta1.GrantProviderPrivilegeProposal', + title: '', + description: '', + provider: '', + relayers: [], + }; +} +export const GrantProviderPrivilegeProposal = { + typeUrl: '/injective.oracle.v1beta1.GrantProviderPrivilegeProposal', + encode(message: GrantProviderPrivilegeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.provider !== '') { + writer.uint32(26).string(message.provider); + } + for (const v of message.relayers) { + writer.uint32(34).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GrantProviderPrivilegeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGrantProviderPrivilegeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.provider = reader.string(); + break; + case 4: + message.relayers.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GrantProviderPrivilegeProposal { + const message = createBaseGrantProviderPrivilegeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.provider = object.provider ?? ''; + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + fromAmino(object: GrantProviderPrivilegeProposalAmino): GrantProviderPrivilegeProposal { + const message = createBaseGrantProviderPrivilegeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.provider !== undefined && object.provider !== null) { + message.provider = object.provider; + } + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + toAmino(message: GrantProviderPrivilegeProposal): GrantProviderPrivilegeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.provider = message.provider === '' ? undefined : message.provider; + if (message.relayers) { + obj.relayers = message.relayers.map((e) => e); + } else { + obj.relayers = message.relayers; + } + return obj; + }, + fromAminoMsg(object: GrantProviderPrivilegeProposalAminoMsg): GrantProviderPrivilegeProposal { + return GrantProviderPrivilegeProposal.fromAmino(object.value); + }, + toAminoMsg(message: GrantProviderPrivilegeProposal): GrantProviderPrivilegeProposalAminoMsg { + return { + type: 'oracle/GrantProviderPrivilegeProposal', + value: GrantProviderPrivilegeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: GrantProviderPrivilegeProposalProtoMsg): GrantProviderPrivilegeProposal { + return GrantProviderPrivilegeProposal.decode(message.value); + }, + toProto(message: GrantProviderPrivilegeProposal): Uint8Array { + return GrantProviderPrivilegeProposal.encode(message).finish(); + }, + toProtoMsg(message: GrantProviderPrivilegeProposal): GrantProviderPrivilegeProposalProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.GrantProviderPrivilegeProposal', + value: GrantProviderPrivilegeProposal.encode(message).finish(), + }; + }, +}; +function createBaseRevokeProviderPrivilegeProposal(): RevokeProviderPrivilegeProposal { + return { + $typeUrl: '/injective.oracle.v1beta1.RevokeProviderPrivilegeProposal', + title: '', + description: '', + provider: '', + relayers: [], + }; +} +export const RevokeProviderPrivilegeProposal = { + typeUrl: '/injective.oracle.v1beta1.RevokeProviderPrivilegeProposal', + encode(message: RevokeProviderPrivilegeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.provider !== '') { + writer.uint32(26).string(message.provider); + } + for (const v of message.relayers) { + writer.uint32(42).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RevokeProviderPrivilegeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRevokeProviderPrivilegeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.provider = reader.string(); + break; + case 5: + message.relayers.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RevokeProviderPrivilegeProposal { + const message = createBaseRevokeProviderPrivilegeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.provider = object.provider ?? ''; + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + fromAmino(object: RevokeProviderPrivilegeProposalAmino): RevokeProviderPrivilegeProposal { + const message = createBaseRevokeProviderPrivilegeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.provider !== undefined && object.provider !== null) { + message.provider = object.provider; + } + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + toAmino(message: RevokeProviderPrivilegeProposal): RevokeProviderPrivilegeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.provider = message.provider === '' ? undefined : message.provider; + if (message.relayers) { + obj.relayers = message.relayers.map((e) => e); + } else { + obj.relayers = message.relayers; + } + return obj; + }, + fromAminoMsg(object: RevokeProviderPrivilegeProposalAminoMsg): RevokeProviderPrivilegeProposal { + return RevokeProviderPrivilegeProposal.fromAmino(object.value); + }, + toAminoMsg(message: RevokeProviderPrivilegeProposal): RevokeProviderPrivilegeProposalAminoMsg { + return { + type: 'oracle/RevokeProviderPrivilegeProposal', + value: RevokeProviderPrivilegeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: RevokeProviderPrivilegeProposalProtoMsg): RevokeProviderPrivilegeProposal { + return RevokeProviderPrivilegeProposal.decode(message.value); + }, + toProto(message: RevokeProviderPrivilegeProposal): Uint8Array { + return RevokeProviderPrivilegeProposal.encode(message).finish(); + }, + toProtoMsg(message: RevokeProviderPrivilegeProposal): RevokeProviderPrivilegeProposalProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.RevokeProviderPrivilegeProposal', + value: RevokeProviderPrivilegeProposal.encode(message).finish(), + }; + }, +}; +function createBaseRevokePriceFeederPrivilegeProposal(): RevokePriceFeederPrivilegeProposal { + return { + $typeUrl: '/injective.oracle.v1beta1.RevokePriceFeederPrivilegeProposal', + title: '', + description: '', + base: '', + quote: '', + relayers: [], + }; +} +export const RevokePriceFeederPrivilegeProposal = { + typeUrl: '/injective.oracle.v1beta1.RevokePriceFeederPrivilegeProposal', + encode(message: RevokePriceFeederPrivilegeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.base !== '') { + writer.uint32(26).string(message.base); + } + if (message.quote !== '') { + writer.uint32(34).string(message.quote); + } + for (const v of message.relayers) { + writer.uint32(42).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RevokePriceFeederPrivilegeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRevokePriceFeederPrivilegeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.base = reader.string(); + break; + case 4: + message.quote = reader.string(); + break; + case 5: + message.relayers.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RevokePriceFeederPrivilegeProposal { + const message = createBaseRevokePriceFeederPrivilegeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.base = object.base ?? ''; + message.quote = object.quote ?? ''; + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + fromAmino(object: RevokePriceFeederPrivilegeProposalAmino): RevokePriceFeederPrivilegeProposal { + const message = createBaseRevokePriceFeederPrivilegeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.base !== undefined && object.base !== null) { + message.base = object.base; + } + if (object.quote !== undefined && object.quote !== null) { + message.quote = object.quote; + } + message.relayers = object.relayers?.map((e) => e) || []; + return message; + }, + toAmino(message: RevokePriceFeederPrivilegeProposal): RevokePriceFeederPrivilegeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.base = message.base === '' ? undefined : message.base; + obj.quote = message.quote === '' ? undefined : message.quote; + if (message.relayers) { + obj.relayers = message.relayers.map((e) => e); + } else { + obj.relayers = message.relayers; + } + return obj; + }, + fromAminoMsg(object: RevokePriceFeederPrivilegeProposalAminoMsg): RevokePriceFeederPrivilegeProposal { + return RevokePriceFeederPrivilegeProposal.fromAmino(object.value); + }, + toAminoMsg(message: RevokePriceFeederPrivilegeProposal): RevokePriceFeederPrivilegeProposalAminoMsg { + return { + type: 'oracle/RevokePriceFeederPrivilegeProposal', + value: RevokePriceFeederPrivilegeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: RevokePriceFeederPrivilegeProposalProtoMsg): RevokePriceFeederPrivilegeProposal { + return RevokePriceFeederPrivilegeProposal.decode(message.value); + }, + toProto(message: RevokePriceFeederPrivilegeProposal): Uint8Array { + return RevokePriceFeederPrivilegeProposal.encode(message).finish(); + }, + toProtoMsg(message: RevokePriceFeederPrivilegeProposal): RevokePriceFeederPrivilegeProposalProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.RevokePriceFeederPrivilegeProposal', + value: RevokePriceFeederPrivilegeProposal.encode(message).finish(), + }; + }, +}; +function createBaseAuthorizeBandOracleRequestProposal(): AuthorizeBandOracleRequestProposal { + return { + $typeUrl: '/injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal', + title: '', + description: '', + request: BandOracleRequest.fromPartial({}), + }; +} +export const AuthorizeBandOracleRequestProposal = { + typeUrl: '/injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal', + encode(message: AuthorizeBandOracleRequestProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.request !== undefined) { + BandOracleRequest.encode(message.request, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): AuthorizeBandOracleRequestProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAuthorizeBandOracleRequestProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.request = BandOracleRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): AuthorizeBandOracleRequestProposal { + const message = createBaseAuthorizeBandOracleRequestProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.request = + object.request !== undefined && object.request !== null + ? BandOracleRequest.fromPartial(object.request) + : undefined; + return message; + }, + fromAmino(object: AuthorizeBandOracleRequestProposalAmino): AuthorizeBandOracleRequestProposal { + const message = createBaseAuthorizeBandOracleRequestProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.request !== undefined && object.request !== null) { + message.request = BandOracleRequest.fromAmino(object.request); + } + return message; + }, + toAmino(message: AuthorizeBandOracleRequestProposal): AuthorizeBandOracleRequestProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.request = message.request ? BandOracleRequest.toAmino(message.request) : undefined; + return obj; + }, + fromAminoMsg(object: AuthorizeBandOracleRequestProposalAminoMsg): AuthorizeBandOracleRequestProposal { + return AuthorizeBandOracleRequestProposal.fromAmino(object.value); + }, + toAminoMsg(message: AuthorizeBandOracleRequestProposal): AuthorizeBandOracleRequestProposalAminoMsg { + return { + type: 'oracle/AuthorizeBandOracleRequestProposal', + value: AuthorizeBandOracleRequestProposal.toAmino(message), + }; + }, + fromProtoMsg(message: AuthorizeBandOracleRequestProposalProtoMsg): AuthorizeBandOracleRequestProposal { + return AuthorizeBandOracleRequestProposal.decode(message.value); + }, + toProto(message: AuthorizeBandOracleRequestProposal): Uint8Array { + return AuthorizeBandOracleRequestProposal.encode(message).finish(); + }, + toProtoMsg(message: AuthorizeBandOracleRequestProposal): AuthorizeBandOracleRequestProposalProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal', + value: AuthorizeBandOracleRequestProposal.encode(message).finish(), + }; + }, +}; +function createBaseUpdateBandOracleRequestProposal(): UpdateBandOracleRequestProposal { + return { + $typeUrl: '/injective.oracle.v1beta1.UpdateBandOracleRequestProposal', + title: '', + description: '', + deleteRequestIds: [], + updateOracleRequest: undefined, + }; +} +export const UpdateBandOracleRequestProposal = { + typeUrl: '/injective.oracle.v1beta1.UpdateBandOracleRequestProposal', + encode(message: UpdateBandOracleRequestProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + writer.uint32(26).fork(); + for (const v of message.deleteRequestIds) { + writer.uint64(v); + } + writer.ldelim(); + if (message.updateOracleRequest !== undefined) { + BandOracleRequest.encode(message.updateOracleRequest, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): UpdateBandOracleRequestProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpdateBandOracleRequestProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.deleteRequestIds.push(reader.uint64()); + } + } else { + message.deleteRequestIds.push(reader.uint64()); + } + break; + case 4: + message.updateOracleRequest = BandOracleRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): UpdateBandOracleRequestProposal { + const message = createBaseUpdateBandOracleRequestProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.deleteRequestIds = object.deleteRequestIds?.map((e) => BigInt(e.toString())) || []; + message.updateOracleRequest = + object.updateOracleRequest !== undefined && object.updateOracleRequest !== null + ? BandOracleRequest.fromPartial(object.updateOracleRequest) + : undefined; + return message; + }, + fromAmino(object: UpdateBandOracleRequestProposalAmino): UpdateBandOracleRequestProposal { + const message = createBaseUpdateBandOracleRequestProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.deleteRequestIds = object.delete_request_ids?.map((e) => BigInt(e)) || []; + if (object.update_oracle_request !== undefined && object.update_oracle_request !== null) { + message.updateOracleRequest = BandOracleRequest.fromAmino(object.update_oracle_request); + } + return message; + }, + toAmino(message: UpdateBandOracleRequestProposal): UpdateBandOracleRequestProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.deleteRequestIds) { + obj.delete_request_ids = message.deleteRequestIds.map((e) => e.toString()); + } else { + obj.delete_request_ids = message.deleteRequestIds; + } + obj.update_oracle_request = message.updateOracleRequest + ? BandOracleRequest.toAmino(message.updateOracleRequest) + : undefined; + return obj; + }, + fromAminoMsg(object: UpdateBandOracleRequestProposalAminoMsg): UpdateBandOracleRequestProposal { + return UpdateBandOracleRequestProposal.fromAmino(object.value); + }, + toAminoMsg(message: UpdateBandOracleRequestProposal): UpdateBandOracleRequestProposalAminoMsg { + return { + type: 'oracle/UpdateBandOracleRequestProposal', + value: UpdateBandOracleRequestProposal.toAmino(message), + }; + }, + fromProtoMsg(message: UpdateBandOracleRequestProposalProtoMsg): UpdateBandOracleRequestProposal { + return UpdateBandOracleRequestProposal.decode(message.value); + }, + toProto(message: UpdateBandOracleRequestProposal): Uint8Array { + return UpdateBandOracleRequestProposal.encode(message).finish(); + }, + toProtoMsg(message: UpdateBandOracleRequestProposal): UpdateBandOracleRequestProposalProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.UpdateBandOracleRequestProposal', + value: UpdateBandOracleRequestProposal.encode(message).finish(), + }; + }, +}; +function createBaseEnableBandIBCProposal(): EnableBandIBCProposal { + return { + $typeUrl: '/injective.oracle.v1beta1.EnableBandIBCProposal', + title: '', + description: '', + bandIbcParams: BandIBCParams.fromPartial({}), + }; +} +export const EnableBandIBCProposal = { + typeUrl: '/injective.oracle.v1beta1.EnableBandIBCProposal', + encode(message: EnableBandIBCProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.bandIbcParams !== undefined) { + BandIBCParams.encode(message.bandIbcParams, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EnableBandIBCProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEnableBandIBCProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.bandIbcParams = BandIBCParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EnableBandIBCProposal { + const message = createBaseEnableBandIBCProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.bandIbcParams = + object.bandIbcParams !== undefined && object.bandIbcParams !== null + ? BandIBCParams.fromPartial(object.bandIbcParams) + : undefined; + return message; + }, + fromAmino(object: EnableBandIBCProposalAmino): EnableBandIBCProposal { + const message = createBaseEnableBandIBCProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.band_ibc_params !== undefined && object.band_ibc_params !== null) { + message.bandIbcParams = BandIBCParams.fromAmino(object.band_ibc_params); + } + return message; + }, + toAmino(message: EnableBandIBCProposal): EnableBandIBCProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.band_ibc_params = message.bandIbcParams ? BandIBCParams.toAmino(message.bandIbcParams) : undefined; + return obj; + }, + fromAminoMsg(object: EnableBandIBCProposalAminoMsg): EnableBandIBCProposal { + return EnableBandIBCProposal.fromAmino(object.value); + }, + toAminoMsg(message: EnableBandIBCProposal): EnableBandIBCProposalAminoMsg { + return { + type: 'oracle/EnableBandIBCProposal', + value: EnableBandIBCProposal.toAmino(message), + }; + }, + fromProtoMsg(message: EnableBandIBCProposalProtoMsg): EnableBandIBCProposal { + return EnableBandIBCProposal.decode(message.value); + }, + toProto(message: EnableBandIBCProposal): Uint8Array { + return EnableBandIBCProposal.encode(message).finish(); + }, + toProtoMsg(message: EnableBandIBCProposal): EnableBandIBCProposalProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.EnableBandIBCProposal', + value: EnableBandIBCProposal.encode(message).finish(), + }; + }, +}; +function createBaseGrantStorkPublisherPrivilegeProposal(): GrantStorkPublisherPrivilegeProposal { + return { + $typeUrl: '/injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal', + title: '', + description: '', + storkPublishers: [], + }; +} +export const GrantStorkPublisherPrivilegeProposal = { + typeUrl: '/injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal', + encode(message: GrantStorkPublisherPrivilegeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.storkPublishers) { + writer.uint32(26).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): GrantStorkPublisherPrivilegeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGrantStorkPublisherPrivilegeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.storkPublishers.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): GrantStorkPublisherPrivilegeProposal { + const message = createBaseGrantStorkPublisherPrivilegeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.storkPublishers = object.storkPublishers?.map((e) => e) || []; + return message; + }, + fromAmino(object: GrantStorkPublisherPrivilegeProposalAmino): GrantStorkPublisherPrivilegeProposal { + const message = createBaseGrantStorkPublisherPrivilegeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.storkPublishers = object.stork_publishers?.map((e) => e) || []; + return message; + }, + toAmino(message: GrantStorkPublisherPrivilegeProposal): GrantStorkPublisherPrivilegeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.storkPublishers) { + obj.stork_publishers = message.storkPublishers.map((e) => e); + } else { + obj.stork_publishers = message.storkPublishers; + } + return obj; + }, + fromAminoMsg(object: GrantStorkPublisherPrivilegeProposalAminoMsg): GrantStorkPublisherPrivilegeProposal { + return GrantStorkPublisherPrivilegeProposal.fromAmino(object.value); + }, + toAminoMsg(message: GrantStorkPublisherPrivilegeProposal): GrantStorkPublisherPrivilegeProposalAminoMsg { + return { + type: 'oracle/GrantStorkPublisherPrivilegeProposal', + value: GrantStorkPublisherPrivilegeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: GrantStorkPublisherPrivilegeProposalProtoMsg): GrantStorkPublisherPrivilegeProposal { + return GrantStorkPublisherPrivilegeProposal.decode(message.value); + }, + toProto(message: GrantStorkPublisherPrivilegeProposal): Uint8Array { + return GrantStorkPublisherPrivilegeProposal.encode(message).finish(); + }, + toProtoMsg(message: GrantStorkPublisherPrivilegeProposal): GrantStorkPublisherPrivilegeProposalProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal', + value: GrantStorkPublisherPrivilegeProposal.encode(message).finish(), + }; + }, +}; +function createBaseRevokeStorkPublisherPrivilegeProposal(): RevokeStorkPublisherPrivilegeProposal { + return { + $typeUrl: '/injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal', + title: '', + description: '', + storkPublishers: [], + }; +} +export const RevokeStorkPublisherPrivilegeProposal = { + typeUrl: '/injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal', + encode(message: RevokeStorkPublisherPrivilegeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.storkPublishers) { + writer.uint32(26).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RevokeStorkPublisherPrivilegeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRevokeStorkPublisherPrivilegeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.storkPublishers.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RevokeStorkPublisherPrivilegeProposal { + const message = createBaseRevokeStorkPublisherPrivilegeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.storkPublishers = object.storkPublishers?.map((e) => e) || []; + return message; + }, + fromAmino(object: RevokeStorkPublisherPrivilegeProposalAmino): RevokeStorkPublisherPrivilegeProposal { + const message = createBaseRevokeStorkPublisherPrivilegeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.storkPublishers = object.stork_publishers?.map((e) => e) || []; + return message; + }, + toAmino(message: RevokeStorkPublisherPrivilegeProposal): RevokeStorkPublisherPrivilegeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.storkPublishers) { + obj.stork_publishers = message.storkPublishers.map((e) => e); + } else { + obj.stork_publishers = message.storkPublishers; + } + return obj; + }, + fromAminoMsg(object: RevokeStorkPublisherPrivilegeProposalAminoMsg): RevokeStorkPublisherPrivilegeProposal { + return RevokeStorkPublisherPrivilegeProposal.fromAmino(object.value); + }, + toAminoMsg(message: RevokeStorkPublisherPrivilegeProposal): RevokeStorkPublisherPrivilegeProposalAminoMsg { + return { + type: 'oracle/RevokeStorkPublisherPrivilegeProposal', + value: RevokeStorkPublisherPrivilegeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: RevokeStorkPublisherPrivilegeProposalProtoMsg): RevokeStorkPublisherPrivilegeProposal { + return RevokeStorkPublisherPrivilegeProposal.decode(message.value); + }, + toProto(message: RevokeStorkPublisherPrivilegeProposal): Uint8Array { + return RevokeStorkPublisherPrivilegeProposal.encode(message).finish(); + }, + toProtoMsg(message: RevokeStorkPublisherPrivilegeProposal): RevokeStorkPublisherPrivilegeProposalProtoMsg { + return { + typeUrl: '/injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal', + value: RevokeStorkPublisherPrivilegeProposal.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/types/v1beta1/tx_ext.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/types/v1beta1/tx_ext.ts new file mode 100644 index 00000000..f6188c77 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/types/v1beta1/tx_ext.ts @@ -0,0 +1,142 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +export interface ExtensionOptionsWeb3Tx { + /** + * typedDataChainID used only in EIP712 Domain and should match + * Ethereum network ID in a Web3 provider (e.g. Metamask). + */ + typedDataChainID: bigint; + /** + * feePayer is an account address for the fee payer. It will be validated + * during EIP712 signature checking. + */ + feePayer: string; + /** + * feePayerSig is a signature data from the fee paying account, + * allows to perform fee delegation when using EIP712 Domain. + */ + feePayerSig: Uint8Array; +} +export interface ExtensionOptionsWeb3TxProtoMsg { + typeUrl: '/injective.types.v1beta1.ExtensionOptionsWeb3Tx'; + value: Uint8Array; +} +export interface ExtensionOptionsWeb3TxAmino { + /** + * typedDataChainID used only in EIP712 Domain and should match + * Ethereum network ID in a Web3 provider (e.g. Metamask). + */ + typedDataChainID?: string; + /** + * feePayer is an account address for the fee payer. It will be validated + * during EIP712 signature checking. + */ + feePayer?: string; + /** + * feePayerSig is a signature data from the fee paying account, + * allows to perform fee delegation when using EIP712 Domain. + */ + feePayerSig?: string; +} +export interface ExtensionOptionsWeb3TxAminoMsg { + type: '/injective.types.v1beta1.ExtensionOptionsWeb3Tx'; + value: ExtensionOptionsWeb3TxAmino; +} +export interface ExtensionOptionsWeb3TxSDKType { + typedDataChainID: bigint; + feePayer: string; + feePayerSig: Uint8Array; +} +function createBaseExtensionOptionsWeb3Tx(): ExtensionOptionsWeb3Tx { + return { + typedDataChainID: BigInt(0), + feePayer: '', + feePayerSig: new Uint8Array(), + }; +} +export const ExtensionOptionsWeb3Tx = { + typeUrl: '/injective.types.v1beta1.ExtensionOptionsWeb3Tx', + encode(message: ExtensionOptionsWeb3Tx, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.typedDataChainID !== BigInt(0)) { + writer.uint32(8).uint64(message.typedDataChainID); + } + if (message.feePayer !== '') { + writer.uint32(18).string(message.feePayer); + } + if (message.feePayerSig.length !== 0) { + writer.uint32(26).bytes(message.feePayerSig); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ExtensionOptionsWeb3Tx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtensionOptionsWeb3Tx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.typedDataChainID = reader.uint64(); + break; + case 2: + message.feePayer = reader.string(); + break; + case 3: + message.feePayerSig = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ExtensionOptionsWeb3Tx { + const message = createBaseExtensionOptionsWeb3Tx(); + message.typedDataChainID = + object.typedDataChainID !== undefined && object.typedDataChainID !== null + ? BigInt(object.typedDataChainID.toString()) + : BigInt(0); + message.feePayer = object.feePayer ?? ''; + message.feePayerSig = object.feePayerSig ?? new Uint8Array(); + return message; + }, + fromAmino(object: ExtensionOptionsWeb3TxAmino): ExtensionOptionsWeb3Tx { + const message = createBaseExtensionOptionsWeb3Tx(); + if (object.typedDataChainID !== undefined && object.typedDataChainID !== null) { + message.typedDataChainID = BigInt(object.typedDataChainID); + } + if (object.feePayer !== undefined && object.feePayer !== null) { + message.feePayer = object.feePayer; + } + if (object.feePayerSig !== undefined && object.feePayerSig !== null) { + message.feePayerSig = bytesFromBase64(object.feePayerSig); + } + return message; + }, + toAmino(message: ExtensionOptionsWeb3Tx): ExtensionOptionsWeb3TxAmino { + const obj: any = {}; + obj.typedDataChainID = message.typedDataChainID !== BigInt(0) ? (message.typedDataChainID?.toString)() : undefined; + obj.feePayer = message.feePayer === '' ? undefined : message.feePayer; + obj.feePayerSig = message.feePayerSig ? base64FromBytes(message.feePayerSig) : undefined; + return obj; + }, + fromAminoMsg(object: ExtensionOptionsWeb3TxAminoMsg): ExtensionOptionsWeb3Tx { + return ExtensionOptionsWeb3Tx.fromAmino(object.value); + }, + fromProtoMsg(message: ExtensionOptionsWeb3TxProtoMsg): ExtensionOptionsWeb3Tx { + return ExtensionOptionsWeb3Tx.decode(message.value); + }, + toProto(message: ExtensionOptionsWeb3Tx): Uint8Array { + return ExtensionOptionsWeb3Tx.encode(message).finish(); + }, + toProtoMsg(message: ExtensionOptionsWeb3Tx): ExtensionOptionsWeb3TxProtoMsg { + return { + typeUrl: '/injective.types.v1beta1.ExtensionOptionsWeb3Tx', + value: ExtensionOptionsWeb3Tx.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/wasmx/v1/proposal.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/wasmx/v1/proposal.ts new file mode 100644 index 00000000..cf64291b --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/wasmx/v1/proposal.ts @@ -0,0 +1,793 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { + StoreCodeProposal, + StoreCodeProposalAmino, + StoreCodeProposalSDKType, +} from '../../../cosmwasm/wasm/v1/proposal_legacy'; +export enum FundingMode { + Unspecified = 0, + SelfFunded = 1, + GrantOnly = 2, + Dual = 3, + UNRECOGNIZED = -1, +} +export const FundingModeSDKType = FundingMode; +export const FundingModeAmino = FundingMode; +export function fundingModeFromJSON(object: any): FundingMode { + switch (object) { + case 0: + case 'Unspecified': + return FundingMode.Unspecified; + case 1: + case 'SelfFunded': + return FundingMode.SelfFunded; + case 2: + case 'GrantOnly': + return FundingMode.GrantOnly; + case 3: + case 'Dual': + return FundingMode.Dual; + case -1: + case 'UNRECOGNIZED': + default: + return FundingMode.UNRECOGNIZED; + } +} +export function fundingModeToJSON(object: FundingMode): string { + switch (object) { + case FundingMode.Unspecified: + return 'Unspecified'; + case FundingMode.SelfFunded: + return 'SelfFunded'; + case FundingMode.GrantOnly: + return 'GrantOnly'; + case FundingMode.Dual: + return 'Dual'; + case FundingMode.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export interface ContractRegistrationRequestProposal { + $typeUrl?: '/injective.wasmx.v1.ContractRegistrationRequestProposal'; + title: string; + description: string; + contractRegistrationRequest: ContractRegistrationRequest; +} +export interface ContractRegistrationRequestProposalProtoMsg { + typeUrl: '/injective.wasmx.v1.ContractRegistrationRequestProposal'; + value: Uint8Array; +} +export interface ContractRegistrationRequestProposalAmino { + title?: string; + description?: string; + contract_registration_request?: ContractRegistrationRequestAmino; +} +export interface ContractRegistrationRequestProposalAminoMsg { + type: 'wasmx/ContractRegistrationRequestProposal'; + value: ContractRegistrationRequestProposalAmino; +} +export interface ContractRegistrationRequestProposalSDKType { + $typeUrl?: '/injective.wasmx.v1.ContractRegistrationRequestProposal'; + title: string; + description: string; + contract_registration_request: ContractRegistrationRequestSDKType; +} +export interface BatchContractRegistrationRequestProposal { + $typeUrl?: '/injective.wasmx.v1.BatchContractRegistrationRequestProposal'; + title: string; + description: string; + contractRegistrationRequests: ContractRegistrationRequest[]; +} +export interface BatchContractRegistrationRequestProposalProtoMsg { + typeUrl: '/injective.wasmx.v1.BatchContractRegistrationRequestProposal'; + value: Uint8Array; +} +export interface BatchContractRegistrationRequestProposalAmino { + title?: string; + description?: string; + contract_registration_requests?: ContractRegistrationRequestAmino[]; +} +export interface BatchContractRegistrationRequestProposalAminoMsg { + type: 'wasmx/BatchContractRegistrationRequestProposal'; + value: BatchContractRegistrationRequestProposalAmino; +} +export interface BatchContractRegistrationRequestProposalSDKType { + $typeUrl?: '/injective.wasmx.v1.BatchContractRegistrationRequestProposal'; + title: string; + description: string; + contract_registration_requests: ContractRegistrationRequestSDKType[]; +} +export interface BatchContractDeregistrationProposal { + $typeUrl?: '/injective.wasmx.v1.BatchContractDeregistrationProposal'; + title: string; + description: string; + contracts: string[]; +} +export interface BatchContractDeregistrationProposalProtoMsg { + typeUrl: '/injective.wasmx.v1.BatchContractDeregistrationProposal'; + value: Uint8Array; +} +export interface BatchContractDeregistrationProposalAmino { + title?: string; + description?: string; + contracts?: string[]; +} +export interface BatchContractDeregistrationProposalAminoMsg { + type: 'wasmx/BatchContractDeregistrationProposal'; + value: BatchContractDeregistrationProposalAmino; +} +export interface BatchContractDeregistrationProposalSDKType { + $typeUrl?: '/injective.wasmx.v1.BatchContractDeregistrationProposal'; + title: string; + description: string; + contracts: string[]; +} +export interface ContractRegistrationRequest { + $typeUrl?: '/injective.wasmx.v1.ContractRegistrationRequest'; + /** Unique Identifier for contract instance to be registered. */ + contractAddress: string; + /** Maximum gas to be used for the smart contract execution. */ + gasLimit: bigint; + /** gas price to be used for the smart contract execution. */ + gasPrice: bigint; + shouldPinContract: boolean; + /** + * if true contract owner can update it, if false only current code_id will be + * allowed to be executed + */ + isMigrationAllowed: boolean; + /** + * code_id of the contract being registered - will be verified upon every + * execution but only if is_migration_allowed is false + */ + codeId: bigint; + /** + * Optional address of admin account (that will be allowed to pause or update + * contract params) + */ + adminAddress: string; + /** + * Optional address of the contract that grants fees. Must be set if + * funding_mode is other than SelfFunded + */ + granterAddress: string; + /** Specifies how the contract will fund its execution */ + fundingMode: FundingMode; +} +export interface ContractRegistrationRequestProtoMsg { + typeUrl: '/injective.wasmx.v1.ContractRegistrationRequest'; + value: Uint8Array; +} +export interface ContractRegistrationRequestAmino { + /** Unique Identifier for contract instance to be registered. */ + contract_address?: string; + /** Maximum gas to be used for the smart contract execution. */ + gas_limit?: string; + /** gas price to be used for the smart contract execution. */ + gas_price?: string; + should_pin_contract?: boolean; + /** + * if true contract owner can update it, if false only current code_id will be + * allowed to be executed + */ + is_migration_allowed?: boolean; + /** + * code_id of the contract being registered - will be verified upon every + * execution but only if is_migration_allowed is false + */ + code_id?: string; + /** + * Optional address of admin account (that will be allowed to pause or update + * contract params) + */ + admin_address?: string; + /** + * Optional address of the contract that grants fees. Must be set if + * funding_mode is other than SelfFunded + */ + granter_address?: string; + /** Specifies how the contract will fund its execution */ + funding_mode?: FundingMode; +} +export interface ContractRegistrationRequestAminoMsg { + type: '/injective.wasmx.v1.ContractRegistrationRequest'; + value: ContractRegistrationRequestAmino; +} +export interface ContractRegistrationRequestSDKType { + $typeUrl?: '/injective.wasmx.v1.ContractRegistrationRequest'; + contract_address: string; + gas_limit: bigint; + gas_price: bigint; + should_pin_contract: boolean; + is_migration_allowed: boolean; + code_id: bigint; + admin_address: string; + granter_address: string; + funding_mode: FundingMode; +} +export interface BatchStoreCodeProposal { + $typeUrl?: '/injective.wasmx.v1.BatchStoreCodeProposal'; + title: string; + description: string; + proposals: StoreCodeProposal[]; +} +export interface BatchStoreCodeProposalProtoMsg { + typeUrl: '/injective.wasmx.v1.BatchStoreCodeProposal'; + value: Uint8Array; +} +export interface BatchStoreCodeProposalAmino { + title?: string; + description?: string; + proposals?: StoreCodeProposalAmino[]; +} +export interface BatchStoreCodeProposalAminoMsg { + type: 'wasmx/BatchStoreCodeProposal'; + value: BatchStoreCodeProposalAmino; +} +export interface BatchStoreCodeProposalSDKType { + $typeUrl?: '/injective.wasmx.v1.BatchStoreCodeProposal'; + title: string; + description: string; + proposals: StoreCodeProposalSDKType[]; +} +function createBaseContractRegistrationRequestProposal(): ContractRegistrationRequestProposal { + return { + $typeUrl: '/injective.wasmx.v1.ContractRegistrationRequestProposal', + title: '', + description: '', + contractRegistrationRequest: ContractRegistrationRequest.fromPartial({}), + }; +} +export const ContractRegistrationRequestProposal = { + typeUrl: '/injective.wasmx.v1.ContractRegistrationRequestProposal', + encode(message: ContractRegistrationRequestProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + if (message.contractRegistrationRequest !== undefined) { + ContractRegistrationRequest.encode(message.contractRegistrationRequest, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ContractRegistrationRequestProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractRegistrationRequestProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.contractRegistrationRequest = ContractRegistrationRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ContractRegistrationRequestProposal { + const message = createBaseContractRegistrationRequestProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.contractRegistrationRequest = + object.contractRegistrationRequest !== undefined && object.contractRegistrationRequest !== null + ? ContractRegistrationRequest.fromPartial(object.contractRegistrationRequest) + : undefined; + return message; + }, + fromAmino(object: ContractRegistrationRequestProposalAmino): ContractRegistrationRequestProposal { + const message = createBaseContractRegistrationRequestProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + if (object.contract_registration_request !== undefined && object.contract_registration_request !== null) { + message.contractRegistrationRequest = ContractRegistrationRequest.fromAmino(object.contract_registration_request); + } + return message; + }, + toAmino(message: ContractRegistrationRequestProposal): ContractRegistrationRequestProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + obj.contract_registration_request = message.contractRegistrationRequest + ? ContractRegistrationRequest.toAmino(message.contractRegistrationRequest) + : undefined; + return obj; + }, + fromAminoMsg(object: ContractRegistrationRequestProposalAminoMsg): ContractRegistrationRequestProposal { + return ContractRegistrationRequestProposal.fromAmino(object.value); + }, + toAminoMsg(message: ContractRegistrationRequestProposal): ContractRegistrationRequestProposalAminoMsg { + return { + type: 'wasmx/ContractRegistrationRequestProposal', + value: ContractRegistrationRequestProposal.toAmino(message), + }; + }, + fromProtoMsg(message: ContractRegistrationRequestProposalProtoMsg): ContractRegistrationRequestProposal { + return ContractRegistrationRequestProposal.decode(message.value); + }, + toProto(message: ContractRegistrationRequestProposal): Uint8Array { + return ContractRegistrationRequestProposal.encode(message).finish(); + }, + toProtoMsg(message: ContractRegistrationRequestProposal): ContractRegistrationRequestProposalProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.ContractRegistrationRequestProposal', + value: ContractRegistrationRequestProposal.encode(message).finish(), + }; + }, +}; +function createBaseBatchContractRegistrationRequestProposal(): BatchContractRegistrationRequestProposal { + return { + $typeUrl: '/injective.wasmx.v1.BatchContractRegistrationRequestProposal', + title: '', + description: '', + contractRegistrationRequests: [], + }; +} +export const BatchContractRegistrationRequestProposal = { + typeUrl: '/injective.wasmx.v1.BatchContractRegistrationRequestProposal', + encode( + message: BatchContractRegistrationRequestProposal, + writer: BinaryWriter = BinaryWriter.create(), + ): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.contractRegistrationRequests) { + ContractRegistrationRequest.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BatchContractRegistrationRequestProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBatchContractRegistrationRequestProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.contractRegistrationRequests.push(ContractRegistrationRequest.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BatchContractRegistrationRequestProposal { + const message = createBaseBatchContractRegistrationRequestProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.contractRegistrationRequests = + object.contractRegistrationRequests?.map((e) => ContractRegistrationRequest.fromPartial(e)) || []; + return message; + }, + fromAmino(object: BatchContractRegistrationRequestProposalAmino): BatchContractRegistrationRequestProposal { + const message = createBaseBatchContractRegistrationRequestProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.contractRegistrationRequests = + object.contract_registration_requests?.map((e) => ContractRegistrationRequest.fromAmino(e)) || []; + return message; + }, + toAmino(message: BatchContractRegistrationRequestProposal): BatchContractRegistrationRequestProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.contractRegistrationRequests) { + obj.contract_registration_requests = message.contractRegistrationRequests.map((e) => + e ? ContractRegistrationRequest.toAmino(e) : undefined, + ); + } else { + obj.contract_registration_requests = message.contractRegistrationRequests; + } + return obj; + }, + fromAminoMsg(object: BatchContractRegistrationRequestProposalAminoMsg): BatchContractRegistrationRequestProposal { + return BatchContractRegistrationRequestProposal.fromAmino(object.value); + }, + toAminoMsg(message: BatchContractRegistrationRequestProposal): BatchContractRegistrationRequestProposalAminoMsg { + return { + type: 'wasmx/BatchContractRegistrationRequestProposal', + value: BatchContractRegistrationRequestProposal.toAmino(message), + }; + }, + fromProtoMsg(message: BatchContractRegistrationRequestProposalProtoMsg): BatchContractRegistrationRequestProposal { + return BatchContractRegistrationRequestProposal.decode(message.value); + }, + toProto(message: BatchContractRegistrationRequestProposal): Uint8Array { + return BatchContractRegistrationRequestProposal.encode(message).finish(); + }, + toProtoMsg(message: BatchContractRegistrationRequestProposal): BatchContractRegistrationRequestProposalProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.BatchContractRegistrationRequestProposal', + value: BatchContractRegistrationRequestProposal.encode(message).finish(), + }; + }, +}; +function createBaseBatchContractDeregistrationProposal(): BatchContractDeregistrationProposal { + return { + $typeUrl: '/injective.wasmx.v1.BatchContractDeregistrationProposal', + title: '', + description: '', + contracts: [], + }; +} +export const BatchContractDeregistrationProposal = { + typeUrl: '/injective.wasmx.v1.BatchContractDeregistrationProposal', + encode(message: BatchContractDeregistrationProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.contracts) { + writer.uint32(26).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BatchContractDeregistrationProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBatchContractDeregistrationProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.contracts.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BatchContractDeregistrationProposal { + const message = createBaseBatchContractDeregistrationProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.contracts = object.contracts?.map((e) => e) || []; + return message; + }, + fromAmino(object: BatchContractDeregistrationProposalAmino): BatchContractDeregistrationProposal { + const message = createBaseBatchContractDeregistrationProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.contracts = object.contracts?.map((e) => e) || []; + return message; + }, + toAmino(message: BatchContractDeregistrationProposal): BatchContractDeregistrationProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.contracts) { + obj.contracts = message.contracts.map((e) => e); + } else { + obj.contracts = message.contracts; + } + return obj; + }, + fromAminoMsg(object: BatchContractDeregistrationProposalAminoMsg): BatchContractDeregistrationProposal { + return BatchContractDeregistrationProposal.fromAmino(object.value); + }, + toAminoMsg(message: BatchContractDeregistrationProposal): BatchContractDeregistrationProposalAminoMsg { + return { + type: 'wasmx/BatchContractDeregistrationProposal', + value: BatchContractDeregistrationProposal.toAmino(message), + }; + }, + fromProtoMsg(message: BatchContractDeregistrationProposalProtoMsg): BatchContractDeregistrationProposal { + return BatchContractDeregistrationProposal.decode(message.value); + }, + toProto(message: BatchContractDeregistrationProposal): Uint8Array { + return BatchContractDeregistrationProposal.encode(message).finish(); + }, + toProtoMsg(message: BatchContractDeregistrationProposal): BatchContractDeregistrationProposalProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.BatchContractDeregistrationProposal', + value: BatchContractDeregistrationProposal.encode(message).finish(), + }; + }, +}; +function createBaseContractRegistrationRequest(): ContractRegistrationRequest { + return { + $typeUrl: '/injective.wasmx.v1.ContractRegistrationRequest', + contractAddress: '', + gasLimit: BigInt(0), + gasPrice: BigInt(0), + shouldPinContract: false, + isMigrationAllowed: false, + codeId: BigInt(0), + adminAddress: '', + granterAddress: '', + fundingMode: 0, + }; +} +export const ContractRegistrationRequest = { + typeUrl: '/injective.wasmx.v1.ContractRegistrationRequest', + encode(message: ContractRegistrationRequest, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.contractAddress !== '') { + writer.uint32(10).string(message.contractAddress); + } + if (message.gasLimit !== BigInt(0)) { + writer.uint32(16).uint64(message.gasLimit); + } + if (message.gasPrice !== BigInt(0)) { + writer.uint32(24).uint64(message.gasPrice); + } + if (message.shouldPinContract === true) { + writer.uint32(32).bool(message.shouldPinContract); + } + if (message.isMigrationAllowed === true) { + writer.uint32(40).bool(message.isMigrationAllowed); + } + if (message.codeId !== BigInt(0)) { + writer.uint32(48).uint64(message.codeId); + } + if (message.adminAddress !== '') { + writer.uint32(58).string(message.adminAddress); + } + if (message.granterAddress !== '') { + writer.uint32(66).string(message.granterAddress); + } + if (message.fundingMode !== 0) { + writer.uint32(72).int32(message.fundingMode); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ContractRegistrationRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractRegistrationRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.contractAddress = reader.string(); + break; + case 2: + message.gasLimit = reader.uint64(); + break; + case 3: + message.gasPrice = reader.uint64(); + break; + case 4: + message.shouldPinContract = reader.bool(); + break; + case 5: + message.isMigrationAllowed = reader.bool(); + break; + case 6: + message.codeId = reader.uint64(); + break; + case 7: + message.adminAddress = reader.string(); + break; + case 8: + message.granterAddress = reader.string(); + break; + case 9: + message.fundingMode = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ContractRegistrationRequest { + const message = createBaseContractRegistrationRequest(); + message.contractAddress = object.contractAddress ?? ''; + message.gasLimit = + object.gasLimit !== undefined && object.gasLimit !== null ? BigInt(object.gasLimit.toString()) : BigInt(0); + message.gasPrice = + object.gasPrice !== undefined && object.gasPrice !== null ? BigInt(object.gasPrice.toString()) : BigInt(0); + message.shouldPinContract = object.shouldPinContract ?? false; + message.isMigrationAllowed = object.isMigrationAllowed ?? false; + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : BigInt(0); + message.adminAddress = object.adminAddress ?? ''; + message.granterAddress = object.granterAddress ?? ''; + message.fundingMode = object.fundingMode ?? 0; + return message; + }, + fromAmino(object: ContractRegistrationRequestAmino): ContractRegistrationRequest { + const message = createBaseContractRegistrationRequest(); + if (object.contract_address !== undefined && object.contract_address !== null) { + message.contractAddress = object.contract_address; + } + if (object.gas_limit !== undefined && object.gas_limit !== null) { + message.gasLimit = BigInt(object.gas_limit); + } + if (object.gas_price !== undefined && object.gas_price !== null) { + message.gasPrice = BigInt(object.gas_price); + } + if (object.should_pin_contract !== undefined && object.should_pin_contract !== null) { + message.shouldPinContract = object.should_pin_contract; + } + if (object.is_migration_allowed !== undefined && object.is_migration_allowed !== null) { + message.isMigrationAllowed = object.is_migration_allowed; + } + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.admin_address !== undefined && object.admin_address !== null) { + message.adminAddress = object.admin_address; + } + if (object.granter_address !== undefined && object.granter_address !== null) { + message.granterAddress = object.granter_address; + } + if (object.funding_mode !== undefined && object.funding_mode !== null) { + message.fundingMode = object.funding_mode; + } + return message; + }, + toAmino(message: ContractRegistrationRequest): ContractRegistrationRequestAmino { + const obj: any = {}; + obj.contract_address = message.contractAddress === '' ? undefined : message.contractAddress; + obj.gas_limit = message.gasLimit !== BigInt(0) ? (message.gasLimit?.toString)() : undefined; + obj.gas_price = message.gasPrice !== BigInt(0) ? (message.gasPrice?.toString)() : undefined; + obj.should_pin_contract = message.shouldPinContract === false ? undefined : message.shouldPinContract; + obj.is_migration_allowed = message.isMigrationAllowed === false ? undefined : message.isMigrationAllowed; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.admin_address = message.adminAddress === '' ? undefined : message.adminAddress; + obj.granter_address = message.granterAddress === '' ? undefined : message.granterAddress; + obj.funding_mode = message.fundingMode === 0 ? undefined : message.fundingMode; + return obj; + }, + fromAminoMsg(object: ContractRegistrationRequestAminoMsg): ContractRegistrationRequest { + return ContractRegistrationRequest.fromAmino(object.value); + }, + fromProtoMsg(message: ContractRegistrationRequestProtoMsg): ContractRegistrationRequest { + return ContractRegistrationRequest.decode(message.value); + }, + toProto(message: ContractRegistrationRequest): Uint8Array { + return ContractRegistrationRequest.encode(message).finish(); + }, + toProtoMsg(message: ContractRegistrationRequest): ContractRegistrationRequestProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.ContractRegistrationRequest', + value: ContractRegistrationRequest.encode(message).finish(), + }; + }, +}; +function createBaseBatchStoreCodeProposal(): BatchStoreCodeProposal { + return { + $typeUrl: '/injective.wasmx.v1.BatchStoreCodeProposal', + title: '', + description: '', + proposals: [], + }; +} +export const BatchStoreCodeProposal = { + typeUrl: '/injective.wasmx.v1.BatchStoreCodeProposal', + encode(message: BatchStoreCodeProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.title !== '') { + writer.uint32(10).string(message.title); + } + if (message.description !== '') { + writer.uint32(18).string(message.description); + } + for (const v of message.proposals) { + StoreCodeProposal.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BatchStoreCodeProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBatchStoreCodeProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.title = reader.string(); + break; + case 2: + message.description = reader.string(); + break; + case 3: + message.proposals.push(StoreCodeProposal.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BatchStoreCodeProposal { + const message = createBaseBatchStoreCodeProposal(); + message.title = object.title ?? ''; + message.description = object.description ?? ''; + message.proposals = object.proposals?.map((e) => StoreCodeProposal.fromPartial(e)) || []; + return message; + }, + fromAmino(object: BatchStoreCodeProposalAmino): BatchStoreCodeProposal { + const message = createBaseBatchStoreCodeProposal(); + if (object.title !== undefined && object.title !== null) { + message.title = object.title; + } + if (object.description !== undefined && object.description !== null) { + message.description = object.description; + } + message.proposals = object.proposals?.map((e) => StoreCodeProposal.fromAmino(e)) || []; + return message; + }, + toAmino(message: BatchStoreCodeProposal): BatchStoreCodeProposalAmino { + const obj: any = {}; + obj.title = message.title === '' ? undefined : message.title; + obj.description = message.description === '' ? undefined : message.description; + if (message.proposals) { + obj.proposals = message.proposals.map((e) => (e ? StoreCodeProposal.toAmino(e) : undefined)); + } else { + obj.proposals = message.proposals; + } + return obj; + }, + fromAminoMsg(object: BatchStoreCodeProposalAminoMsg): BatchStoreCodeProposal { + return BatchStoreCodeProposal.fromAmino(object.value); + }, + toAminoMsg(message: BatchStoreCodeProposal): BatchStoreCodeProposalAminoMsg { + return { + type: 'wasmx/BatchStoreCodeProposal', + value: BatchStoreCodeProposal.toAmino(message), + }; + }, + fromProtoMsg(message: BatchStoreCodeProposalProtoMsg): BatchStoreCodeProposal { + return BatchStoreCodeProposal.decode(message.value); + }, + toProto(message: BatchStoreCodeProposal): Uint8Array { + return BatchStoreCodeProposal.encode(message).finish(); + }, + toProtoMsg(message: BatchStoreCodeProposal): BatchStoreCodeProposalProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.BatchStoreCodeProposal', + value: BatchStoreCodeProposal.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/wasmx/v1/tx.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/wasmx/v1/tx.ts new file mode 100644 index 00000000..b95730a3 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/wasmx/v1/tx.ts @@ -0,0 +1,1134 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../../helpers'; +import { + ContractRegistrationRequest, + ContractRegistrationRequestAmino, + ContractRegistrationRequestSDKType, +} from './proposal'; +import { Params, ParamsAmino, ParamsSDKType } from './wasmx'; +/** + * MsgExecuteContractCompat submits the given message data to a smart contract, + * compatible with EIP712 + */ +export interface MsgExecuteContractCompat { + /** Sender is the that actor that signed the messages */ + sender: string; + /** Contract is the address of the smart contract */ + contract: string; + /** Msg json encoded message to be passed to the contract */ + msg: string; + /** Funds coins that are transferred to the contract on execution */ + funds: string; +} +export interface MsgExecuteContractCompatProtoMsg { + typeUrl: '/injective.wasmx.v1.MsgExecuteContractCompat'; + value: Uint8Array; +} +/** + * MsgExecuteContractCompat submits the given message data to a smart contract, + * compatible with EIP712 + */ +export interface MsgExecuteContractCompatAmino { + /** Sender is the that actor that signed the messages */ + sender?: string; + /** Contract is the address of the smart contract */ + contract?: string; + /** Msg json encoded message to be passed to the contract */ + msg?: string; + /** Funds coins that are transferred to the contract on execution */ + funds?: string; +} +export interface MsgExecuteContractCompatAminoMsg { + type: 'wasmx/MsgExecuteContractCompat'; + value: MsgExecuteContractCompatAmino; +} +/** + * MsgExecuteContractCompat submits the given message data to a smart contract, + * compatible with EIP712 + */ +export interface MsgExecuteContractCompatSDKType { + sender: string; + contract: string; + msg: string; + funds: string; +} +/** MsgExecuteContractCompatResponse returns execution result data. */ +export interface MsgExecuteContractCompatResponse { + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} +export interface MsgExecuteContractCompatResponseProtoMsg { + typeUrl: '/injective.wasmx.v1.MsgExecuteContractCompatResponse'; + value: Uint8Array; +} +/** MsgExecuteContractCompatResponse returns execution result data. */ +export interface MsgExecuteContractCompatResponseAmino { + /** Data contains bytes to returned from the contract */ + data?: string; +} +export interface MsgExecuteContractCompatResponseAminoMsg { + type: '/injective.wasmx.v1.MsgExecuteContractCompatResponse'; + value: MsgExecuteContractCompatResponseAmino; +} +/** MsgExecuteContractCompatResponse returns execution result data. */ +export interface MsgExecuteContractCompatResponseSDKType { + data: Uint8Array; +} +export interface MsgUpdateContract { + sender: string; + /** Unique Identifier for contract instance to be registered. */ + contractAddress: string; + /** Maximum gas to be used for the smart contract execution. */ + gasLimit: bigint; + /** gas price to be used for the smart contract execution. */ + gasPrice: bigint; + /** optional - admin account that will be allowed to perform any changes */ + adminAddress?: string; +} +export interface MsgUpdateContractProtoMsg { + typeUrl: '/injective.wasmx.v1.MsgUpdateContract'; + value: Uint8Array; +} +export interface MsgUpdateContractAmino { + sender?: string; + /** Unique Identifier for contract instance to be registered. */ + contract_address?: string; + /** Maximum gas to be used for the smart contract execution. */ + gas_limit?: string; + /** gas price to be used for the smart contract execution. */ + gas_price?: string; + /** optional - admin account that will be allowed to perform any changes */ + admin_address?: string; +} +export interface MsgUpdateContractAminoMsg { + type: 'wasmx/MsgUpdateContract'; + value: MsgUpdateContractAmino; +} +export interface MsgUpdateContractSDKType { + sender: string; + contract_address: string; + gas_limit: bigint; + gas_price: bigint; + admin_address?: string; +} +export interface MsgUpdateContractResponse {} +export interface MsgUpdateContractResponseProtoMsg { + typeUrl: '/injective.wasmx.v1.MsgUpdateContractResponse'; + value: Uint8Array; +} +export interface MsgUpdateContractResponseAmino {} +export interface MsgUpdateContractResponseAminoMsg { + type: '/injective.wasmx.v1.MsgUpdateContractResponse'; + value: MsgUpdateContractResponseAmino; +} +export interface MsgUpdateContractResponseSDKType {} +export interface MsgActivateContract { + sender: string; + /** Unique Identifier for contract instance to be activated. */ + contractAddress: string; +} +export interface MsgActivateContractProtoMsg { + typeUrl: '/injective.wasmx.v1.MsgActivateContract'; + value: Uint8Array; +} +export interface MsgActivateContractAmino { + sender?: string; + /** Unique Identifier for contract instance to be activated. */ + contract_address?: string; +} +export interface MsgActivateContractAminoMsg { + type: 'wasmx/MsgActivateContract'; + value: MsgActivateContractAmino; +} +export interface MsgActivateContractSDKType { + sender: string; + contract_address: string; +} +export interface MsgActivateContractResponse {} +export interface MsgActivateContractResponseProtoMsg { + typeUrl: '/injective.wasmx.v1.MsgActivateContractResponse'; + value: Uint8Array; +} +export interface MsgActivateContractResponseAmino {} +export interface MsgActivateContractResponseAminoMsg { + type: '/injective.wasmx.v1.MsgActivateContractResponse'; + value: MsgActivateContractResponseAmino; +} +export interface MsgActivateContractResponseSDKType {} +export interface MsgDeactivateContract { + sender: string; + /** Unique Identifier for contract instance to be deactivated. */ + contractAddress: string; +} +export interface MsgDeactivateContractProtoMsg { + typeUrl: '/injective.wasmx.v1.MsgDeactivateContract'; + value: Uint8Array; +} +export interface MsgDeactivateContractAmino { + sender?: string; + /** Unique Identifier for contract instance to be deactivated. */ + contract_address?: string; +} +export interface MsgDeactivateContractAminoMsg { + type: 'wasmx/MsgDeactivateContract'; + value: MsgDeactivateContractAmino; +} +export interface MsgDeactivateContractSDKType { + sender: string; + contract_address: string; +} +export interface MsgDeactivateContractResponse {} +export interface MsgDeactivateContractResponseProtoMsg { + typeUrl: '/injective.wasmx.v1.MsgDeactivateContractResponse'; + value: Uint8Array; +} +export interface MsgDeactivateContractResponseAmino {} +export interface MsgDeactivateContractResponseAminoMsg { + type: '/injective.wasmx.v1.MsgDeactivateContractResponse'; + value: MsgDeactivateContractResponseAmino; +} +export interface MsgDeactivateContractResponseSDKType {} +export interface MsgUpdateParams { + /** authority is the address of the governance account. */ + authority: string; + /** + * params defines the wasmx parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params: Params; +} +export interface MsgUpdateParamsProtoMsg { + typeUrl: '/injective.wasmx.v1.MsgUpdateParams'; + value: Uint8Array; +} +export interface MsgUpdateParamsAmino { + /** authority is the address of the governance account. */ + authority?: string; + /** + * params defines the wasmx parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params?: ParamsAmino; +} +export interface MsgUpdateParamsAminoMsg { + type: 'wasmx/MsgUpdateParams'; + value: MsgUpdateParamsAmino; +} +export interface MsgUpdateParamsSDKType { + authority: string; + params: ParamsSDKType; +} +export interface MsgUpdateParamsResponse {} +export interface MsgUpdateParamsResponseProtoMsg { + typeUrl: '/injective.wasmx.v1.MsgUpdateParamsResponse'; + value: Uint8Array; +} +export interface MsgUpdateParamsResponseAmino {} +export interface MsgUpdateParamsResponseAminoMsg { + type: '/injective.wasmx.v1.MsgUpdateParamsResponse'; + value: MsgUpdateParamsResponseAmino; +} +export interface MsgUpdateParamsResponseSDKType {} +export interface MsgRegisterContract { + sender: string; + contractRegistrationRequest: ContractRegistrationRequest; +} +export interface MsgRegisterContractProtoMsg { + typeUrl: '/injective.wasmx.v1.MsgRegisterContract'; + value: Uint8Array; +} +export interface MsgRegisterContractAmino { + sender?: string; + contract_registration_request?: ContractRegistrationRequestAmino; +} +export interface MsgRegisterContractAminoMsg { + type: 'wasmx/MsgRegisterContract'; + value: MsgRegisterContractAmino; +} +export interface MsgRegisterContractSDKType { + sender: string; + contract_registration_request: ContractRegistrationRequestSDKType; +} +export interface MsgRegisterContractResponse {} +export interface MsgRegisterContractResponseProtoMsg { + typeUrl: '/injective.wasmx.v1.MsgRegisterContractResponse'; + value: Uint8Array; +} +export interface MsgRegisterContractResponseAmino {} +export interface MsgRegisterContractResponseAminoMsg { + type: '/injective.wasmx.v1.MsgRegisterContractResponse'; + value: MsgRegisterContractResponseAmino; +} +export interface MsgRegisterContractResponseSDKType {} +function createBaseMsgExecuteContractCompat(): MsgExecuteContractCompat { + return { + sender: '', + contract: '', + msg: '', + funds: '', + }; +} +export const MsgExecuteContractCompat = { + typeUrl: '/injective.wasmx.v1.MsgExecuteContractCompat', + encode(message: MsgExecuteContractCompat, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.contract !== '') { + writer.uint32(18).string(message.contract); + } + if (message.msg !== '') { + writer.uint32(26).string(message.msg); + } + if (message.funds !== '') { + writer.uint32(34).string(message.funds); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgExecuteContractCompat { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecuteContractCompat(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.contract = reader.string(); + break; + case 3: + message.msg = reader.string(); + break; + case 4: + message.funds = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgExecuteContractCompat { + const message = createBaseMsgExecuteContractCompat(); + message.sender = object.sender ?? ''; + message.contract = object.contract ?? ''; + message.msg = object.msg ?? ''; + message.funds = object.funds ?? ''; + return message; + }, + fromAmino(object: MsgExecuteContractCompatAmino): MsgExecuteContractCompat { + const message = createBaseMsgExecuteContractCompat(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.contract !== undefined && object.contract !== null) { + message.contract = object.contract; + } + if (object.msg !== undefined && object.msg !== null) { + message.msg = object.msg; + } + if (object.funds !== undefined && object.funds !== null) { + message.funds = object.funds; + } + return message; + }, + toAmino(message: MsgExecuteContractCompat): MsgExecuteContractCompatAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.contract = message.contract === '' ? undefined : message.contract; + obj.msg = message.msg === '' ? undefined : message.msg; + obj.funds = message.funds === '' ? undefined : message.funds; + return obj; + }, + fromAminoMsg(object: MsgExecuteContractCompatAminoMsg): MsgExecuteContractCompat { + return MsgExecuteContractCompat.fromAmino(object.value); + }, + toAminoMsg(message: MsgExecuteContractCompat): MsgExecuteContractCompatAminoMsg { + return { + type: 'wasmx/MsgExecuteContractCompat', + value: MsgExecuteContractCompat.toAmino(message), + }; + }, + fromProtoMsg(message: MsgExecuteContractCompatProtoMsg): MsgExecuteContractCompat { + return MsgExecuteContractCompat.decode(message.value); + }, + toProto(message: MsgExecuteContractCompat): Uint8Array { + return MsgExecuteContractCompat.encode(message).finish(); + }, + toProtoMsg(message: MsgExecuteContractCompat): MsgExecuteContractCompatProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.MsgExecuteContractCompat', + value: MsgExecuteContractCompat.encode(message).finish(), + }; + }, +}; +function createBaseMsgExecuteContractCompatResponse(): MsgExecuteContractCompatResponse { + return { + data: new Uint8Array(), + }; +} +export const MsgExecuteContractCompatResponse = { + typeUrl: '/injective.wasmx.v1.MsgExecuteContractCompatResponse', + encode(message: MsgExecuteContractCompatResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgExecuteContractCompatResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecuteContractCompatResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.data = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgExecuteContractCompatResponse { + const message = createBaseMsgExecuteContractCompatResponse(); + message.data = object.data ?? new Uint8Array(); + return message; + }, + fromAmino(object: MsgExecuteContractCompatResponseAmino): MsgExecuteContractCompatResponse { + const message = createBaseMsgExecuteContractCompatResponse(); + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + return message; + }, + toAmino(message: MsgExecuteContractCompatResponse): MsgExecuteContractCompatResponseAmino { + const obj: any = {}; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + return obj; + }, + fromAminoMsg(object: MsgExecuteContractCompatResponseAminoMsg): MsgExecuteContractCompatResponse { + return MsgExecuteContractCompatResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgExecuteContractCompatResponseProtoMsg): MsgExecuteContractCompatResponse { + return MsgExecuteContractCompatResponse.decode(message.value); + }, + toProto(message: MsgExecuteContractCompatResponse): Uint8Array { + return MsgExecuteContractCompatResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgExecuteContractCompatResponse): MsgExecuteContractCompatResponseProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.MsgExecuteContractCompatResponse', + value: MsgExecuteContractCompatResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateContract(): MsgUpdateContract { + return { + sender: '', + contractAddress: '', + gasLimit: BigInt(0), + gasPrice: BigInt(0), + adminAddress: undefined, + }; +} +export const MsgUpdateContract = { + typeUrl: '/injective.wasmx.v1.MsgUpdateContract', + encode(message: MsgUpdateContract, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.contractAddress !== '') { + writer.uint32(18).string(message.contractAddress); + } + if (message.gasLimit !== BigInt(0)) { + writer.uint32(24).uint64(message.gasLimit); + } + if (message.gasPrice !== BigInt(0)) { + writer.uint32(32).uint64(message.gasPrice); + } + if (message.adminAddress !== undefined) { + writer.uint32(42).string(message.adminAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateContract { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.contractAddress = reader.string(); + break; + case 3: + message.gasLimit = reader.uint64(); + break; + case 4: + message.gasPrice = reader.uint64(); + break; + case 5: + message.adminAddress = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateContract { + const message = createBaseMsgUpdateContract(); + message.sender = object.sender ?? ''; + message.contractAddress = object.contractAddress ?? ''; + message.gasLimit = + object.gasLimit !== undefined && object.gasLimit !== null ? BigInt(object.gasLimit.toString()) : BigInt(0); + message.gasPrice = + object.gasPrice !== undefined && object.gasPrice !== null ? BigInt(object.gasPrice.toString()) : BigInt(0); + message.adminAddress = object.adminAddress ?? undefined; + return message; + }, + fromAmino(object: MsgUpdateContractAmino): MsgUpdateContract { + const message = createBaseMsgUpdateContract(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.contract_address !== undefined && object.contract_address !== null) { + message.contractAddress = object.contract_address; + } + if (object.gas_limit !== undefined && object.gas_limit !== null) { + message.gasLimit = BigInt(object.gas_limit); + } + if (object.gas_price !== undefined && object.gas_price !== null) { + message.gasPrice = BigInt(object.gas_price); + } + if (object.admin_address !== undefined && object.admin_address !== null) { + message.adminAddress = object.admin_address; + } + return message; + }, + toAmino(message: MsgUpdateContract): MsgUpdateContractAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.contract_address = message.contractAddress === '' ? undefined : message.contractAddress; + obj.gas_limit = message.gasLimit !== BigInt(0) ? (message.gasLimit?.toString)() : undefined; + obj.gas_price = message.gasPrice !== BigInt(0) ? (message.gasPrice?.toString)() : undefined; + obj.admin_address = message.adminAddress === null ? undefined : message.adminAddress; + return obj; + }, + fromAminoMsg(object: MsgUpdateContractAminoMsg): MsgUpdateContract { + return MsgUpdateContract.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateContract): MsgUpdateContractAminoMsg { + return { + type: 'wasmx/MsgUpdateContract', + value: MsgUpdateContract.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateContractProtoMsg): MsgUpdateContract { + return MsgUpdateContract.decode(message.value); + }, + toProto(message: MsgUpdateContract): Uint8Array { + return MsgUpdateContract.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateContract): MsgUpdateContractProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.MsgUpdateContract', + value: MsgUpdateContract.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateContractResponse(): MsgUpdateContractResponse { + return {}; +} +export const MsgUpdateContractResponse = { + typeUrl: '/injective.wasmx.v1.MsgUpdateContractResponse', + encode(_: MsgUpdateContractResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateContractResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateContractResponse { + const message = createBaseMsgUpdateContractResponse(); + return message; + }, + fromAmino(_: MsgUpdateContractResponseAmino): MsgUpdateContractResponse { + const message = createBaseMsgUpdateContractResponse(); + return message; + }, + toAmino(_: MsgUpdateContractResponse): MsgUpdateContractResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateContractResponseAminoMsg): MsgUpdateContractResponse { + return MsgUpdateContractResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgUpdateContractResponseProtoMsg): MsgUpdateContractResponse { + return MsgUpdateContractResponse.decode(message.value); + }, + toProto(message: MsgUpdateContractResponse): Uint8Array { + return MsgUpdateContractResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateContractResponse): MsgUpdateContractResponseProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.MsgUpdateContractResponse', + value: MsgUpdateContractResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgActivateContract(): MsgActivateContract { + return { + sender: '', + contractAddress: '', + }; +} +export const MsgActivateContract = { + typeUrl: '/injective.wasmx.v1.MsgActivateContract', + encode(message: MsgActivateContract, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.contractAddress !== '') { + writer.uint32(18).string(message.contractAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgActivateContract { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgActivateContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.contractAddress = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgActivateContract { + const message = createBaseMsgActivateContract(); + message.sender = object.sender ?? ''; + message.contractAddress = object.contractAddress ?? ''; + return message; + }, + fromAmino(object: MsgActivateContractAmino): MsgActivateContract { + const message = createBaseMsgActivateContract(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.contract_address !== undefined && object.contract_address !== null) { + message.contractAddress = object.contract_address; + } + return message; + }, + toAmino(message: MsgActivateContract): MsgActivateContractAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.contract_address = message.contractAddress === '' ? undefined : message.contractAddress; + return obj; + }, + fromAminoMsg(object: MsgActivateContractAminoMsg): MsgActivateContract { + return MsgActivateContract.fromAmino(object.value); + }, + toAminoMsg(message: MsgActivateContract): MsgActivateContractAminoMsg { + return { + type: 'wasmx/MsgActivateContract', + value: MsgActivateContract.toAmino(message), + }; + }, + fromProtoMsg(message: MsgActivateContractProtoMsg): MsgActivateContract { + return MsgActivateContract.decode(message.value); + }, + toProto(message: MsgActivateContract): Uint8Array { + return MsgActivateContract.encode(message).finish(); + }, + toProtoMsg(message: MsgActivateContract): MsgActivateContractProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.MsgActivateContract', + value: MsgActivateContract.encode(message).finish(), + }; + }, +}; +function createBaseMsgActivateContractResponse(): MsgActivateContractResponse { + return {}; +} +export const MsgActivateContractResponse = { + typeUrl: '/injective.wasmx.v1.MsgActivateContractResponse', + encode(_: MsgActivateContractResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgActivateContractResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgActivateContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgActivateContractResponse { + const message = createBaseMsgActivateContractResponse(); + return message; + }, + fromAmino(_: MsgActivateContractResponseAmino): MsgActivateContractResponse { + const message = createBaseMsgActivateContractResponse(); + return message; + }, + toAmino(_: MsgActivateContractResponse): MsgActivateContractResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgActivateContractResponseAminoMsg): MsgActivateContractResponse { + return MsgActivateContractResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgActivateContractResponseProtoMsg): MsgActivateContractResponse { + return MsgActivateContractResponse.decode(message.value); + }, + toProto(message: MsgActivateContractResponse): Uint8Array { + return MsgActivateContractResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgActivateContractResponse): MsgActivateContractResponseProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.MsgActivateContractResponse', + value: MsgActivateContractResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgDeactivateContract(): MsgDeactivateContract { + return { + sender: '', + contractAddress: '', + }; +} +export const MsgDeactivateContract = { + typeUrl: '/injective.wasmx.v1.MsgDeactivateContract', + encode(message: MsgDeactivateContract, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.contractAddress !== '') { + writer.uint32(18).string(message.contractAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDeactivateContract { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDeactivateContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.contractAddress = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgDeactivateContract { + const message = createBaseMsgDeactivateContract(); + message.sender = object.sender ?? ''; + message.contractAddress = object.contractAddress ?? ''; + return message; + }, + fromAmino(object: MsgDeactivateContractAmino): MsgDeactivateContract { + const message = createBaseMsgDeactivateContract(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.contract_address !== undefined && object.contract_address !== null) { + message.contractAddress = object.contract_address; + } + return message; + }, + toAmino(message: MsgDeactivateContract): MsgDeactivateContractAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.contract_address = message.contractAddress === '' ? undefined : message.contractAddress; + return obj; + }, + fromAminoMsg(object: MsgDeactivateContractAminoMsg): MsgDeactivateContract { + return MsgDeactivateContract.fromAmino(object.value); + }, + toAminoMsg(message: MsgDeactivateContract): MsgDeactivateContractAminoMsg { + return { + type: 'wasmx/MsgDeactivateContract', + value: MsgDeactivateContract.toAmino(message), + }; + }, + fromProtoMsg(message: MsgDeactivateContractProtoMsg): MsgDeactivateContract { + return MsgDeactivateContract.decode(message.value); + }, + toProto(message: MsgDeactivateContract): Uint8Array { + return MsgDeactivateContract.encode(message).finish(); + }, + toProtoMsg(message: MsgDeactivateContract): MsgDeactivateContractProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.MsgDeactivateContract', + value: MsgDeactivateContract.encode(message).finish(), + }; + }, +}; +function createBaseMsgDeactivateContractResponse(): MsgDeactivateContractResponse { + return {}; +} +export const MsgDeactivateContractResponse = { + typeUrl: '/injective.wasmx.v1.MsgDeactivateContractResponse', + encode(_: MsgDeactivateContractResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgDeactivateContractResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgDeactivateContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgDeactivateContractResponse { + const message = createBaseMsgDeactivateContractResponse(); + return message; + }, + fromAmino(_: MsgDeactivateContractResponseAmino): MsgDeactivateContractResponse { + const message = createBaseMsgDeactivateContractResponse(); + return message; + }, + toAmino(_: MsgDeactivateContractResponse): MsgDeactivateContractResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgDeactivateContractResponseAminoMsg): MsgDeactivateContractResponse { + return MsgDeactivateContractResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgDeactivateContractResponseProtoMsg): MsgDeactivateContractResponse { + return MsgDeactivateContractResponse.decode(message.value); + }, + toProto(message: MsgDeactivateContractResponse): Uint8Array { + return MsgDeactivateContractResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgDeactivateContractResponse): MsgDeactivateContractResponseProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.MsgDeactivateContractResponse', + value: MsgDeactivateContractResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParams(): MsgUpdateParams { + return { + authority: '', + params: Params.fromPartial({}), + }; +} +export const MsgUpdateParams = { + typeUrl: '/injective.wasmx.v1.MsgUpdateParams', + encode(message: MsgUpdateParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.authority !== '') { + writer.uint32(10).string(message.authority); + } + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.authority = reader.string(); + break; + case 2: + message.params = Params.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + message.authority = object.authority ?? ''; + message.params = + object.params !== undefined && object.params !== null ? Params.fromPartial(object.params) : undefined; + return message; + }, + fromAmino(object: MsgUpdateParamsAmino): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + if (object.authority !== undefined && object.authority !== null) { + message.authority = object.authority; + } + if (object.params !== undefined && object.params !== null) { + message.params = Params.fromAmino(object.params); + } + return message; + }, + toAmino(message: MsgUpdateParams): MsgUpdateParamsAmino { + const obj: any = {}; + obj.authority = message.authority === '' ? undefined : message.authority; + obj.params = message.params ? Params.toAmino(message.params) : undefined; + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsAminoMsg): MsgUpdateParams { + return MsgUpdateParams.fromAmino(object.value); + }, + toAminoMsg(message: MsgUpdateParams): MsgUpdateParamsAminoMsg { + return { + type: 'wasmx/MsgUpdateParams', + value: MsgUpdateParams.toAmino(message), + }; + }, + fromProtoMsg(message: MsgUpdateParamsProtoMsg): MsgUpdateParams { + return MsgUpdateParams.decode(message.value); + }, + toProto(message: MsgUpdateParams): Uint8Array { + return MsgUpdateParams.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParams): MsgUpdateParamsProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.MsgUpdateParams', + value: MsgUpdateParams.encode(message).finish(), + }; + }, +}; +function createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse { + return {}; +} +export const MsgUpdateParamsResponse = { + typeUrl: '/injective.wasmx.v1.MsgUpdateParamsResponse', + encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + fromAmino(_: MsgUpdateParamsResponseAmino): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, + toAmino(_: MsgUpdateParamsResponse): MsgUpdateParamsResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgUpdateParamsResponseAminoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgUpdateParamsResponseProtoMsg): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.decode(message.value); + }, + toProto(message: MsgUpdateParamsResponse): Uint8Array { + return MsgUpdateParamsResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgUpdateParamsResponse): MsgUpdateParamsResponseProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.MsgUpdateParamsResponse', + value: MsgUpdateParamsResponse.encode(message).finish(), + }; + }, +}; +function createBaseMsgRegisterContract(): MsgRegisterContract { + return { + sender: '', + contractRegistrationRequest: ContractRegistrationRequest.fromPartial({}), + }; +} +export const MsgRegisterContract = { + typeUrl: '/injective.wasmx.v1.MsgRegisterContract', + encode(message: MsgRegisterContract, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.sender !== '') { + writer.uint32(10).string(message.sender); + } + if (message.contractRegistrationRequest !== undefined) { + ContractRegistrationRequest.encode(message.contractRegistrationRequest, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterContract { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRegisterContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.sender = reader.string(); + break; + case 2: + message.contractRegistrationRequest = ContractRegistrationRequest.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): MsgRegisterContract { + const message = createBaseMsgRegisterContract(); + message.sender = object.sender ?? ''; + message.contractRegistrationRequest = + object.contractRegistrationRequest !== undefined && object.contractRegistrationRequest !== null + ? ContractRegistrationRequest.fromPartial(object.contractRegistrationRequest) + : undefined; + return message; + }, + fromAmino(object: MsgRegisterContractAmino): MsgRegisterContract { + const message = createBaseMsgRegisterContract(); + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + if (object.contract_registration_request !== undefined && object.contract_registration_request !== null) { + message.contractRegistrationRequest = ContractRegistrationRequest.fromAmino(object.contract_registration_request); + } + return message; + }, + toAmino(message: MsgRegisterContract): MsgRegisterContractAmino { + const obj: any = {}; + obj.sender = message.sender === '' ? undefined : message.sender; + obj.contract_registration_request = message.contractRegistrationRequest + ? ContractRegistrationRequest.toAmino(message.contractRegistrationRequest) + : undefined; + return obj; + }, + fromAminoMsg(object: MsgRegisterContractAminoMsg): MsgRegisterContract { + return MsgRegisterContract.fromAmino(object.value); + }, + toAminoMsg(message: MsgRegisterContract): MsgRegisterContractAminoMsg { + return { + type: 'wasmx/MsgRegisterContract', + value: MsgRegisterContract.toAmino(message), + }; + }, + fromProtoMsg(message: MsgRegisterContractProtoMsg): MsgRegisterContract { + return MsgRegisterContract.decode(message.value); + }, + toProto(message: MsgRegisterContract): Uint8Array { + return MsgRegisterContract.encode(message).finish(); + }, + toProtoMsg(message: MsgRegisterContract): MsgRegisterContractProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.MsgRegisterContract', + value: MsgRegisterContract.encode(message).finish(), + }; + }, +}; +function createBaseMsgRegisterContractResponse(): MsgRegisterContractResponse { + return {}; +} +export const MsgRegisterContractResponse = { + typeUrl: '/injective.wasmx.v1.MsgRegisterContractResponse', + encode(_: MsgRegisterContractResponse, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterContractResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRegisterContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): MsgRegisterContractResponse { + const message = createBaseMsgRegisterContractResponse(); + return message; + }, + fromAmino(_: MsgRegisterContractResponseAmino): MsgRegisterContractResponse { + const message = createBaseMsgRegisterContractResponse(); + return message; + }, + toAmino(_: MsgRegisterContractResponse): MsgRegisterContractResponseAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: MsgRegisterContractResponseAminoMsg): MsgRegisterContractResponse { + return MsgRegisterContractResponse.fromAmino(object.value); + }, + fromProtoMsg(message: MsgRegisterContractResponseProtoMsg): MsgRegisterContractResponse { + return MsgRegisterContractResponse.decode(message.value); + }, + toProto(message: MsgRegisterContractResponse): Uint8Array { + return MsgRegisterContractResponse.encode(message).finish(); + }, + toProtoMsg(message: MsgRegisterContractResponse): MsgRegisterContractResponseProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.MsgRegisterContractResponse', + value: MsgRegisterContractResponse.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/wasmx/v1/wasmx.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/wasmx/v1/wasmx.ts new file mode 100644 index 00000000..d26371fb --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/injective/wasmx/v1/wasmx.ts @@ -0,0 +1,399 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../../binary'; +import { AccessConfig, AccessConfigAmino, AccessConfigSDKType } from '../../../cosmwasm/wasm/v1/types'; +import { FundingMode } from './proposal'; +export interface Params { + /** + * Set the status to active to indicate that contracts can be executed in + * begin blocker. + */ + isExecutionEnabled: boolean; + /** + * Maximum aggregate total gas to be used for the contract executions in the + * BeginBlocker. + */ + maxBeginBlockTotalGas: bigint; + /** + * the maximum gas limit each individual contract can consume in the + * BeginBlocker. + */ + maxContractGasLimit: bigint; + /** + * min_gas_price defines the minimum gas price the contracts must pay to be + * executed in the BeginBlocker. + */ + minGasPrice: bigint; + registerContractAccess: AccessConfig; +} +export interface ParamsProtoMsg { + typeUrl: '/injective.wasmx.v1.Params'; + value: Uint8Array; +} +export interface ParamsAmino { + /** + * Set the status to active to indicate that contracts can be executed in + * begin blocker. + */ + is_execution_enabled?: boolean; + /** + * Maximum aggregate total gas to be used for the contract executions in the + * BeginBlocker. + */ + max_begin_block_total_gas?: string; + /** + * the maximum gas limit each individual contract can consume in the + * BeginBlocker. + */ + max_contract_gas_limit?: string; + /** + * min_gas_price defines the minimum gas price the contracts must pay to be + * executed in the BeginBlocker. + */ + min_gas_price?: string; + register_contract_access: AccessConfigAmino; +} +export interface ParamsAminoMsg { + type: 'wasmx/Params'; + value: ParamsAmino; +} +export interface ParamsSDKType { + is_execution_enabled: boolean; + max_begin_block_total_gas: bigint; + max_contract_gas_limit: bigint; + min_gas_price: bigint; + register_contract_access: AccessConfigSDKType; +} +export interface RegisteredContract { + /** limit of gas per BB execution */ + gasLimit: bigint; + /** gas price that contract is willing to pay for execution in BeginBlocker */ + gasPrice: bigint; + /** is contract currently active */ + isExecutable: boolean; + /** + * code_id that is allowed to be executed (to prevent malicious updates) - if + * nil/0 any code_id can be executed + */ + codeId?: bigint; + /** optional - admin addr that is allowed to update contract data */ + adminAddress?: string; + /** + * Optional: address of the contract granting fee + * Must be set if fund_mode is GrantOnly + */ + granterAddress?: string; + /** funding mode */ + fundMode: FundingMode; +} +export interface RegisteredContractProtoMsg { + typeUrl: '/injective.wasmx.v1.RegisteredContract'; + value: Uint8Array; +} +export interface RegisteredContractAmino { + /** limit of gas per BB execution */ + gas_limit?: string; + /** gas price that contract is willing to pay for execution in BeginBlocker */ + gas_price?: string; + /** is contract currently active */ + is_executable?: boolean; + /** + * code_id that is allowed to be executed (to prevent malicious updates) - if + * nil/0 any code_id can be executed + */ + code_id?: string; + /** optional - admin addr that is allowed to update contract data */ + admin_address?: string; + /** + * Optional: address of the contract granting fee + * Must be set if fund_mode is GrantOnly + */ + granter_address?: string; + /** funding mode */ + fund_mode?: FundingMode; +} +export interface RegisteredContractAminoMsg { + type: '/injective.wasmx.v1.RegisteredContract'; + value: RegisteredContractAmino; +} +export interface RegisteredContractSDKType { + gas_limit: bigint; + gas_price: bigint; + is_executable: boolean; + code_id?: bigint; + admin_address?: string; + granter_address?: string; + fund_mode: FundingMode; +} +function createBaseParams(): Params { + return { + isExecutionEnabled: false, + maxBeginBlockTotalGas: BigInt(0), + maxContractGasLimit: BigInt(0), + minGasPrice: BigInt(0), + registerContractAccess: AccessConfig.fromPartial({}), + }; +} +export const Params = { + typeUrl: '/injective.wasmx.v1.Params', + encode(message: Params, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.isExecutionEnabled === true) { + writer.uint32(8).bool(message.isExecutionEnabled); + } + if (message.maxBeginBlockTotalGas !== BigInt(0)) { + writer.uint32(16).uint64(message.maxBeginBlockTotalGas); + } + if (message.maxContractGasLimit !== BigInt(0)) { + writer.uint32(24).uint64(message.maxContractGasLimit); + } + if (message.minGasPrice !== BigInt(0)) { + writer.uint32(32).uint64(message.minGasPrice); + } + if (message.registerContractAccess !== undefined) { + AccessConfig.encode(message.registerContractAccess, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Params { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.isExecutionEnabled = reader.bool(); + break; + case 2: + message.maxBeginBlockTotalGas = reader.uint64(); + break; + case 3: + message.maxContractGasLimit = reader.uint64(); + break; + case 4: + message.minGasPrice = reader.uint64(); + break; + case 5: + message.registerContractAccess = AccessConfig.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Params { + const message = createBaseParams(); + message.isExecutionEnabled = object.isExecutionEnabled ?? false; + message.maxBeginBlockTotalGas = + object.maxBeginBlockTotalGas !== undefined && object.maxBeginBlockTotalGas !== null + ? BigInt(object.maxBeginBlockTotalGas.toString()) + : BigInt(0); + message.maxContractGasLimit = + object.maxContractGasLimit !== undefined && object.maxContractGasLimit !== null + ? BigInt(object.maxContractGasLimit.toString()) + : BigInt(0); + message.minGasPrice = + object.minGasPrice !== undefined && object.minGasPrice !== null + ? BigInt(object.minGasPrice.toString()) + : BigInt(0); + message.registerContractAccess = + object.registerContractAccess !== undefined && object.registerContractAccess !== null + ? AccessConfig.fromPartial(object.registerContractAccess) + : undefined; + return message; + }, + fromAmino(object: ParamsAmino): Params { + const message = createBaseParams(); + if (object.is_execution_enabled !== undefined && object.is_execution_enabled !== null) { + message.isExecutionEnabled = object.is_execution_enabled; + } + if (object.max_begin_block_total_gas !== undefined && object.max_begin_block_total_gas !== null) { + message.maxBeginBlockTotalGas = BigInt(object.max_begin_block_total_gas); + } + if (object.max_contract_gas_limit !== undefined && object.max_contract_gas_limit !== null) { + message.maxContractGasLimit = BigInt(object.max_contract_gas_limit); + } + if (object.min_gas_price !== undefined && object.min_gas_price !== null) { + message.minGasPrice = BigInt(object.min_gas_price); + } + if (object.register_contract_access !== undefined && object.register_contract_access !== null) { + message.registerContractAccess = AccessConfig.fromAmino(object.register_contract_access); + } + return message; + }, + toAmino(message: Params): ParamsAmino { + const obj: any = {}; + obj.is_execution_enabled = message.isExecutionEnabled === false ? undefined : message.isExecutionEnabled; + obj.max_begin_block_total_gas = + message.maxBeginBlockTotalGas !== BigInt(0) ? (message.maxBeginBlockTotalGas?.toString)() : undefined; + obj.max_contract_gas_limit = + message.maxContractGasLimit !== BigInt(0) ? (message.maxContractGasLimit?.toString)() : undefined; + obj.min_gas_price = message.minGasPrice !== BigInt(0) ? (message.minGasPrice?.toString)() : undefined; + obj.register_contract_access = message.registerContractAccess + ? AccessConfig.toAmino(message.registerContractAccess) + : AccessConfig.toAmino(AccessConfig.fromPartial({})); + return obj; + }, + fromAminoMsg(object: ParamsAminoMsg): Params { + return Params.fromAmino(object.value); + }, + toAminoMsg(message: Params): ParamsAminoMsg { + return { + type: 'wasmx/Params', + value: Params.toAmino(message), + }; + }, + fromProtoMsg(message: ParamsProtoMsg): Params { + return Params.decode(message.value); + }, + toProto(message: Params): Uint8Array { + return Params.encode(message).finish(); + }, + toProtoMsg(message: Params): ParamsProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.Params', + value: Params.encode(message).finish(), + }; + }, +}; +function createBaseRegisteredContract(): RegisteredContract { + return { + gasLimit: BigInt(0), + gasPrice: BigInt(0), + isExecutable: false, + codeId: undefined, + adminAddress: undefined, + granterAddress: undefined, + fundMode: 0, + }; +} +export const RegisteredContract = { + typeUrl: '/injective.wasmx.v1.RegisteredContract', + encode(message: RegisteredContract, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.gasLimit !== BigInt(0)) { + writer.uint32(8).uint64(message.gasLimit); + } + if (message.gasPrice !== BigInt(0)) { + writer.uint32(16).uint64(message.gasPrice); + } + if (message.isExecutable === true) { + writer.uint32(24).bool(message.isExecutable); + } + if (message.codeId !== undefined) { + writer.uint32(32).uint64(message.codeId); + } + if (message.adminAddress !== undefined) { + writer.uint32(42).string(message.adminAddress); + } + if (message.granterAddress !== undefined) { + writer.uint32(50).string(message.granterAddress); + } + if (message.fundMode !== 0) { + writer.uint32(56).int32(message.fundMode); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RegisteredContract { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegisteredContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gasLimit = reader.uint64(); + break; + case 2: + message.gasPrice = reader.uint64(); + break; + case 3: + message.isExecutable = reader.bool(); + break; + case 4: + message.codeId = reader.uint64(); + break; + case 5: + message.adminAddress = reader.string(); + break; + case 6: + message.granterAddress = reader.string(); + break; + case 7: + message.fundMode = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RegisteredContract { + const message = createBaseRegisteredContract(); + message.gasLimit = + object.gasLimit !== undefined && object.gasLimit !== null ? BigInt(object.gasLimit.toString()) : BigInt(0); + message.gasPrice = + object.gasPrice !== undefined && object.gasPrice !== null ? BigInt(object.gasPrice.toString()) : BigInt(0); + message.isExecutable = object.isExecutable ?? false; + message.codeId = + object.codeId !== undefined && object.codeId !== null ? BigInt(object.codeId.toString()) : undefined; + message.adminAddress = object.adminAddress ?? undefined; + message.granterAddress = object.granterAddress ?? undefined; + message.fundMode = object.fundMode ?? 0; + return message; + }, + fromAmino(object: RegisteredContractAmino): RegisteredContract { + const message = createBaseRegisteredContract(); + if (object.gas_limit !== undefined && object.gas_limit !== null) { + message.gasLimit = BigInt(object.gas_limit); + } + if (object.gas_price !== undefined && object.gas_price !== null) { + message.gasPrice = BigInt(object.gas_price); + } + if (object.is_executable !== undefined && object.is_executable !== null) { + message.isExecutable = object.is_executable; + } + if (object.code_id !== undefined && object.code_id !== null) { + message.codeId = BigInt(object.code_id); + } + if (object.admin_address !== undefined && object.admin_address !== null) { + message.adminAddress = object.admin_address; + } + if (object.granter_address !== undefined && object.granter_address !== null) { + message.granterAddress = object.granter_address; + } + if (object.fund_mode !== undefined && object.fund_mode !== null) { + message.fundMode = object.fund_mode; + } + return message; + }, + toAmino(message: RegisteredContract): RegisteredContractAmino { + const obj: any = {}; + obj.gas_limit = message.gasLimit !== BigInt(0) ? (message.gasLimit?.toString)() : undefined; + obj.gas_price = message.gasPrice !== BigInt(0) ? (message.gasPrice?.toString)() : undefined; + obj.is_executable = message.isExecutable === false ? undefined : message.isExecutable; + obj.code_id = message.codeId !== BigInt(0) ? (message.codeId?.toString)() : undefined; + obj.admin_address = message.adminAddress === null ? undefined : message.adminAddress; + obj.granter_address = message.granterAddress === null ? undefined : message.granterAddress; + obj.fund_mode = message.fundMode === 0 ? undefined : message.fundMode; + return obj; + }, + fromAminoMsg(object: RegisteredContractAminoMsg): RegisteredContract { + return RegisteredContract.fromAmino(object.value); + }, + fromProtoMsg(message: RegisteredContractProtoMsg): RegisteredContract { + return RegisteredContract.decode(message.value); + }, + toProto(message: RegisteredContract): Uint8Array { + return RegisteredContract.encode(message).finish(); + }, + toProtoMsg(message: RegisteredContract): RegisteredContractProtoMsg { + return { + typeUrl: '/injective.wasmx.v1.RegisteredContract', + value: RegisteredContract.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/abci/types.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/abci/types.ts new file mode 100644 index 00000000..2b2ca81a --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/abci/types.ts @@ -0,0 +1,6420 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Timestamp } from 'cosmjs-types/google/protobuf/timestamp'; + +import { BinaryReader, BinaryWriter } from '../../../../binary'; +import { base64FromBytes, bytesFromBase64, fromTimestamp, toTimestamp } from '../../../../helpers'; +import { PublicKey, PublicKeyAmino, PublicKeySDKType } from '../crypto/keys'; +import { ProofOps, ProofOpsAmino, ProofOpsSDKType } from '../crypto/proof'; +import { ConsensusParams, ConsensusParamsAmino, ConsensusParamsSDKType } from '../types/params'; +import { BlockIDFlag } from '../types/validator'; +export enum CheckTxType { + NEW = 0, + RECHECK = 1, + UNRECOGNIZED = -1, +} +export const CheckTxTypeSDKType = CheckTxType; +export const CheckTxTypeAmino = CheckTxType; +export function checkTxTypeFromJSON(object: any): CheckTxType { + switch (object) { + case 0: + case 'NEW': + return CheckTxType.NEW; + case 1: + case 'RECHECK': + return CheckTxType.RECHECK; + case -1: + case 'UNRECOGNIZED': + default: + return CheckTxType.UNRECOGNIZED; + } +} +export function checkTxTypeToJSON(object: CheckTxType): string { + switch (object) { + case CheckTxType.NEW: + return 'NEW'; + case CheckTxType.RECHECK: + return 'RECHECK'; + case CheckTxType.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export enum ResponseOfferSnapshot_Result { + /** UNKNOWN - Unknown result, abort all snapshot restoration */ + UNKNOWN = 0, + /** ACCEPT - Snapshot accepted, apply chunks */ + ACCEPT = 1, + /** ABORT - Abort all snapshot restoration */ + ABORT = 2, + /** REJECT - Reject this specific snapshot, try others */ + REJECT = 3, + /** REJECT_FORMAT - Reject all snapshots of this format, try others */ + REJECT_FORMAT = 4, + /** REJECT_SENDER - Reject all snapshots from the sender(s), try others */ + REJECT_SENDER = 5, + UNRECOGNIZED = -1, +} +export const ResponseOfferSnapshot_ResultSDKType = ResponseOfferSnapshot_Result; +export const ResponseOfferSnapshot_ResultAmino = ResponseOfferSnapshot_Result; +export function responseOfferSnapshot_ResultFromJSON(object: any): ResponseOfferSnapshot_Result { + switch (object) { + case 0: + case 'UNKNOWN': + return ResponseOfferSnapshot_Result.UNKNOWN; + case 1: + case 'ACCEPT': + return ResponseOfferSnapshot_Result.ACCEPT; + case 2: + case 'ABORT': + return ResponseOfferSnapshot_Result.ABORT; + case 3: + case 'REJECT': + return ResponseOfferSnapshot_Result.REJECT; + case 4: + case 'REJECT_FORMAT': + return ResponseOfferSnapshot_Result.REJECT_FORMAT; + case 5: + case 'REJECT_SENDER': + return ResponseOfferSnapshot_Result.REJECT_SENDER; + case -1: + case 'UNRECOGNIZED': + default: + return ResponseOfferSnapshot_Result.UNRECOGNIZED; + } +} +export function responseOfferSnapshot_ResultToJSON(object: ResponseOfferSnapshot_Result): string { + switch (object) { + case ResponseOfferSnapshot_Result.UNKNOWN: + return 'UNKNOWN'; + case ResponseOfferSnapshot_Result.ACCEPT: + return 'ACCEPT'; + case ResponseOfferSnapshot_Result.ABORT: + return 'ABORT'; + case ResponseOfferSnapshot_Result.REJECT: + return 'REJECT'; + case ResponseOfferSnapshot_Result.REJECT_FORMAT: + return 'REJECT_FORMAT'; + case ResponseOfferSnapshot_Result.REJECT_SENDER: + return 'REJECT_SENDER'; + case ResponseOfferSnapshot_Result.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export enum ResponseApplySnapshotChunk_Result { + /** UNKNOWN - Unknown result, abort all snapshot restoration */ + UNKNOWN = 0, + /** ACCEPT - Chunk successfully accepted */ + ACCEPT = 1, + /** ABORT - Abort all snapshot restoration */ + ABORT = 2, + /** RETRY - Retry chunk (combine with refetch and reject) */ + RETRY = 3, + /** RETRY_SNAPSHOT - Retry snapshot (combine with refetch and reject) */ + RETRY_SNAPSHOT = 4, + /** REJECT_SNAPSHOT - Reject this snapshot, try others */ + REJECT_SNAPSHOT = 5, + UNRECOGNIZED = -1, +} +export const ResponseApplySnapshotChunk_ResultSDKType = ResponseApplySnapshotChunk_Result; +export const ResponseApplySnapshotChunk_ResultAmino = ResponseApplySnapshotChunk_Result; +export function responseApplySnapshotChunk_ResultFromJSON(object: any): ResponseApplySnapshotChunk_Result { + switch (object) { + case 0: + case 'UNKNOWN': + return ResponseApplySnapshotChunk_Result.UNKNOWN; + case 1: + case 'ACCEPT': + return ResponseApplySnapshotChunk_Result.ACCEPT; + case 2: + case 'ABORT': + return ResponseApplySnapshotChunk_Result.ABORT; + case 3: + case 'RETRY': + return ResponseApplySnapshotChunk_Result.RETRY; + case 4: + case 'RETRY_SNAPSHOT': + return ResponseApplySnapshotChunk_Result.RETRY_SNAPSHOT; + case 5: + case 'REJECT_SNAPSHOT': + return ResponseApplySnapshotChunk_Result.REJECT_SNAPSHOT; + case -1: + case 'UNRECOGNIZED': + default: + return ResponseApplySnapshotChunk_Result.UNRECOGNIZED; + } +} +export function responseApplySnapshotChunk_ResultToJSON(object: ResponseApplySnapshotChunk_Result): string { + switch (object) { + case ResponseApplySnapshotChunk_Result.UNKNOWN: + return 'UNKNOWN'; + case ResponseApplySnapshotChunk_Result.ACCEPT: + return 'ACCEPT'; + case ResponseApplySnapshotChunk_Result.ABORT: + return 'ABORT'; + case ResponseApplySnapshotChunk_Result.RETRY: + return 'RETRY'; + case ResponseApplySnapshotChunk_Result.RETRY_SNAPSHOT: + return 'RETRY_SNAPSHOT'; + case ResponseApplySnapshotChunk_Result.REJECT_SNAPSHOT: + return 'REJECT_SNAPSHOT'; + case ResponseApplySnapshotChunk_Result.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export enum ResponseProcessProposal_ProposalStatus { + UNKNOWN = 0, + ACCEPT = 1, + REJECT = 2, + UNRECOGNIZED = -1, +} +export const ResponseProcessProposal_ProposalStatusSDKType = ResponseProcessProposal_ProposalStatus; +export const ResponseProcessProposal_ProposalStatusAmino = ResponseProcessProposal_ProposalStatus; +export function responseProcessProposal_ProposalStatusFromJSON(object: any): ResponseProcessProposal_ProposalStatus { + switch (object) { + case 0: + case 'UNKNOWN': + return ResponseProcessProposal_ProposalStatus.UNKNOWN; + case 1: + case 'ACCEPT': + return ResponseProcessProposal_ProposalStatus.ACCEPT; + case 2: + case 'REJECT': + return ResponseProcessProposal_ProposalStatus.REJECT; + case -1: + case 'UNRECOGNIZED': + default: + return ResponseProcessProposal_ProposalStatus.UNRECOGNIZED; + } +} +export function responseProcessProposal_ProposalStatusToJSON(object: ResponseProcessProposal_ProposalStatus): string { + switch (object) { + case ResponseProcessProposal_ProposalStatus.UNKNOWN: + return 'UNKNOWN'; + case ResponseProcessProposal_ProposalStatus.ACCEPT: + return 'ACCEPT'; + case ResponseProcessProposal_ProposalStatus.REJECT: + return 'REJECT'; + case ResponseProcessProposal_ProposalStatus.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export enum ResponseVerifyVoteExtension_VerifyStatus { + UNKNOWN = 0, + ACCEPT = 1, + /** + * REJECT - Rejecting the vote extension will reject the entire precommit by the sender. + * Incorrectly implementing this thus has liveness implications as it may affect + * CometBFT's ability to receive 2/3+ valid votes to finalize the block. + * Honest nodes should never be rejected. + */ + REJECT = 2, + UNRECOGNIZED = -1, +} +export const ResponseVerifyVoteExtension_VerifyStatusSDKType = ResponseVerifyVoteExtension_VerifyStatus; +export const ResponseVerifyVoteExtension_VerifyStatusAmino = ResponseVerifyVoteExtension_VerifyStatus; +export function responseVerifyVoteExtension_VerifyStatusFromJSON( + object: any, +): ResponseVerifyVoteExtension_VerifyStatus { + switch (object) { + case 0: + case 'UNKNOWN': + return ResponseVerifyVoteExtension_VerifyStatus.UNKNOWN; + case 1: + case 'ACCEPT': + return ResponseVerifyVoteExtension_VerifyStatus.ACCEPT; + case 2: + case 'REJECT': + return ResponseVerifyVoteExtension_VerifyStatus.REJECT; + case -1: + case 'UNRECOGNIZED': + default: + return ResponseVerifyVoteExtension_VerifyStatus.UNRECOGNIZED; + } +} +export function responseVerifyVoteExtension_VerifyStatusToJSON( + object: ResponseVerifyVoteExtension_VerifyStatus, +): string { + switch (object) { + case ResponseVerifyVoteExtension_VerifyStatus.UNKNOWN: + return 'UNKNOWN'; + case ResponseVerifyVoteExtension_VerifyStatus.ACCEPT: + return 'ACCEPT'; + case ResponseVerifyVoteExtension_VerifyStatus.REJECT: + return 'REJECT'; + case ResponseVerifyVoteExtension_VerifyStatus.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export enum MisbehaviorType { + UNKNOWN = 0, + DUPLICATE_VOTE = 1, + LIGHT_CLIENT_ATTACK = 2, + UNRECOGNIZED = -1, +} +export const MisbehaviorTypeSDKType = MisbehaviorType; +export const MisbehaviorTypeAmino = MisbehaviorType; +export function misbehaviorTypeFromJSON(object: any): MisbehaviorType { + switch (object) { + case 0: + case 'UNKNOWN': + return MisbehaviorType.UNKNOWN; + case 1: + case 'DUPLICATE_VOTE': + return MisbehaviorType.DUPLICATE_VOTE; + case 2: + case 'LIGHT_CLIENT_ATTACK': + return MisbehaviorType.LIGHT_CLIENT_ATTACK; + case -1: + case 'UNRECOGNIZED': + default: + return MisbehaviorType.UNRECOGNIZED; + } +} +export function misbehaviorTypeToJSON(object: MisbehaviorType): string { + switch (object) { + case MisbehaviorType.UNKNOWN: + return 'UNKNOWN'; + case MisbehaviorType.DUPLICATE_VOTE: + return 'DUPLICATE_VOTE'; + case MisbehaviorType.LIGHT_CLIENT_ATTACK: + return 'LIGHT_CLIENT_ATTACK'; + case MisbehaviorType.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export interface Request { + echo?: RequestEcho; + flush?: RequestFlush; + info?: RequestInfo; + initChain?: RequestInitChain; + query?: RequestQuery; + checkTx?: RequestCheckTx; + commit?: RequestCommit; + listSnapshots?: RequestListSnapshots; + offerSnapshot?: RequestOfferSnapshot; + loadSnapshotChunk?: RequestLoadSnapshotChunk; + applySnapshotChunk?: RequestApplySnapshotChunk; + prepareProposal?: RequestPrepareProposal; + processProposal?: RequestProcessProposal; + extendVote?: RequestExtendVote; + verifyVoteExtension?: RequestVerifyVoteExtension; + finalizeBlock?: RequestFinalizeBlock; +} +export interface RequestProtoMsg { + typeUrl: '/tendermint.abci.Request'; + value: Uint8Array; +} +export interface RequestAmino { + echo?: RequestEchoAmino; + flush?: RequestFlushAmino; + info?: RequestInfoAmino; + init_chain?: RequestInitChainAmino; + query?: RequestQueryAmino; + check_tx?: RequestCheckTxAmino; + commit?: RequestCommitAmino; + list_snapshots?: RequestListSnapshotsAmino; + offer_snapshot?: RequestOfferSnapshotAmino; + load_snapshot_chunk?: RequestLoadSnapshotChunkAmino; + apply_snapshot_chunk?: RequestApplySnapshotChunkAmino; + prepare_proposal?: RequestPrepareProposalAmino; + process_proposal?: RequestProcessProposalAmino; + extend_vote?: RequestExtendVoteAmino; + verify_vote_extension?: RequestVerifyVoteExtensionAmino; + finalize_block?: RequestFinalizeBlockAmino; +} +export interface RequestAminoMsg { + type: '/tendermint.abci.Request'; + value: RequestAmino; +} +export interface RequestSDKType { + echo?: RequestEchoSDKType; + flush?: RequestFlushSDKType; + info?: RequestInfoSDKType; + init_chain?: RequestInitChainSDKType; + query?: RequestQuerySDKType; + check_tx?: RequestCheckTxSDKType; + commit?: RequestCommitSDKType; + list_snapshots?: RequestListSnapshotsSDKType; + offer_snapshot?: RequestOfferSnapshotSDKType; + load_snapshot_chunk?: RequestLoadSnapshotChunkSDKType; + apply_snapshot_chunk?: RequestApplySnapshotChunkSDKType; + prepare_proposal?: RequestPrepareProposalSDKType; + process_proposal?: RequestProcessProposalSDKType; + extend_vote?: RequestExtendVoteSDKType; + verify_vote_extension?: RequestVerifyVoteExtensionSDKType; + finalize_block?: RequestFinalizeBlockSDKType; +} +export interface RequestEcho { + message: string; +} +export interface RequestEchoProtoMsg { + typeUrl: '/tendermint.abci.RequestEcho'; + value: Uint8Array; +} +export interface RequestEchoAmino { + message?: string; +} +export interface RequestEchoAminoMsg { + type: '/tendermint.abci.RequestEcho'; + value: RequestEchoAmino; +} +export interface RequestEchoSDKType { + message: string; +} +export interface RequestFlush {} +export interface RequestFlushProtoMsg { + typeUrl: '/tendermint.abci.RequestFlush'; + value: Uint8Array; +} +export interface RequestFlushAmino {} +export interface RequestFlushAminoMsg { + type: '/tendermint.abci.RequestFlush'; + value: RequestFlushAmino; +} +export interface RequestFlushSDKType {} +export interface RequestInfo { + version: string; + blockVersion: bigint; + p2pVersion: bigint; + abciVersion: string; +} +export interface RequestInfoProtoMsg { + typeUrl: '/tendermint.abci.RequestInfo'; + value: Uint8Array; +} +export interface RequestInfoAmino { + version?: string; + block_version?: string; + p2p_version?: string; + abci_version?: string; +} +export interface RequestInfoAminoMsg { + type: '/tendermint.abci.RequestInfo'; + value: RequestInfoAmino; +} +export interface RequestInfoSDKType { + version: string; + block_version: bigint; + p2p_version: bigint; + abci_version: string; +} +export interface RequestInitChain { + time: Date; + chainId: string; + consensusParams?: ConsensusParams; + validators: ValidatorUpdate[]; + appStateBytes: Uint8Array; + initialHeight: bigint; +} +export interface RequestInitChainProtoMsg { + typeUrl: '/tendermint.abci.RequestInitChain'; + value: Uint8Array; +} +export interface RequestInitChainAmino { + time?: string; + chain_id?: string; + consensus_params?: ConsensusParamsAmino; + validators?: ValidatorUpdateAmino[]; + app_state_bytes?: string; + initial_height?: string; +} +export interface RequestInitChainAminoMsg { + type: '/tendermint.abci.RequestInitChain'; + value: RequestInitChainAmino; +} +export interface RequestInitChainSDKType { + time: Date; + chain_id: string; + consensus_params?: ConsensusParamsSDKType; + validators: ValidatorUpdateSDKType[]; + app_state_bytes: Uint8Array; + initial_height: bigint; +} +export interface RequestQuery { + data: Uint8Array; + path: string; + height: bigint; + prove: boolean; +} +export interface RequestQueryProtoMsg { + typeUrl: '/tendermint.abci.RequestQuery'; + value: Uint8Array; +} +export interface RequestQueryAmino { + data?: string; + path?: string; + height?: string; + prove?: boolean; +} +export interface RequestQueryAminoMsg { + type: '/tendermint.abci.RequestQuery'; + value: RequestQueryAmino; +} +export interface RequestQuerySDKType { + data: Uint8Array; + path: string; + height: bigint; + prove: boolean; +} +export interface RequestCheckTx { + tx: Uint8Array; + type: CheckTxType; +} +export interface RequestCheckTxProtoMsg { + typeUrl: '/tendermint.abci.RequestCheckTx'; + value: Uint8Array; +} +export interface RequestCheckTxAmino { + tx?: string; + type?: CheckTxType; +} +export interface RequestCheckTxAminoMsg { + type: '/tendermint.abci.RequestCheckTx'; + value: RequestCheckTxAmino; +} +export interface RequestCheckTxSDKType { + tx: Uint8Array; + type: CheckTxType; +} +export interface RequestCommit {} +export interface RequestCommitProtoMsg { + typeUrl: '/tendermint.abci.RequestCommit'; + value: Uint8Array; +} +export interface RequestCommitAmino {} +export interface RequestCommitAminoMsg { + type: '/tendermint.abci.RequestCommit'; + value: RequestCommitAmino; +} +export interface RequestCommitSDKType {} +/** lists available snapshots */ +export interface RequestListSnapshots {} +export interface RequestListSnapshotsProtoMsg { + typeUrl: '/tendermint.abci.RequestListSnapshots'; + value: Uint8Array; +} +/** lists available snapshots */ +export interface RequestListSnapshotsAmino {} +export interface RequestListSnapshotsAminoMsg { + type: '/tendermint.abci.RequestListSnapshots'; + value: RequestListSnapshotsAmino; +} +/** lists available snapshots */ +export interface RequestListSnapshotsSDKType {} +/** offers a snapshot to the application */ +export interface RequestOfferSnapshot { + /** snapshot offered by peers */ + snapshot?: Snapshot; + /** light client-verified app hash for snapshot height */ + appHash: Uint8Array; +} +export interface RequestOfferSnapshotProtoMsg { + typeUrl: '/tendermint.abci.RequestOfferSnapshot'; + value: Uint8Array; +} +/** offers a snapshot to the application */ +export interface RequestOfferSnapshotAmino { + /** snapshot offered by peers */ + snapshot?: SnapshotAmino; + /** light client-verified app hash for snapshot height */ + app_hash?: string; +} +export interface RequestOfferSnapshotAminoMsg { + type: '/tendermint.abci.RequestOfferSnapshot'; + value: RequestOfferSnapshotAmino; +} +/** offers a snapshot to the application */ +export interface RequestOfferSnapshotSDKType { + snapshot?: SnapshotSDKType; + app_hash: Uint8Array; +} +/** loads a snapshot chunk */ +export interface RequestLoadSnapshotChunk { + height: bigint; + format: number; + chunk: number; +} +export interface RequestLoadSnapshotChunkProtoMsg { + typeUrl: '/tendermint.abci.RequestLoadSnapshotChunk'; + value: Uint8Array; +} +/** loads a snapshot chunk */ +export interface RequestLoadSnapshotChunkAmino { + height?: string; + format?: number; + chunk?: number; +} +export interface RequestLoadSnapshotChunkAminoMsg { + type: '/tendermint.abci.RequestLoadSnapshotChunk'; + value: RequestLoadSnapshotChunkAmino; +} +/** loads a snapshot chunk */ +export interface RequestLoadSnapshotChunkSDKType { + height: bigint; + format: number; + chunk: number; +} +/** Applies a snapshot chunk */ +export interface RequestApplySnapshotChunk { + index: number; + chunk: Uint8Array; + sender: string; +} +export interface RequestApplySnapshotChunkProtoMsg { + typeUrl: '/tendermint.abci.RequestApplySnapshotChunk'; + value: Uint8Array; +} +/** Applies a snapshot chunk */ +export interface RequestApplySnapshotChunkAmino { + index?: number; + chunk?: string; + sender?: string; +} +export interface RequestApplySnapshotChunkAminoMsg { + type: '/tendermint.abci.RequestApplySnapshotChunk'; + value: RequestApplySnapshotChunkAmino; +} +/** Applies a snapshot chunk */ +export interface RequestApplySnapshotChunkSDKType { + index: number; + chunk: Uint8Array; + sender: string; +} +export interface RequestPrepareProposal { + /** the modified transactions cannot exceed this size. */ + maxTxBytes: bigint; + /** + * txs is an array of transactions that will be included in a block, + * sent to the app for possible modifications. + */ + txs: Uint8Array[]; + localLastCommit: ExtendedCommitInfo; + misbehavior: Misbehavior[]; + height: bigint; + time: Date; + nextValidatorsHash: Uint8Array; + /** address of the public key of the validator proposing the block. */ + proposerAddress: Uint8Array; +} +export interface RequestPrepareProposalProtoMsg { + typeUrl: '/tendermint.abci.RequestPrepareProposal'; + value: Uint8Array; +} +export interface RequestPrepareProposalAmino { + /** the modified transactions cannot exceed this size. */ + max_tx_bytes?: string; + /** + * txs is an array of transactions that will be included in a block, + * sent to the app for possible modifications. + */ + txs?: string[]; + local_last_commit?: ExtendedCommitInfoAmino; + misbehavior?: MisbehaviorAmino[]; + height?: string; + time?: string; + next_validators_hash?: string; + /** address of the public key of the validator proposing the block. */ + proposer_address?: string; +} +export interface RequestPrepareProposalAminoMsg { + type: '/tendermint.abci.RequestPrepareProposal'; + value: RequestPrepareProposalAmino; +} +export interface RequestPrepareProposalSDKType { + max_tx_bytes: bigint; + txs: Uint8Array[]; + local_last_commit: ExtendedCommitInfoSDKType; + misbehavior: MisbehaviorSDKType[]; + height: bigint; + time: Date; + next_validators_hash: Uint8Array; + proposer_address: Uint8Array; +} +export interface RequestProcessProposal { + txs: Uint8Array[]; + proposedLastCommit: CommitInfo; + misbehavior: Misbehavior[]; + /** hash is the merkle root hash of the fields of the proposed block. */ + hash: Uint8Array; + height: bigint; + time: Date; + nextValidatorsHash: Uint8Array; + /** address of the public key of the original proposer of the block. */ + proposerAddress: Uint8Array; +} +export interface RequestProcessProposalProtoMsg { + typeUrl: '/tendermint.abci.RequestProcessProposal'; + value: Uint8Array; +} +export interface RequestProcessProposalAmino { + txs?: string[]; + proposed_last_commit?: CommitInfoAmino; + misbehavior?: MisbehaviorAmino[]; + /** hash is the merkle root hash of the fields of the proposed block. */ + hash?: string; + height?: string; + time?: string; + next_validators_hash?: string; + /** address of the public key of the original proposer of the block. */ + proposer_address?: string; +} +export interface RequestProcessProposalAminoMsg { + type: '/tendermint.abci.RequestProcessProposal'; + value: RequestProcessProposalAmino; +} +export interface RequestProcessProposalSDKType { + txs: Uint8Array[]; + proposed_last_commit: CommitInfoSDKType; + misbehavior: MisbehaviorSDKType[]; + hash: Uint8Array; + height: bigint; + time: Date; + next_validators_hash: Uint8Array; + proposer_address: Uint8Array; +} +/** Extends a vote with application-injected data */ +export interface RequestExtendVote { + /** the hash of the block that this vote may be referring to */ + hash: Uint8Array; + /** the height of the extended vote */ + height: bigint; + /** info of the block that this vote may be referring to */ + time: Date; + txs: Uint8Array[]; + proposedLastCommit: CommitInfo; + misbehavior: Misbehavior[]; + nextValidatorsHash: Uint8Array; + /** address of the public key of the original proposer of the block. */ + proposerAddress: Uint8Array; +} +export interface RequestExtendVoteProtoMsg { + typeUrl: '/tendermint.abci.RequestExtendVote'; + value: Uint8Array; +} +/** Extends a vote with application-injected data */ +export interface RequestExtendVoteAmino { + /** the hash of the block that this vote may be referring to */ + hash?: string; + /** the height of the extended vote */ + height?: string; + /** info of the block that this vote may be referring to */ + time?: string; + txs?: string[]; + proposed_last_commit?: CommitInfoAmino; + misbehavior?: MisbehaviorAmino[]; + next_validators_hash?: string; + /** address of the public key of the original proposer of the block. */ + proposer_address?: string; +} +export interface RequestExtendVoteAminoMsg { + type: '/tendermint.abci.RequestExtendVote'; + value: RequestExtendVoteAmino; +} +/** Extends a vote with application-injected data */ +export interface RequestExtendVoteSDKType { + hash: Uint8Array; + height: bigint; + time: Date; + txs: Uint8Array[]; + proposed_last_commit: CommitInfoSDKType; + misbehavior: MisbehaviorSDKType[]; + next_validators_hash: Uint8Array; + proposer_address: Uint8Array; +} +/** Verify the vote extension */ +export interface RequestVerifyVoteExtension { + /** the hash of the block that this received vote corresponds to */ + hash: Uint8Array; + /** the validator that signed the vote extension */ + validatorAddress: Uint8Array; + height: bigint; + voteExtension: Uint8Array; +} +export interface RequestVerifyVoteExtensionProtoMsg { + typeUrl: '/tendermint.abci.RequestVerifyVoteExtension'; + value: Uint8Array; +} +/** Verify the vote extension */ +export interface RequestVerifyVoteExtensionAmino { + /** the hash of the block that this received vote corresponds to */ + hash?: string; + /** the validator that signed the vote extension */ + validator_address?: string; + height?: string; + vote_extension?: string; +} +export interface RequestVerifyVoteExtensionAminoMsg { + type: '/tendermint.abci.RequestVerifyVoteExtension'; + value: RequestVerifyVoteExtensionAmino; +} +/** Verify the vote extension */ +export interface RequestVerifyVoteExtensionSDKType { + hash: Uint8Array; + validator_address: Uint8Array; + height: bigint; + vote_extension: Uint8Array; +} +export interface RequestFinalizeBlock { + txs: Uint8Array[]; + decidedLastCommit: CommitInfo; + misbehavior: Misbehavior[]; + /** hash is the merkle root hash of the fields of the decided block. */ + hash: Uint8Array; + height: bigint; + time: Date; + nextValidatorsHash: Uint8Array; + /** proposer_address is the address of the public key of the original proposer of the block. */ + proposerAddress: Uint8Array; +} +export interface RequestFinalizeBlockProtoMsg { + typeUrl: '/tendermint.abci.RequestFinalizeBlock'; + value: Uint8Array; +} +export interface RequestFinalizeBlockAmino { + txs?: string[]; + decided_last_commit?: CommitInfoAmino; + misbehavior?: MisbehaviorAmino[]; + /** hash is the merkle root hash of the fields of the decided block. */ + hash?: string; + height?: string; + time?: string; + next_validators_hash?: string; + /** proposer_address is the address of the public key of the original proposer of the block. */ + proposer_address?: string; +} +export interface RequestFinalizeBlockAminoMsg { + type: '/tendermint.abci.RequestFinalizeBlock'; + value: RequestFinalizeBlockAmino; +} +export interface RequestFinalizeBlockSDKType { + txs: Uint8Array[]; + decided_last_commit: CommitInfoSDKType; + misbehavior: MisbehaviorSDKType[]; + hash: Uint8Array; + height: bigint; + time: Date; + next_validators_hash: Uint8Array; + proposer_address: Uint8Array; +} +export interface Response { + exception?: ResponseException; + echo?: ResponseEcho; + flush?: ResponseFlush; + info?: ResponseInfo; + initChain?: ResponseInitChain; + query?: ResponseQuery; + checkTx?: ResponseCheckTx; + commit?: ResponseCommit; + listSnapshots?: ResponseListSnapshots; + offerSnapshot?: ResponseOfferSnapshot; + loadSnapshotChunk?: ResponseLoadSnapshotChunk; + applySnapshotChunk?: ResponseApplySnapshotChunk; + prepareProposal?: ResponsePrepareProposal; + processProposal?: ResponseProcessProposal; + extendVote?: ResponseExtendVote; + verifyVoteExtension?: ResponseVerifyVoteExtension; + finalizeBlock?: ResponseFinalizeBlock; +} +export interface ResponseProtoMsg { + typeUrl: '/tendermint.abci.Response'; + value: Uint8Array; +} +export interface ResponseAmino { + exception?: ResponseExceptionAmino; + echo?: ResponseEchoAmino; + flush?: ResponseFlushAmino; + info?: ResponseInfoAmino; + init_chain?: ResponseInitChainAmino; + query?: ResponseQueryAmino; + check_tx?: ResponseCheckTxAmino; + commit?: ResponseCommitAmino; + list_snapshots?: ResponseListSnapshotsAmino; + offer_snapshot?: ResponseOfferSnapshotAmino; + load_snapshot_chunk?: ResponseLoadSnapshotChunkAmino; + apply_snapshot_chunk?: ResponseApplySnapshotChunkAmino; + prepare_proposal?: ResponsePrepareProposalAmino; + process_proposal?: ResponseProcessProposalAmino; + extend_vote?: ResponseExtendVoteAmino; + verify_vote_extension?: ResponseVerifyVoteExtensionAmino; + finalize_block?: ResponseFinalizeBlockAmino; +} +export interface ResponseAminoMsg { + type: '/tendermint.abci.Response'; + value: ResponseAmino; +} +export interface ResponseSDKType { + exception?: ResponseExceptionSDKType; + echo?: ResponseEchoSDKType; + flush?: ResponseFlushSDKType; + info?: ResponseInfoSDKType; + init_chain?: ResponseInitChainSDKType; + query?: ResponseQuerySDKType; + check_tx?: ResponseCheckTxSDKType; + commit?: ResponseCommitSDKType; + list_snapshots?: ResponseListSnapshotsSDKType; + offer_snapshot?: ResponseOfferSnapshotSDKType; + load_snapshot_chunk?: ResponseLoadSnapshotChunkSDKType; + apply_snapshot_chunk?: ResponseApplySnapshotChunkSDKType; + prepare_proposal?: ResponsePrepareProposalSDKType; + process_proposal?: ResponseProcessProposalSDKType; + extend_vote?: ResponseExtendVoteSDKType; + verify_vote_extension?: ResponseVerifyVoteExtensionSDKType; + finalize_block?: ResponseFinalizeBlockSDKType; +} +/** nondeterministic */ +export interface ResponseException { + error: string; +} +export interface ResponseExceptionProtoMsg { + typeUrl: '/tendermint.abci.ResponseException'; + value: Uint8Array; +} +/** nondeterministic */ +export interface ResponseExceptionAmino { + error?: string; +} +export interface ResponseExceptionAminoMsg { + type: '/tendermint.abci.ResponseException'; + value: ResponseExceptionAmino; +} +/** nondeterministic */ +export interface ResponseExceptionSDKType { + error: string; +} +export interface ResponseEcho { + message: string; +} +export interface ResponseEchoProtoMsg { + typeUrl: '/tendermint.abci.ResponseEcho'; + value: Uint8Array; +} +export interface ResponseEchoAmino { + message?: string; +} +export interface ResponseEchoAminoMsg { + type: '/tendermint.abci.ResponseEcho'; + value: ResponseEchoAmino; +} +export interface ResponseEchoSDKType { + message: string; +} +export interface ResponseFlush {} +export interface ResponseFlushProtoMsg { + typeUrl: '/tendermint.abci.ResponseFlush'; + value: Uint8Array; +} +export interface ResponseFlushAmino {} +export interface ResponseFlushAminoMsg { + type: '/tendermint.abci.ResponseFlush'; + value: ResponseFlushAmino; +} +export interface ResponseFlushSDKType {} +export interface ResponseInfo { + data: string; + version: string; + appVersion: bigint; + lastBlockHeight: bigint; + lastBlockAppHash: Uint8Array; +} +export interface ResponseInfoProtoMsg { + typeUrl: '/tendermint.abci.ResponseInfo'; + value: Uint8Array; +} +export interface ResponseInfoAmino { + data?: string; + version?: string; + app_version?: string; + last_block_height?: string; + last_block_app_hash?: string; +} +export interface ResponseInfoAminoMsg { + type: '/tendermint.abci.ResponseInfo'; + value: ResponseInfoAmino; +} +export interface ResponseInfoSDKType { + data: string; + version: string; + app_version: bigint; + last_block_height: bigint; + last_block_app_hash: Uint8Array; +} +export interface ResponseInitChain { + consensusParams?: ConsensusParams; + validators: ValidatorUpdate[]; + appHash: Uint8Array; +} +export interface ResponseInitChainProtoMsg { + typeUrl: '/tendermint.abci.ResponseInitChain'; + value: Uint8Array; +} +export interface ResponseInitChainAmino { + consensus_params?: ConsensusParamsAmino; + validators?: ValidatorUpdateAmino[]; + app_hash?: string; +} +export interface ResponseInitChainAminoMsg { + type: '/tendermint.abci.ResponseInitChain'; + value: ResponseInitChainAmino; +} +export interface ResponseInitChainSDKType { + consensus_params?: ConsensusParamsSDKType; + validators: ValidatorUpdateSDKType[]; + app_hash: Uint8Array; +} +export interface ResponseQuery { + code: number; + /** bytes data = 2; // use "value" instead. */ + log: string; + /** nondeterministic */ + info: string; + index: bigint; + key: Uint8Array; + value: Uint8Array; + proofOps?: ProofOps; + height: bigint; + codespace: string; +} +export interface ResponseQueryProtoMsg { + typeUrl: '/tendermint.abci.ResponseQuery'; + value: Uint8Array; +} +export interface ResponseQueryAmino { + code?: number; + /** bytes data = 2; // use "value" instead. */ + log?: string; + /** nondeterministic */ + info?: string; + index?: string; + key?: string; + value?: string; + proof_ops?: ProofOpsAmino; + height?: string; + codespace?: string; +} +export interface ResponseQueryAminoMsg { + type: '/tendermint.abci.ResponseQuery'; + value: ResponseQueryAmino; +} +export interface ResponseQuerySDKType { + code: number; + log: string; + info: string; + index: bigint; + key: Uint8Array; + value: Uint8Array; + proof_ops?: ProofOpsSDKType; + height: bigint; + codespace: string; +} +export interface ResponseCheckTx { + code: number; + data: Uint8Array; + /** nondeterministic */ + log: string; + /** nondeterministic */ + info: string; + gasWanted: bigint; + gasUsed: bigint; + events: Event[]; + codespace: string; +} +export interface ResponseCheckTxProtoMsg { + typeUrl: '/tendermint.abci.ResponseCheckTx'; + value: Uint8Array; +} +export interface ResponseCheckTxAmino { + code?: number; + data?: string; + /** nondeterministic */ + log?: string; + /** nondeterministic */ + info?: string; + gas_wanted?: string; + gas_used?: string; + events?: EventAmino[]; + codespace?: string; +} +export interface ResponseCheckTxAminoMsg { + type: '/tendermint.abci.ResponseCheckTx'; + value: ResponseCheckTxAmino; +} +export interface ResponseCheckTxSDKType { + code: number; + data: Uint8Array; + log: string; + info: string; + gas_wanted: bigint; + gas_used: bigint; + events: EventSDKType[]; + codespace: string; +} +export interface ResponseCommit { + retainHeight: bigint; +} +export interface ResponseCommitProtoMsg { + typeUrl: '/tendermint.abci.ResponseCommit'; + value: Uint8Array; +} +export interface ResponseCommitAmino { + retain_height?: string; +} +export interface ResponseCommitAminoMsg { + type: '/tendermint.abci.ResponseCommit'; + value: ResponseCommitAmino; +} +export interface ResponseCommitSDKType { + retain_height: bigint; +} +export interface ResponseListSnapshots { + snapshots: Snapshot[]; +} +export interface ResponseListSnapshotsProtoMsg { + typeUrl: '/tendermint.abci.ResponseListSnapshots'; + value: Uint8Array; +} +export interface ResponseListSnapshotsAmino { + snapshots?: SnapshotAmino[]; +} +export interface ResponseListSnapshotsAminoMsg { + type: '/tendermint.abci.ResponseListSnapshots'; + value: ResponseListSnapshotsAmino; +} +export interface ResponseListSnapshotsSDKType { + snapshots: SnapshotSDKType[]; +} +export interface ResponseOfferSnapshot { + result: ResponseOfferSnapshot_Result; +} +export interface ResponseOfferSnapshotProtoMsg { + typeUrl: '/tendermint.abci.ResponseOfferSnapshot'; + value: Uint8Array; +} +export interface ResponseOfferSnapshotAmino { + result?: ResponseOfferSnapshot_Result; +} +export interface ResponseOfferSnapshotAminoMsg { + type: '/tendermint.abci.ResponseOfferSnapshot'; + value: ResponseOfferSnapshotAmino; +} +export interface ResponseOfferSnapshotSDKType { + result: ResponseOfferSnapshot_Result; +} +export interface ResponseLoadSnapshotChunk { + chunk: Uint8Array; +} +export interface ResponseLoadSnapshotChunkProtoMsg { + typeUrl: '/tendermint.abci.ResponseLoadSnapshotChunk'; + value: Uint8Array; +} +export interface ResponseLoadSnapshotChunkAmino { + chunk?: string; +} +export interface ResponseLoadSnapshotChunkAminoMsg { + type: '/tendermint.abci.ResponseLoadSnapshotChunk'; + value: ResponseLoadSnapshotChunkAmino; +} +export interface ResponseLoadSnapshotChunkSDKType { + chunk: Uint8Array; +} +export interface ResponseApplySnapshotChunk { + result: ResponseApplySnapshotChunk_Result; + /** Chunks to refetch and reapply */ + refetchChunks: number[]; + /** Chunk senders to reject and ban */ + rejectSenders: string[]; +} +export interface ResponseApplySnapshotChunkProtoMsg { + typeUrl: '/tendermint.abci.ResponseApplySnapshotChunk'; + value: Uint8Array; +} +export interface ResponseApplySnapshotChunkAmino { + result?: ResponseApplySnapshotChunk_Result; + /** Chunks to refetch and reapply */ + refetch_chunks?: number[]; + /** Chunk senders to reject and ban */ + reject_senders?: string[]; +} +export interface ResponseApplySnapshotChunkAminoMsg { + type: '/tendermint.abci.ResponseApplySnapshotChunk'; + value: ResponseApplySnapshotChunkAmino; +} +export interface ResponseApplySnapshotChunkSDKType { + result: ResponseApplySnapshotChunk_Result; + refetch_chunks: number[]; + reject_senders: string[]; +} +export interface ResponsePrepareProposal { + txs: Uint8Array[]; +} +export interface ResponsePrepareProposalProtoMsg { + typeUrl: '/tendermint.abci.ResponsePrepareProposal'; + value: Uint8Array; +} +export interface ResponsePrepareProposalAmino { + txs?: string[]; +} +export interface ResponsePrepareProposalAminoMsg { + type: '/tendermint.abci.ResponsePrepareProposal'; + value: ResponsePrepareProposalAmino; +} +export interface ResponsePrepareProposalSDKType { + txs: Uint8Array[]; +} +export interface ResponseProcessProposal { + status: ResponseProcessProposal_ProposalStatus; +} +export interface ResponseProcessProposalProtoMsg { + typeUrl: '/tendermint.abci.ResponseProcessProposal'; + value: Uint8Array; +} +export interface ResponseProcessProposalAmino { + status?: ResponseProcessProposal_ProposalStatus; +} +export interface ResponseProcessProposalAminoMsg { + type: '/tendermint.abci.ResponseProcessProposal'; + value: ResponseProcessProposalAmino; +} +export interface ResponseProcessProposalSDKType { + status: ResponseProcessProposal_ProposalStatus; +} +export interface ResponseExtendVote { + voteExtension: Uint8Array; +} +export interface ResponseExtendVoteProtoMsg { + typeUrl: '/tendermint.abci.ResponseExtendVote'; + value: Uint8Array; +} +export interface ResponseExtendVoteAmino { + vote_extension?: string; +} +export interface ResponseExtendVoteAminoMsg { + type: '/tendermint.abci.ResponseExtendVote'; + value: ResponseExtendVoteAmino; +} +export interface ResponseExtendVoteSDKType { + vote_extension: Uint8Array; +} +export interface ResponseVerifyVoteExtension { + status: ResponseVerifyVoteExtension_VerifyStatus; +} +export interface ResponseVerifyVoteExtensionProtoMsg { + typeUrl: '/tendermint.abci.ResponseVerifyVoteExtension'; + value: Uint8Array; +} +export interface ResponseVerifyVoteExtensionAmino { + status?: ResponseVerifyVoteExtension_VerifyStatus; +} +export interface ResponseVerifyVoteExtensionAminoMsg { + type: '/tendermint.abci.ResponseVerifyVoteExtension'; + value: ResponseVerifyVoteExtensionAmino; +} +export interface ResponseVerifyVoteExtensionSDKType { + status: ResponseVerifyVoteExtension_VerifyStatus; +} +export interface ResponseFinalizeBlock { + /** set of block events emmitted as part of executing the block */ + events: Event[]; + /** + * the result of executing each transaction including the events + * the particular transction emitted. This should match the order + * of the transactions delivered in the block itself + */ + txResults: ExecTxResult[]; + /** a list of updates to the validator set. These will reflect the validator set at current height + 2. */ + validatorUpdates: ValidatorUpdate[]; + /** updates to the consensus params, if any. */ + consensusParamUpdates?: ConsensusParams; + /** + * app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was + * deterministic. It is up to the application to decide which algorithm to use. + */ + appHash: Uint8Array; +} +export interface ResponseFinalizeBlockProtoMsg { + typeUrl: '/tendermint.abci.ResponseFinalizeBlock'; + value: Uint8Array; +} +export interface ResponseFinalizeBlockAmino { + /** set of block events emmitted as part of executing the block */ + events?: EventAmino[]; + /** + * the result of executing each transaction including the events + * the particular transction emitted. This should match the order + * of the transactions delivered in the block itself + */ + tx_results?: ExecTxResultAmino[]; + /** a list of updates to the validator set. These will reflect the validator set at current height + 2. */ + validator_updates?: ValidatorUpdateAmino[]; + /** updates to the consensus params, if any. */ + consensus_param_updates?: ConsensusParamsAmino; + /** + * app_hash is the hash of the applications' state which is used to confirm that execution of the transactions was + * deterministic. It is up to the application to decide which algorithm to use. + */ + app_hash?: string; +} +export interface ResponseFinalizeBlockAminoMsg { + type: '/tendermint.abci.ResponseFinalizeBlock'; + value: ResponseFinalizeBlockAmino; +} +export interface ResponseFinalizeBlockSDKType { + events: EventSDKType[]; + tx_results: ExecTxResultSDKType[]; + validator_updates: ValidatorUpdateSDKType[]; + consensus_param_updates?: ConsensusParamsSDKType; + app_hash: Uint8Array; +} +export interface CommitInfo { + round: number; + votes: VoteInfo[]; +} +export interface CommitInfoProtoMsg { + typeUrl: '/tendermint.abci.CommitInfo'; + value: Uint8Array; +} +export interface CommitInfoAmino { + round?: number; + votes?: VoteInfoAmino[]; +} +export interface CommitInfoAminoMsg { + type: '/tendermint.abci.CommitInfo'; + value: CommitInfoAmino; +} +export interface CommitInfoSDKType { + round: number; + votes: VoteInfoSDKType[]; +} +/** + * ExtendedCommitInfo is similar to CommitInfo except that it is only used in + * the PrepareProposal request such that CometBFT can provide vote extensions + * to the application. + */ +export interface ExtendedCommitInfo { + /** The round at which the block proposer decided in the previous height. */ + round: number; + /** + * List of validators' addresses in the last validator set with their voting + * information, including vote extensions. + */ + votes: ExtendedVoteInfo[]; +} +export interface ExtendedCommitInfoProtoMsg { + typeUrl: '/tendermint.abci.ExtendedCommitInfo'; + value: Uint8Array; +} +/** + * ExtendedCommitInfo is similar to CommitInfo except that it is only used in + * the PrepareProposal request such that CometBFT can provide vote extensions + * to the application. + */ +export interface ExtendedCommitInfoAmino { + /** The round at which the block proposer decided in the previous height. */ + round?: number; + /** + * List of validators' addresses in the last validator set with their voting + * information, including vote extensions. + */ + votes?: ExtendedVoteInfoAmino[]; +} +export interface ExtendedCommitInfoAminoMsg { + type: '/tendermint.abci.ExtendedCommitInfo'; + value: ExtendedCommitInfoAmino; +} +/** + * ExtendedCommitInfo is similar to CommitInfo except that it is only used in + * the PrepareProposal request such that CometBFT can provide vote extensions + * to the application. + */ +export interface ExtendedCommitInfoSDKType { + round: number; + votes: ExtendedVoteInfoSDKType[]; +} +/** + * Event allows application developers to attach additional information to + * ResponseFinalizeBlock and ResponseCheckTx. + * Later, transactions may be queried using these events. + */ +export interface Event { + type: string; + attributes: EventAttribute[]; +} +export interface EventProtoMsg { + typeUrl: '/tendermint.abci.Event'; + value: Uint8Array; +} +/** + * Event allows application developers to attach additional information to + * ResponseFinalizeBlock and ResponseCheckTx. + * Later, transactions may be queried using these events. + */ +export interface EventAmino { + type?: string; + attributes?: EventAttributeAmino[]; +} +export interface EventAminoMsg { + type: '/tendermint.abci.Event'; + value: EventAmino; +} +/** + * Event allows application developers to attach additional information to + * ResponseFinalizeBlock and ResponseCheckTx. + * Later, transactions may be queried using these events. + */ +export interface EventSDKType { + type: string; + attributes: EventAttributeSDKType[]; +} +/** EventAttribute is a single key-value pair, associated with an event. */ +export interface EventAttribute { + key: string; + value: string; + /** nondeterministic */ + index: boolean; +} +export interface EventAttributeProtoMsg { + typeUrl: '/tendermint.abci.EventAttribute'; + value: Uint8Array; +} +/** EventAttribute is a single key-value pair, associated with an event. */ +export interface EventAttributeAmino { + key?: string; + value?: string; + /** nondeterministic */ + index?: boolean; +} +export interface EventAttributeAminoMsg { + type: '/tendermint.abci.EventAttribute'; + value: EventAttributeAmino; +} +/** EventAttribute is a single key-value pair, associated with an event. */ +export interface EventAttributeSDKType { + key: string; + value: string; + index: boolean; +} +/** + * ExecTxResult contains results of executing one individual transaction. + * + * * Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted + */ +export interface ExecTxResult { + code: number; + data: Uint8Array; + /** nondeterministic */ + log: string; + /** nondeterministic */ + info: string; + gasWanted: bigint; + gasUsed: bigint; + events: Event[]; + codespace: string; +} +export interface ExecTxResultProtoMsg { + typeUrl: '/tendermint.abci.ExecTxResult'; + value: Uint8Array; +} +/** + * ExecTxResult contains results of executing one individual transaction. + * + * * Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted + */ +export interface ExecTxResultAmino { + code?: number; + data?: string; + /** nondeterministic */ + log?: string; + /** nondeterministic */ + info?: string; + gas_wanted?: string; + gas_used?: string; + events?: EventAmino[]; + codespace?: string; +} +export interface ExecTxResultAminoMsg { + type: '/tendermint.abci.ExecTxResult'; + value: ExecTxResultAmino; +} +/** + * ExecTxResult contains results of executing one individual transaction. + * + * * Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted + */ +export interface ExecTxResultSDKType { + code: number; + data: Uint8Array; + log: string; + info: string; + gas_wanted: bigint; + gas_used: bigint; + events: EventSDKType[]; + codespace: string; +} +/** + * TxResult contains results of executing the transaction. + * + * One usage is indexing transaction results. + */ +export interface TxResult { + height: bigint; + index: number; + tx: Uint8Array; + result: ExecTxResult; +} +export interface TxResultProtoMsg { + typeUrl: '/tendermint.abci.TxResult'; + value: Uint8Array; +} +/** + * TxResult contains results of executing the transaction. + * + * One usage is indexing transaction results. + */ +export interface TxResultAmino { + height?: string; + index?: number; + tx?: string; + result?: ExecTxResultAmino; +} +export interface TxResultAminoMsg { + type: '/tendermint.abci.TxResult'; + value: TxResultAmino; +} +/** + * TxResult contains results of executing the transaction. + * + * One usage is indexing transaction results. + */ +export interface TxResultSDKType { + height: bigint; + index: number; + tx: Uint8Array; + result: ExecTxResultSDKType; +} +export interface Validator { + /** The first 20 bytes of SHA256(public key) */ + address: Uint8Array; + /** PubKey pub_key = 2 [(gogoproto.nullable)=false]; */ + power: bigint; +} +export interface ValidatorProtoMsg { + typeUrl: '/tendermint.abci.Validator'; + value: Uint8Array; +} +export interface ValidatorAmino { + /** The first 20 bytes of SHA256(public key) */ + address?: string; + /** PubKey pub_key = 2 [(gogoproto.nullable)=false]; */ + power?: string; +} +export interface ValidatorAminoMsg { + type: '/tendermint.abci.Validator'; + value: ValidatorAmino; +} +export interface ValidatorSDKType { + address: Uint8Array; + power: bigint; +} +export interface ValidatorUpdate { + pubKey: PublicKey; + power: bigint; +} +export interface ValidatorUpdateProtoMsg { + typeUrl: '/tendermint.abci.ValidatorUpdate'; + value: Uint8Array; +} +export interface ValidatorUpdateAmino { + pub_key?: PublicKeyAmino; + power?: string; +} +export interface ValidatorUpdateAminoMsg { + type: '/tendermint.abci.ValidatorUpdate'; + value: ValidatorUpdateAmino; +} +export interface ValidatorUpdateSDKType { + pub_key: PublicKeySDKType; + power: bigint; +} +export interface VoteInfo { + validator: Validator; + blockIdFlag: BlockIDFlag; +} +export interface VoteInfoProtoMsg { + typeUrl: '/tendermint.abci.VoteInfo'; + value: Uint8Array; +} +export interface VoteInfoAmino { + validator?: ValidatorAmino; + block_id_flag?: BlockIDFlag; +} +export interface VoteInfoAminoMsg { + type: '/tendermint.abci.VoteInfo'; + value: VoteInfoAmino; +} +export interface VoteInfoSDKType { + validator: ValidatorSDKType; + block_id_flag: BlockIDFlag; +} +export interface ExtendedVoteInfo { + /** The validator that sent the vote. */ + validator: Validator; + /** Non-deterministic extension provided by the sending validator's application. */ + voteExtension: Uint8Array; + /** Vote extension signature created by CometBFT */ + extensionSignature: Uint8Array; + /** block_id_flag indicates whether the validator voted for a block, nil, or did not vote at all */ + blockIdFlag: BlockIDFlag; +} +export interface ExtendedVoteInfoProtoMsg { + typeUrl: '/tendermint.abci.ExtendedVoteInfo'; + value: Uint8Array; +} +export interface ExtendedVoteInfoAmino { + /** The validator that sent the vote. */ + validator?: ValidatorAmino; + /** Non-deterministic extension provided by the sending validator's application. */ + vote_extension?: string; + /** Vote extension signature created by CometBFT */ + extension_signature?: string; + /** block_id_flag indicates whether the validator voted for a block, nil, or did not vote at all */ + block_id_flag?: BlockIDFlag; +} +export interface ExtendedVoteInfoAminoMsg { + type: '/tendermint.abci.ExtendedVoteInfo'; + value: ExtendedVoteInfoAmino; +} +export interface ExtendedVoteInfoSDKType { + validator: ValidatorSDKType; + vote_extension: Uint8Array; + extension_signature: Uint8Array; + block_id_flag: BlockIDFlag; +} +export interface Misbehavior { + type: MisbehaviorType; + /** The offending validator */ + validator: Validator; + /** The height when the offense occurred */ + height: bigint; + /** The corresponding time where the offense occurred */ + time: Date; + /** + * Total voting power of the validator set in case the ABCI application does + * not store historical validators. + * https://github.com/tendermint/tendermint/issues/4581 + */ + totalVotingPower: bigint; +} +export interface MisbehaviorProtoMsg { + typeUrl: '/tendermint.abci.Misbehavior'; + value: Uint8Array; +} +export interface MisbehaviorAmino { + type?: MisbehaviorType; + /** The offending validator */ + validator?: ValidatorAmino; + /** The height when the offense occurred */ + height?: string; + /** The corresponding time where the offense occurred */ + time?: string; + /** + * Total voting power of the validator set in case the ABCI application does + * not store historical validators. + * https://github.com/tendermint/tendermint/issues/4581 + */ + total_voting_power?: string; +} +export interface MisbehaviorAminoMsg { + type: '/tendermint.abci.Misbehavior'; + value: MisbehaviorAmino; +} +export interface MisbehaviorSDKType { + type: MisbehaviorType; + validator: ValidatorSDKType; + height: bigint; + time: Date; + total_voting_power: bigint; +} +export interface Snapshot { + /** The height at which the snapshot was taken */ + height: bigint; + /** The application-specific snapshot format */ + format: number; + /** Number of chunks in the snapshot */ + chunks: number; + /** Arbitrary snapshot hash, equal only if identical */ + hash: Uint8Array; + /** Arbitrary application metadata */ + metadata: Uint8Array; +} +export interface SnapshotProtoMsg { + typeUrl: '/tendermint.abci.Snapshot'; + value: Uint8Array; +} +export interface SnapshotAmino { + /** The height at which the snapshot was taken */ + height?: string; + /** The application-specific snapshot format */ + format?: number; + /** Number of chunks in the snapshot */ + chunks?: number; + /** Arbitrary snapshot hash, equal only if identical */ + hash?: string; + /** Arbitrary application metadata */ + metadata?: string; +} +export interface SnapshotAminoMsg { + type: '/tendermint.abci.Snapshot'; + value: SnapshotAmino; +} +export interface SnapshotSDKType { + height: bigint; + format: number; + chunks: number; + hash: Uint8Array; + metadata: Uint8Array; +} +function createBaseRequest(): Request { + return { + echo: undefined, + flush: undefined, + info: undefined, + initChain: undefined, + query: undefined, + checkTx: undefined, + commit: undefined, + listSnapshots: undefined, + offerSnapshot: undefined, + loadSnapshotChunk: undefined, + applySnapshotChunk: undefined, + prepareProposal: undefined, + processProposal: undefined, + extendVote: undefined, + verifyVoteExtension: undefined, + finalizeBlock: undefined, + }; +} +export const Request = { + typeUrl: '/tendermint.abci.Request', + encode(message: Request, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.echo !== undefined) { + RequestEcho.encode(message.echo, writer.uint32(10).fork()).ldelim(); + } + if (message.flush !== undefined) { + RequestFlush.encode(message.flush, writer.uint32(18).fork()).ldelim(); + } + if (message.info !== undefined) { + RequestInfo.encode(message.info, writer.uint32(26).fork()).ldelim(); + } + if (message.initChain !== undefined) { + RequestInitChain.encode(message.initChain, writer.uint32(42).fork()).ldelim(); + } + if (message.query !== undefined) { + RequestQuery.encode(message.query, writer.uint32(50).fork()).ldelim(); + } + if (message.checkTx !== undefined) { + RequestCheckTx.encode(message.checkTx, writer.uint32(66).fork()).ldelim(); + } + if (message.commit !== undefined) { + RequestCommit.encode(message.commit, writer.uint32(90).fork()).ldelim(); + } + if (message.listSnapshots !== undefined) { + RequestListSnapshots.encode(message.listSnapshots, writer.uint32(98).fork()).ldelim(); + } + if (message.offerSnapshot !== undefined) { + RequestOfferSnapshot.encode(message.offerSnapshot, writer.uint32(106).fork()).ldelim(); + } + if (message.loadSnapshotChunk !== undefined) { + RequestLoadSnapshotChunk.encode(message.loadSnapshotChunk, writer.uint32(114).fork()).ldelim(); + } + if (message.applySnapshotChunk !== undefined) { + RequestApplySnapshotChunk.encode(message.applySnapshotChunk, writer.uint32(122).fork()).ldelim(); + } + if (message.prepareProposal !== undefined) { + RequestPrepareProposal.encode(message.prepareProposal, writer.uint32(130).fork()).ldelim(); + } + if (message.processProposal !== undefined) { + RequestProcessProposal.encode(message.processProposal, writer.uint32(138).fork()).ldelim(); + } + if (message.extendVote !== undefined) { + RequestExtendVote.encode(message.extendVote, writer.uint32(146).fork()).ldelim(); + } + if (message.verifyVoteExtension !== undefined) { + RequestVerifyVoteExtension.encode(message.verifyVoteExtension, writer.uint32(154).fork()).ldelim(); + } + if (message.finalizeBlock !== undefined) { + RequestFinalizeBlock.encode(message.finalizeBlock, writer.uint32(162).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Request { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.echo = RequestEcho.decode(reader, reader.uint32()); + break; + case 2: + message.flush = RequestFlush.decode(reader, reader.uint32()); + break; + case 3: + message.info = RequestInfo.decode(reader, reader.uint32()); + break; + case 5: + message.initChain = RequestInitChain.decode(reader, reader.uint32()); + break; + case 6: + message.query = RequestQuery.decode(reader, reader.uint32()); + break; + case 8: + message.checkTx = RequestCheckTx.decode(reader, reader.uint32()); + break; + case 11: + message.commit = RequestCommit.decode(reader, reader.uint32()); + break; + case 12: + message.listSnapshots = RequestListSnapshots.decode(reader, reader.uint32()); + break; + case 13: + message.offerSnapshot = RequestOfferSnapshot.decode(reader, reader.uint32()); + break; + case 14: + message.loadSnapshotChunk = RequestLoadSnapshotChunk.decode(reader, reader.uint32()); + break; + case 15: + message.applySnapshotChunk = RequestApplySnapshotChunk.decode(reader, reader.uint32()); + break; + case 16: + message.prepareProposal = RequestPrepareProposal.decode(reader, reader.uint32()); + break; + case 17: + message.processProposal = RequestProcessProposal.decode(reader, reader.uint32()); + break; + case 18: + message.extendVote = RequestExtendVote.decode(reader, reader.uint32()); + break; + case 19: + message.verifyVoteExtension = RequestVerifyVoteExtension.decode(reader, reader.uint32()); + break; + case 20: + message.finalizeBlock = RequestFinalizeBlock.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Request { + const message = createBaseRequest(); + message.echo = object.echo !== undefined && object.echo !== null ? RequestEcho.fromPartial(object.echo) : undefined; + message.flush = + object.flush !== undefined && object.flush !== null ? RequestFlush.fromPartial(object.flush) : undefined; + message.info = object.info !== undefined && object.info !== null ? RequestInfo.fromPartial(object.info) : undefined; + message.initChain = + object.initChain !== undefined && object.initChain !== null + ? RequestInitChain.fromPartial(object.initChain) + : undefined; + message.query = + object.query !== undefined && object.query !== null ? RequestQuery.fromPartial(object.query) : undefined; + message.checkTx = + object.checkTx !== undefined && object.checkTx !== null ? RequestCheckTx.fromPartial(object.checkTx) : undefined; + message.commit = + object.commit !== undefined && object.commit !== null ? RequestCommit.fromPartial(object.commit) : undefined; + message.listSnapshots = + object.listSnapshots !== undefined && object.listSnapshots !== null + ? RequestListSnapshots.fromPartial(object.listSnapshots) + : undefined; + message.offerSnapshot = + object.offerSnapshot !== undefined && object.offerSnapshot !== null + ? RequestOfferSnapshot.fromPartial(object.offerSnapshot) + : undefined; + message.loadSnapshotChunk = + object.loadSnapshotChunk !== undefined && object.loadSnapshotChunk !== null + ? RequestLoadSnapshotChunk.fromPartial(object.loadSnapshotChunk) + : undefined; + message.applySnapshotChunk = + object.applySnapshotChunk !== undefined && object.applySnapshotChunk !== null + ? RequestApplySnapshotChunk.fromPartial(object.applySnapshotChunk) + : undefined; + message.prepareProposal = + object.prepareProposal !== undefined && object.prepareProposal !== null + ? RequestPrepareProposal.fromPartial(object.prepareProposal) + : undefined; + message.processProposal = + object.processProposal !== undefined && object.processProposal !== null + ? RequestProcessProposal.fromPartial(object.processProposal) + : undefined; + message.extendVote = + object.extendVote !== undefined && object.extendVote !== null + ? RequestExtendVote.fromPartial(object.extendVote) + : undefined; + message.verifyVoteExtension = + object.verifyVoteExtension !== undefined && object.verifyVoteExtension !== null + ? RequestVerifyVoteExtension.fromPartial(object.verifyVoteExtension) + : undefined; + message.finalizeBlock = + object.finalizeBlock !== undefined && object.finalizeBlock !== null + ? RequestFinalizeBlock.fromPartial(object.finalizeBlock) + : undefined; + return message; + }, + fromAmino(object: RequestAmino): Request { + const message = createBaseRequest(); + if (object.echo !== undefined && object.echo !== null) { + message.echo = RequestEcho.fromAmino(object.echo); + } + if (object.flush !== undefined && object.flush !== null) { + message.flush = RequestFlush.fromAmino(object.flush); + } + if (object.info !== undefined && object.info !== null) { + message.info = RequestInfo.fromAmino(object.info); + } + if (object.init_chain !== undefined && object.init_chain !== null) { + message.initChain = RequestInitChain.fromAmino(object.init_chain); + } + if (object.query !== undefined && object.query !== null) { + message.query = RequestQuery.fromAmino(object.query); + } + if (object.check_tx !== undefined && object.check_tx !== null) { + message.checkTx = RequestCheckTx.fromAmino(object.check_tx); + } + if (object.commit !== undefined && object.commit !== null) { + message.commit = RequestCommit.fromAmino(object.commit); + } + if (object.list_snapshots !== undefined && object.list_snapshots !== null) { + message.listSnapshots = RequestListSnapshots.fromAmino(object.list_snapshots); + } + if (object.offer_snapshot !== undefined && object.offer_snapshot !== null) { + message.offerSnapshot = RequestOfferSnapshot.fromAmino(object.offer_snapshot); + } + if (object.load_snapshot_chunk !== undefined && object.load_snapshot_chunk !== null) { + message.loadSnapshotChunk = RequestLoadSnapshotChunk.fromAmino(object.load_snapshot_chunk); + } + if (object.apply_snapshot_chunk !== undefined && object.apply_snapshot_chunk !== null) { + message.applySnapshotChunk = RequestApplySnapshotChunk.fromAmino(object.apply_snapshot_chunk); + } + if (object.prepare_proposal !== undefined && object.prepare_proposal !== null) { + message.prepareProposal = RequestPrepareProposal.fromAmino(object.prepare_proposal); + } + if (object.process_proposal !== undefined && object.process_proposal !== null) { + message.processProposal = RequestProcessProposal.fromAmino(object.process_proposal); + } + if (object.extend_vote !== undefined && object.extend_vote !== null) { + message.extendVote = RequestExtendVote.fromAmino(object.extend_vote); + } + if (object.verify_vote_extension !== undefined && object.verify_vote_extension !== null) { + message.verifyVoteExtension = RequestVerifyVoteExtension.fromAmino(object.verify_vote_extension); + } + if (object.finalize_block !== undefined && object.finalize_block !== null) { + message.finalizeBlock = RequestFinalizeBlock.fromAmino(object.finalize_block); + } + return message; + }, + toAmino(message: Request): RequestAmino { + const obj: any = {}; + obj.echo = message.echo ? RequestEcho.toAmino(message.echo) : undefined; + obj.flush = message.flush ? RequestFlush.toAmino(message.flush) : undefined; + obj.info = message.info ? RequestInfo.toAmino(message.info) : undefined; + obj.init_chain = message.initChain ? RequestInitChain.toAmino(message.initChain) : undefined; + obj.query = message.query ? RequestQuery.toAmino(message.query) : undefined; + obj.check_tx = message.checkTx ? RequestCheckTx.toAmino(message.checkTx) : undefined; + obj.commit = message.commit ? RequestCommit.toAmino(message.commit) : undefined; + obj.list_snapshots = message.listSnapshots ? RequestListSnapshots.toAmino(message.listSnapshots) : undefined; + obj.offer_snapshot = message.offerSnapshot ? RequestOfferSnapshot.toAmino(message.offerSnapshot) : undefined; + obj.load_snapshot_chunk = message.loadSnapshotChunk + ? RequestLoadSnapshotChunk.toAmino(message.loadSnapshotChunk) + : undefined; + obj.apply_snapshot_chunk = message.applySnapshotChunk + ? RequestApplySnapshotChunk.toAmino(message.applySnapshotChunk) + : undefined; + obj.prepare_proposal = message.prepareProposal + ? RequestPrepareProposal.toAmino(message.prepareProposal) + : undefined; + obj.process_proposal = message.processProposal + ? RequestProcessProposal.toAmino(message.processProposal) + : undefined; + obj.extend_vote = message.extendVote ? RequestExtendVote.toAmino(message.extendVote) : undefined; + obj.verify_vote_extension = message.verifyVoteExtension + ? RequestVerifyVoteExtension.toAmino(message.verifyVoteExtension) + : undefined; + obj.finalize_block = message.finalizeBlock ? RequestFinalizeBlock.toAmino(message.finalizeBlock) : undefined; + return obj; + }, + fromAminoMsg(object: RequestAminoMsg): Request { + return Request.fromAmino(object.value); + }, + fromProtoMsg(message: RequestProtoMsg): Request { + return Request.decode(message.value); + }, + toProto(message: Request): Uint8Array { + return Request.encode(message).finish(); + }, + toProtoMsg(message: Request): RequestProtoMsg { + return { + typeUrl: '/tendermint.abci.Request', + value: Request.encode(message).finish(), + }; + }, +}; +function createBaseRequestEcho(): RequestEcho { + return { + message: '', + }; +} +export const RequestEcho = { + typeUrl: '/tendermint.abci.RequestEcho', + encode(message: RequestEcho, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.message !== '') { + writer.uint32(10).string(message.message); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestEcho { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestEcho(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.message = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RequestEcho { + const message = createBaseRequestEcho(); + message.message = object.message ?? ''; + return message; + }, + fromAmino(object: RequestEchoAmino): RequestEcho { + const message = createBaseRequestEcho(); + if (object.message !== undefined && object.message !== null) { + message.message = object.message; + } + return message; + }, + toAmino(message: RequestEcho): RequestEchoAmino { + const obj: any = {}; + obj.message = message.message === '' ? undefined : message.message; + return obj; + }, + fromAminoMsg(object: RequestEchoAminoMsg): RequestEcho { + return RequestEcho.fromAmino(object.value); + }, + fromProtoMsg(message: RequestEchoProtoMsg): RequestEcho { + return RequestEcho.decode(message.value); + }, + toProto(message: RequestEcho): Uint8Array { + return RequestEcho.encode(message).finish(); + }, + toProtoMsg(message: RequestEcho): RequestEchoProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestEcho', + value: RequestEcho.encode(message).finish(), + }; + }, +}; +function createBaseRequestFlush(): RequestFlush { + return {}; +} +export const RequestFlush = { + typeUrl: '/tendermint.abci.RequestFlush', + encode(_: RequestFlush, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestFlush { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestFlush(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): RequestFlush { + const message = createBaseRequestFlush(); + return message; + }, + fromAmino(_: RequestFlushAmino): RequestFlush { + const message = createBaseRequestFlush(); + return message; + }, + toAmino(_: RequestFlush): RequestFlushAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: RequestFlushAminoMsg): RequestFlush { + return RequestFlush.fromAmino(object.value); + }, + fromProtoMsg(message: RequestFlushProtoMsg): RequestFlush { + return RequestFlush.decode(message.value); + }, + toProto(message: RequestFlush): Uint8Array { + return RequestFlush.encode(message).finish(); + }, + toProtoMsg(message: RequestFlush): RequestFlushProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestFlush', + value: RequestFlush.encode(message).finish(), + }; + }, +}; +function createBaseRequestInfo(): RequestInfo { + return { + version: '', + blockVersion: BigInt(0), + p2pVersion: BigInt(0), + abciVersion: '', + }; +} +export const RequestInfo = { + typeUrl: '/tendermint.abci.RequestInfo', + encode(message: RequestInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.version !== '') { + writer.uint32(10).string(message.version); + } + if (message.blockVersion !== BigInt(0)) { + writer.uint32(16).uint64(message.blockVersion); + } + if (message.p2pVersion !== BigInt(0)) { + writer.uint32(24).uint64(message.p2pVersion); + } + if (message.abciVersion !== '') { + writer.uint32(34).string(message.abciVersion); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestInfo(); + while (reader.pos < end) { + const 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; + case 4: + message.abciVersion = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RequestInfo { + const message = createBaseRequestInfo(); + message.version = object.version ?? ''; + message.blockVersion = + object.blockVersion !== undefined && object.blockVersion !== null + ? BigInt(object.blockVersion.toString()) + : BigInt(0); + message.p2pVersion = + object.p2pVersion !== undefined && object.p2pVersion !== null ? BigInt(object.p2pVersion.toString()) : BigInt(0); + message.abciVersion = object.abciVersion ?? ''; + return message; + }, + fromAmino(object: RequestInfoAmino): RequestInfo { + const message = createBaseRequestInfo(); + if (object.version !== undefined && object.version !== null) { + message.version = object.version; + } + if (object.block_version !== undefined && object.block_version !== null) { + message.blockVersion = BigInt(object.block_version); + } + if (object.p2p_version !== undefined && object.p2p_version !== null) { + message.p2pVersion = BigInt(object.p2p_version); + } + if (object.abci_version !== undefined && object.abci_version !== null) { + message.abciVersion = object.abci_version; + } + return message; + }, + toAmino(message: RequestInfo): RequestInfoAmino { + const obj: any = {}; + obj.version = message.version === '' ? undefined : message.version; + obj.block_version = message.blockVersion !== BigInt(0) ? (message.blockVersion?.toString)() : undefined; + obj.p2p_version = message.p2pVersion !== BigInt(0) ? (message.p2pVersion?.toString)() : undefined; + obj.abci_version = message.abciVersion === '' ? undefined : message.abciVersion; + return obj; + }, + fromAminoMsg(object: RequestInfoAminoMsg): RequestInfo { + return RequestInfo.fromAmino(object.value); + }, + fromProtoMsg(message: RequestInfoProtoMsg): RequestInfo { + return RequestInfo.decode(message.value); + }, + toProto(message: RequestInfo): Uint8Array { + return RequestInfo.encode(message).finish(); + }, + toProtoMsg(message: RequestInfo): RequestInfoProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestInfo', + value: RequestInfo.encode(message).finish(), + }; + }, +}; +function createBaseRequestInitChain(): RequestInitChain { + return { + time: new Date(), + chainId: '', + consensusParams: undefined, + validators: [], + appStateBytes: new Uint8Array(), + initialHeight: BigInt(0), + }; +} +export const RequestInitChain = { + typeUrl: '/tendermint.abci.RequestInitChain', + encode(message: RequestInitChain, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(10).fork()).ldelim(); + } + if (message.chainId !== '') { + writer.uint32(18).string(message.chainId); + } + if (message.consensusParams !== undefined) { + ConsensusParams.encode(message.consensusParams, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.validators) { + ValidatorUpdate.encode(v!, writer.uint32(34).fork()).ldelim(); + } + if (message.appStateBytes.length !== 0) { + writer.uint32(42).bytes(message.appStateBytes); + } + if (message.initialHeight !== BigInt(0)) { + writer.uint32(48).int64(message.initialHeight); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestInitChain { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestInitChain(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 2: + message.chainId = reader.string(); + break; + case 3: + message.consensusParams = ConsensusParams.decode(reader, reader.uint32()); + break; + case 4: + message.validators.push(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; + }, + fromPartial(object: Partial): RequestInitChain { + const message = createBaseRequestInitChain(); + message.time = object.time ?? undefined; + message.chainId = object.chainId ?? ''; + message.consensusParams = + object.consensusParams !== undefined && object.consensusParams !== null + ? ConsensusParams.fromPartial(object.consensusParams) + : undefined; + message.validators = object.validators?.map((e) => ValidatorUpdate.fromPartial(e)) || []; + message.appStateBytes = object.appStateBytes ?? new Uint8Array(); + message.initialHeight = + object.initialHeight !== undefined && object.initialHeight !== null + ? BigInt(object.initialHeight.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: RequestInitChainAmino): RequestInitChain { + const message = createBaseRequestInitChain(); + if (object.time !== undefined && object.time !== null) { + message.time = fromTimestamp(Timestamp.fromAmino(object.time)); + } + if (object.chain_id !== undefined && object.chain_id !== null) { + message.chainId = object.chain_id; + } + if (object.consensus_params !== undefined && object.consensus_params !== null) { + message.consensusParams = ConsensusParams.fromAmino(object.consensus_params); + } + message.validators = object.validators?.map((e) => ValidatorUpdate.fromAmino(e)) || []; + if (object.app_state_bytes !== undefined && object.app_state_bytes !== null) { + message.appStateBytes = bytesFromBase64(object.app_state_bytes); + } + if (object.initial_height !== undefined && object.initial_height !== null) { + message.initialHeight = BigInt(object.initial_height); + } + return message; + }, + toAmino(message: RequestInitChain): RequestInitChainAmino { + const obj: any = {}; + obj.time = message.time ? Timestamp.toAmino(toTimestamp(message.time)) : undefined; + obj.chain_id = message.chainId === '' ? undefined : message.chainId; + obj.consensus_params = message.consensusParams ? ConsensusParams.toAmino(message.consensusParams) : undefined; + if (message.validators) { + obj.validators = message.validators.map((e) => (e ? ValidatorUpdate.toAmino(e) : undefined)); + } else { + obj.validators = message.validators; + } + obj.app_state_bytes = message.appStateBytes ? base64FromBytes(message.appStateBytes) : undefined; + obj.initial_height = message.initialHeight !== BigInt(0) ? (message.initialHeight?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: RequestInitChainAminoMsg): RequestInitChain { + return RequestInitChain.fromAmino(object.value); + }, + fromProtoMsg(message: RequestInitChainProtoMsg): RequestInitChain { + return RequestInitChain.decode(message.value); + }, + toProto(message: RequestInitChain): Uint8Array { + return RequestInitChain.encode(message).finish(); + }, + toProtoMsg(message: RequestInitChain): RequestInitChainProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestInitChain', + value: RequestInitChain.encode(message).finish(), + }; + }, +}; +function createBaseRequestQuery(): RequestQuery { + return { + data: new Uint8Array(), + path: '', + height: BigInt(0), + prove: false, + }; +} +export const RequestQuery = { + typeUrl: '/tendermint.abci.RequestQuery', + encode(message: RequestQuery, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + if (message.path !== '') { + writer.uint32(18).string(message.path); + } + if (message.height !== BigInt(0)) { + writer.uint32(24).int64(message.height); + } + if (message.prove === true) { + writer.uint32(32).bool(message.prove); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestQuery { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestQuery(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): RequestQuery { + const message = createBaseRequestQuery(); + message.data = object.data ?? new Uint8Array(); + message.path = object.path ?? ''; + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.prove = object.prove ?? false; + return message; + }, + fromAmino(object: RequestQueryAmino): RequestQuery { + const message = createBaseRequestQuery(); + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + if (object.path !== undefined && object.path !== null) { + message.path = object.path; + } + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.prove !== undefined && object.prove !== null) { + message.prove = object.prove; + } + return message; + }, + toAmino(message: RequestQuery): RequestQueryAmino { + const obj: any = {}; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + obj.path = message.path === '' ? undefined : message.path; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.prove = message.prove === false ? undefined : message.prove; + return obj; + }, + fromAminoMsg(object: RequestQueryAminoMsg): RequestQuery { + return RequestQuery.fromAmino(object.value); + }, + fromProtoMsg(message: RequestQueryProtoMsg): RequestQuery { + return RequestQuery.decode(message.value); + }, + toProto(message: RequestQuery): Uint8Array { + return RequestQuery.encode(message).finish(); + }, + toProtoMsg(message: RequestQuery): RequestQueryProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestQuery', + value: RequestQuery.encode(message).finish(), + }; + }, +}; +function createBaseRequestCheckTx(): RequestCheckTx { + return { + tx: new Uint8Array(), + type: 0, + }; +} +export const RequestCheckTx = { + typeUrl: '/tendermint.abci.RequestCheckTx', + encode(message: RequestCheckTx, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.tx.length !== 0) { + writer.uint32(10).bytes(message.tx); + } + if (message.type !== 0) { + writer.uint32(16).int32(message.type); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestCheckTx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestCheckTx(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.tx = reader.bytes(); + break; + case 2: + message.type = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RequestCheckTx { + const message = createBaseRequestCheckTx(); + message.tx = object.tx ?? new Uint8Array(); + message.type = object.type ?? 0; + return message; + }, + fromAmino(object: RequestCheckTxAmino): RequestCheckTx { + const message = createBaseRequestCheckTx(); + if (object.tx !== undefined && object.tx !== null) { + message.tx = bytesFromBase64(object.tx); + } + if (object.type !== undefined && object.type !== null) { + message.type = object.type; + } + return message; + }, + toAmino(message: RequestCheckTx): RequestCheckTxAmino { + const obj: any = {}; + obj.tx = message.tx ? base64FromBytes(message.tx) : undefined; + obj.type = message.type === 0 ? undefined : message.type; + return obj; + }, + fromAminoMsg(object: RequestCheckTxAminoMsg): RequestCheckTx { + return RequestCheckTx.fromAmino(object.value); + }, + fromProtoMsg(message: RequestCheckTxProtoMsg): RequestCheckTx { + return RequestCheckTx.decode(message.value); + }, + toProto(message: RequestCheckTx): Uint8Array { + return RequestCheckTx.encode(message).finish(); + }, + toProtoMsg(message: RequestCheckTx): RequestCheckTxProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestCheckTx', + value: RequestCheckTx.encode(message).finish(), + }; + }, +}; +function createBaseRequestCommit(): RequestCommit { + return {}; +} +export const RequestCommit = { + typeUrl: '/tendermint.abci.RequestCommit', + encode(_: RequestCommit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestCommit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestCommit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): RequestCommit { + const message = createBaseRequestCommit(); + return message; + }, + fromAmino(_: RequestCommitAmino): RequestCommit { + const message = createBaseRequestCommit(); + return message; + }, + toAmino(_: RequestCommit): RequestCommitAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: RequestCommitAminoMsg): RequestCommit { + return RequestCommit.fromAmino(object.value); + }, + fromProtoMsg(message: RequestCommitProtoMsg): RequestCommit { + return RequestCommit.decode(message.value); + }, + toProto(message: RequestCommit): Uint8Array { + return RequestCommit.encode(message).finish(); + }, + toProtoMsg(message: RequestCommit): RequestCommitProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestCommit', + value: RequestCommit.encode(message).finish(), + }; + }, +}; +function createBaseRequestListSnapshots(): RequestListSnapshots { + return {}; +} +export const RequestListSnapshots = { + typeUrl: '/tendermint.abci.RequestListSnapshots', + encode(_: RequestListSnapshots, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestListSnapshots { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestListSnapshots(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): RequestListSnapshots { + const message = createBaseRequestListSnapshots(); + return message; + }, + fromAmino(_: RequestListSnapshotsAmino): RequestListSnapshots { + const message = createBaseRequestListSnapshots(); + return message; + }, + toAmino(_: RequestListSnapshots): RequestListSnapshotsAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: RequestListSnapshotsAminoMsg): RequestListSnapshots { + return RequestListSnapshots.fromAmino(object.value); + }, + fromProtoMsg(message: RequestListSnapshotsProtoMsg): RequestListSnapshots { + return RequestListSnapshots.decode(message.value); + }, + toProto(message: RequestListSnapshots): Uint8Array { + return RequestListSnapshots.encode(message).finish(); + }, + toProtoMsg(message: RequestListSnapshots): RequestListSnapshotsProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestListSnapshots', + value: RequestListSnapshots.encode(message).finish(), + }; + }, +}; +function createBaseRequestOfferSnapshot(): RequestOfferSnapshot { + return { + snapshot: undefined, + appHash: new Uint8Array(), + }; +} +export const RequestOfferSnapshot = { + typeUrl: '/tendermint.abci.RequestOfferSnapshot', + encode(message: RequestOfferSnapshot, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.snapshot !== undefined) { + Snapshot.encode(message.snapshot, writer.uint32(10).fork()).ldelim(); + } + if (message.appHash.length !== 0) { + writer.uint32(18).bytes(message.appHash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestOfferSnapshot { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestOfferSnapshot(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.snapshot = Snapshot.decode(reader, reader.uint32()); + break; + case 2: + message.appHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RequestOfferSnapshot { + const message = createBaseRequestOfferSnapshot(); + message.snapshot = + object.snapshot !== undefined && object.snapshot !== null ? Snapshot.fromPartial(object.snapshot) : undefined; + message.appHash = object.appHash ?? new Uint8Array(); + return message; + }, + fromAmino(object: RequestOfferSnapshotAmino): RequestOfferSnapshot { + const message = createBaseRequestOfferSnapshot(); + if (object.snapshot !== undefined && object.snapshot !== null) { + message.snapshot = Snapshot.fromAmino(object.snapshot); + } + if (object.app_hash !== undefined && object.app_hash !== null) { + message.appHash = bytesFromBase64(object.app_hash); + } + return message; + }, + toAmino(message: RequestOfferSnapshot): RequestOfferSnapshotAmino { + const obj: any = {}; + obj.snapshot = message.snapshot ? Snapshot.toAmino(message.snapshot) : undefined; + obj.app_hash = message.appHash ? base64FromBytes(message.appHash) : undefined; + return obj; + }, + fromAminoMsg(object: RequestOfferSnapshotAminoMsg): RequestOfferSnapshot { + return RequestOfferSnapshot.fromAmino(object.value); + }, + fromProtoMsg(message: RequestOfferSnapshotProtoMsg): RequestOfferSnapshot { + return RequestOfferSnapshot.decode(message.value); + }, + toProto(message: RequestOfferSnapshot): Uint8Array { + return RequestOfferSnapshot.encode(message).finish(); + }, + toProtoMsg(message: RequestOfferSnapshot): RequestOfferSnapshotProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestOfferSnapshot', + value: RequestOfferSnapshot.encode(message).finish(), + }; + }, +}; +function createBaseRequestLoadSnapshotChunk(): RequestLoadSnapshotChunk { + return { + height: BigInt(0), + format: 0, + chunk: 0, + }; +} +export const RequestLoadSnapshotChunk = { + typeUrl: '/tendermint.abci.RequestLoadSnapshotChunk', + encode(message: RequestLoadSnapshotChunk, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.height !== BigInt(0)) { + writer.uint32(8).uint64(message.height); + } + if (message.format !== 0) { + writer.uint32(16).uint32(message.format); + } + if (message.chunk !== 0) { + writer.uint32(24).uint32(message.chunk); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestLoadSnapshotChunk { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestLoadSnapshotChunk(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): RequestLoadSnapshotChunk { + const message = createBaseRequestLoadSnapshotChunk(); + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.format = object.format ?? 0; + message.chunk = object.chunk ?? 0; + return message; + }, + fromAmino(object: RequestLoadSnapshotChunkAmino): RequestLoadSnapshotChunk { + const message = createBaseRequestLoadSnapshotChunk(); + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.format !== undefined && object.format !== null) { + message.format = object.format; + } + if (object.chunk !== undefined && object.chunk !== null) { + message.chunk = object.chunk; + } + return message; + }, + toAmino(message: RequestLoadSnapshotChunk): RequestLoadSnapshotChunkAmino { + const obj: any = {}; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.format = message.format === 0 ? undefined : message.format; + obj.chunk = message.chunk === 0 ? undefined : message.chunk; + return obj; + }, + fromAminoMsg(object: RequestLoadSnapshotChunkAminoMsg): RequestLoadSnapshotChunk { + return RequestLoadSnapshotChunk.fromAmino(object.value); + }, + fromProtoMsg(message: RequestLoadSnapshotChunkProtoMsg): RequestLoadSnapshotChunk { + return RequestLoadSnapshotChunk.decode(message.value); + }, + toProto(message: RequestLoadSnapshotChunk): Uint8Array { + return RequestLoadSnapshotChunk.encode(message).finish(); + }, + toProtoMsg(message: RequestLoadSnapshotChunk): RequestLoadSnapshotChunkProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestLoadSnapshotChunk', + value: RequestLoadSnapshotChunk.encode(message).finish(), + }; + }, +}; +function createBaseRequestApplySnapshotChunk(): RequestApplySnapshotChunk { + return { + index: 0, + chunk: new Uint8Array(), + sender: '', + }; +} +export const RequestApplySnapshotChunk = { + typeUrl: '/tendermint.abci.RequestApplySnapshotChunk', + encode(message: RequestApplySnapshotChunk, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.index !== 0) { + writer.uint32(8).uint32(message.index); + } + if (message.chunk.length !== 0) { + writer.uint32(18).bytes(message.chunk); + } + if (message.sender !== '') { + writer.uint32(26).string(message.sender); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestApplySnapshotChunk { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestApplySnapshotChunk(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): RequestApplySnapshotChunk { + const message = createBaseRequestApplySnapshotChunk(); + message.index = object.index ?? 0; + message.chunk = object.chunk ?? new Uint8Array(); + message.sender = object.sender ?? ''; + return message; + }, + fromAmino(object: RequestApplySnapshotChunkAmino): RequestApplySnapshotChunk { + const message = createBaseRequestApplySnapshotChunk(); + if (object.index !== undefined && object.index !== null) { + message.index = object.index; + } + if (object.chunk !== undefined && object.chunk !== null) { + message.chunk = bytesFromBase64(object.chunk); + } + if (object.sender !== undefined && object.sender !== null) { + message.sender = object.sender; + } + return message; + }, + toAmino(message: RequestApplySnapshotChunk): RequestApplySnapshotChunkAmino { + const obj: any = {}; + obj.index = message.index === 0 ? undefined : message.index; + obj.chunk = message.chunk ? base64FromBytes(message.chunk) : undefined; + obj.sender = message.sender === '' ? undefined : message.sender; + return obj; + }, + fromAminoMsg(object: RequestApplySnapshotChunkAminoMsg): RequestApplySnapshotChunk { + return RequestApplySnapshotChunk.fromAmino(object.value); + }, + fromProtoMsg(message: RequestApplySnapshotChunkProtoMsg): RequestApplySnapshotChunk { + return RequestApplySnapshotChunk.decode(message.value); + }, + toProto(message: RequestApplySnapshotChunk): Uint8Array { + return RequestApplySnapshotChunk.encode(message).finish(); + }, + toProtoMsg(message: RequestApplySnapshotChunk): RequestApplySnapshotChunkProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestApplySnapshotChunk', + value: RequestApplySnapshotChunk.encode(message).finish(), + }; + }, +}; +function createBaseRequestPrepareProposal(): RequestPrepareProposal { + return { + maxTxBytes: BigInt(0), + txs: [], + localLastCommit: ExtendedCommitInfo.fromPartial({}), + misbehavior: [], + height: BigInt(0), + time: new Date(), + nextValidatorsHash: new Uint8Array(), + proposerAddress: new Uint8Array(), + }; +} +export const RequestPrepareProposal = { + typeUrl: '/tendermint.abci.RequestPrepareProposal', + encode(message: RequestPrepareProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.maxTxBytes !== BigInt(0)) { + writer.uint32(8).int64(message.maxTxBytes); + } + for (const v of message.txs) { + writer.uint32(18).bytes(v!); + } + if (message.localLastCommit !== undefined) { + ExtendedCommitInfo.encode(message.localLastCommit, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.misbehavior) { + Misbehavior.encode(v!, writer.uint32(34).fork()).ldelim(); + } + if (message.height !== BigInt(0)) { + writer.uint32(40).int64(message.height); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(50).fork()).ldelim(); + } + if (message.nextValidatorsHash.length !== 0) { + writer.uint32(58).bytes(message.nextValidatorsHash); + } + if (message.proposerAddress.length !== 0) { + writer.uint32(66).bytes(message.proposerAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestPrepareProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestPrepareProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.maxTxBytes = reader.int64(); + break; + case 2: + message.txs.push(reader.bytes()); + break; + case 3: + message.localLastCommit = ExtendedCommitInfo.decode(reader, reader.uint32()); + break; + case 4: + message.misbehavior.push(Misbehavior.decode(reader, reader.uint32())); + break; + case 5: + message.height = reader.int64(); + break; + case 6: + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 7: + message.nextValidatorsHash = reader.bytes(); + break; + case 8: + message.proposerAddress = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RequestPrepareProposal { + const message = createBaseRequestPrepareProposal(); + message.maxTxBytes = + object.maxTxBytes !== undefined && object.maxTxBytes !== null ? BigInt(object.maxTxBytes.toString()) : BigInt(0); + message.txs = object.txs?.map((e) => e) || []; + message.localLastCommit = + object.localLastCommit !== undefined && object.localLastCommit !== null + ? ExtendedCommitInfo.fromPartial(object.localLastCommit) + : undefined; + message.misbehavior = object.misbehavior?.map((e) => Misbehavior.fromPartial(e)) || []; + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.time = object.time ?? undefined; + message.nextValidatorsHash = object.nextValidatorsHash ?? new Uint8Array(); + message.proposerAddress = object.proposerAddress ?? new Uint8Array(); + return message; + }, + fromAmino(object: RequestPrepareProposalAmino): RequestPrepareProposal { + const message = createBaseRequestPrepareProposal(); + if (object.max_tx_bytes !== undefined && object.max_tx_bytes !== null) { + message.maxTxBytes = BigInt(object.max_tx_bytes); + } + message.txs = object.txs?.map((e) => bytesFromBase64(e)) || []; + if (object.local_last_commit !== undefined && object.local_last_commit !== null) { + message.localLastCommit = ExtendedCommitInfo.fromAmino(object.local_last_commit); + } + message.misbehavior = object.misbehavior?.map((e) => Misbehavior.fromAmino(e)) || []; + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.time !== undefined && object.time !== null) { + message.time = fromTimestamp(Timestamp.fromAmino(object.time)); + } + if (object.next_validators_hash !== undefined && object.next_validators_hash !== null) { + message.nextValidatorsHash = bytesFromBase64(object.next_validators_hash); + } + if (object.proposer_address !== undefined && object.proposer_address !== null) { + message.proposerAddress = bytesFromBase64(object.proposer_address); + } + return message; + }, + toAmino(message: RequestPrepareProposal): RequestPrepareProposalAmino { + const obj: any = {}; + obj.max_tx_bytes = message.maxTxBytes !== BigInt(0) ? (message.maxTxBytes?.toString)() : undefined; + if (message.txs) { + obj.txs = message.txs.map((e) => base64FromBytes(e)); + } else { + obj.txs = message.txs; + } + obj.local_last_commit = message.localLastCommit ? ExtendedCommitInfo.toAmino(message.localLastCommit) : undefined; + if (message.misbehavior) { + obj.misbehavior = message.misbehavior.map((e) => (e ? Misbehavior.toAmino(e) : undefined)); + } else { + obj.misbehavior = message.misbehavior; + } + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.time = message.time ? Timestamp.toAmino(toTimestamp(message.time)) : undefined; + obj.next_validators_hash = message.nextValidatorsHash ? base64FromBytes(message.nextValidatorsHash) : undefined; + obj.proposer_address = message.proposerAddress ? base64FromBytes(message.proposerAddress) : undefined; + return obj; + }, + fromAminoMsg(object: RequestPrepareProposalAminoMsg): RequestPrepareProposal { + return RequestPrepareProposal.fromAmino(object.value); + }, + fromProtoMsg(message: RequestPrepareProposalProtoMsg): RequestPrepareProposal { + return RequestPrepareProposal.decode(message.value); + }, + toProto(message: RequestPrepareProposal): Uint8Array { + return RequestPrepareProposal.encode(message).finish(); + }, + toProtoMsg(message: RequestPrepareProposal): RequestPrepareProposalProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestPrepareProposal', + value: RequestPrepareProposal.encode(message).finish(), + }; + }, +}; +function createBaseRequestProcessProposal(): RequestProcessProposal { + return { + txs: [], + proposedLastCommit: CommitInfo.fromPartial({}), + misbehavior: [], + hash: new Uint8Array(), + height: BigInt(0), + time: new Date(), + nextValidatorsHash: new Uint8Array(), + proposerAddress: new Uint8Array(), + }; +} +export const RequestProcessProposal = { + typeUrl: '/tendermint.abci.RequestProcessProposal', + encode(message: RequestProcessProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.txs) { + writer.uint32(10).bytes(v!); + } + if (message.proposedLastCommit !== undefined) { + CommitInfo.encode(message.proposedLastCommit, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.misbehavior) { + Misbehavior.encode(v!, writer.uint32(26).fork()).ldelim(); + } + if (message.hash.length !== 0) { + writer.uint32(34).bytes(message.hash); + } + if (message.height !== BigInt(0)) { + writer.uint32(40).int64(message.height); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(50).fork()).ldelim(); + } + if (message.nextValidatorsHash.length !== 0) { + writer.uint32(58).bytes(message.nextValidatorsHash); + } + if (message.proposerAddress.length !== 0) { + writer.uint32(66).bytes(message.proposerAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestProcessProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestProcessProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.txs.push(reader.bytes()); + break; + case 2: + message.proposedLastCommit = CommitInfo.decode(reader, reader.uint32()); + break; + case 3: + message.misbehavior.push(Misbehavior.decode(reader, reader.uint32())); + break; + case 4: + message.hash = reader.bytes(); + break; + case 5: + message.height = reader.int64(); + break; + case 6: + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 7: + message.nextValidatorsHash = reader.bytes(); + break; + case 8: + message.proposerAddress = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RequestProcessProposal { + const message = createBaseRequestProcessProposal(); + message.txs = object.txs?.map((e) => e) || []; + message.proposedLastCommit = + object.proposedLastCommit !== undefined && object.proposedLastCommit !== null + ? CommitInfo.fromPartial(object.proposedLastCommit) + : undefined; + message.misbehavior = object.misbehavior?.map((e) => Misbehavior.fromPartial(e)) || []; + message.hash = object.hash ?? new Uint8Array(); + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.time = object.time ?? undefined; + message.nextValidatorsHash = object.nextValidatorsHash ?? new Uint8Array(); + message.proposerAddress = object.proposerAddress ?? new Uint8Array(); + return message; + }, + fromAmino(object: RequestProcessProposalAmino): RequestProcessProposal { + const message = createBaseRequestProcessProposal(); + message.txs = object.txs?.map((e) => bytesFromBase64(e)) || []; + if (object.proposed_last_commit !== undefined && object.proposed_last_commit !== null) { + message.proposedLastCommit = CommitInfo.fromAmino(object.proposed_last_commit); + } + message.misbehavior = object.misbehavior?.map((e) => Misbehavior.fromAmino(e)) || []; + if (object.hash !== undefined && object.hash !== null) { + message.hash = bytesFromBase64(object.hash); + } + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.time !== undefined && object.time !== null) { + message.time = fromTimestamp(Timestamp.fromAmino(object.time)); + } + if (object.next_validators_hash !== undefined && object.next_validators_hash !== null) { + message.nextValidatorsHash = bytesFromBase64(object.next_validators_hash); + } + if (object.proposer_address !== undefined && object.proposer_address !== null) { + message.proposerAddress = bytesFromBase64(object.proposer_address); + } + return message; + }, + toAmino(message: RequestProcessProposal): RequestProcessProposalAmino { + const obj: any = {}; + if (message.txs) { + obj.txs = message.txs.map((e) => base64FromBytes(e)); + } else { + obj.txs = message.txs; + } + obj.proposed_last_commit = message.proposedLastCommit ? CommitInfo.toAmino(message.proposedLastCommit) : undefined; + if (message.misbehavior) { + obj.misbehavior = message.misbehavior.map((e) => (e ? Misbehavior.toAmino(e) : undefined)); + } else { + obj.misbehavior = message.misbehavior; + } + obj.hash = message.hash ? base64FromBytes(message.hash) : undefined; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.time = message.time ? Timestamp.toAmino(toTimestamp(message.time)) : undefined; + obj.next_validators_hash = message.nextValidatorsHash ? base64FromBytes(message.nextValidatorsHash) : undefined; + obj.proposer_address = message.proposerAddress ? base64FromBytes(message.proposerAddress) : undefined; + return obj; + }, + fromAminoMsg(object: RequestProcessProposalAminoMsg): RequestProcessProposal { + return RequestProcessProposal.fromAmino(object.value); + }, + fromProtoMsg(message: RequestProcessProposalProtoMsg): RequestProcessProposal { + return RequestProcessProposal.decode(message.value); + }, + toProto(message: RequestProcessProposal): Uint8Array { + return RequestProcessProposal.encode(message).finish(); + }, + toProtoMsg(message: RequestProcessProposal): RequestProcessProposalProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestProcessProposal', + value: RequestProcessProposal.encode(message).finish(), + }; + }, +}; +function createBaseRequestExtendVote(): RequestExtendVote { + return { + hash: new Uint8Array(), + height: BigInt(0), + time: new Date(), + txs: [], + proposedLastCommit: CommitInfo.fromPartial({}), + misbehavior: [], + nextValidatorsHash: new Uint8Array(), + proposerAddress: new Uint8Array(), + }; +} +export const RequestExtendVote = { + typeUrl: '/tendermint.abci.RequestExtendVote', + encode(message: RequestExtendVote, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.hash.length !== 0) { + writer.uint32(10).bytes(message.hash); + } + if (message.height !== BigInt(0)) { + writer.uint32(16).int64(message.height); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(26).fork()).ldelim(); + } + for (const v of message.txs) { + writer.uint32(34).bytes(v!); + } + if (message.proposedLastCommit !== undefined) { + CommitInfo.encode(message.proposedLastCommit, writer.uint32(42).fork()).ldelim(); + } + for (const v of message.misbehavior) { + Misbehavior.encode(v!, writer.uint32(50).fork()).ldelim(); + } + if (message.nextValidatorsHash.length !== 0) { + writer.uint32(58).bytes(message.nextValidatorsHash); + } + if (message.proposerAddress.length !== 0) { + writer.uint32(66).bytes(message.proposerAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestExtendVote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestExtendVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.hash = reader.bytes(); + break; + case 2: + message.height = reader.int64(); + break; + case 3: + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 4: + message.txs.push(reader.bytes()); + break; + case 5: + message.proposedLastCommit = CommitInfo.decode(reader, reader.uint32()); + break; + case 6: + message.misbehavior.push(Misbehavior.decode(reader, reader.uint32())); + break; + case 7: + message.nextValidatorsHash = reader.bytes(); + break; + case 8: + message.proposerAddress = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RequestExtendVote { + const message = createBaseRequestExtendVote(); + message.hash = object.hash ?? new Uint8Array(); + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.time = object.time ?? undefined; + message.txs = object.txs?.map((e) => e) || []; + message.proposedLastCommit = + object.proposedLastCommit !== undefined && object.proposedLastCommit !== null + ? CommitInfo.fromPartial(object.proposedLastCommit) + : undefined; + message.misbehavior = object.misbehavior?.map((e) => Misbehavior.fromPartial(e)) || []; + message.nextValidatorsHash = object.nextValidatorsHash ?? new Uint8Array(); + message.proposerAddress = object.proposerAddress ?? new Uint8Array(); + return message; + }, + fromAmino(object: RequestExtendVoteAmino): RequestExtendVote { + const message = createBaseRequestExtendVote(); + if (object.hash !== undefined && object.hash !== null) { + message.hash = bytesFromBase64(object.hash); + } + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.time !== undefined && object.time !== null) { + message.time = fromTimestamp(Timestamp.fromAmino(object.time)); + } + message.txs = object.txs?.map((e) => bytesFromBase64(e)) || []; + if (object.proposed_last_commit !== undefined && object.proposed_last_commit !== null) { + message.proposedLastCommit = CommitInfo.fromAmino(object.proposed_last_commit); + } + message.misbehavior = object.misbehavior?.map((e) => Misbehavior.fromAmino(e)) || []; + if (object.next_validators_hash !== undefined && object.next_validators_hash !== null) { + message.nextValidatorsHash = bytesFromBase64(object.next_validators_hash); + } + if (object.proposer_address !== undefined && object.proposer_address !== null) { + message.proposerAddress = bytesFromBase64(object.proposer_address); + } + return message; + }, + toAmino(message: RequestExtendVote): RequestExtendVoteAmino { + const obj: any = {}; + obj.hash = message.hash ? base64FromBytes(message.hash) : undefined; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.time = message.time ? Timestamp.toAmino(toTimestamp(message.time)) : undefined; + if (message.txs) { + obj.txs = message.txs.map((e) => base64FromBytes(e)); + } else { + obj.txs = message.txs; + } + obj.proposed_last_commit = message.proposedLastCommit ? CommitInfo.toAmino(message.proposedLastCommit) : undefined; + if (message.misbehavior) { + obj.misbehavior = message.misbehavior.map((e) => (e ? Misbehavior.toAmino(e) : undefined)); + } else { + obj.misbehavior = message.misbehavior; + } + obj.next_validators_hash = message.nextValidatorsHash ? base64FromBytes(message.nextValidatorsHash) : undefined; + obj.proposer_address = message.proposerAddress ? base64FromBytes(message.proposerAddress) : undefined; + return obj; + }, + fromAminoMsg(object: RequestExtendVoteAminoMsg): RequestExtendVote { + return RequestExtendVote.fromAmino(object.value); + }, + fromProtoMsg(message: RequestExtendVoteProtoMsg): RequestExtendVote { + return RequestExtendVote.decode(message.value); + }, + toProto(message: RequestExtendVote): Uint8Array { + return RequestExtendVote.encode(message).finish(); + }, + toProtoMsg(message: RequestExtendVote): RequestExtendVoteProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestExtendVote', + value: RequestExtendVote.encode(message).finish(), + }; + }, +}; +function createBaseRequestVerifyVoteExtension(): RequestVerifyVoteExtension { + return { + hash: new Uint8Array(), + validatorAddress: new Uint8Array(), + height: BigInt(0), + voteExtension: new Uint8Array(), + }; +} +export const RequestVerifyVoteExtension = { + typeUrl: '/tendermint.abci.RequestVerifyVoteExtension', + encode(message: RequestVerifyVoteExtension, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.hash.length !== 0) { + writer.uint32(10).bytes(message.hash); + } + if (message.validatorAddress.length !== 0) { + writer.uint32(18).bytes(message.validatorAddress); + } + if (message.height !== BigInt(0)) { + writer.uint32(24).int64(message.height); + } + if (message.voteExtension.length !== 0) { + writer.uint32(34).bytes(message.voteExtension); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestVerifyVoteExtension { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestVerifyVoteExtension(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.hash = reader.bytes(); + break; + case 2: + message.validatorAddress = reader.bytes(); + break; + case 3: + message.height = reader.int64(); + break; + case 4: + message.voteExtension = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RequestVerifyVoteExtension { + const message = createBaseRequestVerifyVoteExtension(); + message.hash = object.hash ?? new Uint8Array(); + message.validatorAddress = object.validatorAddress ?? new Uint8Array(); + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.voteExtension = object.voteExtension ?? new Uint8Array(); + return message; + }, + fromAmino(object: RequestVerifyVoteExtensionAmino): RequestVerifyVoteExtension { + const message = createBaseRequestVerifyVoteExtension(); + if (object.hash !== undefined && object.hash !== null) { + message.hash = bytesFromBase64(object.hash); + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = bytesFromBase64(object.validator_address); + } + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.vote_extension !== undefined && object.vote_extension !== null) { + message.voteExtension = bytesFromBase64(object.vote_extension); + } + return message; + }, + toAmino(message: RequestVerifyVoteExtension): RequestVerifyVoteExtensionAmino { + const obj: any = {}; + obj.hash = message.hash ? base64FromBytes(message.hash) : undefined; + obj.validator_address = message.validatorAddress ? base64FromBytes(message.validatorAddress) : undefined; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.vote_extension = message.voteExtension ? base64FromBytes(message.voteExtension) : undefined; + return obj; + }, + fromAminoMsg(object: RequestVerifyVoteExtensionAminoMsg): RequestVerifyVoteExtension { + return RequestVerifyVoteExtension.fromAmino(object.value); + }, + fromProtoMsg(message: RequestVerifyVoteExtensionProtoMsg): RequestVerifyVoteExtension { + return RequestVerifyVoteExtension.decode(message.value); + }, + toProto(message: RequestVerifyVoteExtension): Uint8Array { + return RequestVerifyVoteExtension.encode(message).finish(); + }, + toProtoMsg(message: RequestVerifyVoteExtension): RequestVerifyVoteExtensionProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestVerifyVoteExtension', + value: RequestVerifyVoteExtension.encode(message).finish(), + }; + }, +}; +function createBaseRequestFinalizeBlock(): RequestFinalizeBlock { + return { + txs: [], + decidedLastCommit: CommitInfo.fromPartial({}), + misbehavior: [], + hash: new Uint8Array(), + height: BigInt(0), + time: new Date(), + nextValidatorsHash: new Uint8Array(), + proposerAddress: new Uint8Array(), + }; +} +export const RequestFinalizeBlock = { + typeUrl: '/tendermint.abci.RequestFinalizeBlock', + encode(message: RequestFinalizeBlock, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.txs) { + writer.uint32(10).bytes(v!); + } + if (message.decidedLastCommit !== undefined) { + CommitInfo.encode(message.decidedLastCommit, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.misbehavior) { + Misbehavior.encode(v!, writer.uint32(26).fork()).ldelim(); + } + if (message.hash.length !== 0) { + writer.uint32(34).bytes(message.hash); + } + if (message.height !== BigInt(0)) { + writer.uint32(40).int64(message.height); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(50).fork()).ldelim(); + } + if (message.nextValidatorsHash.length !== 0) { + writer.uint32(58).bytes(message.nextValidatorsHash); + } + if (message.proposerAddress.length !== 0) { + writer.uint32(66).bytes(message.proposerAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): RequestFinalizeBlock { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRequestFinalizeBlock(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.txs.push(reader.bytes()); + break; + case 2: + message.decidedLastCommit = CommitInfo.decode(reader, reader.uint32()); + break; + case 3: + message.misbehavior.push(Misbehavior.decode(reader, reader.uint32())); + break; + case 4: + message.hash = reader.bytes(); + break; + case 5: + message.height = reader.int64(); + break; + case 6: + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 7: + message.nextValidatorsHash = reader.bytes(); + break; + case 8: + message.proposerAddress = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): RequestFinalizeBlock { + const message = createBaseRequestFinalizeBlock(); + message.txs = object.txs?.map((e) => e) || []; + message.decidedLastCommit = + object.decidedLastCommit !== undefined && object.decidedLastCommit !== null + ? CommitInfo.fromPartial(object.decidedLastCommit) + : undefined; + message.misbehavior = object.misbehavior?.map((e) => Misbehavior.fromPartial(e)) || []; + message.hash = object.hash ?? new Uint8Array(); + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.time = object.time ?? undefined; + message.nextValidatorsHash = object.nextValidatorsHash ?? new Uint8Array(); + message.proposerAddress = object.proposerAddress ?? new Uint8Array(); + return message; + }, + fromAmino(object: RequestFinalizeBlockAmino): RequestFinalizeBlock { + const message = createBaseRequestFinalizeBlock(); + message.txs = object.txs?.map((e) => bytesFromBase64(e)) || []; + if (object.decided_last_commit !== undefined && object.decided_last_commit !== null) { + message.decidedLastCommit = CommitInfo.fromAmino(object.decided_last_commit); + } + message.misbehavior = object.misbehavior?.map((e) => Misbehavior.fromAmino(e)) || []; + if (object.hash !== undefined && object.hash !== null) { + message.hash = bytesFromBase64(object.hash); + } + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.time !== undefined && object.time !== null) { + message.time = fromTimestamp(Timestamp.fromAmino(object.time)); + } + if (object.next_validators_hash !== undefined && object.next_validators_hash !== null) { + message.nextValidatorsHash = bytesFromBase64(object.next_validators_hash); + } + if (object.proposer_address !== undefined && object.proposer_address !== null) { + message.proposerAddress = bytesFromBase64(object.proposer_address); + } + return message; + }, + toAmino(message: RequestFinalizeBlock): RequestFinalizeBlockAmino { + const obj: any = {}; + if (message.txs) { + obj.txs = message.txs.map((e) => base64FromBytes(e)); + } else { + obj.txs = message.txs; + } + obj.decided_last_commit = message.decidedLastCommit ? CommitInfo.toAmino(message.decidedLastCommit) : undefined; + if (message.misbehavior) { + obj.misbehavior = message.misbehavior.map((e) => (e ? Misbehavior.toAmino(e) : undefined)); + } else { + obj.misbehavior = message.misbehavior; + } + obj.hash = message.hash ? base64FromBytes(message.hash) : undefined; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.time = message.time ? Timestamp.toAmino(toTimestamp(message.time)) : undefined; + obj.next_validators_hash = message.nextValidatorsHash ? base64FromBytes(message.nextValidatorsHash) : undefined; + obj.proposer_address = message.proposerAddress ? base64FromBytes(message.proposerAddress) : undefined; + return obj; + }, + fromAminoMsg(object: RequestFinalizeBlockAminoMsg): RequestFinalizeBlock { + return RequestFinalizeBlock.fromAmino(object.value); + }, + fromProtoMsg(message: RequestFinalizeBlockProtoMsg): RequestFinalizeBlock { + return RequestFinalizeBlock.decode(message.value); + }, + toProto(message: RequestFinalizeBlock): Uint8Array { + return RequestFinalizeBlock.encode(message).finish(); + }, + toProtoMsg(message: RequestFinalizeBlock): RequestFinalizeBlockProtoMsg { + return { + typeUrl: '/tendermint.abci.RequestFinalizeBlock', + value: RequestFinalizeBlock.encode(message).finish(), + }; + }, +}; +function createBaseResponse(): Response { + return { + exception: undefined, + echo: undefined, + flush: undefined, + info: undefined, + initChain: undefined, + query: undefined, + checkTx: undefined, + commit: undefined, + listSnapshots: undefined, + offerSnapshot: undefined, + loadSnapshotChunk: undefined, + applySnapshotChunk: undefined, + prepareProposal: undefined, + processProposal: undefined, + extendVote: undefined, + verifyVoteExtension: undefined, + finalizeBlock: undefined, + }; +} +export const Response = { + typeUrl: '/tendermint.abci.Response', + encode(message: Response, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.exception !== undefined) { + ResponseException.encode(message.exception, writer.uint32(10).fork()).ldelim(); + } + if (message.echo !== undefined) { + ResponseEcho.encode(message.echo, writer.uint32(18).fork()).ldelim(); + } + if (message.flush !== undefined) { + ResponseFlush.encode(message.flush, writer.uint32(26).fork()).ldelim(); + } + if (message.info !== undefined) { + ResponseInfo.encode(message.info, writer.uint32(34).fork()).ldelim(); + } + if (message.initChain !== undefined) { + ResponseInitChain.encode(message.initChain, writer.uint32(50).fork()).ldelim(); + } + if (message.query !== undefined) { + ResponseQuery.encode(message.query, writer.uint32(58).fork()).ldelim(); + } + if (message.checkTx !== undefined) { + ResponseCheckTx.encode(message.checkTx, writer.uint32(74).fork()).ldelim(); + } + if (message.commit !== undefined) { + ResponseCommit.encode(message.commit, writer.uint32(98).fork()).ldelim(); + } + if (message.listSnapshots !== undefined) { + ResponseListSnapshots.encode(message.listSnapshots, writer.uint32(106).fork()).ldelim(); + } + if (message.offerSnapshot !== undefined) { + ResponseOfferSnapshot.encode(message.offerSnapshot, writer.uint32(114).fork()).ldelim(); + } + if (message.loadSnapshotChunk !== undefined) { + ResponseLoadSnapshotChunk.encode(message.loadSnapshotChunk, writer.uint32(122).fork()).ldelim(); + } + if (message.applySnapshotChunk !== undefined) { + ResponseApplySnapshotChunk.encode(message.applySnapshotChunk, writer.uint32(130).fork()).ldelim(); + } + if (message.prepareProposal !== undefined) { + ResponsePrepareProposal.encode(message.prepareProposal, writer.uint32(138).fork()).ldelim(); + } + if (message.processProposal !== undefined) { + ResponseProcessProposal.encode(message.processProposal, writer.uint32(146).fork()).ldelim(); + } + if (message.extendVote !== undefined) { + ResponseExtendVote.encode(message.extendVote, writer.uint32(154).fork()).ldelim(); + } + if (message.verifyVoteExtension !== undefined) { + ResponseVerifyVoteExtension.encode(message.verifyVoteExtension, writer.uint32(162).fork()).ldelim(); + } + if (message.finalizeBlock !== undefined) { + ResponseFinalizeBlock.encode(message.finalizeBlock, writer.uint32(170).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Response { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.exception = ResponseException.decode(reader, reader.uint32()); + break; + case 2: + message.echo = ResponseEcho.decode(reader, reader.uint32()); + break; + case 3: + message.flush = ResponseFlush.decode(reader, reader.uint32()); + break; + case 4: + message.info = ResponseInfo.decode(reader, reader.uint32()); + break; + case 6: + message.initChain = ResponseInitChain.decode(reader, reader.uint32()); + break; + case 7: + message.query = ResponseQuery.decode(reader, reader.uint32()); + break; + case 9: + message.checkTx = ResponseCheckTx.decode(reader, reader.uint32()); + break; + case 12: + message.commit = ResponseCommit.decode(reader, reader.uint32()); + break; + case 13: + message.listSnapshots = ResponseListSnapshots.decode(reader, reader.uint32()); + break; + case 14: + message.offerSnapshot = ResponseOfferSnapshot.decode(reader, reader.uint32()); + break; + case 15: + message.loadSnapshotChunk = ResponseLoadSnapshotChunk.decode(reader, reader.uint32()); + break; + case 16: + message.applySnapshotChunk = ResponseApplySnapshotChunk.decode(reader, reader.uint32()); + break; + case 17: + message.prepareProposal = ResponsePrepareProposal.decode(reader, reader.uint32()); + break; + case 18: + message.processProposal = ResponseProcessProposal.decode(reader, reader.uint32()); + break; + case 19: + message.extendVote = ResponseExtendVote.decode(reader, reader.uint32()); + break; + case 20: + message.verifyVoteExtension = ResponseVerifyVoteExtension.decode(reader, reader.uint32()); + break; + case 21: + message.finalizeBlock = ResponseFinalizeBlock.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Response { + const message = createBaseResponse(); + message.exception = + object.exception !== undefined && object.exception !== null + ? ResponseException.fromPartial(object.exception) + : undefined; + message.echo = + object.echo !== undefined && object.echo !== null ? ResponseEcho.fromPartial(object.echo) : undefined; + message.flush = + object.flush !== undefined && object.flush !== null ? ResponseFlush.fromPartial(object.flush) : undefined; + message.info = + object.info !== undefined && object.info !== null ? ResponseInfo.fromPartial(object.info) : undefined; + message.initChain = + object.initChain !== undefined && object.initChain !== null + ? ResponseInitChain.fromPartial(object.initChain) + : undefined; + message.query = + object.query !== undefined && object.query !== null ? ResponseQuery.fromPartial(object.query) : undefined; + message.checkTx = + object.checkTx !== undefined && object.checkTx !== null ? ResponseCheckTx.fromPartial(object.checkTx) : undefined; + message.commit = + object.commit !== undefined && object.commit !== null ? ResponseCommit.fromPartial(object.commit) : undefined; + message.listSnapshots = + object.listSnapshots !== undefined && object.listSnapshots !== null + ? ResponseListSnapshots.fromPartial(object.listSnapshots) + : undefined; + message.offerSnapshot = + object.offerSnapshot !== undefined && object.offerSnapshot !== null + ? ResponseOfferSnapshot.fromPartial(object.offerSnapshot) + : undefined; + message.loadSnapshotChunk = + object.loadSnapshotChunk !== undefined && object.loadSnapshotChunk !== null + ? ResponseLoadSnapshotChunk.fromPartial(object.loadSnapshotChunk) + : undefined; + message.applySnapshotChunk = + object.applySnapshotChunk !== undefined && object.applySnapshotChunk !== null + ? ResponseApplySnapshotChunk.fromPartial(object.applySnapshotChunk) + : undefined; + message.prepareProposal = + object.prepareProposal !== undefined && object.prepareProposal !== null + ? ResponsePrepareProposal.fromPartial(object.prepareProposal) + : undefined; + message.processProposal = + object.processProposal !== undefined && object.processProposal !== null + ? ResponseProcessProposal.fromPartial(object.processProposal) + : undefined; + message.extendVote = + object.extendVote !== undefined && object.extendVote !== null + ? ResponseExtendVote.fromPartial(object.extendVote) + : undefined; + message.verifyVoteExtension = + object.verifyVoteExtension !== undefined && object.verifyVoteExtension !== null + ? ResponseVerifyVoteExtension.fromPartial(object.verifyVoteExtension) + : undefined; + message.finalizeBlock = + object.finalizeBlock !== undefined && object.finalizeBlock !== null + ? ResponseFinalizeBlock.fromPartial(object.finalizeBlock) + : undefined; + return message; + }, + fromAmino(object: ResponseAmino): Response { + const message = createBaseResponse(); + if (object.exception !== undefined && object.exception !== null) { + message.exception = ResponseException.fromAmino(object.exception); + } + if (object.echo !== undefined && object.echo !== null) { + message.echo = ResponseEcho.fromAmino(object.echo); + } + if (object.flush !== undefined && object.flush !== null) { + message.flush = ResponseFlush.fromAmino(object.flush); + } + if (object.info !== undefined && object.info !== null) { + message.info = ResponseInfo.fromAmino(object.info); + } + if (object.init_chain !== undefined && object.init_chain !== null) { + message.initChain = ResponseInitChain.fromAmino(object.init_chain); + } + if (object.query !== undefined && object.query !== null) { + message.query = ResponseQuery.fromAmino(object.query); + } + if (object.check_tx !== undefined && object.check_tx !== null) { + message.checkTx = ResponseCheckTx.fromAmino(object.check_tx); + } + if (object.commit !== undefined && object.commit !== null) { + message.commit = ResponseCommit.fromAmino(object.commit); + } + if (object.list_snapshots !== undefined && object.list_snapshots !== null) { + message.listSnapshots = ResponseListSnapshots.fromAmino(object.list_snapshots); + } + if (object.offer_snapshot !== undefined && object.offer_snapshot !== null) { + message.offerSnapshot = ResponseOfferSnapshot.fromAmino(object.offer_snapshot); + } + if (object.load_snapshot_chunk !== undefined && object.load_snapshot_chunk !== null) { + message.loadSnapshotChunk = ResponseLoadSnapshotChunk.fromAmino(object.load_snapshot_chunk); + } + if (object.apply_snapshot_chunk !== undefined && object.apply_snapshot_chunk !== null) { + message.applySnapshotChunk = ResponseApplySnapshotChunk.fromAmino(object.apply_snapshot_chunk); + } + if (object.prepare_proposal !== undefined && object.prepare_proposal !== null) { + message.prepareProposal = ResponsePrepareProposal.fromAmino(object.prepare_proposal); + } + if (object.process_proposal !== undefined && object.process_proposal !== null) { + message.processProposal = ResponseProcessProposal.fromAmino(object.process_proposal); + } + if (object.extend_vote !== undefined && object.extend_vote !== null) { + message.extendVote = ResponseExtendVote.fromAmino(object.extend_vote); + } + if (object.verify_vote_extension !== undefined && object.verify_vote_extension !== null) { + message.verifyVoteExtension = ResponseVerifyVoteExtension.fromAmino(object.verify_vote_extension); + } + if (object.finalize_block !== undefined && object.finalize_block !== null) { + message.finalizeBlock = ResponseFinalizeBlock.fromAmino(object.finalize_block); + } + return message; + }, + toAmino(message: Response): ResponseAmino { + const obj: any = {}; + obj.exception = message.exception ? ResponseException.toAmino(message.exception) : undefined; + obj.echo = message.echo ? ResponseEcho.toAmino(message.echo) : undefined; + obj.flush = message.flush ? ResponseFlush.toAmino(message.flush) : undefined; + obj.info = message.info ? ResponseInfo.toAmino(message.info) : undefined; + obj.init_chain = message.initChain ? ResponseInitChain.toAmino(message.initChain) : undefined; + obj.query = message.query ? ResponseQuery.toAmino(message.query) : undefined; + obj.check_tx = message.checkTx ? ResponseCheckTx.toAmino(message.checkTx) : undefined; + obj.commit = message.commit ? ResponseCommit.toAmino(message.commit) : undefined; + obj.list_snapshots = message.listSnapshots ? ResponseListSnapshots.toAmino(message.listSnapshots) : undefined; + obj.offer_snapshot = message.offerSnapshot ? ResponseOfferSnapshot.toAmino(message.offerSnapshot) : undefined; + obj.load_snapshot_chunk = message.loadSnapshotChunk + ? ResponseLoadSnapshotChunk.toAmino(message.loadSnapshotChunk) + : undefined; + obj.apply_snapshot_chunk = message.applySnapshotChunk + ? ResponseApplySnapshotChunk.toAmino(message.applySnapshotChunk) + : undefined; + obj.prepare_proposal = message.prepareProposal + ? ResponsePrepareProposal.toAmino(message.prepareProposal) + : undefined; + obj.process_proposal = message.processProposal + ? ResponseProcessProposal.toAmino(message.processProposal) + : undefined; + obj.extend_vote = message.extendVote ? ResponseExtendVote.toAmino(message.extendVote) : undefined; + obj.verify_vote_extension = message.verifyVoteExtension + ? ResponseVerifyVoteExtension.toAmino(message.verifyVoteExtension) + : undefined; + obj.finalize_block = message.finalizeBlock ? ResponseFinalizeBlock.toAmino(message.finalizeBlock) : undefined; + return obj; + }, + fromAminoMsg(object: ResponseAminoMsg): Response { + return Response.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseProtoMsg): Response { + return Response.decode(message.value); + }, + toProto(message: Response): Uint8Array { + return Response.encode(message).finish(); + }, + toProtoMsg(message: Response): ResponseProtoMsg { + return { + typeUrl: '/tendermint.abci.Response', + value: Response.encode(message).finish(), + }; + }, +}; +function createBaseResponseException(): ResponseException { + return { + error: '', + }; +} +export const ResponseException = { + typeUrl: '/tendermint.abci.ResponseException', + encode(message: ResponseException, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.error !== '') { + writer.uint32(10).string(message.error); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseException { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseException(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.error = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseException { + const message = createBaseResponseException(); + message.error = object.error ?? ''; + return message; + }, + fromAmino(object: ResponseExceptionAmino): ResponseException { + const message = createBaseResponseException(); + if (object.error !== undefined && object.error !== null) { + message.error = object.error; + } + return message; + }, + toAmino(message: ResponseException): ResponseExceptionAmino { + const obj: any = {}; + obj.error = message.error === '' ? undefined : message.error; + return obj; + }, + fromAminoMsg(object: ResponseExceptionAminoMsg): ResponseException { + return ResponseException.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseExceptionProtoMsg): ResponseException { + return ResponseException.decode(message.value); + }, + toProto(message: ResponseException): Uint8Array { + return ResponseException.encode(message).finish(); + }, + toProtoMsg(message: ResponseException): ResponseExceptionProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseException', + value: ResponseException.encode(message).finish(), + }; + }, +}; +function createBaseResponseEcho(): ResponseEcho { + return { + message: '', + }; +} +export const ResponseEcho = { + typeUrl: '/tendermint.abci.ResponseEcho', + encode(message: ResponseEcho, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.message !== '') { + writer.uint32(10).string(message.message); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseEcho { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseEcho(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.message = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseEcho { + const message = createBaseResponseEcho(); + message.message = object.message ?? ''; + return message; + }, + fromAmino(object: ResponseEchoAmino): ResponseEcho { + const message = createBaseResponseEcho(); + if (object.message !== undefined && object.message !== null) { + message.message = object.message; + } + return message; + }, + toAmino(message: ResponseEcho): ResponseEchoAmino { + const obj: any = {}; + obj.message = message.message === '' ? undefined : message.message; + return obj; + }, + fromAminoMsg(object: ResponseEchoAminoMsg): ResponseEcho { + return ResponseEcho.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseEchoProtoMsg): ResponseEcho { + return ResponseEcho.decode(message.value); + }, + toProto(message: ResponseEcho): Uint8Array { + return ResponseEcho.encode(message).finish(); + }, + toProtoMsg(message: ResponseEcho): ResponseEchoProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseEcho', + value: ResponseEcho.encode(message).finish(), + }; + }, +}; +function createBaseResponseFlush(): ResponseFlush { + return {}; +} +export const ResponseFlush = { + typeUrl: '/tendermint.abci.ResponseFlush', + encode(_: ResponseFlush, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseFlush { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseFlush(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(_: Partial): ResponseFlush { + const message = createBaseResponseFlush(); + return message; + }, + fromAmino(_: ResponseFlushAmino): ResponseFlush { + const message = createBaseResponseFlush(); + return message; + }, + toAmino(_: ResponseFlush): ResponseFlushAmino { + const obj: any = {}; + return obj; + }, + fromAminoMsg(object: ResponseFlushAminoMsg): ResponseFlush { + return ResponseFlush.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseFlushProtoMsg): ResponseFlush { + return ResponseFlush.decode(message.value); + }, + toProto(message: ResponseFlush): Uint8Array { + return ResponseFlush.encode(message).finish(); + }, + toProtoMsg(message: ResponseFlush): ResponseFlushProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseFlush', + value: ResponseFlush.encode(message).finish(), + }; + }, +}; +function createBaseResponseInfo(): ResponseInfo { + return { + data: '', + version: '', + appVersion: BigInt(0), + lastBlockHeight: BigInt(0), + lastBlockAppHash: new Uint8Array(), + }; +} +export const ResponseInfo = { + typeUrl: '/tendermint.abci.ResponseInfo', + encode(message: ResponseInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.data !== '') { + writer.uint32(10).string(message.data); + } + if (message.version !== '') { + writer.uint32(18).string(message.version); + } + if (message.appVersion !== BigInt(0)) { + writer.uint32(24).uint64(message.appVersion); + } + if (message.lastBlockHeight !== BigInt(0)) { + writer.uint32(32).int64(message.lastBlockHeight); + } + if (message.lastBlockAppHash.length !== 0) { + writer.uint32(42).bytes(message.lastBlockAppHash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseInfo(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): ResponseInfo { + const message = createBaseResponseInfo(); + message.data = object.data ?? ''; + message.version = object.version ?? ''; + message.appVersion = + object.appVersion !== undefined && object.appVersion !== null ? BigInt(object.appVersion.toString()) : BigInt(0); + message.lastBlockHeight = + object.lastBlockHeight !== undefined && object.lastBlockHeight !== null + ? BigInt(object.lastBlockHeight.toString()) + : BigInt(0); + message.lastBlockAppHash = object.lastBlockAppHash ?? new Uint8Array(); + return message; + }, + fromAmino(object: ResponseInfoAmino): ResponseInfo { + const message = createBaseResponseInfo(); + if (object.data !== undefined && object.data !== null) { + message.data = object.data; + } + if (object.version !== undefined && object.version !== null) { + message.version = object.version; + } + if (object.app_version !== undefined && object.app_version !== null) { + message.appVersion = BigInt(object.app_version); + } + if (object.last_block_height !== undefined && object.last_block_height !== null) { + message.lastBlockHeight = BigInt(object.last_block_height); + } + if (object.last_block_app_hash !== undefined && object.last_block_app_hash !== null) { + message.lastBlockAppHash = bytesFromBase64(object.last_block_app_hash); + } + return message; + }, + toAmino(message: ResponseInfo): ResponseInfoAmino { + const obj: any = {}; + obj.data = message.data === '' ? undefined : message.data; + obj.version = message.version === '' ? undefined : message.version; + obj.app_version = message.appVersion !== BigInt(0) ? (message.appVersion?.toString)() : undefined; + obj.last_block_height = message.lastBlockHeight !== BigInt(0) ? (message.lastBlockHeight?.toString)() : undefined; + obj.last_block_app_hash = message.lastBlockAppHash ? base64FromBytes(message.lastBlockAppHash) : undefined; + return obj; + }, + fromAminoMsg(object: ResponseInfoAminoMsg): ResponseInfo { + return ResponseInfo.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseInfoProtoMsg): ResponseInfo { + return ResponseInfo.decode(message.value); + }, + toProto(message: ResponseInfo): Uint8Array { + return ResponseInfo.encode(message).finish(); + }, + toProtoMsg(message: ResponseInfo): ResponseInfoProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseInfo', + value: ResponseInfo.encode(message).finish(), + }; + }, +}; +function createBaseResponseInitChain(): ResponseInitChain { + return { + consensusParams: undefined, + validators: [], + appHash: new Uint8Array(), + }; +} +export const ResponseInitChain = { + typeUrl: '/tendermint.abci.ResponseInitChain', + encode(message: ResponseInitChain, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.consensusParams !== undefined) { + ConsensusParams.encode(message.consensusParams, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.validators) { + ValidatorUpdate.encode(v!, writer.uint32(18).fork()).ldelim(); + } + if (message.appHash.length !== 0) { + writer.uint32(26).bytes(message.appHash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseInitChain { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseInitChain(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.consensusParams = ConsensusParams.decode(reader, reader.uint32()); + break; + case 2: + message.validators.push(ValidatorUpdate.decode(reader, reader.uint32())); + break; + case 3: + message.appHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseInitChain { + const message = createBaseResponseInitChain(); + message.consensusParams = + object.consensusParams !== undefined && object.consensusParams !== null + ? ConsensusParams.fromPartial(object.consensusParams) + : undefined; + message.validators = object.validators?.map((e) => ValidatorUpdate.fromPartial(e)) || []; + message.appHash = object.appHash ?? new Uint8Array(); + return message; + }, + fromAmino(object: ResponseInitChainAmino): ResponseInitChain { + const message = createBaseResponseInitChain(); + if (object.consensus_params !== undefined && object.consensus_params !== null) { + message.consensusParams = ConsensusParams.fromAmino(object.consensus_params); + } + message.validators = object.validators?.map((e) => ValidatorUpdate.fromAmino(e)) || []; + if (object.app_hash !== undefined && object.app_hash !== null) { + message.appHash = bytesFromBase64(object.app_hash); + } + return message; + }, + toAmino(message: ResponseInitChain): ResponseInitChainAmino { + const obj: any = {}; + obj.consensus_params = message.consensusParams ? ConsensusParams.toAmino(message.consensusParams) : undefined; + if (message.validators) { + obj.validators = message.validators.map((e) => (e ? ValidatorUpdate.toAmino(e) : undefined)); + } else { + obj.validators = message.validators; + } + obj.app_hash = message.appHash ? base64FromBytes(message.appHash) : undefined; + return obj; + }, + fromAminoMsg(object: ResponseInitChainAminoMsg): ResponseInitChain { + return ResponseInitChain.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseInitChainProtoMsg): ResponseInitChain { + return ResponseInitChain.decode(message.value); + }, + toProto(message: ResponseInitChain): Uint8Array { + return ResponseInitChain.encode(message).finish(); + }, + toProtoMsg(message: ResponseInitChain): ResponseInitChainProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseInitChain', + value: ResponseInitChain.encode(message).finish(), + }; + }, +}; +function createBaseResponseQuery(): ResponseQuery { + return { + code: 0, + log: '', + info: '', + index: BigInt(0), + key: new Uint8Array(), + value: new Uint8Array(), + proofOps: undefined, + height: BigInt(0), + codespace: '', + }; +} +export const ResponseQuery = { + typeUrl: '/tendermint.abci.ResponseQuery', + encode(message: ResponseQuery, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.code !== 0) { + writer.uint32(8).uint32(message.code); + } + if (message.log !== '') { + writer.uint32(26).string(message.log); + } + if (message.info !== '') { + writer.uint32(34).string(message.info); + } + if (message.index !== BigInt(0)) { + writer.uint32(40).int64(message.index); + } + if (message.key.length !== 0) { + writer.uint32(50).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(58).bytes(message.value); + } + if (message.proofOps !== undefined) { + ProofOps.encode(message.proofOps, writer.uint32(66).fork()).ldelim(); + } + if (message.height !== BigInt(0)) { + writer.uint32(72).int64(message.height); + } + if (message.codespace !== '') { + writer.uint32(82).string(message.codespace); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseQuery { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseQuery(); + while (reader.pos < end) { + const 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 = 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; + }, + fromPartial(object: Partial): ResponseQuery { + const message = createBaseResponseQuery(); + message.code = object.code ?? 0; + message.log = object.log ?? ''; + message.info = object.info ?? ''; + message.index = object.index !== undefined && object.index !== null ? BigInt(object.index.toString()) : BigInt(0); + message.key = object.key ?? new Uint8Array(); + message.value = object.value ?? new Uint8Array(); + message.proofOps = + object.proofOps !== undefined && object.proofOps !== null ? ProofOps.fromPartial(object.proofOps) : undefined; + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.codespace = object.codespace ?? ''; + return message; + }, + fromAmino(object: ResponseQueryAmino): ResponseQuery { + const message = createBaseResponseQuery(); + if (object.code !== undefined && object.code !== null) { + message.code = object.code; + } + if (object.log !== undefined && object.log !== null) { + message.log = object.log; + } + if (object.info !== undefined && object.info !== null) { + message.info = object.info; + } + if (object.index !== undefined && object.index !== null) { + message.index = BigInt(object.index); + } + if (object.key !== undefined && object.key !== null) { + message.key = bytesFromBase64(object.key); + } + if (object.value !== undefined && object.value !== null) { + message.value = bytesFromBase64(object.value); + } + if (object.proof_ops !== undefined && object.proof_ops !== null) { + message.proofOps = ProofOps.fromAmino(object.proof_ops); + } + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.codespace !== undefined && object.codespace !== null) { + message.codespace = object.codespace; + } + return message; + }, + toAmino(message: ResponseQuery): ResponseQueryAmino { + const obj: any = {}; + obj.code = message.code === 0 ? undefined : message.code; + obj.log = message.log === '' ? undefined : message.log; + obj.info = message.info === '' ? undefined : message.info; + obj.index = message.index !== BigInt(0) ? (message.index?.toString)() : undefined; + obj.key = message.key ? base64FromBytes(message.key) : undefined; + obj.value = message.value ? base64FromBytes(message.value) : undefined; + obj.proof_ops = message.proofOps ? ProofOps.toAmino(message.proofOps) : undefined; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.codespace = message.codespace === '' ? undefined : message.codespace; + return obj; + }, + fromAminoMsg(object: ResponseQueryAminoMsg): ResponseQuery { + return ResponseQuery.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseQueryProtoMsg): ResponseQuery { + return ResponseQuery.decode(message.value); + }, + toProto(message: ResponseQuery): Uint8Array { + return ResponseQuery.encode(message).finish(); + }, + toProtoMsg(message: ResponseQuery): ResponseQueryProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseQuery', + value: ResponseQuery.encode(message).finish(), + }; + }, +}; +function createBaseResponseCheckTx(): ResponseCheckTx { + return { + code: 0, + data: new Uint8Array(), + log: '', + info: '', + gasWanted: BigInt(0), + gasUsed: BigInt(0), + events: [], + codespace: '', + }; +} +export const ResponseCheckTx = { + typeUrl: '/tendermint.abci.ResponseCheckTx', + encode(message: ResponseCheckTx, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.code !== 0) { + writer.uint32(8).uint32(message.code); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + if (message.log !== '') { + writer.uint32(26).string(message.log); + } + if (message.info !== '') { + writer.uint32(34).string(message.info); + } + if (message.gasWanted !== BigInt(0)) { + writer.uint32(40).int64(message.gasWanted); + } + if (message.gasUsed !== BigInt(0)) { + writer.uint32(48).int64(message.gasUsed); + } + for (const v of message.events) { + Event.encode(v!, writer.uint32(58).fork()).ldelim(); + } + if (message.codespace !== '') { + writer.uint32(66).string(message.codespace); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseCheckTx { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseCheckTx(); + while (reader.pos < end) { + const 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: + message.events.push(Event.decode(reader, reader.uint32())); + break; + case 8: + message.codespace = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseCheckTx { + const message = createBaseResponseCheckTx(); + message.code = object.code ?? 0; + message.data = object.data ?? new Uint8Array(); + message.log = object.log ?? ''; + message.info = object.info ?? ''; + message.gasWanted = + object.gasWanted !== undefined && object.gasWanted !== null ? BigInt(object.gasWanted.toString()) : BigInt(0); + message.gasUsed = + object.gasUsed !== undefined && object.gasUsed !== null ? BigInt(object.gasUsed.toString()) : BigInt(0); + message.events = object.events?.map((e) => Event.fromPartial(e)) || []; + message.codespace = object.codespace ?? ''; + return message; + }, + fromAmino(object: ResponseCheckTxAmino): ResponseCheckTx { + const message = createBaseResponseCheckTx(); + if (object.code !== undefined && object.code !== null) { + message.code = object.code; + } + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + if (object.log !== undefined && object.log !== null) { + message.log = object.log; + } + if (object.info !== undefined && object.info !== null) { + message.info = object.info; + } + if (object.gas_wanted !== undefined && object.gas_wanted !== null) { + message.gasWanted = BigInt(object.gas_wanted); + } + if (object.gas_used !== undefined && object.gas_used !== null) { + message.gasUsed = BigInt(object.gas_used); + } + message.events = object.events?.map((e) => Event.fromAmino(e)) || []; + if (object.codespace !== undefined && object.codespace !== null) { + message.codespace = object.codespace; + } + return message; + }, + toAmino(message: ResponseCheckTx): ResponseCheckTxAmino { + const obj: any = {}; + obj.code = message.code === 0 ? undefined : message.code; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + obj.log = message.log === '' ? undefined : message.log; + obj.info = message.info === '' ? undefined : message.info; + obj.gas_wanted = message.gasWanted !== BigInt(0) ? (message.gasWanted?.toString)() : undefined; + obj.gas_used = message.gasUsed !== BigInt(0) ? (message.gasUsed?.toString)() : undefined; + if (message.events) { + obj.events = message.events.map((e) => (e ? Event.toAmino(e) : undefined)); + } else { + obj.events = message.events; + } + obj.codespace = message.codespace === '' ? undefined : message.codespace; + return obj; + }, + fromAminoMsg(object: ResponseCheckTxAminoMsg): ResponseCheckTx { + return ResponseCheckTx.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseCheckTxProtoMsg): ResponseCheckTx { + return ResponseCheckTx.decode(message.value); + }, + toProto(message: ResponseCheckTx): Uint8Array { + return ResponseCheckTx.encode(message).finish(); + }, + toProtoMsg(message: ResponseCheckTx): ResponseCheckTxProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseCheckTx', + value: ResponseCheckTx.encode(message).finish(), + }; + }, +}; +function createBaseResponseCommit(): ResponseCommit { + return { + retainHeight: BigInt(0), + }; +} +export const ResponseCommit = { + typeUrl: '/tendermint.abci.ResponseCommit', + encode(message: ResponseCommit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.retainHeight !== BigInt(0)) { + writer.uint32(24).int64(message.retainHeight); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseCommit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseCommit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 3: + message.retainHeight = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseCommit { + const message = createBaseResponseCommit(); + message.retainHeight = + object.retainHeight !== undefined && object.retainHeight !== null + ? BigInt(object.retainHeight.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: ResponseCommitAmino): ResponseCommit { + const message = createBaseResponseCommit(); + if (object.retain_height !== undefined && object.retain_height !== null) { + message.retainHeight = BigInt(object.retain_height); + } + return message; + }, + toAmino(message: ResponseCommit): ResponseCommitAmino { + const obj: any = {}; + obj.retain_height = message.retainHeight !== BigInt(0) ? (message.retainHeight?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: ResponseCommitAminoMsg): ResponseCommit { + return ResponseCommit.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseCommitProtoMsg): ResponseCommit { + return ResponseCommit.decode(message.value); + }, + toProto(message: ResponseCommit): Uint8Array { + return ResponseCommit.encode(message).finish(); + }, + toProtoMsg(message: ResponseCommit): ResponseCommitProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseCommit', + value: ResponseCommit.encode(message).finish(), + }; + }, +}; +function createBaseResponseListSnapshots(): ResponseListSnapshots { + return { + snapshots: [], + }; +} +export const ResponseListSnapshots = { + typeUrl: '/tendermint.abci.ResponseListSnapshots', + encode(message: ResponseListSnapshots, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.snapshots) { + Snapshot.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseListSnapshots { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseListSnapshots(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.snapshots.push(Snapshot.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseListSnapshots { + const message = createBaseResponseListSnapshots(); + message.snapshots = object.snapshots?.map((e) => Snapshot.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ResponseListSnapshotsAmino): ResponseListSnapshots { + const message = createBaseResponseListSnapshots(); + message.snapshots = object.snapshots?.map((e) => Snapshot.fromAmino(e)) || []; + return message; + }, + toAmino(message: ResponseListSnapshots): ResponseListSnapshotsAmino { + const obj: any = {}; + if (message.snapshots) { + obj.snapshots = message.snapshots.map((e) => (e ? Snapshot.toAmino(e) : undefined)); + } else { + obj.snapshots = message.snapshots; + } + return obj; + }, + fromAminoMsg(object: ResponseListSnapshotsAminoMsg): ResponseListSnapshots { + return ResponseListSnapshots.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseListSnapshotsProtoMsg): ResponseListSnapshots { + return ResponseListSnapshots.decode(message.value); + }, + toProto(message: ResponseListSnapshots): Uint8Array { + return ResponseListSnapshots.encode(message).finish(); + }, + toProtoMsg(message: ResponseListSnapshots): ResponseListSnapshotsProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseListSnapshots', + value: ResponseListSnapshots.encode(message).finish(), + }; + }, +}; +function createBaseResponseOfferSnapshot(): ResponseOfferSnapshot { + return { + result: 0, + }; +} +export const ResponseOfferSnapshot = { + typeUrl: '/tendermint.abci.ResponseOfferSnapshot', + encode(message: ResponseOfferSnapshot, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.result !== 0) { + writer.uint32(8).int32(message.result); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseOfferSnapshot { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseOfferSnapshot(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.result = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseOfferSnapshot { + const message = createBaseResponseOfferSnapshot(); + message.result = object.result ?? 0; + return message; + }, + fromAmino(object: ResponseOfferSnapshotAmino): ResponseOfferSnapshot { + const message = createBaseResponseOfferSnapshot(); + if (object.result !== undefined && object.result !== null) { + message.result = object.result; + } + return message; + }, + toAmino(message: ResponseOfferSnapshot): ResponseOfferSnapshotAmino { + const obj: any = {}; + obj.result = message.result === 0 ? undefined : message.result; + return obj; + }, + fromAminoMsg(object: ResponseOfferSnapshotAminoMsg): ResponseOfferSnapshot { + return ResponseOfferSnapshot.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseOfferSnapshotProtoMsg): ResponseOfferSnapshot { + return ResponseOfferSnapshot.decode(message.value); + }, + toProto(message: ResponseOfferSnapshot): Uint8Array { + return ResponseOfferSnapshot.encode(message).finish(); + }, + toProtoMsg(message: ResponseOfferSnapshot): ResponseOfferSnapshotProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseOfferSnapshot', + value: ResponseOfferSnapshot.encode(message).finish(), + }; + }, +}; +function createBaseResponseLoadSnapshotChunk(): ResponseLoadSnapshotChunk { + return { + chunk: new Uint8Array(), + }; +} +export const ResponseLoadSnapshotChunk = { + typeUrl: '/tendermint.abci.ResponseLoadSnapshotChunk', + encode(message: ResponseLoadSnapshotChunk, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.chunk.length !== 0) { + writer.uint32(10).bytes(message.chunk); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseLoadSnapshotChunk { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseLoadSnapshotChunk(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.chunk = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseLoadSnapshotChunk { + const message = createBaseResponseLoadSnapshotChunk(); + message.chunk = object.chunk ?? new Uint8Array(); + return message; + }, + fromAmino(object: ResponseLoadSnapshotChunkAmino): ResponseLoadSnapshotChunk { + const message = createBaseResponseLoadSnapshotChunk(); + if (object.chunk !== undefined && object.chunk !== null) { + message.chunk = bytesFromBase64(object.chunk); + } + return message; + }, + toAmino(message: ResponseLoadSnapshotChunk): ResponseLoadSnapshotChunkAmino { + const obj: any = {}; + obj.chunk = message.chunk ? base64FromBytes(message.chunk) : undefined; + return obj; + }, + fromAminoMsg(object: ResponseLoadSnapshotChunkAminoMsg): ResponseLoadSnapshotChunk { + return ResponseLoadSnapshotChunk.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseLoadSnapshotChunkProtoMsg): ResponseLoadSnapshotChunk { + return ResponseLoadSnapshotChunk.decode(message.value); + }, + toProto(message: ResponseLoadSnapshotChunk): Uint8Array { + return ResponseLoadSnapshotChunk.encode(message).finish(); + }, + toProtoMsg(message: ResponseLoadSnapshotChunk): ResponseLoadSnapshotChunkProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseLoadSnapshotChunk', + value: ResponseLoadSnapshotChunk.encode(message).finish(), + }; + }, +}; +function createBaseResponseApplySnapshotChunk(): ResponseApplySnapshotChunk { + return { + result: 0, + refetchChunks: [], + rejectSenders: [], + }; +} +export const ResponseApplySnapshotChunk = { + typeUrl: '/tendermint.abci.ResponseApplySnapshotChunk', + encode(message: ResponseApplySnapshotChunk, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.result !== 0) { + writer.uint32(8).int32(message.result); + } + writer.uint32(18).fork(); + for (const v of message.refetchChunks) { + writer.uint32(v); + } + writer.ldelim(); + for (const v of message.rejectSenders) { + writer.uint32(26).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseApplySnapshotChunk { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseApplySnapshotChunk(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.result = reader.int32() as any; + break; + case 2: + if ((tag & 7) === 2) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.refetchChunks.push(reader.uint32()); + } + } else { + message.refetchChunks.push(reader.uint32()); + } + break; + case 3: + message.rejectSenders.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseApplySnapshotChunk { + const message = createBaseResponseApplySnapshotChunk(); + message.result = object.result ?? 0; + message.refetchChunks = object.refetchChunks?.map((e) => e) || []; + message.rejectSenders = object.rejectSenders?.map((e) => e) || []; + return message; + }, + fromAmino(object: ResponseApplySnapshotChunkAmino): ResponseApplySnapshotChunk { + const message = createBaseResponseApplySnapshotChunk(); + if (object.result !== undefined && object.result !== null) { + message.result = object.result; + } + message.refetchChunks = object.refetch_chunks?.map((e) => e) || []; + message.rejectSenders = object.reject_senders?.map((e) => e) || []; + return message; + }, + toAmino(message: ResponseApplySnapshotChunk): ResponseApplySnapshotChunkAmino { + const obj: any = {}; + obj.result = message.result === 0 ? undefined : message.result; + if (message.refetchChunks) { + obj.refetch_chunks = message.refetchChunks.map((e) => e); + } else { + obj.refetch_chunks = message.refetchChunks; + } + if (message.rejectSenders) { + obj.reject_senders = message.rejectSenders.map((e) => e); + } else { + obj.reject_senders = message.rejectSenders; + } + return obj; + }, + fromAminoMsg(object: ResponseApplySnapshotChunkAminoMsg): ResponseApplySnapshotChunk { + return ResponseApplySnapshotChunk.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseApplySnapshotChunkProtoMsg): ResponseApplySnapshotChunk { + return ResponseApplySnapshotChunk.decode(message.value); + }, + toProto(message: ResponseApplySnapshotChunk): Uint8Array { + return ResponseApplySnapshotChunk.encode(message).finish(); + }, + toProtoMsg(message: ResponseApplySnapshotChunk): ResponseApplySnapshotChunkProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseApplySnapshotChunk', + value: ResponseApplySnapshotChunk.encode(message).finish(), + }; + }, +}; +function createBaseResponsePrepareProposal(): ResponsePrepareProposal { + return { + txs: [], + }; +} +export const ResponsePrepareProposal = { + typeUrl: '/tendermint.abci.ResponsePrepareProposal', + encode(message: ResponsePrepareProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.txs) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponsePrepareProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponsePrepareProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.txs.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponsePrepareProposal { + const message = createBaseResponsePrepareProposal(); + message.txs = object.txs?.map((e) => e) || []; + return message; + }, + fromAmino(object: ResponsePrepareProposalAmino): ResponsePrepareProposal { + const message = createBaseResponsePrepareProposal(); + message.txs = object.txs?.map((e) => bytesFromBase64(e)) || []; + return message; + }, + toAmino(message: ResponsePrepareProposal): ResponsePrepareProposalAmino { + const obj: any = {}; + if (message.txs) { + obj.txs = message.txs.map((e) => base64FromBytes(e)); + } else { + obj.txs = message.txs; + } + return obj; + }, + fromAminoMsg(object: ResponsePrepareProposalAminoMsg): ResponsePrepareProposal { + return ResponsePrepareProposal.fromAmino(object.value); + }, + fromProtoMsg(message: ResponsePrepareProposalProtoMsg): ResponsePrepareProposal { + return ResponsePrepareProposal.decode(message.value); + }, + toProto(message: ResponsePrepareProposal): Uint8Array { + return ResponsePrepareProposal.encode(message).finish(); + }, + toProtoMsg(message: ResponsePrepareProposal): ResponsePrepareProposalProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponsePrepareProposal', + value: ResponsePrepareProposal.encode(message).finish(), + }; + }, +}; +function createBaseResponseProcessProposal(): ResponseProcessProposal { + return { + status: 0, + }; +} +export const ResponseProcessProposal = { + typeUrl: '/tendermint.abci.ResponseProcessProposal', + encode(message: ResponseProcessProposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.status !== 0) { + writer.uint32(8).int32(message.status); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseProcessProposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseProcessProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.status = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseProcessProposal { + const message = createBaseResponseProcessProposal(); + message.status = object.status ?? 0; + return message; + }, + fromAmino(object: ResponseProcessProposalAmino): ResponseProcessProposal { + const message = createBaseResponseProcessProposal(); + if (object.status !== undefined && object.status !== null) { + message.status = object.status; + } + return message; + }, + toAmino(message: ResponseProcessProposal): ResponseProcessProposalAmino { + const obj: any = {}; + obj.status = message.status === 0 ? undefined : message.status; + return obj; + }, + fromAminoMsg(object: ResponseProcessProposalAminoMsg): ResponseProcessProposal { + return ResponseProcessProposal.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseProcessProposalProtoMsg): ResponseProcessProposal { + return ResponseProcessProposal.decode(message.value); + }, + toProto(message: ResponseProcessProposal): Uint8Array { + return ResponseProcessProposal.encode(message).finish(); + }, + toProtoMsg(message: ResponseProcessProposal): ResponseProcessProposalProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseProcessProposal', + value: ResponseProcessProposal.encode(message).finish(), + }; + }, +}; +function createBaseResponseExtendVote(): ResponseExtendVote { + return { + voteExtension: new Uint8Array(), + }; +} +export const ResponseExtendVote = { + typeUrl: '/tendermint.abci.ResponseExtendVote', + encode(message: ResponseExtendVote, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.voteExtension.length !== 0) { + writer.uint32(10).bytes(message.voteExtension); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseExtendVote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseExtendVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.voteExtension = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseExtendVote { + const message = createBaseResponseExtendVote(); + message.voteExtension = object.voteExtension ?? new Uint8Array(); + return message; + }, + fromAmino(object: ResponseExtendVoteAmino): ResponseExtendVote { + const message = createBaseResponseExtendVote(); + if (object.vote_extension !== undefined && object.vote_extension !== null) { + message.voteExtension = bytesFromBase64(object.vote_extension); + } + return message; + }, + toAmino(message: ResponseExtendVote): ResponseExtendVoteAmino { + const obj: any = {}; + obj.vote_extension = message.voteExtension ? base64FromBytes(message.voteExtension) : undefined; + return obj; + }, + fromAminoMsg(object: ResponseExtendVoteAminoMsg): ResponseExtendVote { + return ResponseExtendVote.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseExtendVoteProtoMsg): ResponseExtendVote { + return ResponseExtendVote.decode(message.value); + }, + toProto(message: ResponseExtendVote): Uint8Array { + return ResponseExtendVote.encode(message).finish(); + }, + toProtoMsg(message: ResponseExtendVote): ResponseExtendVoteProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseExtendVote', + value: ResponseExtendVote.encode(message).finish(), + }; + }, +}; +function createBaseResponseVerifyVoteExtension(): ResponseVerifyVoteExtension { + return { + status: 0, + }; +} +export const ResponseVerifyVoteExtension = { + typeUrl: '/tendermint.abci.ResponseVerifyVoteExtension', + encode(message: ResponseVerifyVoteExtension, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.status !== 0) { + writer.uint32(8).int32(message.status); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseVerifyVoteExtension { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseVerifyVoteExtension(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.status = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseVerifyVoteExtension { + const message = createBaseResponseVerifyVoteExtension(); + message.status = object.status ?? 0; + return message; + }, + fromAmino(object: ResponseVerifyVoteExtensionAmino): ResponseVerifyVoteExtension { + const message = createBaseResponseVerifyVoteExtension(); + if (object.status !== undefined && object.status !== null) { + message.status = object.status; + } + return message; + }, + toAmino(message: ResponseVerifyVoteExtension): ResponseVerifyVoteExtensionAmino { + const obj: any = {}; + obj.status = message.status === 0 ? undefined : message.status; + return obj; + }, + fromAminoMsg(object: ResponseVerifyVoteExtensionAminoMsg): ResponseVerifyVoteExtension { + return ResponseVerifyVoteExtension.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseVerifyVoteExtensionProtoMsg): ResponseVerifyVoteExtension { + return ResponseVerifyVoteExtension.decode(message.value); + }, + toProto(message: ResponseVerifyVoteExtension): Uint8Array { + return ResponseVerifyVoteExtension.encode(message).finish(); + }, + toProtoMsg(message: ResponseVerifyVoteExtension): ResponseVerifyVoteExtensionProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseVerifyVoteExtension', + value: ResponseVerifyVoteExtension.encode(message).finish(), + }; + }, +}; +function createBaseResponseFinalizeBlock(): ResponseFinalizeBlock { + return { + events: [], + txResults: [], + validatorUpdates: [], + consensusParamUpdates: undefined, + appHash: new Uint8Array(), + }; +} +export const ResponseFinalizeBlock = { + typeUrl: '/tendermint.abci.ResponseFinalizeBlock', + encode(message: ResponseFinalizeBlock, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.events) { + Event.encode(v!, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.txResults) { + ExecTxResult.encode(v!, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.validatorUpdates) { + ValidatorUpdate.encode(v!, writer.uint32(26).fork()).ldelim(); + } + if (message.consensusParamUpdates !== undefined) { + ConsensusParams.encode(message.consensusParamUpdates, writer.uint32(34).fork()).ldelim(); + } + if (message.appHash.length !== 0) { + writer.uint32(42).bytes(message.appHash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ResponseFinalizeBlock { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseResponseFinalizeBlock(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.events.push(Event.decode(reader, reader.uint32())); + break; + case 2: + message.txResults.push(ExecTxResult.decode(reader, reader.uint32())); + break; + case 3: + message.validatorUpdates.push(ValidatorUpdate.decode(reader, reader.uint32())); + break; + case 4: + message.consensusParamUpdates = ConsensusParams.decode(reader, reader.uint32()); + break; + case 5: + message.appHash = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ResponseFinalizeBlock { + const message = createBaseResponseFinalizeBlock(); + message.events = object.events?.map((e) => Event.fromPartial(e)) || []; + message.txResults = object.txResults?.map((e) => ExecTxResult.fromPartial(e)) || []; + message.validatorUpdates = object.validatorUpdates?.map((e) => ValidatorUpdate.fromPartial(e)) || []; + message.consensusParamUpdates = + object.consensusParamUpdates !== undefined && object.consensusParamUpdates !== null + ? ConsensusParams.fromPartial(object.consensusParamUpdates) + : undefined; + message.appHash = object.appHash ?? new Uint8Array(); + return message; + }, + fromAmino(object: ResponseFinalizeBlockAmino): ResponseFinalizeBlock { + const message = createBaseResponseFinalizeBlock(); + message.events = object.events?.map((e) => Event.fromAmino(e)) || []; + message.txResults = object.tx_results?.map((e) => ExecTxResult.fromAmino(e)) || []; + message.validatorUpdates = object.validator_updates?.map((e) => ValidatorUpdate.fromAmino(e)) || []; + if (object.consensus_param_updates !== undefined && object.consensus_param_updates !== null) { + message.consensusParamUpdates = ConsensusParams.fromAmino(object.consensus_param_updates); + } + if (object.app_hash !== undefined && object.app_hash !== null) { + message.appHash = bytesFromBase64(object.app_hash); + } + return message; + }, + toAmino(message: ResponseFinalizeBlock): ResponseFinalizeBlockAmino { + const obj: any = {}; + if (message.events) { + obj.events = message.events.map((e) => (e ? Event.toAmino(e) : undefined)); + } else { + obj.events = message.events; + } + if (message.txResults) { + obj.tx_results = message.txResults.map((e) => (e ? ExecTxResult.toAmino(e) : undefined)); + } else { + obj.tx_results = message.txResults; + } + if (message.validatorUpdates) { + obj.validator_updates = message.validatorUpdates.map((e) => (e ? ValidatorUpdate.toAmino(e) : undefined)); + } else { + obj.validator_updates = message.validatorUpdates; + } + obj.consensus_param_updates = message.consensusParamUpdates + ? ConsensusParams.toAmino(message.consensusParamUpdates) + : undefined; + obj.app_hash = message.appHash ? base64FromBytes(message.appHash) : undefined; + return obj; + }, + fromAminoMsg(object: ResponseFinalizeBlockAminoMsg): ResponseFinalizeBlock { + return ResponseFinalizeBlock.fromAmino(object.value); + }, + fromProtoMsg(message: ResponseFinalizeBlockProtoMsg): ResponseFinalizeBlock { + return ResponseFinalizeBlock.decode(message.value); + }, + toProto(message: ResponseFinalizeBlock): Uint8Array { + return ResponseFinalizeBlock.encode(message).finish(); + }, + toProtoMsg(message: ResponseFinalizeBlock): ResponseFinalizeBlockProtoMsg { + return { + typeUrl: '/tendermint.abci.ResponseFinalizeBlock', + value: ResponseFinalizeBlock.encode(message).finish(), + }; + }, +}; +function createBaseCommitInfo(): CommitInfo { + return { + round: 0, + votes: [], + }; +} +export const CommitInfo = { + typeUrl: '/tendermint.abci.CommitInfo', + encode(message: CommitInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.round !== 0) { + writer.uint32(8).int32(message.round); + } + for (const v of message.votes) { + VoteInfo.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): CommitInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommitInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.round = reader.int32(); + break; + case 2: + message.votes.push(VoteInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): CommitInfo { + const message = createBaseCommitInfo(); + message.round = object.round ?? 0; + message.votes = object.votes?.map((e) => VoteInfo.fromPartial(e)) || []; + return message; + }, + fromAmino(object: CommitInfoAmino): CommitInfo { + const message = createBaseCommitInfo(); + if (object.round !== undefined && object.round !== null) { + message.round = object.round; + } + message.votes = object.votes?.map((e) => VoteInfo.fromAmino(e)) || []; + return message; + }, + toAmino(message: CommitInfo): CommitInfoAmino { + const obj: any = {}; + obj.round = message.round === 0 ? undefined : message.round; + if (message.votes) { + obj.votes = message.votes.map((e) => (e ? VoteInfo.toAmino(e) : undefined)); + } else { + obj.votes = message.votes; + } + return obj; + }, + fromAminoMsg(object: CommitInfoAminoMsg): CommitInfo { + return CommitInfo.fromAmino(object.value); + }, + fromProtoMsg(message: CommitInfoProtoMsg): CommitInfo { + return CommitInfo.decode(message.value); + }, + toProto(message: CommitInfo): Uint8Array { + return CommitInfo.encode(message).finish(); + }, + toProtoMsg(message: CommitInfo): CommitInfoProtoMsg { + return { + typeUrl: '/tendermint.abci.CommitInfo', + value: CommitInfo.encode(message).finish(), + }; + }, +}; +function createBaseExtendedCommitInfo(): ExtendedCommitInfo { + return { + round: 0, + votes: [], + }; +} +export const ExtendedCommitInfo = { + typeUrl: '/tendermint.abci.ExtendedCommitInfo', + encode(message: ExtendedCommitInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.round !== 0) { + writer.uint32(8).int32(message.round); + } + for (const v of message.votes) { + ExtendedVoteInfo.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ExtendedCommitInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtendedCommitInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.round = reader.int32(); + break; + case 2: + message.votes.push(ExtendedVoteInfo.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ExtendedCommitInfo { + const message = createBaseExtendedCommitInfo(); + message.round = object.round ?? 0; + message.votes = object.votes?.map((e) => ExtendedVoteInfo.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ExtendedCommitInfoAmino): ExtendedCommitInfo { + const message = createBaseExtendedCommitInfo(); + if (object.round !== undefined && object.round !== null) { + message.round = object.round; + } + message.votes = object.votes?.map((e) => ExtendedVoteInfo.fromAmino(e)) || []; + return message; + }, + toAmino(message: ExtendedCommitInfo): ExtendedCommitInfoAmino { + const obj: any = {}; + obj.round = message.round === 0 ? undefined : message.round; + if (message.votes) { + obj.votes = message.votes.map((e) => (e ? ExtendedVoteInfo.toAmino(e) : undefined)); + } else { + obj.votes = message.votes; + } + return obj; + }, + fromAminoMsg(object: ExtendedCommitInfoAminoMsg): ExtendedCommitInfo { + return ExtendedCommitInfo.fromAmino(object.value); + }, + fromProtoMsg(message: ExtendedCommitInfoProtoMsg): ExtendedCommitInfo { + return ExtendedCommitInfo.decode(message.value); + }, + toProto(message: ExtendedCommitInfo): Uint8Array { + return ExtendedCommitInfo.encode(message).finish(); + }, + toProtoMsg(message: ExtendedCommitInfo): ExtendedCommitInfoProtoMsg { + return { + typeUrl: '/tendermint.abci.ExtendedCommitInfo', + value: ExtendedCommitInfo.encode(message).finish(), + }; + }, +}; +function createBaseEvent(): Event { + return { + type: '', + attributes: [], + }; +} +export const Event = { + typeUrl: '/tendermint.abci.Event', + encode(message: Event, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.type !== '') { + writer.uint32(10).string(message.type); + } + for (const v of message.attributes) { + EventAttribute.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Event { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEvent(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.string(); + break; + case 2: + message.attributes.push(EventAttribute.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Event { + const message = createBaseEvent(); + message.type = object.type ?? ''; + message.attributes = object.attributes?.map((e) => EventAttribute.fromPartial(e)) || []; + return message; + }, + fromAmino(object: EventAmino): Event { + const message = createBaseEvent(); + if (object.type !== undefined && object.type !== null) { + message.type = object.type; + } + message.attributes = object.attributes?.map((e) => EventAttribute.fromAmino(e)) || []; + return message; + }, + toAmino(message: Event): EventAmino { + const obj: any = {}; + obj.type = message.type === '' ? undefined : message.type; + if (message.attributes) { + obj.attributes = message.attributes.map((e) => (e ? EventAttribute.toAmino(e) : undefined)); + } else { + obj.attributes = message.attributes; + } + return obj; + }, + fromAminoMsg(object: EventAminoMsg): Event { + return Event.fromAmino(object.value); + }, + fromProtoMsg(message: EventProtoMsg): Event { + return Event.decode(message.value); + }, + toProto(message: Event): Uint8Array { + return Event.encode(message).finish(); + }, + toProtoMsg(message: Event): EventProtoMsg { + return { + typeUrl: '/tendermint.abci.Event', + value: Event.encode(message).finish(), + }; + }, +}; +function createBaseEventAttribute(): EventAttribute { + return { + key: '', + value: '', + index: false, + }; +} +export const EventAttribute = { + typeUrl: '/tendermint.abci.EventAttribute', + encode(message: EventAttribute, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.key !== '') { + writer.uint32(10).string(message.key); + } + if (message.value !== '') { + writer.uint32(18).string(message.value); + } + if (message.index === true) { + writer.uint32(24).bool(message.index); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EventAttribute { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventAttribute(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.string(); + break; + case 2: + message.value = reader.string(); + break; + case 3: + message.index = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EventAttribute { + const message = createBaseEventAttribute(); + message.key = object.key ?? ''; + message.value = object.value ?? ''; + message.index = object.index ?? false; + return message; + }, + fromAmino(object: EventAttributeAmino): EventAttribute { + const message = createBaseEventAttribute(); + if (object.key !== undefined && object.key !== null) { + message.key = object.key; + } + if (object.value !== undefined && object.value !== null) { + message.value = object.value; + } + if (object.index !== undefined && object.index !== null) { + message.index = object.index; + } + return message; + }, + toAmino(message: EventAttribute): EventAttributeAmino { + const obj: any = {}; + obj.key = message.key === '' ? undefined : message.key; + obj.value = message.value === '' ? undefined : message.value; + obj.index = message.index === false ? undefined : message.index; + return obj; + }, + fromAminoMsg(object: EventAttributeAminoMsg): EventAttribute { + return EventAttribute.fromAmino(object.value); + }, + fromProtoMsg(message: EventAttributeProtoMsg): EventAttribute { + return EventAttribute.decode(message.value); + }, + toProto(message: EventAttribute): Uint8Array { + return EventAttribute.encode(message).finish(); + }, + toProtoMsg(message: EventAttribute): EventAttributeProtoMsg { + return { + typeUrl: '/tendermint.abci.EventAttribute', + value: EventAttribute.encode(message).finish(), + }; + }, +}; +function createBaseExecTxResult(): ExecTxResult { + return { + code: 0, + data: new Uint8Array(), + log: '', + info: '', + gasWanted: BigInt(0), + gasUsed: BigInt(0), + events: [], + codespace: '', + }; +} +export const ExecTxResult = { + typeUrl: '/tendermint.abci.ExecTxResult', + encode(message: ExecTxResult, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.code !== 0) { + writer.uint32(8).uint32(message.code); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + if (message.log !== '') { + writer.uint32(26).string(message.log); + } + if (message.info !== '') { + writer.uint32(34).string(message.info); + } + if (message.gasWanted !== BigInt(0)) { + writer.uint32(40).int64(message.gasWanted); + } + if (message.gasUsed !== BigInt(0)) { + writer.uint32(48).int64(message.gasUsed); + } + for (const v of message.events) { + Event.encode(v!, writer.uint32(58).fork()).ldelim(); + } + if (message.codespace !== '') { + writer.uint32(66).string(message.codespace); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ExecTxResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExecTxResult(); + while (reader.pos < end) { + const 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: + message.events.push(Event.decode(reader, reader.uint32())); + break; + case 8: + message.codespace = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ExecTxResult { + const message = createBaseExecTxResult(); + message.code = object.code ?? 0; + message.data = object.data ?? new Uint8Array(); + message.log = object.log ?? ''; + message.info = object.info ?? ''; + message.gasWanted = + object.gasWanted !== undefined && object.gasWanted !== null ? BigInt(object.gasWanted.toString()) : BigInt(0); + message.gasUsed = + object.gasUsed !== undefined && object.gasUsed !== null ? BigInt(object.gasUsed.toString()) : BigInt(0); + message.events = object.events?.map((e) => Event.fromPartial(e)) || []; + message.codespace = object.codespace ?? ''; + return message; + }, + fromAmino(object: ExecTxResultAmino): ExecTxResult { + const message = createBaseExecTxResult(); + if (object.code !== undefined && object.code !== null) { + message.code = object.code; + } + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + if (object.log !== undefined && object.log !== null) { + message.log = object.log; + } + if (object.info !== undefined && object.info !== null) { + message.info = object.info; + } + if (object.gas_wanted !== undefined && object.gas_wanted !== null) { + message.gasWanted = BigInt(object.gas_wanted); + } + if (object.gas_used !== undefined && object.gas_used !== null) { + message.gasUsed = BigInt(object.gas_used); + } + message.events = object.events?.map((e) => Event.fromAmino(e)) || []; + if (object.codespace !== undefined && object.codespace !== null) { + message.codespace = object.codespace; + } + return message; + }, + toAmino(message: ExecTxResult): ExecTxResultAmino { + const obj: any = {}; + obj.code = message.code === 0 ? undefined : message.code; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + obj.log = message.log === '' ? undefined : message.log; + obj.info = message.info === '' ? undefined : message.info; + obj.gas_wanted = message.gasWanted !== BigInt(0) ? (message.gasWanted?.toString)() : undefined; + obj.gas_used = message.gasUsed !== BigInt(0) ? (message.gasUsed?.toString)() : undefined; + if (message.events) { + obj.events = message.events.map((e) => (e ? Event.toAmino(e) : undefined)); + } else { + obj.events = message.events; + } + obj.codespace = message.codespace === '' ? undefined : message.codespace; + return obj; + }, + fromAminoMsg(object: ExecTxResultAminoMsg): ExecTxResult { + return ExecTxResult.fromAmino(object.value); + }, + fromProtoMsg(message: ExecTxResultProtoMsg): ExecTxResult { + return ExecTxResult.decode(message.value); + }, + toProto(message: ExecTxResult): Uint8Array { + return ExecTxResult.encode(message).finish(); + }, + toProtoMsg(message: ExecTxResult): ExecTxResultProtoMsg { + return { + typeUrl: '/tendermint.abci.ExecTxResult', + value: ExecTxResult.encode(message).finish(), + }; + }, +}; +function createBaseTxResult(): TxResult { + return { + height: BigInt(0), + index: 0, + tx: new Uint8Array(), + result: ExecTxResult.fromPartial({}), + }; +} +export const TxResult = { + typeUrl: '/tendermint.abci.TxResult', + encode(message: TxResult, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.height !== BigInt(0)) { + writer.uint32(8).int64(message.height); + } + if (message.index !== 0) { + writer.uint32(16).uint32(message.index); + } + if (message.tx.length !== 0) { + writer.uint32(26).bytes(message.tx); + } + if (message.result !== undefined) { + ExecTxResult.encode(message.result, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxResult { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxResult(); + while (reader.pos < end) { + const 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 = ExecTxResult.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxResult { + const message = createBaseTxResult(); + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.index = object.index ?? 0; + message.tx = object.tx ?? new Uint8Array(); + message.result = + object.result !== undefined && object.result !== null ? ExecTxResult.fromPartial(object.result) : undefined; + return message; + }, + fromAmino(object: TxResultAmino): TxResult { + const message = createBaseTxResult(); + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.index !== undefined && object.index !== null) { + message.index = object.index; + } + if (object.tx !== undefined && object.tx !== null) { + message.tx = bytesFromBase64(object.tx); + } + if (object.result !== undefined && object.result !== null) { + message.result = ExecTxResult.fromAmino(object.result); + } + return message; + }, + toAmino(message: TxResult): TxResultAmino { + const obj: any = {}; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.index = message.index === 0 ? undefined : message.index; + obj.tx = message.tx ? base64FromBytes(message.tx) : undefined; + obj.result = message.result ? ExecTxResult.toAmino(message.result) : undefined; + return obj; + }, + fromAminoMsg(object: TxResultAminoMsg): TxResult { + return TxResult.fromAmino(object.value); + }, + fromProtoMsg(message: TxResultProtoMsg): TxResult { + return TxResult.decode(message.value); + }, + toProto(message: TxResult): Uint8Array { + return TxResult.encode(message).finish(); + }, + toProtoMsg(message: TxResult): TxResultProtoMsg { + return { + typeUrl: '/tendermint.abci.TxResult', + value: TxResult.encode(message).finish(), + }; + }, +}; +function createBaseValidator(): Validator { + return { + address: new Uint8Array(), + power: BigInt(0), + }; +} +export const Validator = { + typeUrl: '/tendermint.abci.Validator', + encode(message: Validator, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.address.length !== 0) { + writer.uint32(10).bytes(message.address); + } + if (message.power !== BigInt(0)) { + writer.uint32(24).int64(message.power); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Validator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidator(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): Validator { + const message = createBaseValidator(); + message.address = object.address ?? new Uint8Array(); + message.power = object.power !== undefined && object.power !== null ? BigInt(object.power.toString()) : BigInt(0); + return message; + }, + fromAmino(object: ValidatorAmino): Validator { + const message = createBaseValidator(); + if (object.address !== undefined && object.address !== null) { + message.address = bytesFromBase64(object.address); + } + if (object.power !== undefined && object.power !== null) { + message.power = BigInt(object.power); + } + return message; + }, + toAmino(message: Validator): ValidatorAmino { + const obj: any = {}; + obj.address = message.address ? base64FromBytes(message.address) : undefined; + obj.power = message.power !== BigInt(0) ? (message.power?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: ValidatorAminoMsg): Validator { + return Validator.fromAmino(object.value); + }, + fromProtoMsg(message: ValidatorProtoMsg): Validator { + return Validator.decode(message.value); + }, + toProto(message: Validator): Uint8Array { + return Validator.encode(message).finish(); + }, + toProtoMsg(message: Validator): ValidatorProtoMsg { + return { + typeUrl: '/tendermint.abci.Validator', + value: Validator.encode(message).finish(), + }; + }, +}; +function createBaseValidatorUpdate(): ValidatorUpdate { + return { + pubKey: PublicKey.fromPartial({}), + power: BigInt(0), + }; +} +export const ValidatorUpdate = { + typeUrl: '/tendermint.abci.ValidatorUpdate', + encode(message: ValidatorUpdate, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.pubKey !== undefined) { + PublicKey.encode(message.pubKey, writer.uint32(10).fork()).ldelim(); + } + if (message.power !== BigInt(0)) { + writer.uint32(16).int64(message.power); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorUpdate { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorUpdate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pubKey = PublicKey.decode(reader, reader.uint32()); + break; + case 2: + message.power = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ValidatorUpdate { + const message = createBaseValidatorUpdate(); + message.pubKey = + object.pubKey !== undefined && object.pubKey !== null ? PublicKey.fromPartial(object.pubKey) : undefined; + message.power = object.power !== undefined && object.power !== null ? BigInt(object.power.toString()) : BigInt(0); + return message; + }, + fromAmino(object: ValidatorUpdateAmino): ValidatorUpdate { + const message = createBaseValidatorUpdate(); + if (object.pub_key !== undefined && object.pub_key !== null) { + message.pubKey = PublicKey.fromAmino(object.pub_key); + } + if (object.power !== undefined && object.power !== null) { + message.power = BigInt(object.power); + } + return message; + }, + toAmino(message: ValidatorUpdate): ValidatorUpdateAmino { + const obj: any = {}; + obj.pub_key = message.pubKey ? PublicKey.toAmino(message.pubKey) : undefined; + obj.power = message.power !== BigInt(0) ? (message.power?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: ValidatorUpdateAminoMsg): ValidatorUpdate { + return ValidatorUpdate.fromAmino(object.value); + }, + fromProtoMsg(message: ValidatorUpdateProtoMsg): ValidatorUpdate { + return ValidatorUpdate.decode(message.value); + }, + toProto(message: ValidatorUpdate): Uint8Array { + return ValidatorUpdate.encode(message).finish(); + }, + toProtoMsg(message: ValidatorUpdate): ValidatorUpdateProtoMsg { + return { + typeUrl: '/tendermint.abci.ValidatorUpdate', + value: ValidatorUpdate.encode(message).finish(), + }; + }, +}; +function createBaseVoteInfo(): VoteInfo { + return { + validator: Validator.fromPartial({}), + blockIdFlag: 0, + }; +} +export const VoteInfo = { + typeUrl: '/tendermint.abci.VoteInfo', + encode(message: VoteInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.validator !== undefined) { + Validator.encode(message.validator, writer.uint32(10).fork()).ldelim(); + } + if (message.blockIdFlag !== 0) { + writer.uint32(24).int32(message.blockIdFlag); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): VoteInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVoteInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.validator = Validator.decode(reader, reader.uint32()); + break; + case 3: + message.blockIdFlag = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): VoteInfo { + const message = createBaseVoteInfo(); + message.validator = + object.validator !== undefined && object.validator !== null ? Validator.fromPartial(object.validator) : undefined; + message.blockIdFlag = object.blockIdFlag ?? 0; + return message; + }, + fromAmino(object: VoteInfoAmino): VoteInfo { + const message = createBaseVoteInfo(); + if (object.validator !== undefined && object.validator !== null) { + message.validator = Validator.fromAmino(object.validator); + } + if (object.block_id_flag !== undefined && object.block_id_flag !== null) { + message.blockIdFlag = object.block_id_flag; + } + return message; + }, + toAmino(message: VoteInfo): VoteInfoAmino { + const obj: any = {}; + obj.validator = message.validator ? Validator.toAmino(message.validator) : undefined; + obj.block_id_flag = message.blockIdFlag === 0 ? undefined : message.blockIdFlag; + return obj; + }, + fromAminoMsg(object: VoteInfoAminoMsg): VoteInfo { + return VoteInfo.fromAmino(object.value); + }, + fromProtoMsg(message: VoteInfoProtoMsg): VoteInfo { + return VoteInfo.decode(message.value); + }, + toProto(message: VoteInfo): Uint8Array { + return VoteInfo.encode(message).finish(); + }, + toProtoMsg(message: VoteInfo): VoteInfoProtoMsg { + return { + typeUrl: '/tendermint.abci.VoteInfo', + value: VoteInfo.encode(message).finish(), + }; + }, +}; +function createBaseExtendedVoteInfo(): ExtendedVoteInfo { + return { + validator: Validator.fromPartial({}), + voteExtension: new Uint8Array(), + extensionSignature: new Uint8Array(), + blockIdFlag: 0, + }; +} +export const ExtendedVoteInfo = { + typeUrl: '/tendermint.abci.ExtendedVoteInfo', + encode(message: ExtendedVoteInfo, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.validator !== undefined) { + Validator.encode(message.validator, writer.uint32(10).fork()).ldelim(); + } + if (message.voteExtension.length !== 0) { + writer.uint32(26).bytes(message.voteExtension); + } + if (message.extensionSignature.length !== 0) { + writer.uint32(34).bytes(message.extensionSignature); + } + if (message.blockIdFlag !== 0) { + writer.uint32(40).int32(message.blockIdFlag); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ExtendedVoteInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtendedVoteInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.validator = Validator.decode(reader, reader.uint32()); + break; + case 3: + message.voteExtension = reader.bytes(); + break; + case 4: + message.extensionSignature = reader.bytes(); + break; + case 5: + message.blockIdFlag = reader.int32() as any; + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ExtendedVoteInfo { + const message = createBaseExtendedVoteInfo(); + message.validator = + object.validator !== undefined && object.validator !== null ? Validator.fromPartial(object.validator) : undefined; + message.voteExtension = object.voteExtension ?? new Uint8Array(); + message.extensionSignature = object.extensionSignature ?? new Uint8Array(); + message.blockIdFlag = object.blockIdFlag ?? 0; + return message; + }, + fromAmino(object: ExtendedVoteInfoAmino): ExtendedVoteInfo { + const message = createBaseExtendedVoteInfo(); + if (object.validator !== undefined && object.validator !== null) { + message.validator = Validator.fromAmino(object.validator); + } + if (object.vote_extension !== undefined && object.vote_extension !== null) { + message.voteExtension = bytesFromBase64(object.vote_extension); + } + if (object.extension_signature !== undefined && object.extension_signature !== null) { + message.extensionSignature = bytesFromBase64(object.extension_signature); + } + if (object.block_id_flag !== undefined && object.block_id_flag !== null) { + message.blockIdFlag = object.block_id_flag; + } + return message; + }, + toAmino(message: ExtendedVoteInfo): ExtendedVoteInfoAmino { + const obj: any = {}; + obj.validator = message.validator ? Validator.toAmino(message.validator) : undefined; + obj.vote_extension = message.voteExtension ? base64FromBytes(message.voteExtension) : undefined; + obj.extension_signature = message.extensionSignature ? base64FromBytes(message.extensionSignature) : undefined; + obj.block_id_flag = message.blockIdFlag === 0 ? undefined : message.blockIdFlag; + return obj; + }, + fromAminoMsg(object: ExtendedVoteInfoAminoMsg): ExtendedVoteInfo { + return ExtendedVoteInfo.fromAmino(object.value); + }, + fromProtoMsg(message: ExtendedVoteInfoProtoMsg): ExtendedVoteInfo { + return ExtendedVoteInfo.decode(message.value); + }, + toProto(message: ExtendedVoteInfo): Uint8Array { + return ExtendedVoteInfo.encode(message).finish(); + }, + toProtoMsg(message: ExtendedVoteInfo): ExtendedVoteInfoProtoMsg { + return { + typeUrl: '/tendermint.abci.ExtendedVoteInfo', + value: ExtendedVoteInfo.encode(message).finish(), + }; + }, +}; +function createBaseMisbehavior(): Misbehavior { + return { + type: 0, + validator: Validator.fromPartial({}), + height: BigInt(0), + time: new Date(), + totalVotingPower: BigInt(0), + }; +} +export const Misbehavior = { + typeUrl: '/tendermint.abci.Misbehavior', + encode(message: Misbehavior, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.type !== 0) { + writer.uint32(8).int32(message.type); + } + if (message.validator !== undefined) { + Validator.encode(message.validator, writer.uint32(18).fork()).ldelim(); + } + if (message.height !== BigInt(0)) { + writer.uint32(24).int64(message.height); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(34).fork()).ldelim(); + } + if (message.totalVotingPower !== BigInt(0)) { + writer.uint32(40).int64(message.totalVotingPower); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Misbehavior { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMisbehavior(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32() as any; + break; + case 2: + message.validator = Validator.decode(reader, reader.uint32()); + break; + case 3: + message.height = reader.int64(); + break; + case 4: + message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 5: + message.totalVotingPower = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Misbehavior { + const message = createBaseMisbehavior(); + message.type = object.type ?? 0; + message.validator = + object.validator !== undefined && object.validator !== null ? Validator.fromPartial(object.validator) : undefined; + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.time = object.time ?? undefined; + message.totalVotingPower = + object.totalVotingPower !== undefined && object.totalVotingPower !== null + ? BigInt(object.totalVotingPower.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: MisbehaviorAmino): Misbehavior { + const message = createBaseMisbehavior(); + if (object.type !== undefined && object.type !== null) { + message.type = object.type; + } + if (object.validator !== undefined && object.validator !== null) { + message.validator = Validator.fromAmino(object.validator); + } + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.time !== undefined && object.time !== null) { + message.time = fromTimestamp(Timestamp.fromAmino(object.time)); + } + if (object.total_voting_power !== undefined && object.total_voting_power !== null) { + message.totalVotingPower = BigInt(object.total_voting_power); + } + return message; + }, + toAmino(message: Misbehavior): MisbehaviorAmino { + const obj: any = {}; + obj.type = message.type === 0 ? undefined : message.type; + obj.validator = message.validator ? Validator.toAmino(message.validator) : undefined; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.time = message.time ? Timestamp.toAmino(toTimestamp(message.time)) : undefined; + obj.total_voting_power = + message.totalVotingPower !== BigInt(0) ? (message.totalVotingPower?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: MisbehaviorAminoMsg): Misbehavior { + return Misbehavior.fromAmino(object.value); + }, + fromProtoMsg(message: MisbehaviorProtoMsg): Misbehavior { + return Misbehavior.decode(message.value); + }, + toProto(message: Misbehavior): Uint8Array { + return Misbehavior.encode(message).finish(); + }, + toProtoMsg(message: Misbehavior): MisbehaviorProtoMsg { + return { + typeUrl: '/tendermint.abci.Misbehavior', + value: Misbehavior.encode(message).finish(), + }; + }, +}; +function createBaseSnapshot(): Snapshot { + return { + height: BigInt(0), + format: 0, + chunks: 0, + hash: new Uint8Array(), + metadata: new Uint8Array(), + }; +} +export const Snapshot = { + typeUrl: '/tendermint.abci.Snapshot', + encode(message: Snapshot, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.height !== BigInt(0)) { + writer.uint32(8).uint64(message.height); + } + if (message.format !== 0) { + writer.uint32(16).uint32(message.format); + } + if (message.chunks !== 0) { + writer.uint32(24).uint32(message.chunks); + } + if (message.hash.length !== 0) { + writer.uint32(34).bytes(message.hash); + } + if (message.metadata.length !== 0) { + writer.uint32(42).bytes(message.metadata); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Snapshot { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSnapshot(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): Snapshot { + const message = createBaseSnapshot(); + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.format = object.format ?? 0; + message.chunks = object.chunks ?? 0; + message.hash = object.hash ?? new Uint8Array(); + message.metadata = object.metadata ?? new Uint8Array(); + return message; + }, + fromAmino(object: SnapshotAmino): Snapshot { + const message = createBaseSnapshot(); + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.format !== undefined && object.format !== null) { + message.format = object.format; + } + if (object.chunks !== undefined && object.chunks !== null) { + message.chunks = object.chunks; + } + if (object.hash !== undefined && object.hash !== null) { + message.hash = bytesFromBase64(object.hash); + } + if (object.metadata !== undefined && object.metadata !== null) { + message.metadata = bytesFromBase64(object.metadata); + } + return message; + }, + toAmino(message: Snapshot): SnapshotAmino { + const obj: any = {}; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.format = message.format === 0 ? undefined : message.format; + obj.chunks = message.chunks === 0 ? undefined : message.chunks; + obj.hash = message.hash ? base64FromBytes(message.hash) : undefined; + obj.metadata = message.metadata ? base64FromBytes(message.metadata) : undefined; + return obj; + }, + fromAminoMsg(object: SnapshotAminoMsg): Snapshot { + return Snapshot.fromAmino(object.value); + }, + fromProtoMsg(message: SnapshotProtoMsg): Snapshot { + return Snapshot.decode(message.value); + }, + toProto(message: Snapshot): Uint8Array { + return Snapshot.encode(message).finish(); + }, + toProtoMsg(message: Snapshot): SnapshotProtoMsg { + return { + typeUrl: '/tendermint.abci.Snapshot', + value: Snapshot.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/crypto/keys.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/crypto/keys.ts new file mode 100644 index 00000000..1e119488 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/crypto/keys.ts @@ -0,0 +1,102 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../helpers'; +/** PublicKey defines the keys available for use with Validators */ +export interface PublicKey { + ed25519?: Uint8Array; + secp256k1?: Uint8Array; +} +export interface PublicKeyProtoMsg { + typeUrl: '/tendermint.crypto.PublicKey'; + value: Uint8Array; +} +/** PublicKey defines the keys available for use with Validators */ +export interface PublicKeyAmino { + ed25519?: string; + secp256k1?: string; +} +export interface PublicKeyAminoMsg { + type: '/tendermint.crypto.PublicKey'; + value: PublicKeyAmino; +} +/** PublicKey defines the keys available for use with Validators */ +export interface PublicKeySDKType { + ed25519?: Uint8Array; + secp256k1?: Uint8Array; +} +function createBasePublicKey(): PublicKey { + return { + ed25519: undefined, + secp256k1: undefined, + }; +} +export const PublicKey = { + typeUrl: '/tendermint.crypto.PublicKey', + encode(message: PublicKey, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.ed25519 !== undefined) { + writer.uint32(10).bytes(message.ed25519); + } + if (message.secp256k1 !== undefined) { + writer.uint32(18).bytes(message.secp256k1); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PublicKey { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePublicKey(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): PublicKey { + const message = createBasePublicKey(); + message.ed25519 = object.ed25519 ?? undefined; + message.secp256k1 = object.secp256k1 ?? undefined; + return message; + }, + fromAmino(object: PublicKeyAmino): PublicKey { + const message = createBasePublicKey(); + if (object.ed25519 !== undefined && object.ed25519 !== null) { + message.ed25519 = bytesFromBase64(object.ed25519); + } + if (object.secp256k1 !== undefined && object.secp256k1 !== null) { + message.secp256k1 = bytesFromBase64(object.secp256k1); + } + return message; + }, + toAmino(message: PublicKey): PublicKeyAmino { + const obj: any = {}; + obj.ed25519 = message.ed25519 ? base64FromBytes(message.ed25519) : undefined; + obj.secp256k1 = message.secp256k1 ? base64FromBytes(message.secp256k1) : undefined; + return obj; + }, + fromAminoMsg(object: PublicKeyAminoMsg): PublicKey { + return PublicKey.fromAmino(object.value); + }, + fromProtoMsg(message: PublicKeyProtoMsg): PublicKey { + return PublicKey.decode(message.value); + }, + toProto(message: PublicKey): Uint8Array { + return PublicKey.encode(message).finish(); + }, + toProtoMsg(message: PublicKey): PublicKeyProtoMsg { + return { + typeUrl: '/tendermint.crypto.PublicKey', + value: PublicKey.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/crypto/proof.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/crypto/proof.ts new file mode 100644 index 00000000..1d386576 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/crypto/proof.ts @@ -0,0 +1,551 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../helpers'; +export interface Proof { + total: bigint; + index: bigint; + leafHash: Uint8Array; + aunts: Uint8Array[]; +} +export interface ProofProtoMsg { + typeUrl: '/tendermint.crypto.Proof'; + value: Uint8Array; +} +export interface ProofAmino { + total?: string; + index?: string; + leaf_hash?: string; + aunts?: string[]; +} +export interface ProofAminoMsg { + type: '/tendermint.crypto.Proof'; + value: ProofAmino; +} +export interface ProofSDKType { + total: bigint; + index: bigint; + leaf_hash: Uint8Array; + aunts: Uint8Array[]; +} +export interface ValueOp { + /** Encoded in ProofOp.Key. */ + key: Uint8Array; + /** To encode in ProofOp.Data */ + proof?: Proof; +} +export interface ValueOpProtoMsg { + typeUrl: '/tendermint.crypto.ValueOp'; + value: Uint8Array; +} +export interface ValueOpAmino { + /** Encoded in ProofOp.Key. */ + key?: string; + /** To encode in ProofOp.Data */ + proof?: ProofAmino; +} +export interface ValueOpAminoMsg { + type: '/tendermint.crypto.ValueOp'; + value: ValueOpAmino; +} +export interface ValueOpSDKType { + key: Uint8Array; + proof?: ProofSDKType; +} +export interface DominoOp { + key: string; + input: string; + output: string; +} +export interface DominoOpProtoMsg { + typeUrl: '/tendermint.crypto.DominoOp'; + value: Uint8Array; +} +export interface DominoOpAmino { + key?: string; + input?: string; + output?: string; +} +export interface DominoOpAminoMsg { + type: '/tendermint.crypto.DominoOp'; + value: DominoOpAmino; +} +export interface DominoOpSDKType { + key: string; + input: string; + output: string; +} +/** + * ProofOp defines an operation used for calculating Merkle root + * The data could be arbitrary format, providing nessecary data + * for example neighbouring node hash + */ +export interface ProofOp { + type: string; + key: Uint8Array; + data: Uint8Array; +} +export interface ProofOpProtoMsg { + typeUrl: '/tendermint.crypto.ProofOp'; + value: Uint8Array; +} +/** + * ProofOp defines an operation used for calculating Merkle root + * The data could be arbitrary format, providing nessecary data + * for example neighbouring node hash + */ +export interface ProofOpAmino { + type?: string; + key?: string; + data?: string; +} +export interface ProofOpAminoMsg { + type: '/tendermint.crypto.ProofOp'; + value: ProofOpAmino; +} +/** + * ProofOp defines an operation used for calculating Merkle root + * The data could be arbitrary format, providing nessecary data + * for example neighbouring node hash + */ +export interface ProofOpSDKType { + type: string; + key: Uint8Array; + data: Uint8Array; +} +/** ProofOps is Merkle proof defined by the list of ProofOps */ +export interface ProofOps { + ops: ProofOp[]; +} +export interface ProofOpsProtoMsg { + typeUrl: '/tendermint.crypto.ProofOps'; + value: Uint8Array; +} +/** ProofOps is Merkle proof defined by the list of ProofOps */ +export interface ProofOpsAmino { + ops?: ProofOpAmino[]; +} +export interface ProofOpsAminoMsg { + type: '/tendermint.crypto.ProofOps'; + value: ProofOpsAmino; +} +/** ProofOps is Merkle proof defined by the list of ProofOps */ +export interface ProofOpsSDKType { + ops: ProofOpSDKType[]; +} +function createBaseProof(): Proof { + return { + total: BigInt(0), + index: BigInt(0), + leafHash: new Uint8Array(), + aunts: [], + }; +} +export const Proof = { + typeUrl: '/tendermint.crypto.Proof', + encode(message: Proof, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.total !== BigInt(0)) { + writer.uint32(8).int64(message.total); + } + if (message.index !== BigInt(0)) { + writer.uint32(16).int64(message.index); + } + if (message.leafHash.length !== 0) { + writer.uint32(26).bytes(message.leafHash); + } + for (const v of message.aunts) { + writer.uint32(34).bytes(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Proof { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProof(); + while (reader.pos < end) { + const 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: + message.aunts.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Proof { + const message = createBaseProof(); + message.total = object.total !== undefined && object.total !== null ? BigInt(object.total.toString()) : BigInt(0); + message.index = object.index !== undefined && object.index !== null ? BigInt(object.index.toString()) : BigInt(0); + message.leafHash = object.leafHash ?? new Uint8Array(); + message.aunts = object.aunts?.map((e) => e) || []; + return message; + }, + fromAmino(object: ProofAmino): Proof { + const message = createBaseProof(); + if (object.total !== undefined && object.total !== null) { + message.total = BigInt(object.total); + } + if (object.index !== undefined && object.index !== null) { + message.index = BigInt(object.index); + } + if (object.leaf_hash !== undefined && object.leaf_hash !== null) { + message.leafHash = bytesFromBase64(object.leaf_hash); + } + message.aunts = object.aunts?.map((e) => bytesFromBase64(e)) || []; + return message; + }, + toAmino(message: Proof): ProofAmino { + const obj: any = {}; + obj.total = message.total !== BigInt(0) ? (message.total?.toString)() : undefined; + obj.index = message.index !== BigInt(0) ? (message.index?.toString)() : undefined; + obj.leaf_hash = message.leafHash ? base64FromBytes(message.leafHash) : undefined; + if (message.aunts) { + obj.aunts = message.aunts.map((e) => base64FromBytes(e)); + } else { + obj.aunts = message.aunts; + } + return obj; + }, + fromAminoMsg(object: ProofAminoMsg): Proof { + return Proof.fromAmino(object.value); + }, + fromProtoMsg(message: ProofProtoMsg): Proof { + return Proof.decode(message.value); + }, + toProto(message: Proof): Uint8Array { + return Proof.encode(message).finish(); + }, + toProtoMsg(message: Proof): ProofProtoMsg { + return { + typeUrl: '/tendermint.crypto.Proof', + value: Proof.encode(message).finish(), + }; + }, +}; +function createBaseValueOp(): ValueOp { + return { + key: new Uint8Array(), + proof: undefined, + }; +} +export const ValueOp = { + typeUrl: '/tendermint.crypto.ValueOp', + encode(message: ValueOp, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.proof !== undefined) { + Proof.encode(message.proof, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ValueOp { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValueOp(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.key = reader.bytes(); + break; + case 2: + message.proof = Proof.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ValueOp { + const message = createBaseValueOp(); + message.key = object.key ?? new Uint8Array(); + message.proof = object.proof !== undefined && object.proof !== null ? Proof.fromPartial(object.proof) : undefined; + return message; + }, + fromAmino(object: ValueOpAmino): ValueOp { + const message = createBaseValueOp(); + if (object.key !== undefined && object.key !== null) { + message.key = bytesFromBase64(object.key); + } + if (object.proof !== undefined && object.proof !== null) { + message.proof = Proof.fromAmino(object.proof); + } + return message; + }, + toAmino(message: ValueOp): ValueOpAmino { + const obj: any = {}; + obj.key = message.key ? base64FromBytes(message.key) : undefined; + obj.proof = message.proof ? Proof.toAmino(message.proof) : undefined; + return obj; + }, + fromAminoMsg(object: ValueOpAminoMsg): ValueOp { + return ValueOp.fromAmino(object.value); + }, + fromProtoMsg(message: ValueOpProtoMsg): ValueOp { + return ValueOp.decode(message.value); + }, + toProto(message: ValueOp): Uint8Array { + return ValueOp.encode(message).finish(); + }, + toProtoMsg(message: ValueOp): ValueOpProtoMsg { + return { + typeUrl: '/tendermint.crypto.ValueOp', + value: ValueOp.encode(message).finish(), + }; + }, +}; +function createBaseDominoOp(): DominoOp { + return { + key: '', + input: '', + output: '', + }; +} +export const DominoOp = { + typeUrl: '/tendermint.crypto.DominoOp', + encode(message: DominoOp, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.key !== '') { + writer.uint32(10).string(message.key); + } + if (message.input !== '') { + writer.uint32(18).string(message.input); + } + if (message.output !== '') { + writer.uint32(26).string(message.output); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DominoOp { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDominoOp(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): DominoOp { + const message = createBaseDominoOp(); + message.key = object.key ?? ''; + message.input = object.input ?? ''; + message.output = object.output ?? ''; + return message; + }, + fromAmino(object: DominoOpAmino): DominoOp { + const message = createBaseDominoOp(); + if (object.key !== undefined && object.key !== null) { + message.key = object.key; + } + if (object.input !== undefined && object.input !== null) { + message.input = object.input; + } + if (object.output !== undefined && object.output !== null) { + message.output = object.output; + } + return message; + }, + toAmino(message: DominoOp): DominoOpAmino { + const obj: any = {}; + obj.key = message.key === '' ? undefined : message.key; + obj.input = message.input === '' ? undefined : message.input; + obj.output = message.output === '' ? undefined : message.output; + return obj; + }, + fromAminoMsg(object: DominoOpAminoMsg): DominoOp { + return DominoOp.fromAmino(object.value); + }, + fromProtoMsg(message: DominoOpProtoMsg): DominoOp { + return DominoOp.decode(message.value); + }, + toProto(message: DominoOp): Uint8Array { + return DominoOp.encode(message).finish(); + }, + toProtoMsg(message: DominoOp): DominoOpProtoMsg { + return { + typeUrl: '/tendermint.crypto.DominoOp', + value: DominoOp.encode(message).finish(), + }; + }, +}; +function createBaseProofOp(): ProofOp { + return { + type: '', + key: new Uint8Array(), + data: new Uint8Array(), + }; +} +export const ProofOp = { + typeUrl: '/tendermint.crypto.ProofOp', + encode(message: ProofOp, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.type !== '') { + writer.uint32(10).string(message.type); + } + if (message.key.length !== 0) { + writer.uint32(18).bytes(message.key); + } + if (message.data.length !== 0) { + writer.uint32(26).bytes(message.data); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ProofOp { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProofOp(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): ProofOp { + const message = createBaseProofOp(); + message.type = object.type ?? ''; + message.key = object.key ?? new Uint8Array(); + message.data = object.data ?? new Uint8Array(); + return message; + }, + fromAmino(object: ProofOpAmino): ProofOp { + const message = createBaseProofOp(); + if (object.type !== undefined && object.type !== null) { + message.type = object.type; + } + if (object.key !== undefined && object.key !== null) { + message.key = bytesFromBase64(object.key); + } + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + return message; + }, + toAmino(message: ProofOp): ProofOpAmino { + const obj: any = {}; + obj.type = message.type === '' ? undefined : message.type; + obj.key = message.key ? base64FromBytes(message.key) : undefined; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + return obj; + }, + fromAminoMsg(object: ProofOpAminoMsg): ProofOp { + return ProofOp.fromAmino(object.value); + }, + fromProtoMsg(message: ProofOpProtoMsg): ProofOp { + return ProofOp.decode(message.value); + }, + toProto(message: ProofOp): Uint8Array { + return ProofOp.encode(message).finish(); + }, + toProtoMsg(message: ProofOp): ProofOpProtoMsg { + return { + typeUrl: '/tendermint.crypto.ProofOp', + value: ProofOp.encode(message).finish(), + }; + }, +}; +function createBaseProofOps(): ProofOps { + return { + ops: [], + }; +} +export const ProofOps = { + typeUrl: '/tendermint.crypto.ProofOps', + encode(message: ProofOps, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.ops) { + ProofOp.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ProofOps { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProofOps(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.ops.push(ProofOp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ProofOps { + const message = createBaseProofOps(); + message.ops = object.ops?.map((e) => ProofOp.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ProofOpsAmino): ProofOps { + const message = createBaseProofOps(); + message.ops = object.ops?.map((e) => ProofOp.fromAmino(e)) || []; + return message; + }, + toAmino(message: ProofOps): ProofOpsAmino { + const obj: any = {}; + if (message.ops) { + obj.ops = message.ops.map((e) => (e ? ProofOp.toAmino(e) : undefined)); + } else { + obj.ops = message.ops; + } + return obj; + }, + fromAminoMsg(object: ProofOpsAminoMsg): ProofOps { + return ProofOps.fromAmino(object.value); + }, + fromProtoMsg(message: ProofOpsProtoMsg): ProofOps { + return ProofOps.decode(message.value); + }, + toProto(message: ProofOps): Uint8Array { + return ProofOps.encode(message).finish(); + }, + toProtoMsg(message: ProofOps): ProofOpsProtoMsg { + return { + typeUrl: '/tendermint.crypto.ProofOps', + value: ProofOps.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/block.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/block.ts new file mode 100644 index 00000000..b5d4b4ef --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/block.ts @@ -0,0 +1,143 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../binary'; +import { EvidenceList, EvidenceListAmino, EvidenceListSDKType } from './evidence'; +import { + Commit, + CommitAmino, + CommitSDKType, + Data, + DataAmino, + DataSDKType, + Header, + HeaderAmino, + HeaderSDKType, +} from './types'; +export interface Block { + header: Header; + data: Data; + evidence: EvidenceList; + lastCommit?: Commit; +} +export interface BlockProtoMsg { + typeUrl: '/tendermint.types.Block'; + value: Uint8Array; +} +export interface BlockAmino { + header?: HeaderAmino; + data?: DataAmino; + evidence?: EvidenceListAmino; + last_commit?: CommitAmino; +} +export interface BlockAminoMsg { + type: '/tendermint.types.Block'; + value: BlockAmino; +} +export interface BlockSDKType { + header: HeaderSDKType; + data: DataSDKType; + evidence: EvidenceListSDKType; + last_commit?: CommitSDKType; +} +function createBaseBlock(): Block { + return { + header: Header.fromPartial({}), + data: Data.fromPartial({}), + evidence: EvidenceList.fromPartial({}), + lastCommit: undefined, + }; +} +export const Block = { + typeUrl: '/tendermint.types.Block', + encode(message: Block, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.header !== undefined) { + Header.encode(message.header, writer.uint32(10).fork()).ldelim(); + } + if (message.data !== undefined) { + Data.encode(message.data, writer.uint32(18).fork()).ldelim(); + } + if (message.evidence !== undefined) { + EvidenceList.encode(message.evidence, writer.uint32(26).fork()).ldelim(); + } + if (message.lastCommit !== undefined) { + Commit.encode(message.lastCommit, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Block { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlock(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.header = Header.decode(reader, reader.uint32()); + break; + case 2: + message.data = Data.decode(reader, reader.uint32()); + break; + case 3: + message.evidence = EvidenceList.decode(reader, reader.uint32()); + break; + case 4: + message.lastCommit = Commit.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Block { + const message = createBaseBlock(); + message.header = + object.header !== undefined && object.header !== null ? Header.fromPartial(object.header) : undefined; + message.data = object.data !== undefined && object.data !== null ? Data.fromPartial(object.data) : undefined; + message.evidence = + object.evidence !== undefined && object.evidence !== null ? EvidenceList.fromPartial(object.evidence) : undefined; + message.lastCommit = + object.lastCommit !== undefined && object.lastCommit !== null ? Commit.fromPartial(object.lastCommit) : undefined; + return message; + }, + fromAmino(object: BlockAmino): Block { + const message = createBaseBlock(); + if (object.header !== undefined && object.header !== null) { + message.header = Header.fromAmino(object.header); + } + if (object.data !== undefined && object.data !== null) { + message.data = Data.fromAmino(object.data); + } + if (object.evidence !== undefined && object.evidence !== null) { + message.evidence = EvidenceList.fromAmino(object.evidence); + } + if (object.last_commit !== undefined && object.last_commit !== null) { + message.lastCommit = Commit.fromAmino(object.last_commit); + } + return message; + }, + toAmino(message: Block): BlockAmino { + const obj: any = {}; + obj.header = message.header ? Header.toAmino(message.header) : undefined; + obj.data = message.data ? Data.toAmino(message.data) : undefined; + obj.evidence = message.evidence ? EvidenceList.toAmino(message.evidence) : undefined; + obj.last_commit = message.lastCommit ? Commit.toAmino(message.lastCommit) : undefined; + return obj; + }, + fromAminoMsg(object: BlockAminoMsg): Block { + return Block.fromAmino(object.value); + }, + fromProtoMsg(message: BlockProtoMsg): Block { + return Block.decode(message.value); + }, + toProto(message: Block): Uint8Array { + return Block.encode(message).finish(); + }, + toProtoMsg(message: Block): BlockProtoMsg { + return { + typeUrl: '/tendermint.types.Block', + value: Block.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/evidence.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/evidence.ts new file mode 100644 index 00000000..ae0a56fb --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/evidence.ts @@ -0,0 +1,501 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Timestamp } from 'cosmjs-types/google/protobuf/timestamp'; + +import { BinaryReader, BinaryWriter } from '../../../../binary'; +import { fromTimestamp, toTimestamp } from '../../../../helpers'; +import { LightBlock, LightBlockAmino, LightBlockSDKType, Vote, VoteAmino, VoteSDKType } from './types'; +import { Validator, ValidatorAmino, ValidatorSDKType } from './validator'; +export interface Evidence { + duplicateVoteEvidence?: DuplicateVoteEvidence; + lightClientAttackEvidence?: LightClientAttackEvidence; +} +export interface EvidenceProtoMsg { + typeUrl: '/tendermint.types.Evidence'; + value: Uint8Array; +} +export interface EvidenceAmino { + duplicate_vote_evidence?: DuplicateVoteEvidenceAmino; + light_client_attack_evidence?: LightClientAttackEvidenceAmino; +} +export interface EvidenceAminoMsg { + type: '/tendermint.types.Evidence'; + value: EvidenceAmino; +} +export interface EvidenceSDKType { + duplicate_vote_evidence?: DuplicateVoteEvidenceSDKType; + light_client_attack_evidence?: LightClientAttackEvidenceSDKType; +} +/** DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes. */ +export interface DuplicateVoteEvidence { + voteA?: Vote; + voteB?: Vote; + totalVotingPower: bigint; + validatorPower: bigint; + timestamp: Date; +} +export interface DuplicateVoteEvidenceProtoMsg { + typeUrl: '/tendermint.types.DuplicateVoteEvidence'; + value: Uint8Array; +} +/** DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes. */ +export interface DuplicateVoteEvidenceAmino { + vote_a?: VoteAmino; + vote_b?: VoteAmino; + total_voting_power?: string; + validator_power?: string; + timestamp?: string; +} +export interface DuplicateVoteEvidenceAminoMsg { + type: '/tendermint.types.DuplicateVoteEvidence'; + value: DuplicateVoteEvidenceAmino; +} +/** DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes. */ +export interface DuplicateVoteEvidenceSDKType { + vote_a?: VoteSDKType; + vote_b?: VoteSDKType; + total_voting_power: bigint; + validator_power: bigint; + timestamp: Date; +} +/** LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client. */ +export interface LightClientAttackEvidence { + conflictingBlock?: LightBlock; + commonHeight: bigint; + byzantineValidators: Validator[]; + totalVotingPower: bigint; + timestamp: Date; +} +export interface LightClientAttackEvidenceProtoMsg { + typeUrl: '/tendermint.types.LightClientAttackEvidence'; + value: Uint8Array; +} +/** LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client. */ +export interface LightClientAttackEvidenceAmino { + conflicting_block?: LightBlockAmino; + common_height?: string; + byzantine_validators?: ValidatorAmino[]; + total_voting_power?: string; + timestamp?: string; +} +export interface LightClientAttackEvidenceAminoMsg { + type: '/tendermint.types.LightClientAttackEvidence'; + value: LightClientAttackEvidenceAmino; +} +/** LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client. */ +export interface LightClientAttackEvidenceSDKType { + conflicting_block?: LightBlockSDKType; + common_height: bigint; + byzantine_validators: ValidatorSDKType[]; + total_voting_power: bigint; + timestamp: Date; +} +export interface EvidenceList { + evidence: Evidence[]; +} +export interface EvidenceListProtoMsg { + typeUrl: '/tendermint.types.EvidenceList'; + value: Uint8Array; +} +export interface EvidenceListAmino { + evidence?: EvidenceAmino[]; +} +export interface EvidenceListAminoMsg { + type: '/tendermint.types.EvidenceList'; + value: EvidenceListAmino; +} +export interface EvidenceListSDKType { + evidence: EvidenceSDKType[]; +} +function createBaseEvidence(): Evidence { + return { + duplicateVoteEvidence: undefined, + lightClientAttackEvidence: undefined, + }; +} +export const Evidence = { + typeUrl: '/tendermint.types.Evidence', + encode(message: Evidence, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.duplicateVoteEvidence !== undefined) { + DuplicateVoteEvidence.encode(message.duplicateVoteEvidence, writer.uint32(10).fork()).ldelim(); + } + if (message.lightClientAttackEvidence !== undefined) { + LightClientAttackEvidence.encode(message.lightClientAttackEvidence, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Evidence { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEvidence(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.duplicateVoteEvidence = DuplicateVoteEvidence.decode(reader, reader.uint32()); + break; + case 2: + message.lightClientAttackEvidence = LightClientAttackEvidence.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Evidence { + const message = createBaseEvidence(); + message.duplicateVoteEvidence = + object.duplicateVoteEvidence !== undefined && object.duplicateVoteEvidence !== null + ? DuplicateVoteEvidence.fromPartial(object.duplicateVoteEvidence) + : undefined; + message.lightClientAttackEvidence = + object.lightClientAttackEvidence !== undefined && object.lightClientAttackEvidence !== null + ? LightClientAttackEvidence.fromPartial(object.lightClientAttackEvidence) + : undefined; + return message; + }, + fromAmino(object: EvidenceAmino): Evidence { + const message = createBaseEvidence(); + if (object.duplicate_vote_evidence !== undefined && object.duplicate_vote_evidence !== null) { + message.duplicateVoteEvidence = DuplicateVoteEvidence.fromAmino(object.duplicate_vote_evidence); + } + if (object.light_client_attack_evidence !== undefined && object.light_client_attack_evidence !== null) { + message.lightClientAttackEvidence = LightClientAttackEvidence.fromAmino(object.light_client_attack_evidence); + } + return message; + }, + toAmino(message: Evidence): EvidenceAmino { + const obj: any = {}; + obj.duplicate_vote_evidence = message.duplicateVoteEvidence + ? DuplicateVoteEvidence.toAmino(message.duplicateVoteEvidence) + : undefined; + obj.light_client_attack_evidence = message.lightClientAttackEvidence + ? LightClientAttackEvidence.toAmino(message.lightClientAttackEvidence) + : undefined; + return obj; + }, + fromAminoMsg(object: EvidenceAminoMsg): Evidence { + return Evidence.fromAmino(object.value); + }, + fromProtoMsg(message: EvidenceProtoMsg): Evidence { + return Evidence.decode(message.value); + }, + toProto(message: Evidence): Uint8Array { + return Evidence.encode(message).finish(); + }, + toProtoMsg(message: Evidence): EvidenceProtoMsg { + return { + typeUrl: '/tendermint.types.Evidence', + value: Evidence.encode(message).finish(), + }; + }, +}; +function createBaseDuplicateVoteEvidence(): DuplicateVoteEvidence { + return { + voteA: undefined, + voteB: undefined, + totalVotingPower: BigInt(0), + validatorPower: BigInt(0), + timestamp: new Date(), + }; +} +export const DuplicateVoteEvidence = { + typeUrl: '/tendermint.types.DuplicateVoteEvidence', + encode(message: DuplicateVoteEvidence, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.voteA !== undefined) { + Vote.encode(message.voteA, writer.uint32(10).fork()).ldelim(); + } + if (message.voteB !== undefined) { + Vote.encode(message.voteB, writer.uint32(18).fork()).ldelim(); + } + if (message.totalVotingPower !== BigInt(0)) { + writer.uint32(24).int64(message.totalVotingPower); + } + if (message.validatorPower !== BigInt(0)) { + writer.uint32(32).int64(message.validatorPower); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): DuplicateVoteEvidence { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDuplicateVoteEvidence(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.voteA = Vote.decode(reader, reader.uint32()); + break; + case 2: + message.voteB = Vote.decode(reader, reader.uint32()); + break; + case 3: + message.totalVotingPower = reader.int64(); + break; + case 4: + message.validatorPower = reader.int64(); + break; + case 5: + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): DuplicateVoteEvidence { + const message = createBaseDuplicateVoteEvidence(); + message.voteA = object.voteA !== undefined && object.voteA !== null ? Vote.fromPartial(object.voteA) : undefined; + message.voteB = object.voteB !== undefined && object.voteB !== null ? Vote.fromPartial(object.voteB) : undefined; + message.totalVotingPower = + object.totalVotingPower !== undefined && object.totalVotingPower !== null + ? BigInt(object.totalVotingPower.toString()) + : BigInt(0); + message.validatorPower = + object.validatorPower !== undefined && object.validatorPower !== null + ? BigInt(object.validatorPower.toString()) + : BigInt(0); + message.timestamp = object.timestamp ?? undefined; + return message; + }, + fromAmino(object: DuplicateVoteEvidenceAmino): DuplicateVoteEvidence { + const message = createBaseDuplicateVoteEvidence(); + if (object.vote_a !== undefined && object.vote_a !== null) { + message.voteA = Vote.fromAmino(object.vote_a); + } + if (object.vote_b !== undefined && object.vote_b !== null) { + message.voteB = Vote.fromAmino(object.vote_b); + } + if (object.total_voting_power !== undefined && object.total_voting_power !== null) { + message.totalVotingPower = BigInt(object.total_voting_power); + } + if (object.validator_power !== undefined && object.validator_power !== null) { + message.validatorPower = BigInt(object.validator_power); + } + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = fromTimestamp(Timestamp.fromAmino(object.timestamp)); + } + return message; + }, + toAmino(message: DuplicateVoteEvidence): DuplicateVoteEvidenceAmino { + const obj: any = {}; + obj.vote_a = message.voteA ? Vote.toAmino(message.voteA) : undefined; + obj.vote_b = message.voteB ? Vote.toAmino(message.voteB) : undefined; + obj.total_voting_power = + message.totalVotingPower !== BigInt(0) ? (message.totalVotingPower?.toString)() : undefined; + obj.validator_power = message.validatorPower !== BigInt(0) ? (message.validatorPower?.toString)() : undefined; + obj.timestamp = message.timestamp ? Timestamp.toAmino(toTimestamp(message.timestamp)) : undefined; + return obj; + }, + fromAminoMsg(object: DuplicateVoteEvidenceAminoMsg): DuplicateVoteEvidence { + return DuplicateVoteEvidence.fromAmino(object.value); + }, + fromProtoMsg(message: DuplicateVoteEvidenceProtoMsg): DuplicateVoteEvidence { + return DuplicateVoteEvidence.decode(message.value); + }, + toProto(message: DuplicateVoteEvidence): Uint8Array { + return DuplicateVoteEvidence.encode(message).finish(); + }, + toProtoMsg(message: DuplicateVoteEvidence): DuplicateVoteEvidenceProtoMsg { + return { + typeUrl: '/tendermint.types.DuplicateVoteEvidence', + value: DuplicateVoteEvidence.encode(message).finish(), + }; + }, +}; +function createBaseLightClientAttackEvidence(): LightClientAttackEvidence { + return { + conflictingBlock: undefined, + commonHeight: BigInt(0), + byzantineValidators: [], + totalVotingPower: BigInt(0), + timestamp: new Date(), + }; +} +export const LightClientAttackEvidence = { + typeUrl: '/tendermint.types.LightClientAttackEvidence', + encode(message: LightClientAttackEvidence, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.conflictingBlock !== undefined) { + LightBlock.encode(message.conflictingBlock, writer.uint32(10).fork()).ldelim(); + } + if (message.commonHeight !== BigInt(0)) { + writer.uint32(16).int64(message.commonHeight); + } + for (const v of message.byzantineValidators) { + Validator.encode(v!, writer.uint32(26).fork()).ldelim(); + } + if (message.totalVotingPower !== BigInt(0)) { + writer.uint32(32).int64(message.totalVotingPower); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): LightClientAttackEvidence { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLightClientAttackEvidence(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.conflictingBlock = LightBlock.decode(reader, reader.uint32()); + break; + case 2: + message.commonHeight = reader.int64(); + break; + case 3: + message.byzantineValidators.push(Validator.decode(reader, reader.uint32())); + break; + case 4: + message.totalVotingPower = reader.int64(); + break; + case 5: + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): LightClientAttackEvidence { + const message = createBaseLightClientAttackEvidence(); + message.conflictingBlock = + object.conflictingBlock !== undefined && object.conflictingBlock !== null + ? LightBlock.fromPartial(object.conflictingBlock) + : undefined; + message.commonHeight = + object.commonHeight !== undefined && object.commonHeight !== null + ? BigInt(object.commonHeight.toString()) + : BigInt(0); + message.byzantineValidators = object.byzantineValidators?.map((e) => Validator.fromPartial(e)) || []; + message.totalVotingPower = + object.totalVotingPower !== undefined && object.totalVotingPower !== null + ? BigInt(object.totalVotingPower.toString()) + : BigInt(0); + message.timestamp = object.timestamp ?? undefined; + return message; + }, + fromAmino(object: LightClientAttackEvidenceAmino): LightClientAttackEvidence { + const message = createBaseLightClientAttackEvidence(); + if (object.conflicting_block !== undefined && object.conflicting_block !== null) { + message.conflictingBlock = LightBlock.fromAmino(object.conflicting_block); + } + if (object.common_height !== undefined && object.common_height !== null) { + message.commonHeight = BigInt(object.common_height); + } + message.byzantineValidators = object.byzantine_validators?.map((e) => Validator.fromAmino(e)) || []; + if (object.total_voting_power !== undefined && object.total_voting_power !== null) { + message.totalVotingPower = BigInt(object.total_voting_power); + } + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = fromTimestamp(Timestamp.fromAmino(object.timestamp)); + } + return message; + }, + toAmino(message: LightClientAttackEvidence): LightClientAttackEvidenceAmino { + const obj: any = {}; + obj.conflicting_block = message.conflictingBlock ? LightBlock.toAmino(message.conflictingBlock) : undefined; + obj.common_height = message.commonHeight !== BigInt(0) ? (message.commonHeight?.toString)() : undefined; + if (message.byzantineValidators) { + obj.byzantine_validators = message.byzantineValidators.map((e) => (e ? Validator.toAmino(e) : undefined)); + } else { + obj.byzantine_validators = message.byzantineValidators; + } + obj.total_voting_power = + message.totalVotingPower !== BigInt(0) ? (message.totalVotingPower?.toString)() : undefined; + obj.timestamp = message.timestamp ? Timestamp.toAmino(toTimestamp(message.timestamp)) : undefined; + return obj; + }, + fromAminoMsg(object: LightClientAttackEvidenceAminoMsg): LightClientAttackEvidence { + return LightClientAttackEvidence.fromAmino(object.value); + }, + fromProtoMsg(message: LightClientAttackEvidenceProtoMsg): LightClientAttackEvidence { + return LightClientAttackEvidence.decode(message.value); + }, + toProto(message: LightClientAttackEvidence): Uint8Array { + return LightClientAttackEvidence.encode(message).finish(); + }, + toProtoMsg(message: LightClientAttackEvidence): LightClientAttackEvidenceProtoMsg { + return { + typeUrl: '/tendermint.types.LightClientAttackEvidence', + value: LightClientAttackEvidence.encode(message).finish(), + }; + }, +}; +function createBaseEvidenceList(): EvidenceList { + return { + evidence: [], + }; +} +export const EvidenceList = { + typeUrl: '/tendermint.types.EvidenceList', + encode(message: EvidenceList, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.evidence) { + Evidence.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EvidenceList { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEvidenceList(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.evidence.push(Evidence.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EvidenceList { + const message = createBaseEvidenceList(); + message.evidence = object.evidence?.map((e) => Evidence.fromPartial(e)) || []; + return message; + }, + fromAmino(object: EvidenceListAmino): EvidenceList { + const message = createBaseEvidenceList(); + message.evidence = object.evidence?.map((e) => Evidence.fromAmino(e)) || []; + return message; + }, + toAmino(message: EvidenceList): EvidenceListAmino { + const obj: any = {}; + if (message.evidence) { + obj.evidence = message.evidence.map((e) => (e ? Evidence.toAmino(e) : undefined)); + } else { + obj.evidence = message.evidence; + } + return obj; + }, + fromAminoMsg(object: EvidenceListAminoMsg): EvidenceList { + return EvidenceList.fromAmino(object.value); + }, + fromProtoMsg(message: EvidenceListProtoMsg): EvidenceList { + return EvidenceList.decode(message.value); + }, + toProto(message: EvidenceList): Uint8Array { + return EvidenceList.encode(message).finish(); + }, + toProtoMsg(message: EvidenceList): EvidenceListProtoMsg { + return { + typeUrl: '/tendermint.types.EvidenceList', + value: EvidenceList.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/params.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/params.ts new file mode 100644 index 00000000..cc0cffea --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/params.ts @@ -0,0 +1,840 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Duration, DurationAmino, DurationSDKType } from 'cosmjs-types/google/protobuf/duration'; + +import { BinaryReader, BinaryWriter } from '../../../../binary'; +/** + * ConsensusParams contains consensus critical parameters that determine the + * validity of blocks. + */ +export interface ConsensusParams { + block?: BlockParams; + evidence?: EvidenceParams; + validator?: ValidatorParams; + version?: VersionParams; + abci?: ABCIParams; +} +export interface ConsensusParamsProtoMsg { + typeUrl: '/tendermint.types.ConsensusParams'; + value: Uint8Array; +} +/** + * ConsensusParams contains consensus critical parameters that determine the + * validity of blocks. + */ +export interface ConsensusParamsAmino { + block?: BlockParamsAmino; + evidence?: EvidenceParamsAmino; + validator?: ValidatorParamsAmino; + version?: VersionParamsAmino; + abci?: ABCIParamsAmino; +} +export interface ConsensusParamsAminoMsg { + type: '/tendermint.types.ConsensusParams'; + value: ConsensusParamsAmino; +} +/** + * ConsensusParams contains consensus critical parameters that determine the + * validity of blocks. + */ +export interface ConsensusParamsSDKType { + block?: BlockParamsSDKType; + evidence?: EvidenceParamsSDKType; + validator?: ValidatorParamsSDKType; + version?: VersionParamsSDKType; + abci?: ABCIParamsSDKType; +} +/** BlockParams contains limits on the block size. */ +export interface BlockParams { + /** + * Max block size, in bytes. + * Note: must be greater than 0 + */ + maxBytes: bigint; + /** + * Max gas per block. + * Note: must be greater or equal to -1 + */ + maxGas: bigint; +} +export interface BlockParamsProtoMsg { + typeUrl: '/tendermint.types.BlockParams'; + value: Uint8Array; +} +/** BlockParams contains limits on the block size. */ +export interface BlockParamsAmino { + /** + * Max block size, in bytes. + * Note: must be greater than 0 + */ + max_bytes?: string; + /** + * Max gas per block. + * Note: must be greater or equal to -1 + */ + max_gas?: string; +} +export interface BlockParamsAminoMsg { + type: '/tendermint.types.BlockParams'; + value: BlockParamsAmino; +} +/** BlockParams contains limits on the block size. */ +export interface BlockParamsSDKType { + max_bytes: bigint; + max_gas: bigint; +} +/** EvidenceParams determine how we handle evidence of malfeasance. */ +export interface EvidenceParams { + /** + * Max age of evidence, in blocks. + * + * The basic formula for calculating this is: MaxAgeDuration / {average block + * time}. + */ + maxAgeNumBlocks: bigint; + /** + * Max age of evidence, in time. + * + * It should correspond with an app's "unbonding period" or other similar + * mechanism for handling [Nothing-At-Stake + * attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed). + */ + maxAgeDuration: Duration; + /** + * This sets the maximum size of total evidence in bytes that can be committed in a single block. + * and should fall comfortably under the max block bytes. + * Default is 1048576 or 1MB + */ + maxBytes: bigint; +} +export interface EvidenceParamsProtoMsg { + typeUrl: '/tendermint.types.EvidenceParams'; + value: Uint8Array; +} +/** EvidenceParams determine how we handle evidence of malfeasance. */ +export interface EvidenceParamsAmino { + /** + * Max age of evidence, in blocks. + * + * The basic formula for calculating this is: MaxAgeDuration / {average block + * time}. + */ + max_age_num_blocks?: string; + /** + * Max age of evidence, in time. + * + * It should correspond with an app's "unbonding period" or other similar + * mechanism for handling [Nothing-At-Stake + * attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed). + */ + max_age_duration?: DurationAmino; + /** + * This sets the maximum size of total evidence in bytes that can be committed in a single block. + * and should fall comfortably under the max block bytes. + * Default is 1048576 or 1MB + */ + max_bytes?: string; +} +export interface EvidenceParamsAminoMsg { + type: '/tendermint.types.EvidenceParams'; + value: EvidenceParamsAmino; +} +/** EvidenceParams determine how we handle evidence of malfeasance. */ +export interface EvidenceParamsSDKType { + max_age_num_blocks: bigint; + max_age_duration: DurationSDKType; + max_bytes: bigint; +} +/** + * ValidatorParams restrict the public key types validators can use. + * NOTE: uses ABCI pubkey naming, not Amino names. + */ +export interface ValidatorParams { + pubKeyTypes: string[]; +} +export interface ValidatorParamsProtoMsg { + typeUrl: '/tendermint.types.ValidatorParams'; + value: Uint8Array; +} +/** + * ValidatorParams restrict the public key types validators can use. + * NOTE: uses ABCI pubkey naming, not Amino names. + */ +export interface ValidatorParamsAmino { + pub_key_types?: string[]; +} +export interface ValidatorParamsAminoMsg { + type: '/tendermint.types.ValidatorParams'; + value: ValidatorParamsAmino; +} +/** + * ValidatorParams restrict the public key types validators can use. + * NOTE: uses ABCI pubkey naming, not Amino names. + */ +export interface ValidatorParamsSDKType { + pub_key_types: string[]; +} +/** VersionParams contains the ABCI application version. */ +export interface VersionParams { + app: bigint; +} +export interface VersionParamsProtoMsg { + typeUrl: '/tendermint.types.VersionParams'; + value: Uint8Array; +} +/** VersionParams contains the ABCI application version. */ +export interface VersionParamsAmino { + app?: string; +} +export interface VersionParamsAminoMsg { + type: '/tendermint.types.VersionParams'; + value: VersionParamsAmino; +} +/** VersionParams contains the ABCI application version. */ +export interface VersionParamsSDKType { + app: bigint; +} +/** + * HashedParams is a subset of ConsensusParams. + * + * It is hashed into the Header.ConsensusHash. + */ +export interface HashedParams { + blockMaxBytes: bigint; + blockMaxGas: bigint; +} +export interface HashedParamsProtoMsg { + typeUrl: '/tendermint.types.HashedParams'; + value: Uint8Array; +} +/** + * HashedParams is a subset of ConsensusParams. + * + * It is hashed into the Header.ConsensusHash. + */ +export interface HashedParamsAmino { + block_max_bytes?: string; + block_max_gas?: string; +} +export interface HashedParamsAminoMsg { + type: '/tendermint.types.HashedParams'; + value: HashedParamsAmino; +} +/** + * HashedParams is a subset of ConsensusParams. + * + * It is hashed into the Header.ConsensusHash. + */ +export interface HashedParamsSDKType { + block_max_bytes: bigint; + block_max_gas: bigint; +} +/** ABCIParams configure functionality specific to the Application Blockchain Interface. */ +export interface ABCIParams { + /** + * vote_extensions_enable_height configures the first height during which + * vote extensions will be enabled. During this specified height, and for all + * subsequent heights, precommit messages that do not contain valid extension data + * will be considered invalid. Prior to this height, vote extensions will not + * be used or accepted by validators on the network. + * + * Once enabled, vote extensions will be created by the application in ExtendVote, + * passed to the application for validation in VerifyVoteExtension and given + * to the application to use when proposing a block during PrepareProposal. + */ + voteExtensionsEnableHeight: bigint; +} +export interface ABCIParamsProtoMsg { + typeUrl: '/tendermint.types.ABCIParams'; + value: Uint8Array; +} +/** ABCIParams configure functionality specific to the Application Blockchain Interface. */ +export interface ABCIParamsAmino { + /** + * vote_extensions_enable_height configures the first height during which + * vote extensions will be enabled. During this specified height, and for all + * subsequent heights, precommit messages that do not contain valid extension data + * will be considered invalid. Prior to this height, vote extensions will not + * be used or accepted by validators on the network. + * + * Once enabled, vote extensions will be created by the application in ExtendVote, + * passed to the application for validation in VerifyVoteExtension and given + * to the application to use when proposing a block during PrepareProposal. + */ + vote_extensions_enable_height?: string; +} +export interface ABCIParamsAminoMsg { + type: '/tendermint.types.ABCIParams'; + value: ABCIParamsAmino; +} +/** ABCIParams configure functionality specific to the Application Blockchain Interface. */ +export interface ABCIParamsSDKType { + vote_extensions_enable_height: bigint; +} +function createBaseConsensusParams(): ConsensusParams { + return { + block: undefined, + evidence: undefined, + validator: undefined, + version: undefined, + abci: undefined, + }; +} +export const ConsensusParams = { + typeUrl: '/tendermint.types.ConsensusParams', + encode(message: ConsensusParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.block !== undefined) { + BlockParams.encode(message.block, writer.uint32(10).fork()).ldelim(); + } + if (message.evidence !== undefined) { + EvidenceParams.encode(message.evidence, writer.uint32(18).fork()).ldelim(); + } + if (message.validator !== undefined) { + ValidatorParams.encode(message.validator, writer.uint32(26).fork()).ldelim(); + } + if (message.version !== undefined) { + VersionParams.encode(message.version, writer.uint32(34).fork()).ldelim(); + } + if (message.abci !== undefined) { + ABCIParams.encode(message.abci, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ConsensusParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConsensusParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.block = BlockParams.decode(reader, reader.uint32()); + break; + case 2: + message.evidence = EvidenceParams.decode(reader, reader.uint32()); + break; + case 3: + message.validator = ValidatorParams.decode(reader, reader.uint32()); + break; + case 4: + message.version = VersionParams.decode(reader, reader.uint32()); + break; + case 5: + message.abci = ABCIParams.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ConsensusParams { + const message = createBaseConsensusParams(); + message.block = + object.block !== undefined && object.block !== null ? BlockParams.fromPartial(object.block) : undefined; + message.evidence = + object.evidence !== undefined && object.evidence !== null + ? EvidenceParams.fromPartial(object.evidence) + : undefined; + message.validator = + object.validator !== undefined && object.validator !== null + ? ValidatorParams.fromPartial(object.validator) + : undefined; + message.version = + object.version !== undefined && object.version !== null ? VersionParams.fromPartial(object.version) : undefined; + message.abci = object.abci !== undefined && object.abci !== null ? ABCIParams.fromPartial(object.abci) : undefined; + return message; + }, + fromAmino(object: ConsensusParamsAmino): ConsensusParams { + const message = createBaseConsensusParams(); + if (object.block !== undefined && object.block !== null) { + message.block = BlockParams.fromAmino(object.block); + } + if (object.evidence !== undefined && object.evidence !== null) { + message.evidence = EvidenceParams.fromAmino(object.evidence); + } + if (object.validator !== undefined && object.validator !== null) { + message.validator = ValidatorParams.fromAmino(object.validator); + } + if (object.version !== undefined && object.version !== null) { + message.version = VersionParams.fromAmino(object.version); + } + if (object.abci !== undefined && object.abci !== null) { + message.abci = ABCIParams.fromAmino(object.abci); + } + return message; + }, + toAmino(message: ConsensusParams): ConsensusParamsAmino { + const obj: any = {}; + obj.block = message.block ? BlockParams.toAmino(message.block) : undefined; + obj.evidence = message.evidence ? EvidenceParams.toAmino(message.evidence) : undefined; + obj.validator = message.validator ? ValidatorParams.toAmino(message.validator) : undefined; + obj.version = message.version ? VersionParams.toAmino(message.version) : undefined; + obj.abci = message.abci ? ABCIParams.toAmino(message.abci) : undefined; + return obj; + }, + fromAminoMsg(object: ConsensusParamsAminoMsg): ConsensusParams { + return ConsensusParams.fromAmino(object.value); + }, + fromProtoMsg(message: ConsensusParamsProtoMsg): ConsensusParams { + return ConsensusParams.decode(message.value); + }, + toProto(message: ConsensusParams): Uint8Array { + return ConsensusParams.encode(message).finish(); + }, + toProtoMsg(message: ConsensusParams): ConsensusParamsProtoMsg { + return { + typeUrl: '/tendermint.types.ConsensusParams', + value: ConsensusParams.encode(message).finish(), + }; + }, +}; +function createBaseBlockParams(): BlockParams { + return { + maxBytes: BigInt(0), + maxGas: BigInt(0), + }; +} +export const BlockParams = { + typeUrl: '/tendermint.types.BlockParams', + encode(message: BlockParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.maxBytes !== BigInt(0)) { + writer.uint32(8).int64(message.maxBytes); + } + if (message.maxGas !== BigInt(0)) { + writer.uint32(16).int64(message.maxGas); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BlockParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlockParams(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): BlockParams { + const message = createBaseBlockParams(); + message.maxBytes = + object.maxBytes !== undefined && object.maxBytes !== null ? BigInt(object.maxBytes.toString()) : BigInt(0); + message.maxGas = + object.maxGas !== undefined && object.maxGas !== null ? BigInt(object.maxGas.toString()) : BigInt(0); + return message; + }, + fromAmino(object: BlockParamsAmino): BlockParams { + const message = createBaseBlockParams(); + if (object.max_bytes !== undefined && object.max_bytes !== null) { + message.maxBytes = BigInt(object.max_bytes); + } + if (object.max_gas !== undefined && object.max_gas !== null) { + message.maxGas = BigInt(object.max_gas); + } + return message; + }, + toAmino(message: BlockParams): BlockParamsAmino { + const obj: any = {}; + obj.max_bytes = message.maxBytes !== BigInt(0) ? (message.maxBytes?.toString)() : undefined; + obj.max_gas = message.maxGas !== BigInt(0) ? (message.maxGas?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: BlockParamsAminoMsg): BlockParams { + return BlockParams.fromAmino(object.value); + }, + fromProtoMsg(message: BlockParamsProtoMsg): BlockParams { + return BlockParams.decode(message.value); + }, + toProto(message: BlockParams): Uint8Array { + return BlockParams.encode(message).finish(); + }, + toProtoMsg(message: BlockParams): BlockParamsProtoMsg { + return { + typeUrl: '/tendermint.types.BlockParams', + value: BlockParams.encode(message).finish(), + }; + }, +}; +function createBaseEvidenceParams(): EvidenceParams { + return { + maxAgeNumBlocks: BigInt(0), + maxAgeDuration: Duration.fromPartial({}), + maxBytes: BigInt(0), + }; +} +export const EvidenceParams = { + typeUrl: '/tendermint.types.EvidenceParams', + encode(message: EvidenceParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.maxAgeNumBlocks !== BigInt(0)) { + writer.uint32(8).int64(message.maxAgeNumBlocks); + } + if (message.maxAgeDuration !== undefined) { + Duration.encode(message.maxAgeDuration, writer.uint32(18).fork()).ldelim(); + } + if (message.maxBytes !== BigInt(0)) { + writer.uint32(24).int64(message.maxBytes); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): EvidenceParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEvidenceParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.maxAgeNumBlocks = reader.int64(); + break; + case 2: + message.maxAgeDuration = Duration.decode(reader, reader.uint32()); + break; + case 3: + message.maxBytes = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): EvidenceParams { + const message = createBaseEvidenceParams(); + message.maxAgeNumBlocks = + object.maxAgeNumBlocks !== undefined && object.maxAgeNumBlocks !== null + ? BigInt(object.maxAgeNumBlocks.toString()) + : BigInt(0); + message.maxAgeDuration = + object.maxAgeDuration !== undefined && object.maxAgeDuration !== null + ? Duration.fromPartial(object.maxAgeDuration) + : undefined; + message.maxBytes = + object.maxBytes !== undefined && object.maxBytes !== null ? BigInt(object.maxBytes.toString()) : BigInt(0); + return message; + }, + fromAmino(object: EvidenceParamsAmino): EvidenceParams { + const message = createBaseEvidenceParams(); + if (object.max_age_num_blocks !== undefined && object.max_age_num_blocks !== null) { + message.maxAgeNumBlocks = BigInt(object.max_age_num_blocks); + } + if (object.max_age_duration !== undefined && object.max_age_duration !== null) { + message.maxAgeDuration = Duration.fromAmino(object.max_age_duration); + } + if (object.max_bytes !== undefined && object.max_bytes !== null) { + message.maxBytes = BigInt(object.max_bytes); + } + return message; + }, + toAmino(message: EvidenceParams): EvidenceParamsAmino { + const obj: any = {}; + obj.max_age_num_blocks = message.maxAgeNumBlocks !== BigInt(0) ? (message.maxAgeNumBlocks?.toString)() : undefined; + obj.max_age_duration = message.maxAgeDuration ? Duration.toAmino(message.maxAgeDuration) : undefined; + obj.max_bytes = message.maxBytes !== BigInt(0) ? (message.maxBytes?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: EvidenceParamsAminoMsg): EvidenceParams { + return EvidenceParams.fromAmino(object.value); + }, + fromProtoMsg(message: EvidenceParamsProtoMsg): EvidenceParams { + return EvidenceParams.decode(message.value); + }, + toProto(message: EvidenceParams): Uint8Array { + return EvidenceParams.encode(message).finish(); + }, + toProtoMsg(message: EvidenceParams): EvidenceParamsProtoMsg { + return { + typeUrl: '/tendermint.types.EvidenceParams', + value: EvidenceParams.encode(message).finish(), + }; + }, +}; +function createBaseValidatorParams(): ValidatorParams { + return { + pubKeyTypes: [], + }; +} +export const ValidatorParams = { + typeUrl: '/tendermint.types.ValidatorParams', + encode(message: ValidatorParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.pubKeyTypes) { + writer.uint32(10).string(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pubKeyTypes.push(reader.string()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ValidatorParams { + const message = createBaseValidatorParams(); + message.pubKeyTypes = object.pubKeyTypes?.map((e) => e) || []; + return message; + }, + fromAmino(object: ValidatorParamsAmino): ValidatorParams { + const message = createBaseValidatorParams(); + message.pubKeyTypes = object.pub_key_types?.map((e) => e) || []; + return message; + }, + toAmino(message: ValidatorParams): ValidatorParamsAmino { + const obj: any = {}; + if (message.pubKeyTypes) { + obj.pub_key_types = message.pubKeyTypes.map((e) => e); + } else { + obj.pub_key_types = message.pubKeyTypes; + } + return obj; + }, + fromAminoMsg(object: ValidatorParamsAminoMsg): ValidatorParams { + return ValidatorParams.fromAmino(object.value); + }, + fromProtoMsg(message: ValidatorParamsProtoMsg): ValidatorParams { + return ValidatorParams.decode(message.value); + }, + toProto(message: ValidatorParams): Uint8Array { + return ValidatorParams.encode(message).finish(); + }, + toProtoMsg(message: ValidatorParams): ValidatorParamsProtoMsg { + return { + typeUrl: '/tendermint.types.ValidatorParams', + value: ValidatorParams.encode(message).finish(), + }; + }, +}; +function createBaseVersionParams(): VersionParams { + return { + app: BigInt(0), + }; +} +export const VersionParams = { + typeUrl: '/tendermint.types.VersionParams', + encode(message: VersionParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.app !== BigInt(0)) { + writer.uint32(8).uint64(message.app); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): VersionParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVersionParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.app = reader.uint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): VersionParams { + const message = createBaseVersionParams(); + message.app = object.app !== undefined && object.app !== null ? BigInt(object.app.toString()) : BigInt(0); + return message; + }, + fromAmino(object: VersionParamsAmino): VersionParams { + const message = createBaseVersionParams(); + if (object.app !== undefined && object.app !== null) { + message.app = BigInt(object.app); + } + return message; + }, + toAmino(message: VersionParams): VersionParamsAmino { + const obj: any = {}; + obj.app = message.app !== BigInt(0) ? (message.app?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: VersionParamsAminoMsg): VersionParams { + return VersionParams.fromAmino(object.value); + }, + fromProtoMsg(message: VersionParamsProtoMsg): VersionParams { + return VersionParams.decode(message.value); + }, + toProto(message: VersionParams): Uint8Array { + return VersionParams.encode(message).finish(); + }, + toProtoMsg(message: VersionParams): VersionParamsProtoMsg { + return { + typeUrl: '/tendermint.types.VersionParams', + value: VersionParams.encode(message).finish(), + }; + }, +}; +function createBaseHashedParams(): HashedParams { + return { + blockMaxBytes: BigInt(0), + blockMaxGas: BigInt(0), + }; +} +export const HashedParams = { + typeUrl: '/tendermint.types.HashedParams', + encode(message: HashedParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.blockMaxBytes !== BigInt(0)) { + writer.uint32(8).int64(message.blockMaxBytes); + } + if (message.blockMaxGas !== BigInt(0)) { + writer.uint32(16).int64(message.blockMaxGas); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): HashedParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHashedParams(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): HashedParams { + const message = createBaseHashedParams(); + message.blockMaxBytes = + object.blockMaxBytes !== undefined && object.blockMaxBytes !== null + ? BigInt(object.blockMaxBytes.toString()) + : BigInt(0); + message.blockMaxGas = + object.blockMaxGas !== undefined && object.blockMaxGas !== null + ? BigInt(object.blockMaxGas.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: HashedParamsAmino): HashedParams { + const message = createBaseHashedParams(); + if (object.block_max_bytes !== undefined && object.block_max_bytes !== null) { + message.blockMaxBytes = BigInt(object.block_max_bytes); + } + if (object.block_max_gas !== undefined && object.block_max_gas !== null) { + message.blockMaxGas = BigInt(object.block_max_gas); + } + return message; + }, + toAmino(message: HashedParams): HashedParamsAmino { + const obj: any = {}; + obj.block_max_bytes = message.blockMaxBytes !== BigInt(0) ? (message.blockMaxBytes?.toString)() : undefined; + obj.block_max_gas = message.blockMaxGas !== BigInt(0) ? (message.blockMaxGas?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: HashedParamsAminoMsg): HashedParams { + return HashedParams.fromAmino(object.value); + }, + fromProtoMsg(message: HashedParamsProtoMsg): HashedParams { + return HashedParams.decode(message.value); + }, + toProto(message: HashedParams): Uint8Array { + return HashedParams.encode(message).finish(); + }, + toProtoMsg(message: HashedParams): HashedParamsProtoMsg { + return { + typeUrl: '/tendermint.types.HashedParams', + value: HashedParams.encode(message).finish(), + }; + }, +}; +function createBaseABCIParams(): ABCIParams { + return { + voteExtensionsEnableHeight: BigInt(0), + }; +} +export const ABCIParams = { + typeUrl: '/tendermint.types.ABCIParams', + encode(message: ABCIParams, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.voteExtensionsEnableHeight !== BigInt(0)) { + writer.uint32(8).int64(message.voteExtensionsEnableHeight); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ABCIParams { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseABCIParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.voteExtensionsEnableHeight = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ABCIParams { + const message = createBaseABCIParams(); + message.voteExtensionsEnableHeight = + object.voteExtensionsEnableHeight !== undefined && object.voteExtensionsEnableHeight !== null + ? BigInt(object.voteExtensionsEnableHeight.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: ABCIParamsAmino): ABCIParams { + const message = createBaseABCIParams(); + if (object.vote_extensions_enable_height !== undefined && object.vote_extensions_enable_height !== null) { + message.voteExtensionsEnableHeight = BigInt(object.vote_extensions_enable_height); + } + return message; + }, + toAmino(message: ABCIParams): ABCIParamsAmino { + const obj: any = {}; + obj.vote_extensions_enable_height = + message.voteExtensionsEnableHeight !== BigInt(0) ? (message.voteExtensionsEnableHeight?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: ABCIParamsAminoMsg): ABCIParams { + return ABCIParams.fromAmino(object.value); + }, + fromProtoMsg(message: ABCIParamsProtoMsg): ABCIParams { + return ABCIParams.decode(message.value); + }, + toProto(message: ABCIParams): Uint8Array { + return ABCIParams.encode(message).finish(); + }, + toProtoMsg(message: ABCIParams): ABCIParamsProtoMsg { + return { + typeUrl: '/tendermint.types.ABCIParams', + value: ABCIParams.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/types.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/types.ts new file mode 100644 index 00000000..78a01e2c --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/types.ts @@ -0,0 +1,2198 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { Timestamp } from 'cosmjs-types/google/protobuf/timestamp'; + +import { BinaryReader, BinaryWriter } from '../../../../binary'; +import { base64FromBytes, bytesFromBase64, fromTimestamp, toTimestamp } from '../../../../helpers'; +import { Proof, ProofAmino, ProofSDKType } from '../crypto/proof'; +import { Consensus, ConsensusAmino, ConsensusSDKType } from '../version/types'; +import { BlockIDFlag, ValidatorSet, ValidatorSetAmino, ValidatorSetSDKType } from './validator'; +/** SignedMsgType is a type of signed message in the consensus. */ +export enum SignedMsgType { + SIGNED_MSG_TYPE_UNKNOWN = 0, + /** SIGNED_MSG_TYPE_PREVOTE - Votes */ + SIGNED_MSG_TYPE_PREVOTE = 1, + SIGNED_MSG_TYPE_PRECOMMIT = 2, + /** SIGNED_MSG_TYPE_PROPOSAL - Proposals */ + SIGNED_MSG_TYPE_PROPOSAL = 32, + UNRECOGNIZED = -1, +} +export const SignedMsgTypeSDKType = SignedMsgType; +export const SignedMsgTypeAmino = SignedMsgType; +export function signedMsgTypeFromJSON(object: any): SignedMsgType { + switch (object) { + case 0: + case 'SIGNED_MSG_TYPE_UNKNOWN': + return SignedMsgType.SIGNED_MSG_TYPE_UNKNOWN; + case 1: + case 'SIGNED_MSG_TYPE_PREVOTE': + return SignedMsgType.SIGNED_MSG_TYPE_PREVOTE; + case 2: + case 'SIGNED_MSG_TYPE_PRECOMMIT': + return SignedMsgType.SIGNED_MSG_TYPE_PRECOMMIT; + case 32: + case 'SIGNED_MSG_TYPE_PROPOSAL': + return SignedMsgType.SIGNED_MSG_TYPE_PROPOSAL; + case -1: + case 'UNRECOGNIZED': + default: + return SignedMsgType.UNRECOGNIZED; + } +} +export function signedMsgTypeToJSON(object: SignedMsgType): string { + switch (object) { + case SignedMsgType.SIGNED_MSG_TYPE_UNKNOWN: + return 'SIGNED_MSG_TYPE_UNKNOWN'; + case SignedMsgType.SIGNED_MSG_TYPE_PREVOTE: + return 'SIGNED_MSG_TYPE_PREVOTE'; + case SignedMsgType.SIGNED_MSG_TYPE_PRECOMMIT: + return 'SIGNED_MSG_TYPE_PRECOMMIT'; + case SignedMsgType.SIGNED_MSG_TYPE_PROPOSAL: + return 'SIGNED_MSG_TYPE_PROPOSAL'; + case SignedMsgType.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +/** PartsetHeader */ +export interface PartSetHeader { + total: number; + hash: Uint8Array; +} +export interface PartSetHeaderProtoMsg { + typeUrl: '/tendermint.types.PartSetHeader'; + value: Uint8Array; +} +/** PartsetHeader */ +export interface PartSetHeaderAmino { + total?: number; + hash?: string; +} +export interface PartSetHeaderAminoMsg { + type: '/tendermint.types.PartSetHeader'; + value: PartSetHeaderAmino; +} +/** PartsetHeader */ +export interface PartSetHeaderSDKType { + total: number; + hash: Uint8Array; +} +export interface Part { + index: number; + bytes: Uint8Array; + proof: Proof; +} +export interface PartProtoMsg { + typeUrl: '/tendermint.types.Part'; + value: Uint8Array; +} +export interface PartAmino { + index?: number; + bytes?: string; + proof?: ProofAmino; +} +export interface PartAminoMsg { + type: '/tendermint.types.Part'; + value: PartAmino; +} +export interface PartSDKType { + index: number; + bytes: Uint8Array; + proof: ProofSDKType; +} +/** BlockID */ +export interface BlockID { + hash: Uint8Array; + partSetHeader: PartSetHeader; +} +export interface BlockIDProtoMsg { + typeUrl: '/tendermint.types.BlockID'; + value: Uint8Array; +} +/** BlockID */ +export interface BlockIDAmino { + hash?: string; + part_set_header?: PartSetHeaderAmino; +} +export interface BlockIDAminoMsg { + type: '/tendermint.types.BlockID'; + value: BlockIDAmino; +} +/** BlockID */ +export interface BlockIDSDKType { + hash: Uint8Array; + part_set_header: PartSetHeaderSDKType; +} +/** Header defines the structure of a block header. */ +export interface Header { + /** basic block info */ + version: Consensus; + chainId: string; + height: bigint; + time: Date; + /** prev block info */ + lastBlockId: BlockID; + /** hashes of block data */ + lastCommitHash: Uint8Array; + /** transactions */ + dataHash: Uint8Array; + /** hashes from the app output from the prev block */ + validatorsHash: Uint8Array; + /** validators for the next block */ + nextValidatorsHash: Uint8Array; + /** consensus params for current block */ + consensusHash: Uint8Array; + /** state after txs from the previous block */ + appHash: Uint8Array; + /** root hash of all results from the txs from the previous block */ + lastResultsHash: Uint8Array; + /** consensus info */ + evidenceHash: Uint8Array; + /** original proposer of the block */ + proposerAddress: Uint8Array; +} +export interface HeaderProtoMsg { + typeUrl: '/tendermint.types.Header'; + value: Uint8Array; +} +/** Header defines the structure of a block header. */ +export interface HeaderAmino { + /** basic block info */ + version?: ConsensusAmino; + chain_id?: string; + height?: string; + time?: string; + /** prev block info */ + last_block_id?: BlockIDAmino; + /** hashes of block data */ + last_commit_hash?: string; + /** transactions */ + data_hash?: string; + /** hashes from the app output from the prev block */ + validators_hash?: string; + /** validators for the next block */ + next_validators_hash?: string; + /** consensus params for current block */ + consensus_hash?: string; + /** state after txs from the previous block */ + app_hash?: string; + /** root hash of all results from the txs from the previous block */ + last_results_hash?: string; + /** consensus info */ + evidence_hash?: string; + /** original proposer of the block */ + proposer_address?: string; +} +export interface HeaderAminoMsg { + type: '/tendermint.types.Header'; + value: HeaderAmino; +} +/** Header defines the structure of a block header. */ +export interface HeaderSDKType { + version: ConsensusSDKType; + chain_id: string; + height: bigint; + time: Date; + last_block_id: BlockIDSDKType; + last_commit_hash: Uint8Array; + data_hash: Uint8Array; + validators_hash: Uint8Array; + next_validators_hash: Uint8Array; + consensus_hash: Uint8Array; + app_hash: Uint8Array; + last_results_hash: Uint8Array; + evidence_hash: Uint8Array; + proposer_address: Uint8Array; +} +/** Data contains the set of transactions included in the block */ +export interface Data { + /** + * Txs that will be applied by state @ block.Height+1. + * NOTE: not all txs here are valid. We're just agreeing on the order first. + * This means that block.AppHash does not include these txs. + */ + txs: Uint8Array[]; +} +export interface DataProtoMsg { + typeUrl: '/tendermint.types.Data'; + value: Uint8Array; +} +/** Data contains the set of transactions included in the block */ +export interface DataAmino { + /** + * Txs that will be applied by state @ block.Height+1. + * NOTE: not all txs here are valid. We're just agreeing on the order first. + * This means that block.AppHash does not include these txs. + */ + txs?: string[]; +} +export interface DataAminoMsg { + type: '/tendermint.types.Data'; + value: DataAmino; +} +/** Data contains the set of transactions included in the block */ +export interface DataSDKType { + txs: Uint8Array[]; +} +/** + * Vote represents a prevote or precommit vote from validators for + * consensus. + */ +export interface Vote { + type: SignedMsgType; + height: bigint; + round: number; + /** zero if vote is nil. */ + blockId: BlockID; + timestamp: Date; + validatorAddress: Uint8Array; + validatorIndex: number; + /** + * Vote signature by the validator if they participated in consensus for the + * associated block. + */ + signature: Uint8Array; + /** + * Vote extension provided by the application. Only valid for precommit + * messages. + */ + extension: Uint8Array; + /** + * Vote extension signature by the validator if they participated in + * consensus for the associated block. + * Only valid for precommit messages. + */ + extensionSignature: Uint8Array; +} +export interface VoteProtoMsg { + typeUrl: '/tendermint.types.Vote'; + value: Uint8Array; +} +/** + * Vote represents a prevote or precommit vote from validators for + * consensus. + */ +export interface VoteAmino { + type?: SignedMsgType; + height?: string; + round?: number; + /** zero if vote is nil. */ + block_id?: BlockIDAmino; + timestamp?: string; + validator_address?: string; + validator_index?: number; + /** + * Vote signature by the validator if they participated in consensus for the + * associated block. + */ + signature?: string; + /** + * Vote extension provided by the application. Only valid for precommit + * messages. + */ + extension?: string; + /** + * Vote extension signature by the validator if they participated in + * consensus for the associated block. + * Only valid for precommit messages. + */ + extension_signature?: string; +} +export interface VoteAminoMsg { + type: '/tendermint.types.Vote'; + value: VoteAmino; +} +/** + * Vote represents a prevote or precommit vote from validators for + * consensus. + */ +export interface VoteSDKType { + type: SignedMsgType; + height: bigint; + round: number; + block_id: BlockIDSDKType; + timestamp: Date; + validator_address: Uint8Array; + validator_index: number; + signature: Uint8Array; + extension: Uint8Array; + extension_signature: Uint8Array; +} +/** Commit contains the evidence that a block was committed by a set of validators. */ +export interface Commit { + height: bigint; + round: number; + blockId: BlockID; + signatures: CommitSig[]; +} +export interface CommitProtoMsg { + typeUrl: '/tendermint.types.Commit'; + value: Uint8Array; +} +/** Commit contains the evidence that a block was committed by a set of validators. */ +export interface CommitAmino { + height?: string; + round?: number; + block_id?: BlockIDAmino; + signatures?: CommitSigAmino[]; +} +export interface CommitAminoMsg { + type: '/tendermint.types.Commit'; + value: CommitAmino; +} +/** Commit contains the evidence that a block was committed by a set of validators. */ +export interface CommitSDKType { + height: bigint; + round: number; + block_id: BlockIDSDKType; + signatures: CommitSigSDKType[]; +} +/** CommitSig is a part of the Vote included in a Commit. */ +export interface CommitSig { + blockIdFlag: BlockIDFlag; + validatorAddress: Uint8Array; + timestamp: Date; + signature: Uint8Array; +} +export interface CommitSigProtoMsg { + typeUrl: '/tendermint.types.CommitSig'; + value: Uint8Array; +} +/** CommitSig is a part of the Vote included in a Commit. */ +export interface CommitSigAmino { + block_id_flag?: BlockIDFlag; + validator_address?: string; + timestamp?: string; + signature?: string; +} +export interface CommitSigAminoMsg { + type: '/tendermint.types.CommitSig'; + value: CommitSigAmino; +} +/** CommitSig is a part of the Vote included in a Commit. */ +export interface CommitSigSDKType { + block_id_flag: BlockIDFlag; + validator_address: Uint8Array; + timestamp: Date; + signature: Uint8Array; +} +export interface ExtendedCommit { + height: bigint; + round: number; + blockId: BlockID; + extendedSignatures: ExtendedCommitSig[]; +} +export interface ExtendedCommitProtoMsg { + typeUrl: '/tendermint.types.ExtendedCommit'; + value: Uint8Array; +} +export interface ExtendedCommitAmino { + height?: string; + round?: number; + block_id?: BlockIDAmino; + extended_signatures?: ExtendedCommitSigAmino[]; +} +export interface ExtendedCommitAminoMsg { + type: '/tendermint.types.ExtendedCommit'; + value: ExtendedCommitAmino; +} +export interface ExtendedCommitSDKType { + height: bigint; + round: number; + block_id: BlockIDSDKType; + extended_signatures: ExtendedCommitSigSDKType[]; +} +/** + * ExtendedCommitSig retains all the same fields as CommitSig but adds vote + * extension-related fields. We use two signatures to ensure backwards compatibility. + * That is the digest of the original signature is still the same in prior versions + */ +export interface ExtendedCommitSig { + blockIdFlag: BlockIDFlag; + validatorAddress: Uint8Array; + timestamp: Date; + signature: Uint8Array; + /** Vote extension data */ + extension: Uint8Array; + /** Vote extension signature */ + extensionSignature: Uint8Array; +} +export interface ExtendedCommitSigProtoMsg { + typeUrl: '/tendermint.types.ExtendedCommitSig'; + value: Uint8Array; +} +/** + * ExtendedCommitSig retains all the same fields as CommitSig but adds vote + * extension-related fields. We use two signatures to ensure backwards compatibility. + * That is the digest of the original signature is still the same in prior versions + */ +export interface ExtendedCommitSigAmino { + block_id_flag?: BlockIDFlag; + validator_address?: string; + timestamp?: string; + signature?: string; + /** Vote extension data */ + extension?: string; + /** Vote extension signature */ + extension_signature?: string; +} +export interface ExtendedCommitSigAminoMsg { + type: '/tendermint.types.ExtendedCommitSig'; + value: ExtendedCommitSigAmino; +} +/** + * ExtendedCommitSig retains all the same fields as CommitSig but adds vote + * extension-related fields. We use two signatures to ensure backwards compatibility. + * That is the digest of the original signature is still the same in prior versions + */ +export interface ExtendedCommitSigSDKType { + block_id_flag: BlockIDFlag; + validator_address: Uint8Array; + timestamp: Date; + signature: Uint8Array; + extension: Uint8Array; + extension_signature: Uint8Array; +} +export interface Proposal { + type: SignedMsgType; + height: bigint; + round: number; + polRound: number; + blockId: BlockID; + timestamp: Date; + signature: Uint8Array; +} +export interface ProposalProtoMsg { + typeUrl: '/tendermint.types.Proposal'; + value: Uint8Array; +} +export interface ProposalAmino { + type?: SignedMsgType; + height?: string; + round?: number; + pol_round?: number; + block_id?: BlockIDAmino; + timestamp?: string; + signature?: string; +} +export interface ProposalAminoMsg { + type: '/tendermint.types.Proposal'; + value: ProposalAmino; +} +export interface ProposalSDKType { + type: SignedMsgType; + height: bigint; + round: number; + pol_round: number; + block_id: BlockIDSDKType; + timestamp: Date; + signature: Uint8Array; +} +export interface SignedHeader { + header?: Header; + commit?: Commit; +} +export interface SignedHeaderProtoMsg { + typeUrl: '/tendermint.types.SignedHeader'; + value: Uint8Array; +} +export interface SignedHeaderAmino { + header?: HeaderAmino; + commit?: CommitAmino; +} +export interface SignedHeaderAminoMsg { + type: '/tendermint.types.SignedHeader'; + value: SignedHeaderAmino; +} +export interface SignedHeaderSDKType { + header?: HeaderSDKType; + commit?: CommitSDKType; +} +export interface LightBlock { + signedHeader?: SignedHeader; + validatorSet?: ValidatorSet; +} +export interface LightBlockProtoMsg { + typeUrl: '/tendermint.types.LightBlock'; + value: Uint8Array; +} +export interface LightBlockAmino { + signed_header?: SignedHeaderAmino; + validator_set?: ValidatorSetAmino; +} +export interface LightBlockAminoMsg { + type: '/tendermint.types.LightBlock'; + value: LightBlockAmino; +} +export interface LightBlockSDKType { + signed_header?: SignedHeaderSDKType; + validator_set?: ValidatorSetSDKType; +} +export interface BlockMeta { + blockId: BlockID; + blockSize: bigint; + header: Header; + numTxs: bigint; +} +export interface BlockMetaProtoMsg { + typeUrl: '/tendermint.types.BlockMeta'; + value: Uint8Array; +} +export interface BlockMetaAmino { + block_id?: BlockIDAmino; + block_size?: string; + header?: HeaderAmino; + num_txs?: string; +} +export interface BlockMetaAminoMsg { + type: '/tendermint.types.BlockMeta'; + value: BlockMetaAmino; +} +export interface BlockMetaSDKType { + block_id: BlockIDSDKType; + block_size: bigint; + header: HeaderSDKType; + num_txs: bigint; +} +/** TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree. */ +export interface TxProof { + rootHash: Uint8Array; + data: Uint8Array; + proof?: Proof; +} +export interface TxProofProtoMsg { + typeUrl: '/tendermint.types.TxProof'; + value: Uint8Array; +} +/** TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree. */ +export interface TxProofAmino { + root_hash?: string; + data?: string; + proof?: ProofAmino; +} +export interface TxProofAminoMsg { + type: '/tendermint.types.TxProof'; + value: TxProofAmino; +} +/** TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree. */ +export interface TxProofSDKType { + root_hash: Uint8Array; + data: Uint8Array; + proof?: ProofSDKType; +} +function createBasePartSetHeader(): PartSetHeader { + return { + total: 0, + hash: new Uint8Array(), + }; +} +export const PartSetHeader = { + typeUrl: '/tendermint.types.PartSetHeader', + encode(message: PartSetHeader, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.total !== 0) { + writer.uint32(8).uint32(message.total); + } + if (message.hash.length !== 0) { + writer.uint32(18).bytes(message.hash); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): PartSetHeader { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePartSetHeader(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): PartSetHeader { + const message = createBasePartSetHeader(); + message.total = object.total ?? 0; + message.hash = object.hash ?? new Uint8Array(); + return message; + }, + fromAmino(object: PartSetHeaderAmino): PartSetHeader { + const message = createBasePartSetHeader(); + if (object.total !== undefined && object.total !== null) { + message.total = object.total; + } + if (object.hash !== undefined && object.hash !== null) { + message.hash = bytesFromBase64(object.hash); + } + return message; + }, + toAmino(message: PartSetHeader): PartSetHeaderAmino { + const obj: any = {}; + obj.total = message.total === 0 ? undefined : message.total; + obj.hash = message.hash ? base64FromBytes(message.hash) : undefined; + return obj; + }, + fromAminoMsg(object: PartSetHeaderAminoMsg): PartSetHeader { + return PartSetHeader.fromAmino(object.value); + }, + fromProtoMsg(message: PartSetHeaderProtoMsg): PartSetHeader { + return PartSetHeader.decode(message.value); + }, + toProto(message: PartSetHeader): Uint8Array { + return PartSetHeader.encode(message).finish(); + }, + toProtoMsg(message: PartSetHeader): PartSetHeaderProtoMsg { + return { + typeUrl: '/tendermint.types.PartSetHeader', + value: PartSetHeader.encode(message).finish(), + }; + }, +}; +function createBasePart(): Part { + return { + index: 0, + bytes: new Uint8Array(), + proof: Proof.fromPartial({}), + }; +} +export const Part = { + typeUrl: '/tendermint.types.Part', + encode(message: Part, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.index !== 0) { + writer.uint32(8).uint32(message.index); + } + if (message.bytes.length !== 0) { + writer.uint32(18).bytes(message.bytes); + } + if (message.proof !== undefined) { + Proof.encode(message.proof, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Part { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePart(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.index = reader.uint32(); + break; + case 2: + message.bytes = reader.bytes(); + break; + case 3: + message.proof = Proof.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Part { + const message = createBasePart(); + message.index = object.index ?? 0; + message.bytes = object.bytes ?? new Uint8Array(); + message.proof = object.proof !== undefined && object.proof !== null ? Proof.fromPartial(object.proof) : undefined; + return message; + }, + fromAmino(object: PartAmino): Part { + const message = createBasePart(); + if (object.index !== undefined && object.index !== null) { + message.index = object.index; + } + if (object.bytes !== undefined && object.bytes !== null) { + message.bytes = bytesFromBase64(object.bytes); + } + if (object.proof !== undefined && object.proof !== null) { + message.proof = Proof.fromAmino(object.proof); + } + return message; + }, + toAmino(message: Part): PartAmino { + const obj: any = {}; + obj.index = message.index === 0 ? undefined : message.index; + obj.bytes = message.bytes ? base64FromBytes(message.bytes) : undefined; + obj.proof = message.proof ? Proof.toAmino(message.proof) : undefined; + return obj; + }, + fromAminoMsg(object: PartAminoMsg): Part { + return Part.fromAmino(object.value); + }, + fromProtoMsg(message: PartProtoMsg): Part { + return Part.decode(message.value); + }, + toProto(message: Part): Uint8Array { + return Part.encode(message).finish(); + }, + toProtoMsg(message: Part): PartProtoMsg { + return { + typeUrl: '/tendermint.types.Part', + value: Part.encode(message).finish(), + }; + }, +}; +function createBaseBlockID(): BlockID { + return { + hash: new Uint8Array(), + partSetHeader: PartSetHeader.fromPartial({}), + }; +} +export const BlockID = { + typeUrl: '/tendermint.types.BlockID', + encode(message: BlockID, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.hash.length !== 0) { + writer.uint32(10).bytes(message.hash); + } + if (message.partSetHeader !== undefined) { + PartSetHeader.encode(message.partSetHeader, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BlockID { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlockID(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.hash = reader.bytes(); + break; + case 2: + message.partSetHeader = PartSetHeader.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BlockID { + const message = createBaseBlockID(); + message.hash = object.hash ?? new Uint8Array(); + message.partSetHeader = + object.partSetHeader !== undefined && object.partSetHeader !== null + ? PartSetHeader.fromPartial(object.partSetHeader) + : undefined; + return message; + }, + fromAmino(object: BlockIDAmino): BlockID { + const message = createBaseBlockID(); + if (object.hash !== undefined && object.hash !== null) { + message.hash = bytesFromBase64(object.hash); + } + if (object.part_set_header !== undefined && object.part_set_header !== null) { + message.partSetHeader = PartSetHeader.fromAmino(object.part_set_header); + } + return message; + }, + toAmino(message: BlockID): BlockIDAmino { + const obj: any = {}; + obj.hash = message.hash ? base64FromBytes(message.hash) : undefined; + obj.part_set_header = message.partSetHeader ? PartSetHeader.toAmino(message.partSetHeader) : undefined; + return obj; + }, + fromAminoMsg(object: BlockIDAminoMsg): BlockID { + return BlockID.fromAmino(object.value); + }, + fromProtoMsg(message: BlockIDProtoMsg): BlockID { + return BlockID.decode(message.value); + }, + toProto(message: BlockID): Uint8Array { + return BlockID.encode(message).finish(); + }, + toProtoMsg(message: BlockID): BlockIDProtoMsg { + return { + typeUrl: '/tendermint.types.BlockID', + value: BlockID.encode(message).finish(), + }; + }, +}; +function createBaseHeader(): Header { + return { + version: Consensus.fromPartial({}), + chainId: '', + height: BigInt(0), + time: new Date(), + lastBlockId: BlockID.fromPartial({}), + lastCommitHash: new Uint8Array(), + dataHash: new Uint8Array(), + validatorsHash: new Uint8Array(), + nextValidatorsHash: new Uint8Array(), + consensusHash: new Uint8Array(), + appHash: new Uint8Array(), + lastResultsHash: new Uint8Array(), + evidenceHash: new Uint8Array(), + proposerAddress: new Uint8Array(), + }; +} +export const Header = { + typeUrl: '/tendermint.types.Header', + encode(message: Header, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.version !== undefined) { + Consensus.encode(message.version, writer.uint32(10).fork()).ldelim(); + } + if (message.chainId !== '') { + writer.uint32(18).string(message.chainId); + } + if (message.height !== BigInt(0)) { + writer.uint32(24).int64(message.height); + } + if (message.time !== undefined) { + Timestamp.encode(toTimestamp(message.time), writer.uint32(34).fork()).ldelim(); + } + if (message.lastBlockId !== undefined) { + BlockID.encode(message.lastBlockId, writer.uint32(42).fork()).ldelim(); + } + if (message.lastCommitHash.length !== 0) { + writer.uint32(50).bytes(message.lastCommitHash); + } + if (message.dataHash.length !== 0) { + writer.uint32(58).bytes(message.dataHash); + } + if (message.validatorsHash.length !== 0) { + writer.uint32(66).bytes(message.validatorsHash); + } + if (message.nextValidatorsHash.length !== 0) { + writer.uint32(74).bytes(message.nextValidatorsHash); + } + if (message.consensusHash.length !== 0) { + writer.uint32(82).bytes(message.consensusHash); + } + if (message.appHash.length !== 0) { + writer.uint32(90).bytes(message.appHash); + } + if (message.lastResultsHash.length !== 0) { + writer.uint32(98).bytes(message.lastResultsHash); + } + if (message.evidenceHash.length !== 0) { + writer.uint32(106).bytes(message.evidenceHash); + } + if (message.proposerAddress.length !== 0) { + writer.uint32(114).bytes(message.proposerAddress); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Header { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseHeader(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.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 = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 5: + message.lastBlockId = 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; + }, + fromPartial(object: Partial
): Header { + const message = createBaseHeader(); + message.version = + object.version !== undefined && object.version !== null ? Consensus.fromPartial(object.version) : undefined; + message.chainId = object.chainId ?? ''; + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.time = object.time ?? undefined; + message.lastBlockId = + object.lastBlockId !== undefined && object.lastBlockId !== null + ? BlockID.fromPartial(object.lastBlockId) + : undefined; + message.lastCommitHash = object.lastCommitHash ?? new Uint8Array(); + message.dataHash = object.dataHash ?? new Uint8Array(); + message.validatorsHash = object.validatorsHash ?? new Uint8Array(); + message.nextValidatorsHash = object.nextValidatorsHash ?? new Uint8Array(); + message.consensusHash = object.consensusHash ?? new Uint8Array(); + message.appHash = object.appHash ?? new Uint8Array(); + message.lastResultsHash = object.lastResultsHash ?? new Uint8Array(); + message.evidenceHash = object.evidenceHash ?? new Uint8Array(); + message.proposerAddress = object.proposerAddress ?? new Uint8Array(); + return message; + }, + fromAmino(object: HeaderAmino): Header { + const message = createBaseHeader(); + if (object.version !== undefined && object.version !== null) { + message.version = Consensus.fromAmino(object.version); + } + if (object.chain_id !== undefined && object.chain_id !== null) { + message.chainId = object.chain_id; + } + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.time !== undefined && object.time !== null) { + message.time = fromTimestamp(Timestamp.fromAmino(object.time)); + } + if (object.last_block_id !== undefined && object.last_block_id !== null) { + message.lastBlockId = BlockID.fromAmino(object.last_block_id); + } + if (object.last_commit_hash !== undefined && object.last_commit_hash !== null) { + message.lastCommitHash = bytesFromBase64(object.last_commit_hash); + } + if (object.data_hash !== undefined && object.data_hash !== null) { + message.dataHash = bytesFromBase64(object.data_hash); + } + if (object.validators_hash !== undefined && object.validators_hash !== null) { + message.validatorsHash = bytesFromBase64(object.validators_hash); + } + if (object.next_validators_hash !== undefined && object.next_validators_hash !== null) { + message.nextValidatorsHash = bytesFromBase64(object.next_validators_hash); + } + if (object.consensus_hash !== undefined && object.consensus_hash !== null) { + message.consensusHash = bytesFromBase64(object.consensus_hash); + } + if (object.app_hash !== undefined && object.app_hash !== null) { + message.appHash = bytesFromBase64(object.app_hash); + } + if (object.last_results_hash !== undefined && object.last_results_hash !== null) { + message.lastResultsHash = bytesFromBase64(object.last_results_hash); + } + if (object.evidence_hash !== undefined && object.evidence_hash !== null) { + message.evidenceHash = bytesFromBase64(object.evidence_hash); + } + if (object.proposer_address !== undefined && object.proposer_address !== null) { + message.proposerAddress = bytesFromBase64(object.proposer_address); + } + return message; + }, + toAmino(message: Header): HeaderAmino { + const obj: any = {}; + obj.version = message.version ? Consensus.toAmino(message.version) : undefined; + obj.chain_id = message.chainId === '' ? undefined : message.chainId; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.time = message.time ? Timestamp.toAmino(toTimestamp(message.time)) : undefined; + obj.last_block_id = message.lastBlockId ? BlockID.toAmino(message.lastBlockId) : undefined; + obj.last_commit_hash = message.lastCommitHash ? base64FromBytes(message.lastCommitHash) : undefined; + obj.data_hash = message.dataHash ? base64FromBytes(message.dataHash) : undefined; + obj.validators_hash = message.validatorsHash ? base64FromBytes(message.validatorsHash) : undefined; + obj.next_validators_hash = message.nextValidatorsHash ? base64FromBytes(message.nextValidatorsHash) : undefined; + obj.consensus_hash = message.consensusHash ? base64FromBytes(message.consensusHash) : undefined; + obj.app_hash = message.appHash ? base64FromBytes(message.appHash) : undefined; + obj.last_results_hash = message.lastResultsHash ? base64FromBytes(message.lastResultsHash) : undefined; + obj.evidence_hash = message.evidenceHash ? base64FromBytes(message.evidenceHash) : undefined; + obj.proposer_address = message.proposerAddress ? base64FromBytes(message.proposerAddress) : undefined; + return obj; + }, + fromAminoMsg(object: HeaderAminoMsg): Header { + return Header.fromAmino(object.value); + }, + fromProtoMsg(message: HeaderProtoMsg): Header { + return Header.decode(message.value); + }, + toProto(message: Header): Uint8Array { + return Header.encode(message).finish(); + }, + toProtoMsg(message: Header): HeaderProtoMsg { + return { + typeUrl: '/tendermint.types.Header', + value: Header.encode(message).finish(), + }; + }, +}; +function createBaseData(): Data { + return { + txs: [], + }; +} +export const Data = { + typeUrl: '/tendermint.types.Data', + encode(message: Data, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.txs) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Data { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseData(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.txs.push(reader.bytes()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Data { + const message = createBaseData(); + message.txs = object.txs?.map((e) => e) || []; + return message; + }, + fromAmino(object: DataAmino): Data { + const message = createBaseData(); + message.txs = object.txs?.map((e) => bytesFromBase64(e)) || []; + return message; + }, + toAmino(message: Data): DataAmino { + const obj: any = {}; + if (message.txs) { + obj.txs = message.txs.map((e) => base64FromBytes(e)); + } else { + obj.txs = message.txs; + } + return obj; + }, + fromAminoMsg(object: DataAminoMsg): Data { + return Data.fromAmino(object.value); + }, + fromProtoMsg(message: DataProtoMsg): Data { + return Data.decode(message.value); + }, + toProto(message: Data): Uint8Array { + return Data.encode(message).finish(); + }, + toProtoMsg(message: Data): DataProtoMsg { + return { + typeUrl: '/tendermint.types.Data', + value: Data.encode(message).finish(), + }; + }, +}; +function createBaseVote(): Vote { + return { + type: 0, + height: BigInt(0), + round: 0, + blockId: BlockID.fromPartial({}), + timestamp: new Date(), + validatorAddress: new Uint8Array(), + validatorIndex: 0, + signature: new Uint8Array(), + extension: new Uint8Array(), + extensionSignature: new Uint8Array(), + }; +} +export const Vote = { + typeUrl: '/tendermint.types.Vote', + encode(message: Vote, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.type !== 0) { + writer.uint32(8).int32(message.type); + } + if (message.height !== BigInt(0)) { + writer.uint32(16).int64(message.height); + } + if (message.round !== 0) { + writer.uint32(24).int32(message.round); + } + if (message.blockId !== undefined) { + BlockID.encode(message.blockId, writer.uint32(34).fork()).ldelim(); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(42).fork()).ldelim(); + } + if (message.validatorAddress.length !== 0) { + writer.uint32(50).bytes(message.validatorAddress); + } + if (message.validatorIndex !== 0) { + writer.uint32(56).int32(message.validatorIndex); + } + if (message.signature.length !== 0) { + writer.uint32(66).bytes(message.signature); + } + if (message.extension.length !== 0) { + writer.uint32(74).bytes(message.extension); + } + if (message.extensionSignature.length !== 0) { + writer.uint32(82).bytes(message.extensionSignature); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Vote { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseVote(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32() as any; + break; + case 2: + message.height = reader.int64(); + break; + case 3: + message.round = reader.int32(); + break; + case 4: + message.blockId = BlockID.decode(reader, reader.uint32()); + break; + case 5: + message.timestamp = fromTimestamp(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; + case 9: + message.extension = reader.bytes(); + break; + case 10: + message.extensionSignature = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Vote { + const message = createBaseVote(); + message.type = object.type ?? 0; + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.round = object.round ?? 0; + message.blockId = + object.blockId !== undefined && object.blockId !== null ? BlockID.fromPartial(object.blockId) : undefined; + message.timestamp = object.timestamp ?? undefined; + message.validatorAddress = object.validatorAddress ?? new Uint8Array(); + message.validatorIndex = object.validatorIndex ?? 0; + message.signature = object.signature ?? new Uint8Array(); + message.extension = object.extension ?? new Uint8Array(); + message.extensionSignature = object.extensionSignature ?? new Uint8Array(); + return message; + }, + fromAmino(object: VoteAmino): Vote { + const message = createBaseVote(); + if (object.type !== undefined && object.type !== null) { + message.type = object.type; + } + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.round !== undefined && object.round !== null) { + message.round = object.round; + } + if (object.block_id !== undefined && object.block_id !== null) { + message.blockId = BlockID.fromAmino(object.block_id); + } + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = fromTimestamp(Timestamp.fromAmino(object.timestamp)); + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = bytesFromBase64(object.validator_address); + } + if (object.validator_index !== undefined && object.validator_index !== null) { + message.validatorIndex = object.validator_index; + } + if (object.signature !== undefined && object.signature !== null) { + message.signature = bytesFromBase64(object.signature); + } + if (object.extension !== undefined && object.extension !== null) { + message.extension = bytesFromBase64(object.extension); + } + if (object.extension_signature !== undefined && object.extension_signature !== null) { + message.extensionSignature = bytesFromBase64(object.extension_signature); + } + return message; + }, + toAmino(message: Vote): VoteAmino { + const obj: any = {}; + obj.type = message.type === 0 ? undefined : message.type; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.round = message.round === 0 ? undefined : message.round; + obj.block_id = message.blockId ? BlockID.toAmino(message.blockId) : undefined; + obj.timestamp = message.timestamp ? Timestamp.toAmino(toTimestamp(message.timestamp)) : undefined; + obj.validator_address = message.validatorAddress ? base64FromBytes(message.validatorAddress) : undefined; + obj.validator_index = message.validatorIndex === 0 ? undefined : message.validatorIndex; + obj.signature = message.signature ? base64FromBytes(message.signature) : undefined; + obj.extension = message.extension ? base64FromBytes(message.extension) : undefined; + obj.extension_signature = message.extensionSignature ? base64FromBytes(message.extensionSignature) : undefined; + return obj; + }, + fromAminoMsg(object: VoteAminoMsg): Vote { + return Vote.fromAmino(object.value); + }, + fromProtoMsg(message: VoteProtoMsg): Vote { + return Vote.decode(message.value); + }, + toProto(message: Vote): Uint8Array { + return Vote.encode(message).finish(); + }, + toProtoMsg(message: Vote): VoteProtoMsg { + return { + typeUrl: '/tendermint.types.Vote', + value: Vote.encode(message).finish(), + }; + }, +}; +function createBaseCommit(): Commit { + return { + height: BigInt(0), + round: 0, + blockId: BlockID.fromPartial({}), + signatures: [], + }; +} +export const Commit = { + typeUrl: '/tendermint.types.Commit', + encode(message: Commit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.height !== BigInt(0)) { + writer.uint32(8).int64(message.height); + } + if (message.round !== 0) { + writer.uint32(16).int32(message.round); + } + if (message.blockId !== undefined) { + BlockID.encode(message.blockId, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.signatures) { + CommitSig.encode(v!, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Commit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.int64(); + break; + case 2: + message.round = reader.int32(); + break; + case 3: + message.blockId = BlockID.decode(reader, reader.uint32()); + break; + case 4: + message.signatures.push(CommitSig.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Commit { + const message = createBaseCommit(); + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.round = object.round ?? 0; + message.blockId = + object.blockId !== undefined && object.blockId !== null ? BlockID.fromPartial(object.blockId) : undefined; + message.signatures = object.signatures?.map((e) => CommitSig.fromPartial(e)) || []; + return message; + }, + fromAmino(object: CommitAmino): Commit { + const message = createBaseCommit(); + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.round !== undefined && object.round !== null) { + message.round = object.round; + } + if (object.block_id !== undefined && object.block_id !== null) { + message.blockId = BlockID.fromAmino(object.block_id); + } + message.signatures = object.signatures?.map((e) => CommitSig.fromAmino(e)) || []; + return message; + }, + toAmino(message: Commit): CommitAmino { + const obj: any = {}; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.round = message.round === 0 ? undefined : message.round; + obj.block_id = message.blockId ? BlockID.toAmino(message.blockId) : undefined; + if (message.signatures) { + obj.signatures = message.signatures.map((e) => (e ? CommitSig.toAmino(e) : undefined)); + } else { + obj.signatures = message.signatures; + } + return obj; + }, + fromAminoMsg(object: CommitAminoMsg): Commit { + return Commit.fromAmino(object.value); + }, + fromProtoMsg(message: CommitProtoMsg): Commit { + return Commit.decode(message.value); + }, + toProto(message: Commit): Uint8Array { + return Commit.encode(message).finish(); + }, + toProtoMsg(message: Commit): CommitProtoMsg { + return { + typeUrl: '/tendermint.types.Commit', + value: Commit.encode(message).finish(), + }; + }, +}; +function createBaseCommitSig(): CommitSig { + return { + blockIdFlag: 0, + validatorAddress: new Uint8Array(), + timestamp: new Date(), + signature: new Uint8Array(), + }; +} +export const CommitSig = { + typeUrl: '/tendermint.types.CommitSig', + encode(message: CommitSig, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.blockIdFlag !== 0) { + writer.uint32(8).int32(message.blockIdFlag); + } + if (message.validatorAddress.length !== 0) { + writer.uint32(18).bytes(message.validatorAddress); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(26).fork()).ldelim(); + } + if (message.signature.length !== 0) { + writer.uint32(34).bytes(message.signature); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): CommitSig { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCommitSig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.blockIdFlag = reader.int32() as any; + break; + case 2: + message.validatorAddress = reader.bytes(); + break; + case 3: + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 4: + message.signature = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): CommitSig { + const message = createBaseCommitSig(); + message.blockIdFlag = object.blockIdFlag ?? 0; + message.validatorAddress = object.validatorAddress ?? new Uint8Array(); + message.timestamp = object.timestamp ?? undefined; + message.signature = object.signature ?? new Uint8Array(); + return message; + }, + fromAmino(object: CommitSigAmino): CommitSig { + const message = createBaseCommitSig(); + if (object.block_id_flag !== undefined && object.block_id_flag !== null) { + message.blockIdFlag = object.block_id_flag; + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = bytesFromBase64(object.validator_address); + } + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = fromTimestamp(Timestamp.fromAmino(object.timestamp)); + } + if (object.signature !== undefined && object.signature !== null) { + message.signature = bytesFromBase64(object.signature); + } + return message; + }, + toAmino(message: CommitSig): CommitSigAmino { + const obj: any = {}; + obj.block_id_flag = message.blockIdFlag === 0 ? undefined : message.blockIdFlag; + obj.validator_address = message.validatorAddress ? base64FromBytes(message.validatorAddress) : undefined; + obj.timestamp = message.timestamp ? Timestamp.toAmino(toTimestamp(message.timestamp)) : undefined; + obj.signature = message.signature ? base64FromBytes(message.signature) : undefined; + return obj; + }, + fromAminoMsg(object: CommitSigAminoMsg): CommitSig { + return CommitSig.fromAmino(object.value); + }, + fromProtoMsg(message: CommitSigProtoMsg): CommitSig { + return CommitSig.decode(message.value); + }, + toProto(message: CommitSig): Uint8Array { + return CommitSig.encode(message).finish(); + }, + toProtoMsg(message: CommitSig): CommitSigProtoMsg { + return { + typeUrl: '/tendermint.types.CommitSig', + value: CommitSig.encode(message).finish(), + }; + }, +}; +function createBaseExtendedCommit(): ExtendedCommit { + return { + height: BigInt(0), + round: 0, + blockId: BlockID.fromPartial({}), + extendedSignatures: [], + }; +} +export const ExtendedCommit = { + typeUrl: '/tendermint.types.ExtendedCommit', + encode(message: ExtendedCommit, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.height !== BigInt(0)) { + writer.uint32(8).int64(message.height); + } + if (message.round !== 0) { + writer.uint32(16).int32(message.round); + } + if (message.blockId !== undefined) { + BlockID.encode(message.blockId, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.extendedSignatures) { + ExtendedCommitSig.encode(v!, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ExtendedCommit { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtendedCommit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.height = reader.int64(); + break; + case 2: + message.round = reader.int32(); + break; + case 3: + message.blockId = BlockID.decode(reader, reader.uint32()); + break; + case 4: + message.extendedSignatures.push(ExtendedCommitSig.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ExtendedCommit { + const message = createBaseExtendedCommit(); + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.round = object.round ?? 0; + message.blockId = + object.blockId !== undefined && object.blockId !== null ? BlockID.fromPartial(object.blockId) : undefined; + message.extendedSignatures = object.extendedSignatures?.map((e) => ExtendedCommitSig.fromPartial(e)) || []; + return message; + }, + fromAmino(object: ExtendedCommitAmino): ExtendedCommit { + const message = createBaseExtendedCommit(); + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.round !== undefined && object.round !== null) { + message.round = object.round; + } + if (object.block_id !== undefined && object.block_id !== null) { + message.blockId = BlockID.fromAmino(object.block_id); + } + message.extendedSignatures = object.extended_signatures?.map((e) => ExtendedCommitSig.fromAmino(e)) || []; + return message; + }, + toAmino(message: ExtendedCommit): ExtendedCommitAmino { + const obj: any = {}; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.round = message.round === 0 ? undefined : message.round; + obj.block_id = message.blockId ? BlockID.toAmino(message.blockId) : undefined; + if (message.extendedSignatures) { + obj.extended_signatures = message.extendedSignatures.map((e) => (e ? ExtendedCommitSig.toAmino(e) : undefined)); + } else { + obj.extended_signatures = message.extendedSignatures; + } + return obj; + }, + fromAminoMsg(object: ExtendedCommitAminoMsg): ExtendedCommit { + return ExtendedCommit.fromAmino(object.value); + }, + fromProtoMsg(message: ExtendedCommitProtoMsg): ExtendedCommit { + return ExtendedCommit.decode(message.value); + }, + toProto(message: ExtendedCommit): Uint8Array { + return ExtendedCommit.encode(message).finish(); + }, + toProtoMsg(message: ExtendedCommit): ExtendedCommitProtoMsg { + return { + typeUrl: '/tendermint.types.ExtendedCommit', + value: ExtendedCommit.encode(message).finish(), + }; + }, +}; +function createBaseExtendedCommitSig(): ExtendedCommitSig { + return { + blockIdFlag: 0, + validatorAddress: new Uint8Array(), + timestamp: new Date(), + signature: new Uint8Array(), + extension: new Uint8Array(), + extensionSignature: new Uint8Array(), + }; +} +export const ExtendedCommitSig = { + typeUrl: '/tendermint.types.ExtendedCommitSig', + encode(message: ExtendedCommitSig, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.blockIdFlag !== 0) { + writer.uint32(8).int32(message.blockIdFlag); + } + if (message.validatorAddress.length !== 0) { + writer.uint32(18).bytes(message.validatorAddress); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(26).fork()).ldelim(); + } + if (message.signature.length !== 0) { + writer.uint32(34).bytes(message.signature); + } + if (message.extension.length !== 0) { + writer.uint32(42).bytes(message.extension); + } + if (message.extensionSignature.length !== 0) { + writer.uint32(50).bytes(message.extensionSignature); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ExtendedCommitSig { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseExtendedCommitSig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.blockIdFlag = reader.int32() as any; + break; + case 2: + message.validatorAddress = reader.bytes(); + break; + case 3: + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 4: + message.signature = reader.bytes(); + break; + case 5: + message.extension = reader.bytes(); + break; + case 6: + message.extensionSignature = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ExtendedCommitSig { + const message = createBaseExtendedCommitSig(); + message.blockIdFlag = object.blockIdFlag ?? 0; + message.validatorAddress = object.validatorAddress ?? new Uint8Array(); + message.timestamp = object.timestamp ?? undefined; + message.signature = object.signature ?? new Uint8Array(); + message.extension = object.extension ?? new Uint8Array(); + message.extensionSignature = object.extensionSignature ?? new Uint8Array(); + return message; + }, + fromAmino(object: ExtendedCommitSigAmino): ExtendedCommitSig { + const message = createBaseExtendedCommitSig(); + if (object.block_id_flag !== undefined && object.block_id_flag !== null) { + message.blockIdFlag = object.block_id_flag; + } + if (object.validator_address !== undefined && object.validator_address !== null) { + message.validatorAddress = bytesFromBase64(object.validator_address); + } + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = fromTimestamp(Timestamp.fromAmino(object.timestamp)); + } + if (object.signature !== undefined && object.signature !== null) { + message.signature = bytesFromBase64(object.signature); + } + if (object.extension !== undefined && object.extension !== null) { + message.extension = bytesFromBase64(object.extension); + } + if (object.extension_signature !== undefined && object.extension_signature !== null) { + message.extensionSignature = bytesFromBase64(object.extension_signature); + } + return message; + }, + toAmino(message: ExtendedCommitSig): ExtendedCommitSigAmino { + const obj: any = {}; + obj.block_id_flag = message.blockIdFlag === 0 ? undefined : message.blockIdFlag; + obj.validator_address = message.validatorAddress ? base64FromBytes(message.validatorAddress) : undefined; + obj.timestamp = message.timestamp ? Timestamp.toAmino(toTimestamp(message.timestamp)) : undefined; + obj.signature = message.signature ? base64FromBytes(message.signature) : undefined; + obj.extension = message.extension ? base64FromBytes(message.extension) : undefined; + obj.extension_signature = message.extensionSignature ? base64FromBytes(message.extensionSignature) : undefined; + return obj; + }, + fromAminoMsg(object: ExtendedCommitSigAminoMsg): ExtendedCommitSig { + return ExtendedCommitSig.fromAmino(object.value); + }, + fromProtoMsg(message: ExtendedCommitSigProtoMsg): ExtendedCommitSig { + return ExtendedCommitSig.decode(message.value); + }, + toProto(message: ExtendedCommitSig): Uint8Array { + return ExtendedCommitSig.encode(message).finish(); + }, + toProtoMsg(message: ExtendedCommitSig): ExtendedCommitSigProtoMsg { + return { + typeUrl: '/tendermint.types.ExtendedCommitSig', + value: ExtendedCommitSig.encode(message).finish(), + }; + }, +}; +function createBaseProposal(): Proposal { + return { + type: 0, + height: BigInt(0), + round: 0, + polRound: 0, + blockId: BlockID.fromPartial({}), + timestamp: new Date(), + signature: new Uint8Array(), + }; +} +export const Proposal = { + typeUrl: '/tendermint.types.Proposal', + encode(message: Proposal, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.type !== 0) { + writer.uint32(8).int32(message.type); + } + if (message.height !== BigInt(0)) { + writer.uint32(16).int64(message.height); + } + if (message.round !== 0) { + writer.uint32(24).int32(message.round); + } + if (message.polRound !== 0) { + writer.uint32(32).int32(message.polRound); + } + if (message.blockId !== undefined) { + BlockID.encode(message.blockId, writer.uint32(42).fork()).ldelim(); + } + if (message.timestamp !== undefined) { + Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(50).fork()).ldelim(); + } + if (message.signature.length !== 0) { + writer.uint32(58).bytes(message.signature); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Proposal { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseProposal(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.type = reader.int32() as any; + 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 = BlockID.decode(reader, reader.uint32()); + break; + case 6: + message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + break; + case 7: + message.signature = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): Proposal { + const message = createBaseProposal(); + message.type = object.type ?? 0; + message.height = + object.height !== undefined && object.height !== null ? BigInt(object.height.toString()) : BigInt(0); + message.round = object.round ?? 0; + message.polRound = object.polRound ?? 0; + message.blockId = + object.blockId !== undefined && object.blockId !== null ? BlockID.fromPartial(object.blockId) : undefined; + message.timestamp = object.timestamp ?? undefined; + message.signature = object.signature ?? new Uint8Array(); + return message; + }, + fromAmino(object: ProposalAmino): Proposal { + const message = createBaseProposal(); + if (object.type !== undefined && object.type !== null) { + message.type = object.type; + } + if (object.height !== undefined && object.height !== null) { + message.height = BigInt(object.height); + } + if (object.round !== undefined && object.round !== null) { + message.round = object.round; + } + if (object.pol_round !== undefined && object.pol_round !== null) { + message.polRound = object.pol_round; + } + if (object.block_id !== undefined && object.block_id !== null) { + message.blockId = BlockID.fromAmino(object.block_id); + } + if (object.timestamp !== undefined && object.timestamp !== null) { + message.timestamp = fromTimestamp(Timestamp.fromAmino(object.timestamp)); + } + if (object.signature !== undefined && object.signature !== null) { + message.signature = bytesFromBase64(object.signature); + } + return message; + }, + toAmino(message: Proposal): ProposalAmino { + const obj: any = {}; + obj.type = message.type === 0 ? undefined : message.type; + obj.height = message.height !== BigInt(0) ? (message.height?.toString)() : undefined; + obj.round = message.round === 0 ? undefined : message.round; + obj.pol_round = message.polRound === 0 ? undefined : message.polRound; + obj.block_id = message.blockId ? BlockID.toAmino(message.blockId) : undefined; + obj.timestamp = message.timestamp ? Timestamp.toAmino(toTimestamp(message.timestamp)) : undefined; + obj.signature = message.signature ? base64FromBytes(message.signature) : undefined; + return obj; + }, + fromAminoMsg(object: ProposalAminoMsg): Proposal { + return Proposal.fromAmino(object.value); + }, + fromProtoMsg(message: ProposalProtoMsg): Proposal { + return Proposal.decode(message.value); + }, + toProto(message: Proposal): Uint8Array { + return Proposal.encode(message).finish(); + }, + toProtoMsg(message: Proposal): ProposalProtoMsg { + return { + typeUrl: '/tendermint.types.Proposal', + value: Proposal.encode(message).finish(), + }; + }, +}; +function createBaseSignedHeader(): SignedHeader { + return { + header: undefined, + commit: undefined, + }; +} +export const SignedHeader = { + typeUrl: '/tendermint.types.SignedHeader', + encode(message: SignedHeader, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.header !== undefined) { + Header.encode(message.header, writer.uint32(10).fork()).ldelim(); + } + if (message.commit !== undefined) { + Commit.encode(message.commit, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SignedHeader { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSignedHeader(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.header = Header.decode(reader, reader.uint32()); + break; + case 2: + message.commit = Commit.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SignedHeader { + const message = createBaseSignedHeader(); + message.header = + object.header !== undefined && object.header !== null ? Header.fromPartial(object.header) : undefined; + message.commit = + object.commit !== undefined && object.commit !== null ? Commit.fromPartial(object.commit) : undefined; + return message; + }, + fromAmino(object: SignedHeaderAmino): SignedHeader { + const message = createBaseSignedHeader(); + if (object.header !== undefined && object.header !== null) { + message.header = Header.fromAmino(object.header); + } + if (object.commit !== undefined && object.commit !== null) { + message.commit = Commit.fromAmino(object.commit); + } + return message; + }, + toAmino(message: SignedHeader): SignedHeaderAmino { + const obj: any = {}; + obj.header = message.header ? Header.toAmino(message.header) : undefined; + obj.commit = message.commit ? Commit.toAmino(message.commit) : undefined; + return obj; + }, + fromAminoMsg(object: SignedHeaderAminoMsg): SignedHeader { + return SignedHeader.fromAmino(object.value); + }, + fromProtoMsg(message: SignedHeaderProtoMsg): SignedHeader { + return SignedHeader.decode(message.value); + }, + toProto(message: SignedHeader): Uint8Array { + return SignedHeader.encode(message).finish(); + }, + toProtoMsg(message: SignedHeader): SignedHeaderProtoMsg { + return { + typeUrl: '/tendermint.types.SignedHeader', + value: SignedHeader.encode(message).finish(), + }; + }, +}; +function createBaseLightBlock(): LightBlock { + return { + signedHeader: undefined, + validatorSet: undefined, + }; +} +export const LightBlock = { + typeUrl: '/tendermint.types.LightBlock', + encode(message: LightBlock, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.signedHeader !== undefined) { + SignedHeader.encode(message.signedHeader, writer.uint32(10).fork()).ldelim(); + } + if (message.validatorSet !== undefined) { + ValidatorSet.encode(message.validatorSet, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): LightBlock { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLightBlock(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.signedHeader = SignedHeader.decode(reader, reader.uint32()); + break; + case 2: + message.validatorSet = ValidatorSet.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): LightBlock { + const message = createBaseLightBlock(); + message.signedHeader = + object.signedHeader !== undefined && object.signedHeader !== null + ? SignedHeader.fromPartial(object.signedHeader) + : undefined; + message.validatorSet = + object.validatorSet !== undefined && object.validatorSet !== null + ? ValidatorSet.fromPartial(object.validatorSet) + : undefined; + return message; + }, + fromAmino(object: LightBlockAmino): LightBlock { + const message = createBaseLightBlock(); + if (object.signed_header !== undefined && object.signed_header !== null) { + message.signedHeader = SignedHeader.fromAmino(object.signed_header); + } + if (object.validator_set !== undefined && object.validator_set !== null) { + message.validatorSet = ValidatorSet.fromAmino(object.validator_set); + } + return message; + }, + toAmino(message: LightBlock): LightBlockAmino { + const obj: any = {}; + obj.signed_header = message.signedHeader ? SignedHeader.toAmino(message.signedHeader) : undefined; + obj.validator_set = message.validatorSet ? ValidatorSet.toAmino(message.validatorSet) : undefined; + return obj; + }, + fromAminoMsg(object: LightBlockAminoMsg): LightBlock { + return LightBlock.fromAmino(object.value); + }, + fromProtoMsg(message: LightBlockProtoMsg): LightBlock { + return LightBlock.decode(message.value); + }, + toProto(message: LightBlock): Uint8Array { + return LightBlock.encode(message).finish(); + }, + toProtoMsg(message: LightBlock): LightBlockProtoMsg { + return { + typeUrl: '/tendermint.types.LightBlock', + value: LightBlock.encode(message).finish(), + }; + }, +}; +function createBaseBlockMeta(): BlockMeta { + return { + blockId: BlockID.fromPartial({}), + blockSize: BigInt(0), + header: Header.fromPartial({}), + numTxs: BigInt(0), + }; +} +export const BlockMeta = { + typeUrl: '/tendermint.types.BlockMeta', + encode(message: BlockMeta, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.blockId !== undefined) { + BlockID.encode(message.blockId, writer.uint32(10).fork()).ldelim(); + } + if (message.blockSize !== BigInt(0)) { + writer.uint32(16).int64(message.blockSize); + } + if (message.header !== undefined) { + Header.encode(message.header, writer.uint32(26).fork()).ldelim(); + } + if (message.numTxs !== BigInt(0)) { + writer.uint32(32).int64(message.numTxs); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): BlockMeta { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBlockMeta(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.blockId = BlockID.decode(reader, reader.uint32()); + break; + case 2: + message.blockSize = reader.int64(); + break; + case 3: + message.header = Header.decode(reader, reader.uint32()); + break; + case 4: + message.numTxs = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): BlockMeta { + const message = createBaseBlockMeta(); + message.blockId = + object.blockId !== undefined && object.blockId !== null ? BlockID.fromPartial(object.blockId) : undefined; + message.blockSize = + object.blockSize !== undefined && object.blockSize !== null ? BigInt(object.blockSize.toString()) : BigInt(0); + message.header = + object.header !== undefined && object.header !== null ? Header.fromPartial(object.header) : undefined; + message.numTxs = + object.numTxs !== undefined && object.numTxs !== null ? BigInt(object.numTxs.toString()) : BigInt(0); + return message; + }, + fromAmino(object: BlockMetaAmino): BlockMeta { + const message = createBaseBlockMeta(); + if (object.block_id !== undefined && object.block_id !== null) { + message.blockId = BlockID.fromAmino(object.block_id); + } + if (object.block_size !== undefined && object.block_size !== null) { + message.blockSize = BigInt(object.block_size); + } + if (object.header !== undefined && object.header !== null) { + message.header = Header.fromAmino(object.header); + } + if (object.num_txs !== undefined && object.num_txs !== null) { + message.numTxs = BigInt(object.num_txs); + } + return message; + }, + toAmino(message: BlockMeta): BlockMetaAmino { + const obj: any = {}; + obj.block_id = message.blockId ? BlockID.toAmino(message.blockId) : undefined; + obj.block_size = message.blockSize !== BigInt(0) ? (message.blockSize?.toString)() : undefined; + obj.header = message.header ? Header.toAmino(message.header) : undefined; + obj.num_txs = message.numTxs !== BigInt(0) ? (message.numTxs?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: BlockMetaAminoMsg): BlockMeta { + return BlockMeta.fromAmino(object.value); + }, + fromProtoMsg(message: BlockMetaProtoMsg): BlockMeta { + return BlockMeta.decode(message.value); + }, + toProto(message: BlockMeta): Uint8Array { + return BlockMeta.encode(message).finish(); + }, + toProtoMsg(message: BlockMeta): BlockMetaProtoMsg { + return { + typeUrl: '/tendermint.types.BlockMeta', + value: BlockMeta.encode(message).finish(), + }; + }, +}; +function createBaseTxProof(): TxProof { + return { + rootHash: new Uint8Array(), + data: new Uint8Array(), + proof: undefined, + }; +} +export const TxProof = { + typeUrl: '/tendermint.types.TxProof', + encode(message: TxProof, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.rootHash.length !== 0) { + writer.uint32(10).bytes(message.rootHash); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + if (message.proof !== undefined) { + Proof.encode(message.proof, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): TxProof { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTxProof(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.rootHash = reader.bytes(); + break; + case 2: + message.data = reader.bytes(); + break; + case 3: + message.proof = Proof.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): TxProof { + const message = createBaseTxProof(); + message.rootHash = object.rootHash ?? new Uint8Array(); + message.data = object.data ?? new Uint8Array(); + message.proof = object.proof !== undefined && object.proof !== null ? Proof.fromPartial(object.proof) : undefined; + return message; + }, + fromAmino(object: TxProofAmino): TxProof { + const message = createBaseTxProof(); + if (object.root_hash !== undefined && object.root_hash !== null) { + message.rootHash = bytesFromBase64(object.root_hash); + } + if (object.data !== undefined && object.data !== null) { + message.data = bytesFromBase64(object.data); + } + if (object.proof !== undefined && object.proof !== null) { + message.proof = Proof.fromAmino(object.proof); + } + return message; + }, + toAmino(message: TxProof): TxProofAmino { + const obj: any = {}; + obj.root_hash = message.rootHash ? base64FromBytes(message.rootHash) : undefined; + obj.data = message.data ? base64FromBytes(message.data) : undefined; + obj.proof = message.proof ? Proof.toAmino(message.proof) : undefined; + return obj; + }, + fromAminoMsg(object: TxProofAminoMsg): TxProof { + return TxProof.fromAmino(object.value); + }, + fromProtoMsg(message: TxProofProtoMsg): TxProof { + return TxProof.decode(message.value); + }, + toProto(message: TxProof): Uint8Array { + return TxProof.encode(message).finish(); + }, + toProtoMsg(message: TxProof): TxProofProtoMsg { + return { + typeUrl: '/tendermint.types.TxProof', + value: TxProof.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/validator.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/validator.ts new file mode 100644 index 00000000..61698a6b --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/types/validator.ts @@ -0,0 +1,402 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../binary'; +import { base64FromBytes, bytesFromBase64 } from '../../../../helpers'; +import { PublicKey, PublicKeyAmino, PublicKeySDKType } from '../crypto/keys'; +/** BlockIdFlag indicates which BlockID the signature is for */ +export enum BlockIDFlag { + /** BLOCK_ID_FLAG_UNKNOWN - indicates an error condition */ + BLOCK_ID_FLAG_UNKNOWN = 0, + /** BLOCK_ID_FLAG_ABSENT - the vote was not received */ + BLOCK_ID_FLAG_ABSENT = 1, + BLOCK_ID_FLAG_COMMIT = 2, + /** BLOCK_ID_FLAG_NIL - voted for nil */ + BLOCK_ID_FLAG_NIL = 3, + UNRECOGNIZED = -1, +} +export const BlockIDFlagSDKType = BlockIDFlag; +export const BlockIDFlagAmino = BlockIDFlag; +export function blockIDFlagFromJSON(object: any): BlockIDFlag { + switch (object) { + case 0: + case 'BLOCK_ID_FLAG_UNKNOWN': + return BlockIDFlag.BLOCK_ID_FLAG_UNKNOWN; + case 1: + case 'BLOCK_ID_FLAG_ABSENT': + return BlockIDFlag.BLOCK_ID_FLAG_ABSENT; + case 2: + case 'BLOCK_ID_FLAG_COMMIT': + return BlockIDFlag.BLOCK_ID_FLAG_COMMIT; + case 3: + case 'BLOCK_ID_FLAG_NIL': + return BlockIDFlag.BLOCK_ID_FLAG_NIL; + case -1: + case 'UNRECOGNIZED': + default: + return BlockIDFlag.UNRECOGNIZED; + } +} +export function blockIDFlagToJSON(object: BlockIDFlag): string { + switch (object) { + case BlockIDFlag.BLOCK_ID_FLAG_UNKNOWN: + return 'BLOCK_ID_FLAG_UNKNOWN'; + case BlockIDFlag.BLOCK_ID_FLAG_ABSENT: + return 'BLOCK_ID_FLAG_ABSENT'; + case BlockIDFlag.BLOCK_ID_FLAG_COMMIT: + return 'BLOCK_ID_FLAG_COMMIT'; + case BlockIDFlag.BLOCK_ID_FLAG_NIL: + return 'BLOCK_ID_FLAG_NIL'; + case BlockIDFlag.UNRECOGNIZED: + default: + return 'UNRECOGNIZED'; + } +} +export interface ValidatorSet { + validators: Validator[]; + proposer?: Validator; + totalVotingPower: bigint; +} +export interface ValidatorSetProtoMsg { + typeUrl: '/tendermint.types.ValidatorSet'; + value: Uint8Array; +} +export interface ValidatorSetAmino { + validators?: ValidatorAmino[]; + proposer?: ValidatorAmino; + total_voting_power?: string; +} +export interface ValidatorSetAminoMsg { + type: '/tendermint.types.ValidatorSet'; + value: ValidatorSetAmino; +} +export interface ValidatorSetSDKType { + validators: ValidatorSDKType[]; + proposer?: ValidatorSDKType; + total_voting_power: bigint; +} +export interface Validator { + address: Uint8Array; + pubKey: PublicKey; + votingPower: bigint; + proposerPriority: bigint; +} +export interface ValidatorProtoMsg { + typeUrl: '/tendermint.types.Validator'; + value: Uint8Array; +} +export interface ValidatorAmino { + address?: string; + pub_key?: PublicKeyAmino; + voting_power?: string; + proposer_priority?: string; +} +export interface ValidatorAminoMsg { + type: '/tendermint.types.Validator'; + value: ValidatorAmino; +} +export interface ValidatorSDKType { + address: Uint8Array; + pub_key: PublicKeySDKType; + voting_power: bigint; + proposer_priority: bigint; +} +export interface SimpleValidator { + pubKey?: PublicKey; + votingPower: bigint; +} +export interface SimpleValidatorProtoMsg { + typeUrl: '/tendermint.types.SimpleValidator'; + value: Uint8Array; +} +export interface SimpleValidatorAmino { + pub_key?: PublicKeyAmino; + voting_power?: string; +} +export interface SimpleValidatorAminoMsg { + type: '/tendermint.types.SimpleValidator'; + value: SimpleValidatorAmino; +} +export interface SimpleValidatorSDKType { + pub_key?: PublicKeySDKType; + voting_power: bigint; +} +function createBaseValidatorSet(): ValidatorSet { + return { + validators: [], + proposer: undefined, + totalVotingPower: BigInt(0), + }; +} +export const ValidatorSet = { + typeUrl: '/tendermint.types.ValidatorSet', + encode(message: ValidatorSet, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + for (const v of message.validators) { + Validator.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.proposer !== undefined) { + Validator.encode(message.proposer, writer.uint32(18).fork()).ldelim(); + } + if (message.totalVotingPower !== BigInt(0)) { + writer.uint32(24).int64(message.totalVotingPower); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): ValidatorSet { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidatorSet(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.validators.push(Validator.decode(reader, reader.uint32())); + break; + case 2: + message.proposer = Validator.decode(reader, reader.uint32()); + break; + case 3: + message.totalVotingPower = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): ValidatorSet { + const message = createBaseValidatorSet(); + message.validators = object.validators?.map((e) => Validator.fromPartial(e)) || []; + message.proposer = + object.proposer !== undefined && object.proposer !== null ? Validator.fromPartial(object.proposer) : undefined; + message.totalVotingPower = + object.totalVotingPower !== undefined && object.totalVotingPower !== null + ? BigInt(object.totalVotingPower.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: ValidatorSetAmino): ValidatorSet { + const message = createBaseValidatorSet(); + message.validators = object.validators?.map((e) => Validator.fromAmino(e)) || []; + if (object.proposer !== undefined && object.proposer !== null) { + message.proposer = Validator.fromAmino(object.proposer); + } + if (object.total_voting_power !== undefined && object.total_voting_power !== null) { + message.totalVotingPower = BigInt(object.total_voting_power); + } + return message; + }, + toAmino(message: ValidatorSet): ValidatorSetAmino { + const obj: any = {}; + if (message.validators) { + obj.validators = message.validators.map((e) => (e ? Validator.toAmino(e) : undefined)); + } else { + obj.validators = message.validators; + } + obj.proposer = message.proposer ? Validator.toAmino(message.proposer) : undefined; + obj.total_voting_power = + message.totalVotingPower !== BigInt(0) ? (message.totalVotingPower?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: ValidatorSetAminoMsg): ValidatorSet { + return ValidatorSet.fromAmino(object.value); + }, + fromProtoMsg(message: ValidatorSetProtoMsg): ValidatorSet { + return ValidatorSet.decode(message.value); + }, + toProto(message: ValidatorSet): Uint8Array { + return ValidatorSet.encode(message).finish(); + }, + toProtoMsg(message: ValidatorSet): ValidatorSetProtoMsg { + return { + typeUrl: '/tendermint.types.ValidatorSet', + value: ValidatorSet.encode(message).finish(), + }; + }, +}; +function createBaseValidator(): Validator { + return { + address: new Uint8Array(), + pubKey: PublicKey.fromPartial({}), + votingPower: BigInt(0), + proposerPriority: BigInt(0), + }; +} +export const Validator = { + typeUrl: '/tendermint.types.Validator', + encode(message: Validator, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.address.length !== 0) { + writer.uint32(10).bytes(message.address); + } + if (message.pubKey !== undefined) { + PublicKey.encode(message.pubKey, writer.uint32(18).fork()).ldelim(); + } + if (message.votingPower !== BigInt(0)) { + writer.uint32(24).int64(message.votingPower); + } + if (message.proposerPriority !== BigInt(0)) { + writer.uint32(32).int64(message.proposerPriority); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Validator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseValidator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.address = reader.bytes(); + break; + case 2: + message.pubKey = 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; + }, + fromPartial(object: Partial): Validator { + const message = createBaseValidator(); + message.address = object.address ?? new Uint8Array(); + message.pubKey = + object.pubKey !== undefined && object.pubKey !== null ? PublicKey.fromPartial(object.pubKey) : undefined; + message.votingPower = + object.votingPower !== undefined && object.votingPower !== null + ? BigInt(object.votingPower.toString()) + : BigInt(0); + message.proposerPriority = + object.proposerPriority !== undefined && object.proposerPriority !== null + ? BigInt(object.proposerPriority.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: ValidatorAmino): Validator { + const message = createBaseValidator(); + if (object.address !== undefined && object.address !== null) { + message.address = bytesFromBase64(object.address); + } + if (object.pub_key !== undefined && object.pub_key !== null) { + message.pubKey = PublicKey.fromAmino(object.pub_key); + } + if (object.voting_power !== undefined && object.voting_power !== null) { + message.votingPower = BigInt(object.voting_power); + } + if (object.proposer_priority !== undefined && object.proposer_priority !== null) { + message.proposerPriority = BigInt(object.proposer_priority); + } + return message; + }, + toAmino(message: Validator): ValidatorAmino { + const obj: any = {}; + obj.address = message.address ? base64FromBytes(message.address) : undefined; + obj.pub_key = message.pubKey ? PublicKey.toAmino(message.pubKey) : undefined; + obj.voting_power = message.votingPower !== BigInt(0) ? (message.votingPower?.toString)() : undefined; + obj.proposer_priority = message.proposerPriority !== BigInt(0) ? (message.proposerPriority?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: ValidatorAminoMsg): Validator { + return Validator.fromAmino(object.value); + }, + fromProtoMsg(message: ValidatorProtoMsg): Validator { + return Validator.decode(message.value); + }, + toProto(message: Validator): Uint8Array { + return Validator.encode(message).finish(); + }, + toProtoMsg(message: Validator): ValidatorProtoMsg { + return { + typeUrl: '/tendermint.types.Validator', + value: Validator.encode(message).finish(), + }; + }, +}; +function createBaseSimpleValidator(): SimpleValidator { + return { + pubKey: undefined, + votingPower: BigInt(0), + }; +} +export const SimpleValidator = { + typeUrl: '/tendermint.types.SimpleValidator', + encode(message: SimpleValidator, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.pubKey !== undefined) { + PublicKey.encode(message.pubKey, writer.uint32(10).fork()).ldelim(); + } + if (message.votingPower !== BigInt(0)) { + writer.uint32(16).int64(message.votingPower); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): SimpleValidator { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSimpleValidator(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.pubKey = PublicKey.decode(reader, reader.uint32()); + break; + case 2: + message.votingPower = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }, + fromPartial(object: Partial): SimpleValidator { + const message = createBaseSimpleValidator(); + message.pubKey = + object.pubKey !== undefined && object.pubKey !== null ? PublicKey.fromPartial(object.pubKey) : undefined; + message.votingPower = + object.votingPower !== undefined && object.votingPower !== null + ? BigInt(object.votingPower.toString()) + : BigInt(0); + return message; + }, + fromAmino(object: SimpleValidatorAmino): SimpleValidator { + const message = createBaseSimpleValidator(); + if (object.pub_key !== undefined && object.pub_key !== null) { + message.pubKey = PublicKey.fromAmino(object.pub_key); + } + if (object.voting_power !== undefined && object.voting_power !== null) { + message.votingPower = BigInt(object.voting_power); + } + return message; + }, + toAmino(message: SimpleValidator): SimpleValidatorAmino { + const obj: any = {}; + obj.pub_key = message.pubKey ? PublicKey.toAmino(message.pubKey) : undefined; + obj.voting_power = message.votingPower !== BigInt(0) ? (message.votingPower?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: SimpleValidatorAminoMsg): SimpleValidator { + return SimpleValidator.fromAmino(object.value); + }, + fromProtoMsg(message: SimpleValidatorProtoMsg): SimpleValidator { + return SimpleValidator.decode(message.value); + }, + toProto(message: SimpleValidator): Uint8Array { + return SimpleValidator.encode(message).finish(); + }, + toProtoMsg(message: SimpleValidator): SimpleValidatorProtoMsg { + return { + typeUrl: '/tendermint.types.SimpleValidator', + value: SimpleValidator.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/version/types.ts b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/version/types.ts new file mode 100644 index 00000000..8aa2a7a2 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core-proto-ts/tendermint/version/types.ts @@ -0,0 +1,225 @@ +/* eslint-disable no-unsafe-optional-chaining */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +//@ts-nocheck +import { BinaryReader, BinaryWriter } from '../../../../binary'; +/** + * App includes the protocol and software version for the application. + * This information is included in ResponseInfo. The App.Protocol can be + * updated in ResponseEndBlock. + */ +export interface App { + protocol: bigint; + software: string; +} +export interface AppProtoMsg { + typeUrl: '/tendermint.version.App'; + value: Uint8Array; +} +/** + * App includes the protocol and software version for the application. + * This information is included in ResponseInfo. The App.Protocol can be + * updated in ResponseEndBlock. + */ +export interface AppAmino { + protocol?: string; + software?: string; +} +export interface AppAminoMsg { + type: '/tendermint.version.App'; + value: AppAmino; +} +/** + * App includes the protocol and software version for the application. + * This information is included in ResponseInfo. The App.Protocol can be + * updated in ResponseEndBlock. + */ +export interface AppSDKType { + protocol: bigint; + software: string; +} +/** + * Consensus captures the consensus rules for processing a block in the blockchain, + * including all blockchain data structures and the rules of the application's + * state transition machine. + */ +export interface Consensus { + block: bigint; + app: bigint; +} +export interface ConsensusProtoMsg { + typeUrl: '/tendermint.version.Consensus'; + value: Uint8Array; +} +/** + * Consensus captures the consensus rules for processing a block in the blockchain, + * including all blockchain data structures and the rules of the application's + * state transition machine. + */ +export interface ConsensusAmino { + block?: string; + app?: string; +} +export interface ConsensusAminoMsg { + type: '/tendermint.version.Consensus'; + value: ConsensusAmino; +} +/** + * Consensus captures the consensus rules for processing a block in the blockchain, + * including all blockchain data structures and the rules of the application's + * state transition machine. + */ +export interface ConsensusSDKType { + block: bigint; + app: bigint; +} +function createBaseApp(): App { + return { + protocol: BigInt(0), + software: '', + }; +} +export const App = { + typeUrl: '/tendermint.version.App', + encode(message: App, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.protocol !== BigInt(0)) { + writer.uint32(8).uint64(message.protocol); + } + if (message.software !== '') { + writer.uint32(18).string(message.software); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): App { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseApp(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): App { + const message = createBaseApp(); + message.protocol = + object.protocol !== undefined && object.protocol !== null ? BigInt(object.protocol.toString()) : BigInt(0); + message.software = object.software ?? ''; + return message; + }, + fromAmino(object: AppAmino): App { + const message = createBaseApp(); + if (object.protocol !== undefined && object.protocol !== null) { + message.protocol = BigInt(object.protocol); + } + if (object.software !== undefined && object.software !== null) { + message.software = object.software; + } + return message; + }, + toAmino(message: App): AppAmino { + const obj: any = {}; + obj.protocol = message.protocol !== BigInt(0) ? (message.protocol?.toString)() : undefined; + obj.software = message.software === '' ? undefined : message.software; + return obj; + }, + fromAminoMsg(object: AppAminoMsg): App { + return App.fromAmino(object.value); + }, + fromProtoMsg(message: AppProtoMsg): App { + return App.decode(message.value); + }, + toProto(message: App): Uint8Array { + return App.encode(message).finish(); + }, + toProtoMsg(message: App): AppProtoMsg { + return { + typeUrl: '/tendermint.version.App', + value: App.encode(message).finish(), + }; + }, +}; +function createBaseConsensus(): Consensus { + return { + block: BigInt(0), + app: BigInt(0), + }; +} +export const Consensus = { + typeUrl: '/tendermint.version.Consensus', + encode(message: Consensus, writer: BinaryWriter = BinaryWriter.create()): BinaryWriter { + if (message.block !== BigInt(0)) { + writer.uint32(8).uint64(message.block); + } + if (message.app !== BigInt(0)) { + writer.uint32(16).uint64(message.app); + } + return writer; + }, + decode(input: BinaryReader | Uint8Array, length?: number): Consensus { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseConsensus(); + while (reader.pos < end) { + const 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; + }, + fromPartial(object: Partial): Consensus { + const message = createBaseConsensus(); + message.block = object.block !== undefined && object.block !== null ? BigInt(object.block.toString()) : BigInt(0); + message.app = object.app !== undefined && object.app !== null ? BigInt(object.app.toString()) : BigInt(0); + return message; + }, + fromAmino(object: ConsensusAmino): Consensus { + const message = createBaseConsensus(); + if (object.block !== undefined && object.block !== null) { + message.block = BigInt(object.block); + } + if (object.app !== undefined && object.app !== null) { + message.app = BigInt(object.app); + } + return message; + }, + toAmino(message: Consensus): ConsensusAmino { + const obj: any = {}; + obj.block = message.block !== BigInt(0) ? (message.block?.toString)() : undefined; + obj.app = message.app !== BigInt(0) ? (message.app?.toString)() : undefined; + return obj; + }, + fromAminoMsg(object: ConsensusAminoMsg): Consensus { + return Consensus.fromAmino(object.value); + }, + fromProtoMsg(message: ConsensusProtoMsg): Consensus { + return Consensus.decode(message.value); + }, + toProto(message: Consensus): Uint8Array { + return Consensus.encode(message).finish(); + }, + toProtoMsg(message: Consensus): ConsensusProtoMsg { + return { + typeUrl: '/tendermint.version.Consensus', + value: Consensus.encode(message).finish(), + }; + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/core/accounts/Address.ts b/packages/wallet-sdk/src/proto/injective/core/accounts/Address.ts new file mode 100644 index 00000000..c3380e8c --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/accounts/Address.ts @@ -0,0 +1,134 @@ +import { bech32 } from 'bech32'; +import { Address as EthereumUtilsAddress } from 'ethereumjs-util'; + +import { ErrorType, GeneralException } from '../../exceptions/src'; +import { BECH32_ADDR_ACC_PREFIX, BECH32_ADDR_CONS_PREFIX, BECH32_ADDR_VAL_PREFIX } from '../../utils/constants'; + +/** + * @category Utility Classes + */ +export class Address { + public bech32Address: string; + + constructor(bech32Address: string) { + this.bech32Address = bech32Address; + } + + compare(address: Address): boolean { + return this.bech32Address === address.bech32Address; + } + + get address(): string { + return this.bech32Address; + } + + /** + * Create an address instance from a bech32-encoded address and a prefix + * @param {string} bech32 bech32-encoded address + * @param {string} prefix + * @return {Address} + * @throws {Error} if bech is not a valid bech32-encoded address + */ + static fromBech32(bech: string, prefix: string = BECH32_ADDR_ACC_PREFIX): Address { + try { + const address = Buffer.from(bech32.fromWords(bech32.decode(bech).words)).toString('hex'); + const addressInHex = address.startsWith('0x') ? address : `0x${address}`; + const addressBuffer = EthereumUtilsAddress.fromString(addressInHex.toString()).toBuffer(); + const bech32Address = bech32.encode(prefix, bech32.toWords(addressBuffer)); + + return new Address(bech32Address); + } catch (e) { + throw new GeneralException(new Error((e as any).message), { + type: ErrorType.ValidationError, + }); + } + } + + /** + * Create an address instance from an ethereum address + * @param {string} hex Ethereum address + * @param {string} prefix + * @return {Address} + * @throws {Error} if bech is not a valid bech32-encoded address + */ + static fromHex(hex: string, prefix: string = BECH32_ADDR_ACC_PREFIX): Address { + const addressHex = hex.startsWith('0x') ? hex : `0x${hex}`; + const addressBuffer = EthereumUtilsAddress.fromString(addressHex.toString()).toBuffer(); + const bech32Address = bech32.encode(prefix, bech32.toWords(addressBuffer)); + + return new Address(bech32Address); + } + + /** + * Convert an address instance to a bech32-encoded account address + * @param {string} prefix + * @returns {string} + */ + toBech32(prefix: string = BECH32_ADDR_ACC_PREFIX): string { + const address = this.toHex(); + const addressHex = address.startsWith('0x') ? address : `0x${address}`; + const addressBuffer = EthereumUtilsAddress.fromString(addressHex).toBuffer(); + + return bech32.encode(prefix, bech32.toWords(addressBuffer)); + } + + /** + * Return a bech32-encoded account address + * @return {string} + * @throws {Error} if this address is not a valid account address + * */ + toAccountAddress(): string { + return this.toBech32(BECH32_ADDR_ACC_PREFIX); + } + + /** + * Return a bech32-encoded validator address + * @return {string} + * @throws {Error} if this address is not a valid validator address + * */ + toValidatorAddress(): string { + return this.toBech32(BECH32_ADDR_VAL_PREFIX); + } + + /** + * Return a bech32-encoded consensus address + * @return {string} + * @throws {Error} if this address is not a valid consensus address + * */ + toConsensusAddress(): string { + return this.toBech32(BECH32_ADDR_CONS_PREFIX); + } + + /** + * Return a hex representation of address + * @return {string} + * @throws {Error} if this address is not a valid account address + * */ + toHex(): string { + const { bech32Address } = this; + const address = Buffer.from(bech32.fromWords(bech32.decode(bech32Address).words)).toString('hex'); + + return address.startsWith('0x') ? address : `0x${address}`; + } + + /** + * Return a subaccount address from the given bech32 encoded address + * @param {number} index the subaccount index + * @return {string} + * @throws {Error} if this address is not a valid account address + * */ + getSubaccountId(index: number = 0): string { + const suffix = '0'.repeat(23) + index; /* TODO for double digit numbers */ + + return `${this.toHex()}${suffix}`; + } + + /** + * Return a ethereum address from the given bech32 encoded address + * @return {string} + * @throws {Error} if this address is not a valid account address + * */ + getEthereumAddress(): string { + return this.toHex(); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/accounts/BaseAccount.ts b/packages/wallet-sdk/src/proto/injective/core/accounts/BaseAccount.ts new file mode 100644 index 00000000..d80cff0e --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/accounts/BaseAccount.ts @@ -0,0 +1,88 @@ +import { AccountResponse, BaseAccountRestResponse } from '../../client/chain/types/auth-rest'; +import { AccountDetails } from '../../types/auth'; +import { Address } from './Address'; + +/** + * @category Utility Classes + */ +export class BaseAccount extends Address { + public accountNumber: number; + + public sequence: number; + + public pubKey: { + type: string; + key: string; + }; + + constructor({ + address, + accountNumber, + sequence, + pubKey, + }: { + address: string; + accountNumber: number; + sequence: number; + pubKey: { + type: string; + key: string; + }; + }) { + super(address); + this.accountNumber = accountNumber; + this.sequence = sequence; + this.pubKey = pubKey; + } + + static fromRestApi(accountResponse: AccountResponse) { + const { base_account: baseAccount } = accountResponse.account; + + return new BaseAccount({ + address: baseAccount.address, + accountNumber: baseAccount.account_number ? parseInt(baseAccount.account_number, 10) : 0, + sequence: baseAccount.sequence ? parseInt(baseAccount.sequence, 10) : 0, + pubKey: baseAccount.pub_key + ? { + type: baseAccount.pub_key['@type'], + key: baseAccount.pub_key.key, + } + : { + type: '', + key: '', + }, + }); + } + + static fromRestCosmosApi(accountResponse: BaseAccountRestResponse) { + return new BaseAccount({ + address: accountResponse.address, + accountNumber: accountResponse.account_number ? parseInt(accountResponse.account_number, 10) : 0, + sequence: accountResponse.sequence ? parseInt(accountResponse.sequence, 10) : 0, + pubKey: accountResponse.pub_key + ? { + type: accountResponse.pub_key['@type'], + key: accountResponse.pub_key.key, + } + : { + type: '', + key: '', + }, + }); + } + + public incrementSequence() { + this.sequence += 1; + + return this; + } + + public toAccountDetails(): AccountDetails { + return { + pubKey: this.pubKey, + sequence: this.sequence, + address: this.bech32Address, + accountNumber: this.accountNumber, + }; + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/accounts/index.ts b/packages/wallet-sdk/src/proto/injective/core/accounts/index.ts new file mode 100644 index 00000000..4fbeb0f5 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/accounts/index.ts @@ -0,0 +1,2 @@ +export * from './Address'; +export * from './BaseAccount'; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/MsgBase.ts b/packages/wallet-sdk/src/proto/injective/core/modules/MsgBase.ts new file mode 100644 index 00000000..d816738e --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/MsgBase.ts @@ -0,0 +1,80 @@ +/* eslint-disable @typescript-eslint/ban-types */ + +import { mapValuesToProperValueType, objectKeysToEip712Types } from './tx/eip712/maps'; +import { TypedDataField } from './tx/eip712/types'; +import { prepareSignBytes } from './utils'; + +/** + * @category Messages + */ +export abstract class MsgBase< + Params, + ProtoRepresentation extends Object, + ObjectRepresentation extends Record = {}, +> { + params: Params; + + constructor(params: Params) { + this.params = params; + } + + public abstract toProto(): ProtoRepresentation; + + public abstract toData(): ProtoRepresentation & { + '@type': string; + }; + + public abstract toDirectSign(): { + type: string; + message: ProtoRepresentation; + }; + + public abstract toAmino(): { + type: string; + value: ObjectRepresentation | any; + }; + + public abstract toBinary(): Uint8Array; + + public abstract toWeb3(): + | ObjectRepresentation + | (ProtoRepresentation & { + '@type': string; + }); + + public toJSON(): string { + return JSON.stringify(prepareSignBytes(this.toData())); + } + + /** + * Returns the types of the message for EIP712 + */ + public toEip712Types(): Map { + const amino = this.toAmino(); + + return objectKeysToEip712Types({ + object: amino.value as Record, + messageType: amino.type, + }); + } + + /** + * Returns the values of the message for EIP712 + */ + public toEip712(): { + type: string; + value: Record; + } { + const amino = this.toAmino(); + const { type, value } = amino; + + return { + type, + value: mapValuesToProperValueType(value, type), + }; + } + + public toDirectSignJSON(): string { + return JSON.stringify(prepareSignBytes(this.toDirectSign())); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/authz/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/authz/index.ts new file mode 100644 index 00000000..397c8272 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/authz/index.ts @@ -0,0 +1,3 @@ +import MsgGrant from './msgs/MsgGrant'; +import MsgRevoke from './msgs/MsgRevoke'; +export { MsgGrant, MsgRevoke }; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/authz/msgs/MsgGrant.ts b/packages/wallet-sdk/src/proto/injective/core/modules/authz/msgs/MsgGrant.ts new file mode 100644 index 00000000..b40237af --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/authz/msgs/MsgGrant.ts @@ -0,0 +1,161 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +import Long from 'long'; + +import { + CosmosAuthzV1Beta1Authz, + CosmosAuthzV1Beta1Tx, + GoogleProtobufAny, + GoogleProtobufTimestamp, +} from '../../../../core-proto-ts'; +import { convertToSnakeCase } from '../../../../utils'; +import { MsgBase } from '../../MsgBase'; + +const genericAuthorizationType = '/cosmos.authz.v1beta1.GenericAuthorization'; + +export declare namespace MsgGrant { + export interface Params { + messageType: string; + grantee: string; + granter: string; + expiration?: number; + expiryInYears?: number; + expiryInSeconds?: number; + } + + export type Proto = CosmosAuthzV1Beta1Tx.MsgGrant; + + export type Object = Omit & { + msgs: any; + }; +} + +/** + * @category Messages + */ +export default class MsgGrant extends MsgBase { + static fromJSON(params: MsgGrant.Params): MsgGrant { + return new MsgGrant(params); + } + + public toProto() { + const { params } = this; + + const timestamp = this.getTimestamp(); + const genericAuthorization = CosmosAuthzV1Beta1Authz.GenericAuthorization.fromPartial({}); + genericAuthorization.msg = params.messageType; + + const authorization = GoogleProtobufAny.Any.fromPartial({}); + authorization.typeUrl = genericAuthorizationType; + authorization.value = Buffer.from( + CosmosAuthzV1Beta1Authz.GenericAuthorization.encode(genericAuthorization).finish(), + ); + + const grant = CosmosAuthzV1Beta1Authz.Grant.fromPartial({}); + grant.expiration = new Date(Number(timestamp.seconds) * 1000); + grant.authorization = authorization; + + const message = CosmosAuthzV1Beta1Tx.MsgGrant.fromPartial({}); + message.grantee = params.grantee; + message.granter = params.granter; + message.grant = grant; + + return message; + } + + public toData() { + const proto = this.toProto(); + + return { + '@type': '/cosmos.authz.v1beta1.MsgGrant', + ...proto, + }; + } + + public toAmino() { + const { params } = this; + + const proto = this.toProto(); + const timestamp = this.getTimestamp(); + const message = proto; + + const messageWithAuthorizationType = convertToSnakeCase({ + ...message, + grant: { + ...message.grant, + authorization: { + type: 'cosmos-sdk/GenericAuthorization', + value: { msg: params.messageType }, + }, + expiration: new Date(Number(timestamp.seconds) * 1000), + }, + }); + + return { + type: 'cosmos-sdk/MsgGrant', + value: messageWithAuthorizationType as unknown as MsgGrant.Object, + }; + } + + public toDirectSign() { + const proto = this.toProto(); + + return { + type: '/cosmos.authz.v1beta1.MsgGrant', + message: proto, + }; + } + + public toWeb3() { + const { params } = this; + const amino = this.toAmino(); + const timestamp = this.getTimestamp(); + + const messageWithAuthorizationType = { + granter: amino.value.granter, + grantee: amino.value.grantee, + grant: { + authorization: { + '@type': '/cosmos.authz.v1beta1.GenericAuthorization', + msg: params.messageType, + }, + expiration: new Date(Number(timestamp.seconds) * 1000), + }, + }; + + return { + '@type': '/cosmos.authz.v1beta1.MsgGrant', + ...messageWithAuthorizationType, + }; + } + + private getTimestamp() { + const { params } = this; + + if (params.expiration) { + const timestamp = GoogleProtobufTimestamp.Timestamp.fromPartial({}); + + timestamp.seconds = Long.fromString(params.expiration.toString()); + + return timestamp; + } + + const defaultExpiryYears = params.expiryInSeconds ? 0 : 5; + const dateNow = new Date(); + const expiration = new Date( + dateNow.getFullYear() + (params.expiryInYears || defaultExpiryYears), + dateNow.getMonth(), + dateNow.getDate(), + ); + + const timestamp = GoogleProtobufTimestamp.Timestamp.fromPartial({}); + const timestampInSeconds = (expiration.getTime() / 1000 + (params.expiryInSeconds || 0)).toString(); + + timestamp.seconds = Long.fromString(timestampInSeconds); + + return timestamp; + } + + public toBinary(): Uint8Array { + return CosmosAuthzV1Beta1Tx.MsgGrant.encode(this.toProto()).finish(); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/authz/msgs/MsgRevoke.ts b/packages/wallet-sdk/src/proto/injective/core/modules/authz/msgs/MsgRevoke.ts new file mode 100644 index 00000000..3c11203c --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/authz/msgs/MsgRevoke.ts @@ -0,0 +1,78 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +import { CosmosAuthzV1Beta1Tx } from '../../../../core-proto-ts'; +import { convertToSnakeCase } from '../../../../utils'; +import { MsgBase } from '../../MsgBase'; + +export declare namespace MsgRevoke { + export interface Params { + messageType: string; + grantee: string; + granter: string; + } + + export type Proto = CosmosAuthzV1Beta1Tx.MsgRevoke; +} + +/** + * @category Messages + */ +export default class MsgRevoke extends MsgBase { + static fromJSON(params: MsgRevoke.Params): MsgRevoke { + return new MsgRevoke(params); + } + + public toProto() { + const { params } = this; + + const message = CosmosAuthzV1Beta1Tx.MsgRevoke.fromPartial({}); + message.grantee = params.grantee; + message.granter = params.granter; + message.msgTypeUrl = params.messageType; + + return CosmosAuthzV1Beta1Tx.MsgRevoke.fromPartial(message); + } + + public toData() { + const proto = this.toProto(); + + return { + '@type': '/cosmos.authz.v1beta1.MsgRevoke', + ...proto, + }; + } + + public toAmino() { + const proto = this.toProto(); + const message = { + ...convertToSnakeCase(proto), + }; + + return { + type: 'cosmos-sdk/MsgRevoke', + value: message as unknown as CosmosAuthzV1Beta1Tx.MsgRevoke, + }; + } + + public toWeb3() { + const amino = this.toAmino(); + const { value } = amino; + + return { + '@type': '/cosmos.authz.v1beta1.MsgRevoke', + ...value, + }; + } + + public toDirectSign() { + const proto = this.toProto(); + + return { + type: '/cosmos.authz.v1beta1.MsgRevoke', + message: proto, + }; + } + + public toBinary(): Uint8Array { + return CosmosAuthzV1Beta1Tx.MsgRevoke.encode(this.toProto()).finish(); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/bank/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/bank/index.ts new file mode 100644 index 00000000..5406c659 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/bank/index.ts @@ -0,0 +1,2 @@ +import MsgSend from './msgs/MsgSend'; +export { MsgSend }; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/bank/msgs/MsgSend.ts b/packages/wallet-sdk/src/proto/injective/core/modules/bank/msgs/MsgSend.ts new file mode 100644 index 00000000..868e57bd --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/bank/msgs/MsgSend.ts @@ -0,0 +1,95 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +import { CosmosBankV1Beta1Tx, CosmosBaseV1Beta1Coin } from '../../../../core-proto-ts'; +import { convertToSnakeCase } from '../../../../utils'; +import { MsgBase } from '../../MsgBase'; + +export declare namespace MsgSend { + export interface Params { + amount: + | { + denom: string; + amount: string; + } + | { + denom: string; + amount: string; + }[]; + srcInjectiveAddress: string; + dstInjectiveAddress: string; + } + + export type Proto = CosmosBankV1Beta1Tx.MsgSend; +} + +/** + * @category Messages + */ +export default class MsgSend extends MsgBase { + static fromJSON(params: MsgSend.Params): MsgSend { + return new MsgSend(params); + } + + public toProto() { + const { params } = this; + + const amounts = Array.isArray(params.amount) ? params.amount : [params.amount]; + const amountsToSend = amounts.map((amount) => { + const amountToSend = CosmosBaseV1Beta1Coin.Coin.fromPartial({}); + amountToSend.amount = amount.amount; + amountToSend.denom = amount.denom; + + return amountToSend; + }); + + const message = CosmosBankV1Beta1Tx.MsgSend.fromPartial({}); + message.fromAddress = params.srcInjectiveAddress; + message.toAddress = params.dstInjectiveAddress; + message.amount = amountsToSend; + + return CosmosBankV1Beta1Tx.MsgSend.fromPartial(message); + } + + public toData() { + const proto = this.toProto(); + + return { + '@type': '/cosmos.bank.v1beta1.MsgSend', + ...proto, + }; + } + + public toAmino() { + const proto = this.toProto(); + const message = { + ...convertToSnakeCase(proto), + }; + + return { + type: 'cosmos-sdk/MsgSend', + value: message, + }; + } + + public toWeb3() { + const amino = this.toAmino(); + const { value } = amino; + + return { + '@type': '/cosmos.bank.v1beta1.MsgSend', + ...value, + }; + } + + public toDirectSign() { + const proto = this.toProto(); + + return { + type: '/cosmos.bank.v1beta1.MsgSend', + message: proto, + }; + } + + public toBinary(): Uint8Array { + return CosmosBankV1Beta1Tx.MsgSend.encode(this.toProto()).finish(); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/distribution/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/distribution/index.ts new file mode 100644 index 00000000..ef0acec1 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/distribution/index.ts @@ -0,0 +1,3 @@ +import MsgWithdrawDelegatorReward from './msgs/MsgWithdrawDelegatorReward'; + +export { MsgWithdrawDelegatorReward }; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/distribution/msgs/MsgWithdrawDelegatorReward.ts b/packages/wallet-sdk/src/proto/injective/core/modules/distribution/msgs/MsgWithdrawDelegatorReward.ts new file mode 100644 index 00000000..554d816c --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/distribution/msgs/MsgWithdrawDelegatorReward.ts @@ -0,0 +1,79 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +import { CosmosDistributionV1Beta1Tx } from '../../../../core-proto-ts'; +import { convertToSnakeCase } from '../../../../utils'; +import { MsgBase } from '../../MsgBase'; + +export declare namespace MsgWithdrawDelegatorReward { + export interface Params { + delegatorAddress: string; + validatorAddress: string; + } + + export type Proto = CosmosDistributionV1Beta1Tx.MsgWithdrawDelegatorReward; +} + +/** + * @category Messages + */ +export default class MsgWithdrawDelegatorReward extends MsgBase< + MsgWithdrawDelegatorReward.Params, + MsgWithdrawDelegatorReward.Proto +> { + static fromJSON(params: MsgWithdrawDelegatorReward.Params): MsgWithdrawDelegatorReward { + return new MsgWithdrawDelegatorReward(params); + } + + public toProto() { + const { params } = this; + + const message = CosmosDistributionV1Beta1Tx.MsgWithdrawDelegatorReward.fromPartial({}); + message.delegatorAddress = params.delegatorAddress; + message.validatorAddress = params.validatorAddress; + + return CosmosDistributionV1Beta1Tx.MsgWithdrawDelegatorReward.fromPartial(message); + } + + public toData() { + const proto = this.toProto(); + + return { + '@type': '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward', + ...proto, + }; + } + + public toAmino() { + const proto = this.toProto(); + const message = { + ...convertToSnakeCase(proto), + }; + + return { + type: 'cosmos-sdk/MsgWithdrawDelegationReward', + value: message, + }; + } + + public toWeb3() { + const amino = this.toAmino(); + const { value } = amino; + + return { + '@type': '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward', + ...value, + }; + } + + public toDirectSign() { + const proto = this.toProto(); + + return { + type: '/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward', + message: proto, + }; + } + + public toBinary(): Uint8Array { + return CosmosDistributionV1Beta1Tx.MsgWithdrawDelegatorReward.encode(this.toProto()).finish(); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/gov/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/gov/index.ts new file mode 100644 index 00000000..3882d355 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/gov/index.ts @@ -0,0 +1,2 @@ +import MsgVote from './msgs/MsgVote'; +export { MsgVote }; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/gov/msgs/MsgVote.ts b/packages/wallet-sdk/src/proto/injective/core/modules/gov/msgs/MsgVote.ts new file mode 100644 index 00000000..a261d1cd --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/gov/msgs/MsgVote.ts @@ -0,0 +1,81 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +import { CosmosGovV1Gov, CosmosGovV1Tx } from '../../../../core-proto-ts'; +import { convertToSnakeCase } from '../../../../utils'; +import { MsgBase } from '../../MsgBase'; + +export declare namespace MsgVote { + export interface Params { + proposalId: number; + metadata: string; + vote: CosmosGovV1Gov.VoteOption; + voter: string; + } + + export type Proto = CosmosGovV1Tx.MsgVote; +} + +/** + * @category Messages + */ +export default class MsgVote extends MsgBase { + static fromJSON(params: MsgVote.Params): MsgVote { + return new MsgVote(params); + } + + public toProto() { + const { params } = this; + + const message = CosmosGovV1Tx.MsgVote.fromPartial({}); + message.option = params.vote; + message.proposalId = BigInt(params.proposalId.toString()); + message.metadata = params.metadata; + message.voter = params.voter; + message.metadata = params.proposalId.toString(); + + return message; + } + + public toData() { + const proto = this.toProto(); + + return { + '@type': '/cosmos.gov.v1.MsgVote', + ...proto, + }; + } + + public toAmino() { + const proto = this.toProto(); + const message = { + ...convertToSnakeCase(proto), + }; + + return { + type: 'cosmos-sdk/v1/MsgVote', + value: message, + }; + } + + public toWeb3() { + const amino = this.toAmino(); + const { value } = amino; + + return { + '@type': '/cosmos.gov.v1.MsgVote', + ...value, + }; + } + + public toDirectSign() { + const proto = this.toProto(); + + return { + type: '/cosmos.gov.v1.MsgVote', + message: proto, + }; + } + + public toBinary(): Uint8Array { + return CosmosGovV1Tx.MsgVote.encode(this.toProto()).finish(); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/ibc/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/ibc/index.ts new file mode 100644 index 00000000..b3797ac2 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/ibc/index.ts @@ -0,0 +1,2 @@ +import MsgTransfer from './msgs/MsgTransfer'; +export { MsgTransfer }; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/ibc/msgs/MsgTransfer.ts b/packages/wallet-sdk/src/proto/injective/core/modules/ibc/msgs/MsgTransfer.ts new file mode 100644 index 00000000..4b91843e --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/ibc/msgs/MsgTransfer.ts @@ -0,0 +1,112 @@ +import { CosmosBaseV1Beta1Coin, IbcApplicationsTransferV1Tx, IbcCoreClientV1Client } from '../../../../core-proto-ts'; +import { convertToSnakeCase } from '../../../../utils'; +import { MsgBase } from '../../MsgBase'; + +// eslint-disable-next-line @typescript-eslint/no-namespace +export declare namespace MsgTransfer { + export interface Params { + amount: { + denom: string; + amount: string; + }; + memo?: string; + sender: string; + port: string; + receiver: string; + channelId: string; + timeout?: number; + height?: { + revisionHeight: number; + revisionNumber: number; + }; + } + + export type Proto = IbcApplicationsTransferV1Tx.MsgTransfer; +} + +/** + * @category Messages + */ +export default class MsgTransfer extends MsgBase { + static fromJSON(params: MsgTransfer.Params): MsgTransfer { + return new MsgTransfer(params); + } + + public toProto() { + const { params } = this; + + const token = CosmosBaseV1Beta1Coin.Coin.fromPartial({}); + token.denom = params.amount.denom; + token.amount = params.amount.amount; + + const message = IbcApplicationsTransferV1Tx.MsgTransfer.fromPartial({}); + message.receiver = params.receiver; + message.sender = params.sender; + message.sourceChannel = params.channelId; + message.sourcePort = params.port; + message.token = token; + + if (params.height) { + const timeoutHeight = IbcCoreClientV1Client.Height.fromPartial({}); + timeoutHeight.revisionHeight = BigInt(params.height.revisionHeight.toString()); + timeoutHeight.revisionNumber = BigInt(params.height.revisionNumber.toString()); + + message.timeoutHeight = timeoutHeight; + } + + if (params.timeout) { + message.timeoutTimestamp = BigInt(params.timeout.toString()); + } + + message.memo = params.memo || ''; + + return message; + } + + public toData() { + const proto = this.toProto(); + + return { + '@type': '/ibc.applications.transfer.v1.MsgTransfer', + ...proto, + }; + } + + public toAmino() { + const proto = this.toProto(); + const message = { + ...convertToSnakeCase(proto), + }; + + return { + type: 'cosmos-sdk/MsgTransfer', + value: { + ...message, + memo: message.memo || '', + } as unknown as IbcApplicationsTransferV1Tx.MsgTransfer, + }; + } + + public toWeb3() { + const amino = this.toAmino(); + const { value } = amino; + + return { + '@type': '/ibc.applications.transfer.v1.MsgTransfer', + ...value, + }; + } + + public toDirectSign() { + const proto = this.toProto(); + + return { + type: '/ibc.applications.transfer.v1.MsgTransfer', + message: proto, + }; + } + + public toBinary(): Uint8Array { + return IbcApplicationsTransferV1Tx.MsgTransfer.encode(this.toProto()).finish(); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/index.ts new file mode 100644 index 00000000..aba63270 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/index.ts @@ -0,0 +1,9 @@ +export * from './authz'; +export * from './bank'; +export * from './distribution'; +export * from './gov'; +export * from './ibc'; +export * from './msgs'; +export * from './staking'; +export * from './tx'; +export * from './wasm'; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/msgs.ts b/packages/wallet-sdk/src/proto/injective/core/modules/msgs.ts new file mode 100644 index 00000000..bcfc674d --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/msgs.ts @@ -0,0 +1,27 @@ +import MsgGrant from './authz/msgs/MsgGrant'; +import MsgRevoke from './authz/msgs/MsgRevoke'; +import MsgSend from './bank/msgs/MsgSend'; +import MsgWithdrawDelegatorReward from './distribution/msgs/MsgWithdrawDelegatorReward'; +import MsgVote from './gov/msgs/MsgVote'; +import MsgTransfer from './ibc/msgs/MsgTransfer'; +import MsgBeginRedelegate from './staking/msgs/MsgBeginRedelegate'; +import MsgDelegate from './staking/msgs/MsgDelegate'; +import MsgUndelegate from './staking/msgs/MsgUndelegate'; +import MsgExecuteContract from './wasm/msgs/MsgExecuteContract'; +import MsgExecuteContractCompat from './wasm/msgs/MsgExecuteContractCompat'; + +/** + * @category Messages + */ +export type Msgs = + | MsgGrant + | MsgRevoke + | MsgSend + | MsgWithdrawDelegatorReward + | MsgVote + | MsgTransfer + | MsgDelegate + | MsgUndelegate + | MsgBeginRedelegate + | MsgExecuteContract + | MsgExecuteContractCompat; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/staking/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/staking/index.ts new file mode 100644 index 00000000..0a86fc49 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/staking/index.ts @@ -0,0 +1,4 @@ +import MsgBeginRedelegate from './msgs/MsgBeginRedelegate'; +import MsgDelegate from './msgs/MsgDelegate'; +import MsgUndelegate from './msgs/MsgUndelegate'; +export { MsgBeginRedelegate, MsgDelegate, MsgUndelegate }; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/staking/msgs/MsgBeginRedelegate.ts b/packages/wallet-sdk/src/proto/injective/core/modules/staking/msgs/MsgBeginRedelegate.ts new file mode 100644 index 00000000..1cb690c0 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/staking/msgs/MsgBeginRedelegate.ts @@ -0,0 +1,88 @@ +/* eslint-disable @typescript-eslint/no-namespace */ + +import { CosmosBaseV1Beta1Coin, CosmosStakingV1Beta1Tx } from '../../../../core-proto-ts'; +import { convertToSnakeCase } from '../../../../utils'; +import { MsgBase } from '../../MsgBase'; + +export declare namespace MsgBeginRedelegate { + export interface Params { + amount: { + denom: string; + amount: string; + }; + srcValidatorAddress: string; + dstValidatorAddress: string; + injectiveAddress: string; + } + + export type Proto = CosmosStakingV1Beta1Tx.MsgBeginRedelegate; +} + +/** + * @category Messages + */ +export default class MsgBeginRedelegate extends MsgBase { + static fromJSON(params: MsgBeginRedelegate.Params): MsgBeginRedelegate { + return new MsgBeginRedelegate(params); + } + + public toProto(): MsgBeginRedelegate.Proto { + const { params } = this; + + const coinAmount = CosmosBaseV1Beta1Coin.Coin.fromPartial({}); + coinAmount.denom = params.amount.denom; + coinAmount.amount = params.amount.amount; + + const message = CosmosStakingV1Beta1Tx.MsgBeginRedelegate.fromPartial({}); + message.amount = coinAmount; + message.delegatorAddress = params.injectiveAddress; + message.validatorSrcAddress = params.srcValidatorAddress; + message.validatorDstAddress = params.dstValidatorAddress; + + return CosmosStakingV1Beta1Tx.MsgBeginRedelegate.fromPartial(message); + } + + public toData() { + const proto = this.toProto(); + + return { + '@type': '/cosmos.staking.v1beta1.MsgBeginRedelegate', + ...proto, + }; + } + + public toAmino() { + const proto = this.toProto(); + const message = { + ...convertToSnakeCase(proto), + }; + + return { + type: 'cosmos-sdk/MsgBeginRedelegate', + value: message, + }; + } + + public toWeb3() { + const amino = this.toAmino(); + const { value } = amino; + + return { + '@type': '/cosmos.staking.v1beta1.MsgBeginRedelegate', + ...value, + }; + } + + public toDirectSign() { + const proto = this.toProto(); + + return { + type: '/cosmos.staking.v1beta1.MsgBeginRedelegate', + message: proto, + }; + } + + public toBinary(): Uint8Array { + return CosmosStakingV1Beta1Tx.MsgBeginRedelegate.encode(this.toProto()).finish(); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/staking/msgs/MsgDelegate.ts b/packages/wallet-sdk/src/proto/injective/core/modules/staking/msgs/MsgDelegate.ts new file mode 100644 index 00000000..11d61048 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/staking/msgs/MsgDelegate.ts @@ -0,0 +1,85 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +import { CosmosBaseV1Beta1Coin, CosmosStakingV1Beta1Tx } from '../../../../core-proto-ts'; +import { convertToSnakeCase } from '../../../../utils'; +import { MsgBase } from '../../MsgBase'; + +export declare namespace MsgDelegate { + export interface Params { + amount: { + denom: string; + amount: string; + }; + validatorAddress: string; + injectiveAddress: string; + } + + export type Proto = CosmosStakingV1Beta1Tx.MsgDelegate; +} + +/** + * @category Messages + */ +export default class MsgDelegate extends MsgBase { + static fromJSON(params: MsgDelegate.Params): MsgDelegate { + return new MsgDelegate(params); + } + + public toProto() { + const { params } = this; + + const coinAmount = CosmosBaseV1Beta1Coin.Coin.fromPartial({}); + coinAmount.denom = params.amount.denom; + coinAmount.amount = params.amount.amount; + + const message = CosmosStakingV1Beta1Tx.MsgDelegate.fromPartial({}); + message.amount = coinAmount; + message.delegatorAddress = params.injectiveAddress; + message.validatorAddress = params.validatorAddress; + + return CosmosStakingV1Beta1Tx.MsgDelegate.fromPartial(message); + } + + public toData() { + const proto = this.toProto(); + + return { + '@type': '/cosmos.staking.v1beta1.MsgDelegate', + ...proto, + }; + } + + public toAmino() { + const proto = this.toProto(); + const message = { + ...convertToSnakeCase(proto), + }; + + return { + type: 'cosmos-sdk/MsgDelegate', + value: message, + }; + } + + public toWeb3() { + const amino = this.toAmino(); + const { value } = amino; + + return { + '@type': '/cosmos.staking.v1beta1.MsgDelegate', + ...value, + }; + } + + public toDirectSign() { + const proto = this.toProto(); + + return { + type: '/cosmos.staking.v1beta1.MsgDelegate', + message: proto, + }; + } + + public toBinary(): Uint8Array { + return CosmosStakingV1Beta1Tx.MsgDelegate.encode(this.toProto()).finish(); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/staking/msgs/MsgUndelegate.ts b/packages/wallet-sdk/src/proto/injective/core/modules/staking/msgs/MsgUndelegate.ts new file mode 100644 index 00000000..6276d1c1 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/staking/msgs/MsgUndelegate.ts @@ -0,0 +1,85 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +import { CosmosBaseV1Beta1Coin, CosmosStakingV1Beta1Tx } from '../../../../core-proto-ts'; +import { convertToSnakeCase } from '../../../../utils'; +import { MsgBase } from '../../MsgBase'; + +export declare namespace MsgUndelegate { + export interface Params { + amount: { + denom: string; + amount: string; + }; + validatorAddress: string; + injectiveAddress: string; + } + + export type Proto = CosmosStakingV1Beta1Tx.MsgUndelegate; +} + +/** + * @category Messages + */ +export default class MsgUndelegate extends MsgBase { + static fromJSON(params: MsgUndelegate.Params): MsgUndelegate { + return new MsgUndelegate(params); + } + + public toProto() { + const { params } = this; + + const coinAmount = CosmosBaseV1Beta1Coin.Coin.fromPartial({}); + coinAmount.denom = params.amount.denom; + coinAmount.amount = params.amount.amount; + + const message = CosmosStakingV1Beta1Tx.MsgUndelegate.fromPartial({}); + message.amount = coinAmount; + message.delegatorAddress = params.injectiveAddress; + message.validatorAddress = params.validatorAddress; + + return CosmosStakingV1Beta1Tx.MsgUndelegate.fromPartial(message); + } + + public toData() { + const proto = this.toProto(); + + return { + '@type': '/cosmos.staking.v1beta1.MsgUndelegate', + ...proto, + }; + } + + public toAmino() { + const proto = this.toProto(); + const message = { + ...convertToSnakeCase(proto), + }; + + return { + type: 'cosmos-sdk/MsgUndelegate', + value: message, + }; + } + + public toWeb3() { + const amino = this.toAmino(); + const { value } = amino; + + return { + '@type': '/cosmos.staking.v1beta1.MsgUndelegate', + ...value, + }; + } + + public toDirectSign() { + const proto = this.toProto(); + + return { + type: '/cosmos.staking.v1beta1.MsgUndelegate', + message: proto, + }; + } + + public toBinary(): Uint8Array { + return CosmosStakingV1Beta1Tx.MsgUndelegate.encode(this.toProto()).finish(); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/api/TxRestApi.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/api/TxRestApi.ts new file mode 100644 index 00000000..a17fce3c --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/api/TxRestApi.ts @@ -0,0 +1,282 @@ +import axios, { AxiosError } from 'axios'; + +import { CosmosTxV1Beta1Tx } from '../../../../core-proto-ts'; +import { + HttpRequestException, + HttpRequestMethod, + TransactionException, + UnspecifiedErrorCode, +} from '../../../../exceptions/src'; +import { StatusCodes } from '../../../../utils'; +import { BigNumberInBase, HttpClient } from '../../../../utils/classes'; +import { + DEFAULT_BLOCK_TIME_IN_SECONDS, + DEFAULT_BLOCK_TIMEOUT_HEIGHT, + DEFAULT_TX_BLOCK_INCLUSION_TIMEOUT_IN_MS, +} from '../../../../utils/constants'; +import { getErrorMessage } from '../../../../utils/helpers'; +import { TxClientBroadcastOptions, TxConcreteApi } from '../types/tx'; +import { TxResponse } from '../types/tx'; +import { BroadcastMode, SimulationResponse, TxInfoResponse, TxResultResponse } from '../types/tx-rest-client'; +import { TxClient } from '../utils/classes/TxClient'; + +/** + * It is recommended to use TxGrpcClient instead of TxRestApi + */ +export class TxRestApi implements TxConcreteApi { + public httpClient: HttpClient; + + constructor(endpoint: string, options?: { timeout?: number }) { + this.httpClient = new HttpClient(endpoint, { + headers: { + Accept: 'application/json', + }, + timeout: options?.timeout || 15000, + }); + } + + public async fetchTx(txHash: string, params: any = {}): Promise { + try { + const response = await this.getRaw(`/cosmos/tx/v1beta1/txs/${txHash}`, params); + + const { tx_response: txResponse } = response; + + if (!txResponse) { + throw new HttpRequestException(new Error(`The transaction with ${txHash} is not found`), { + context: 'TxRestApi', + contextModule: 'fetch-tx', + }); + } + + if (parseInt(txResponse.code.toString(), 10) !== 0) { + throw new TransactionException(new Error(txResponse.raw_log), { + contextCode: txResponse.code, + contextModule: txResponse.codespace, + }); + } + + return { + ...txResponse, + rawLog: txResponse.raw_log, + gasWanted: parseInt(txResponse.gas_wanted, 10), + gasUsed: parseInt(txResponse.gas_used, 10), + height: parseInt(txResponse.height, 10), + txHash: txResponse.txhash, + }; + } catch (e: unknown) { + // Transaction has failed on the chain + if (e instanceof TransactionException) { + throw e; + } + + // Failed to query the transaction on the chain + if (e instanceof HttpRequestException) { + throw e; + } + + // The response itself failed + throw new HttpRequestException(new Error('There was an issue while fetching transaction details'), { + context: 'TxRestApi', + contextModule: 'fetch-tx', + }); + } + } + + public async fetchTxPoll( + txHash: string, + timeout = DEFAULT_TX_BLOCK_INCLUSION_TIMEOUT_IN_MS || 60000, + ): Promise { + const POLL_INTERVAL = DEFAULT_BLOCK_TIME_IN_SECONDS * 1000; + + for (let i = 0; i <= timeout / POLL_INTERVAL; i += 1) { + try { + const txInfo = await this.fetchTx(txHash); + const txResponse = txInfo; + + if (txResponse) { + return txResponse; + } + } catch (e: unknown) { + // We throw only if the transaction failed on chain + if (e instanceof TransactionException) { + throw e; + } + } + + await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL)); + } + + throw new HttpRequestException( + new Error(`Transaction was not included in a block before timeout of ${timeout}ms`), + { + context: 'TxRestApi', + contextModule: 'fetch-tx-poll', + }, + ); + } + + public async simulate(txRaw: CosmosTxV1Beta1Tx.TxRaw) { + const txRawClone = CosmosTxV1Beta1Tx.TxRaw.fromPartial({ ...txRaw }); + + if (txRawClone.signatures.length === 0) { + txRawClone.signatures = [new Uint8Array(0)]; + } + + try { + const response = await this.postRaw('/cosmos/tx/v1beta1/simulate', { + tx_bytes: TxClient.encode(txRawClone), + }); + + return { + result: { + data: response.result.data, + log: response.result.log, + eventsList: response.result.events, + }, + gasInfo: { + gasWanted: parseInt(response.gas_info.gas_wanted, 10), + gasUsed: parseInt(response.gas_info.gas_used, 10), + }, + }; + } catch (e) { + throw new TransactionException(new Error((e as any).message)); + } + } + + public async broadcast(tx: CosmosTxV1Beta1Tx.TxRaw, options?: TxClientBroadcastOptions): Promise { + const timeout = + options?.timeout || + new BigNumberInBase(options?.txTimeout || DEFAULT_BLOCK_TIMEOUT_HEIGHT) + .times(DEFAULT_BLOCK_TIME_IN_SECONDS * 1000) + .toNumber(); + + try { + const { tx_response: txResponse } = await this.broadcastTx<{ + tx_response: TxInfoResponse; + }>(tx, BroadcastMode.Sync); + + if (txResponse.code !== 0) { + throw new TransactionException(new Error(txResponse.raw_log), { + contextCode: txResponse.code, + contextModule: txResponse.codespace, + }); + } + + return this.fetchTxPoll(txResponse.txhash, timeout); + } catch (e) { + if (e instanceof HttpRequestException) { + if (e.code !== StatusCodes.OK) { + throw e; + } + } + + throw e; + } + } + + /** + * Broadcast the transaction using the "block" mode, waiting for its inclusion in the blockchain. + * @param tx transaction to broadcast + */ + public async broadcastBlock(tx: CosmosTxV1Beta1Tx.TxRaw) { + const response = await this.broadcastTx<{ + tx_response: TxInfoResponse; + }>(tx, BroadcastMode.Block); + + try { + const { tx_response: txResponse } = response; + + if (txResponse.code !== 0) { + throw new TransactionException(new Error(txResponse.raw_log), { + contextCode: txResponse.code, + contextModule: txResponse.codespace, + }); + } + + return { + txHash: txResponse.txhash, + rawLog: txResponse.raw_log, + gasWanted: parseInt(txResponse.gas_wanted || '0', 10), + gasUsed: parseInt(txResponse.gas_used || '0', 10), + height: parseInt(txResponse.height || '0', 10), + logs: txResponse.logs || [], + code: txResponse.code, + codespace: txResponse.codespace, + data: txResponse.data, + info: txResponse.info, + timestamp: txResponse.timestamp || '0', + }; + } catch (e: unknown) { + if (e instanceof TransactionException) { + throw e; + } + + throw new TransactionException(new Error((e as any).message)); + } + } + + private async broadcastTx(txRaw: CosmosTxV1Beta1Tx.TxRaw, mode: BroadcastMode = BroadcastMode.Sync): Promise { + const response = await this.postRaw('cosmos/tx/v1beta1/txs', { + tx_bytes: TxClient.encode(txRaw), + mode, + }); + + return response; + } + + private async getRaw(endpoint: string, params: URLSearchParams | any = {}): Promise { + try { + return await this.httpClient.get(endpoint, params).then((d) => d.data); + } catch (e) { + const error = e as Error | AxiosError; + + if (axios.isAxiosError(error)) { + if (error.code === 'ECONNABORTED') { + throw new HttpRequestException(new Error(error.message), { + code: StatusCodes.REQUEST_TOO_LONG, + context: endpoint, + method: HttpRequestMethod.Get, + }); + } + + const message = getErrorMessage(error, endpoint); + + throw new HttpRequestException(new Error(message), { + context: endpoint, + code: error.response ? error.response.status : StatusCodes.BAD_REQUEST, + method: HttpRequestMethod.Get, + }); + } + + throw new HttpRequestException(new Error((error as any).message), { + context: endpoint, + code: UnspecifiedErrorCode, + contextModule: HttpRequestMethod.Get, + }); + } + } + + private async postRaw(endpoint: string, params: URLSearchParams | any = {}): Promise { + try { + return await this.httpClient.post(endpoint, params).then((d) => d.data); + } catch (e) { + const error = e as Error | AxiosError; + + if (axios.isAxiosError(error)) { + const message = getErrorMessage(error, endpoint); + + throw new HttpRequestException(new Error(message), { + code: error.response ? error.response.status : StatusCodes.BAD_REQUEST, + context: endpoint, + contextModule: HttpRequestMethod.Post, + }); + } + + throw new HttpRequestException(new Error((error as any).message), { + code: UnspecifiedErrorCode, + context: endpoint, + contextModule: HttpRequestMethod.Post, + }); + } + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/api/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/api/index.ts new file mode 100644 index 00000000..d27e5f23 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/api/index.ts @@ -0,0 +1,3 @@ +import { TxRestApi } from './TxRestApi'; +export { TxRestApi as TxRestClient }; +export * from './TxRestApi'; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/eip712.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/eip712.ts new file mode 100644 index 00000000..00fe3e5f --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/eip712.ts @@ -0,0 +1,79 @@ +import { EthereumChainId } from '../../../../types/enums'; +import { Msgs } from '../../msgs'; +import { Eip712ConvertFeeArgs, Eip712ConvertTxArgs } from './types'; +import { + getDefaultEip712Types, + getDefaultEip712TypesV2, + getEip712Domain, + getEip712DomainV2, + getEip712Fee, + getEipTxDetails, + getTypesIncludingFeePayer, +} from './utils'; +import { getEipTxContext } from './utils'; + +export const getEip712TypedData = ({ + msgs, + tx, + fee, + ethereumChainId, +}: { + msgs: Msgs | Msgs[]; + tx: Eip712ConvertTxArgs; + fee?: Eip712ConvertFeeArgs; + ethereumChainId: EthereumChainId; +}) => { + const messages = Array.isArray(msgs) ? msgs : [msgs]; + const eip712Msgs = messages.map((m) => m.toEip712()); + const eip712MessageTypes = messages[0].toEip712Types(); + + const types = getDefaultEip712Types(); + const typesWithMessageTypes = { + types: { + ...types.types, + ...Object.fromEntries(eip712MessageTypes), + }, + }; + const typesWithFeePayer = getTypesIncludingFeePayer({ + fee, + types: typesWithMessageTypes, + }); + + return { + ...typesWithFeePayer, + primaryType: 'Tx', + ...getEip712Domain(ethereumChainId), + message: { + ...getEipTxDetails(tx), + ...getEip712Fee(fee), + msgs: eip712Msgs, + }, + }; +}; + +export const getEip712TypedDataV2 = ({ + msgs, + tx, + fee, + ethereumChainId, +}: { + msgs: Msgs | Msgs[]; + tx: Eip712ConvertTxArgs; + fee?: Eip712ConvertFeeArgs; + ethereumChainId: EthereumChainId; +}) => { + const messages = Array.isArray(msgs) ? msgs : [msgs]; + const eip712Msgs = messages.map((m) => m.toWeb3()); + + const types = getDefaultEip712TypesV2(); + + return { + ...types, + primaryType: 'Tx', + ...getEip712DomainV2(ethereumChainId), + message: { + context: JSON.stringify(getEipTxContext({ ...tx, fee })), + msgs: JSON.stringify(eip712Msgs), + }, + }; +}; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/index.ts new file mode 100644 index 00000000..9ab3cc0a --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/index.ts @@ -0,0 +1,4 @@ +export * from './eip712'; +export * from './maps'; +export * from './types'; +export * from './utils'; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/maps.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/maps.ts new file mode 100644 index 00000000..63eedf3b --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/maps.ts @@ -0,0 +1,643 @@ +import { GeneralException } from '../../../../exceptions/src'; +import { convertToSnakeCase } from '../../../../utils'; +import { snakeToPascal } from '../../../../utils/helpers'; +import { isNumber, numberToCosmosSdkDecString } from '../../../../utils/numbers'; +import { TypedDataField } from './types'; + +const msgExecuteContractType = 'wasm/MsgExecuteContract'; + +/** + * Function used to generate EIP712 types based on a message object + * and its structure (recursive) + */ +export const objectKeysToEip712Types = ({ + object, + messageType, + primaryType = 'MsgValue', +}: { + object: Record; + messageType?: string; + primaryType?: string; +}) => { + const numberFieldsWithStringValue = [ + 'order_mask', + 'order_type', + 'oracle_type', + 'round', + 'oracle_scale_factor', + 'expiry', + 'option', + 'proposal_id', + 'creation_height', + ]; + const stringFieldsWithNumberValue = ['timeout_timestamp', 'revision_height', 'revision_number']; + const stringFieldsToOmitIfEmpty = ['cid']; + const output = new Map(); + const types = new Array(); + + for (const property in convertToSnakeCase(object)) { + const propertyValue = convertToSnakeCase(object)[property]; + + if (property === '@type') { + continue; + } + + const type = typeof propertyValue; + + if (type === 'boolean') { + types.push({ name: property, type: 'bool' }); + } else if (type === 'number' || type === 'bigint' || numberFieldsWithStringValue.includes(property)) { + types.push({ + name: property, + type: numberTypeToReflectionNumberType(property), + }); + } else if (type === 'string') { + if (stringFieldsToOmitIfEmpty.includes(property) && !propertyValue) { + continue; + } + + if (stringFieldsWithNumberValue.includes(property)) { + types.push({ + name: property, + type: stringTypeToReflectionStringType(property), + }); + + continue; + } + + types.push({ name: property, type: 'string' }); + } else if (type === 'object') { + if (Array.isArray(propertyValue) && propertyValue.length === 0) { + throw new GeneralException(new Error('Array with length 0 found')); + } else if (Array.isArray(propertyValue) && propertyValue.length > 0) { + const arrayFirstType = typeof propertyValue[0]; + const isPrimitive = arrayFirstType === 'boolean' || arrayFirstType === 'number' || arrayFirstType === 'string'; + + if (isPrimitive) { + for (const arrayEntry in propertyValue) { + if (typeof arrayEntry !== arrayFirstType) { + throw new GeneralException(new Error('Array with different types found')); + } + } + + if (arrayFirstType === 'boolean') { + types.push({ name: property, type: 'bool[]' }); + } else if (arrayFirstType === 'number') { + types.push({ name: property, type: 'number[]' }); + } else if (arrayFirstType === 'string') { + types.push({ name: property, type: 'string[]' }); + } + } else if (arrayFirstType === 'object') { + const propertyType = getObjectEip712PropertyType({ + property: snakeToPascal(property), + parentProperty: primaryType, + messageType, + }); + const recursiveOutput = objectKeysToEip712Types({ + object: propertyValue[0], + primaryType: propertyType, + messageType, + }); + const recursiveTypes = recursiveOutput.get(propertyType); + + types.push({ name: property, type: `${propertyType}[]` }); + output.set(propertyType, recursiveTypes!); + + for (const key of recursiveOutput.keys()) { + if (key !== primaryType) { + output.set(key, recursiveOutput.get(key)!); + } + } + } else { + throw new GeneralException(new Error('Array with elements of unknown type found')); + } + } else if (propertyValue instanceof Date) { + types.push({ name: property, type: 'string' }); + } else { + const propertyType = getObjectEip712PropertyType({ + property: snakeToPascal(property), + parentProperty: primaryType, + messageType, + }); + const recursiveOutput = objectKeysToEip712Types({ + object: propertyValue, + primaryType: propertyType, + messageType, + }); + const recursiveTypes = recursiveOutput.get(propertyType); + + types.push({ name: property, type: propertyType }); + output.set(propertyType, recursiveTypes!); + + for (const key of recursiveOutput.keys()) { + if (key !== primaryType) { + output.set(key, recursiveOutput.get(key)!); + } + } + } + } else { + throw new GeneralException(new Error(`Type ${property} not found`)); + } + } + + output.set(primaryType, types); + + return output; +}; +/** + * JavaScript doesn't know the exact number types that + * we represent these fields on chain so we have to map + * them in their chain representation from the number value + * that is available in JavaScript + */ +export const numberTypeToReflectionNumberType = (property?: string) => { + switch (property) { + case 'order_mask': + return 'int32'; + case 'timeout_timestamp': + return 'timeout_timestamp'; + case 'revision_number': + return 'uint64'; + case 'revision_height': + return 'uint64'; + case 'order_type': + return 'int32'; + case 'oracle_type': + return 'int32'; + case 'exponent': + return 'uint32'; + case 'round': + return 'uint64'; + case 'oracle_scale_factor': + return 'uint64'; + case 'expiry': + return 'int64'; + case 'creation_height': + return 'int64'; + case 'option': + return 'int32'; + case 'proposal_id': + return 'uint64'; + default: + return 'uint64'; + } +}; +/** + * JavaScript doesn't know the exact string types that + * we represent these fields on chain so we have to map + * them in their chain representation from the string value + * that is available in JavaScript + */ +export const stringTypeToReflectionStringType = (property?: string) => { + switch (property) { + case 'timeout_timestamp': + return 'uint64'; + case 'revision_number': + return 'uint64'; + case 'revision_height': + return 'uint64'; + default: + return 'uint64'; + } +}; + +/** + * We need to represent some of the values in a proper format acceptable by the chain. + * + * 1. We need to represent some values from a number to string + * This needs to be done for every number value except for maps (ex: vote option) + * + * 2. We need to convert every `sdk.Dec` value from a raw value to shifted by 1e18 value + * ex: 0.01 -> 0.01000000000000000000, 1 -> 1.000000000000000000 + * + * 3. For some fields, like 'amount' in the 'MsgIncreasePositionMargin' we have + * to also specify the Message type to apply the sdk.Dec conversion because there + * are other amount fields in other messages as well and we don't want to affect them + */ +export const mapValuesToProperValueType = >( + object: T, + messageTypeUrl?: string, +): T => { + const numberToStringKeys = [ + 'proposal_id', + 'round', + 'oracle_scale_factor', + 'timeout_timestamp', + 'revision_height', + 'revision_number', + 'expiry', + ]; + const sdkDecKeys = ['min_price_tick_size', 'price', 'quantity', 'margin', 'trigger_price', 'min_quantity_tick_size']; + const sdkDecKeyWithTypeMaps = { + 'exchange/MsgIncreasePositionMargin': ['amount'], + }; + const nullableStringsTypeMaps = { + 'wasmx/MsgExecuteContractCompat': ['funds'], + }; + + const nullableStrings = ['uri', 'uri_hash']; + + return Object.keys(object).reduce((result, key) => { + const value = object[key]; + + if (!value) { + // Message Type Specific checks + if (messageTypeUrl) { + const typeInMap = Object.keys(nullableStringsTypeMaps).find((key) => key === messageTypeUrl); + + if (typeInMap) { + const nullableStringKeys = nullableStringsTypeMaps[typeInMap as keyof typeof nullableStringsTypeMaps]; + + if (nullableStringKeys.includes(key)) { + return { + ...result, + [key]: value, + }; + } + } + } + + if (nullableStrings.includes(key)) { + return { + ...result, + [key]: value, + }; + } + + return result; + } + + if (typeof value === 'object') { + if (value instanceof Date) { + return { + ...result, + [key]: value.toJSON().split('.')[0] + 'Z', + }; + } + if (Array.isArray(value)) { + return { + ...result, + [key]: value.every((i) => typeof i === 'string') + ? value + : value.map((item) => mapValuesToProperValueType(item as Record)), + }; + } + + return { + ...result, + [key]: mapValuesToProperValueType(value as Record), + }; + } + + if (isNumber(value as string | number)) { + if (numberToStringKeys.includes(key)) { + return { + ...result, + [key]: value.toString(), + }; + } + + // Maybe some other check needed + } + + if (typeof value === 'string') { + if (sdkDecKeys.includes(key)) { + return { + ...result, + [key]: numberToCosmosSdkDecString(value), + }; + } + + // Message Type Specific checks + if (messageTypeUrl) { + const typeInMap = Object.keys(sdkDecKeyWithTypeMaps).find((key) => key === messageTypeUrl); + + if (typeInMap) { + const sdkDecKeys = sdkDecKeyWithTypeMaps[typeInMap as keyof typeof sdkDecKeyWithTypeMaps]; + + if (sdkDecKeys.includes(key)) { + return { + ...result, + [key]: numberToCosmosSdkDecString(value), + }; + } + } + } + } + + return { + ...result, + [key]: value, + }; + }, {} as T); +}; + +export const getObjectEip712PropertyType = ({ + property, + parentProperty, + messageType, +}: { + property: string; + parentProperty: string; + messageType?: string; +}) => { + if (messageType === msgExecuteContractType) { + return appendWasmTypePrefixToPropertyType(property, parentProperty); + } + + return appendTypePrefixToPropertyType(property, parentProperty); +}; + +/** + * Append Wasm Type prefix to a Level0 EIP712 type + * including its parent property type + */ +const appendWasmTypePrefixToPropertyType = (property: string, parentProperty: string = '') => { + const cosmWasmMsgPrefix = 'CosmwasmInnerMsgMarker'; + const propertyWithoutTypePrefix = property.replace('Type', ''); + + if (propertyWithoutTypePrefix === 'Msg') { + return cosmWasmMsgPrefix; + } + + const parentPropertyWithoutTypePrefix = parentProperty.replace(cosmWasmMsgPrefix, ''); + + return `${parentPropertyWithoutTypePrefix + propertyWithoutTypePrefix}Value`; +}; + +/** + * Append Type prefix to a Level0 EIP712 type + * including its parent property type + */ +const appendTypePrefixToPropertyType = (property: string, parentProperty: string = '') => { + const propertyWithoutTypePrefix = property.replace('Type', ''); + const parentPropertyWithoutTypePrefix = parentProperty === 'MsgValue' ? '' : parentProperty.replace('Type', ''); + + return `Type${parentPropertyWithoutTypePrefix + propertyWithoutTypePrefix}`; +}; + +/** + * Mapping a path type to amino type for messages + */ +export const protoTypeToAminoType = (type: string): string => { + const actualType = type.startsWith('/') ? type.substring(1) : type; + + switch (actualType) { + // Exchange + case 'injective.exchange.v1beta1.MsgDeposit': + return 'exchange/MsgDeposit'; + case 'injective.exchange.v1beta1.MsgWithdraw': + return 'exchange/MsgWithdraw'; + case 'injective.exchange.v1beta1.MsgInstantSpotMarketLaunch': + return 'exchange/MsgInstantSpotMarketLaunch'; + case 'injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunch': + return 'exchange/MsgInstantPerpetualMarketLaunch'; + case 'injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunch': + return 'exchange/MsgInstantExpiryFuturesMarketLaunch'; + case 'injective.exchange.v1beta1.MsgCreateSpotLimitOrder': + return 'exchange/MsgCreateSpotLimitOrder'; + case 'injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrders': + return 'exchange/MsgBatchCreateSpotLimitOrders'; + case 'injective.exchange.v1beta1.MsgCreateSpotMarketOrder': + return 'exchange/MsgCreateSpotMarketOrder'; + case 'injective.exchange.v1beta1.MsgCancelSpotOrder': + return 'exchange/MsgCancelSpotOrder'; + case 'injective.exchange.v1beta1.MsgBatchCancelSpotOrders': + return 'exchange/MsgBatchCancelSpotOrders'; + case 'injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder': + return 'exchange/MsgCreateDerivativeLimitOrder'; + case 'injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrders': + return 'exchange/MsgBatchCreateDerivativeLimitOrders'; + case 'injective.exchange.v1beta1.MsgCreateDerivativeMarketOrder': + return 'exchange/MsgCreateDerivativeMarketOrder'; + case 'injective.exchange.v1beta1.MsgCancelDerivativeOrder': + return 'exchange/MsgCancelDerivativeOrder'; + case 'injective.exchange.v1beta1.MsgBatchCancelDerivativeOrders': + return 'exchange/MsgBatchCancelDerivativeOrders'; + case 'injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrders': + return 'exchange/MsgBatchCancelBinaryOptionsOrders'; + case 'injective.exchange.v1beta1.MsgSubaccountTransfer': + return 'exchange/MsgSubaccountTransfer'; + case 'injective.exchange.v1beta1.MsgExternalTransfer': + return 'exchange/MsgExternalTransfer'; + case 'injective.exchange.v1beta1.MsgIncreasePositionMargin': + return 'exchange/MsgIncreasePositionMargin'; + case 'injective.exchange.v1beta1.MsgLiquidatePosition': + return 'exchange/MsgLiquidatePosition'; + case 'injective.exchange.v1beta1.MsgBatchUpdateOrders': + return 'exchange/MsgBatchUpdateOrders'; + case 'injective.exchange.v1beta1.MsgExec': + return 'exchange/MsgExec'; + case 'injective.exchange.v1beta1.MsgRegisterAsDMM': + return 'exchange/MsgRegisterAsDMM'; + case 'injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunch': + return 'exchange/MsgInstantBinaryOptionsMarketLaunch'; + case 'injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder': + return 'exchange/MsgCreateBinaryOptionsLimitOrder'; + case 'injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrder': + return 'exchange/MsgCreateBinaryOptionsMarketOrder'; + case 'injective.exchange.v1beta1.MsgCancelBinaryOptionsOrder': + return 'exchange/MsgCancelBinaryOptionsOrder'; + case 'injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket': + return 'exchange/MsgAdminUpdateBinaryOptionsMarket'; + case 'injective.exchange.v1beta1.ExchangeEnableProposal': + return 'exchange/ExchangeEnableProposal'; + case 'injective.exchange.v1beta1.BatchExchangeModificationProposal': + return 'exchange/BatchExchangeModificationProposal'; + case 'injective.exchange.v1beta1.SpotMarketParamUpdateProposal': + return 'exchange/SpotMarketParamUpdateProposal'; + case 'injective.exchange.v1beta1.SpotMarketLaunchProposal': + return 'exchange/SpotMarketLaunchProposal'; + case 'injective.exchange.v1beta1.PerpetualMarketLaunchProposal': + return 'exchange/PerpetualMarketLaunchProposal'; + case 'injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposal': + return 'exchange/ExpiryFuturesMarketLaunchProposal'; + case 'injective.exchange.v1beta1.DerivativeMarketParamUpdateProposal': + return 'exchange/DerivativeMarketParamUpdateProposal'; + case 'injective.exchange.v1beta1.MarketForcedSettlementProposal': + return 'exchange/MarketForcedSettlementProposal'; + case 'injective.exchange.v1beta1.UpdateDenomDecimalsProposal': + return 'exchange/UpdateDenomDecimalsProposal'; + case 'injective.exchange.v1beta1.TradingRewardCampaignLaunchProposal': + return 'exchange/TradingRewardCampaignLaunchProposal'; + case 'injective.exchange.v1beta1.TradingRewardCampaignUpdateProposal': + return 'exchange/TradingRewardCampaignUpdateProposal'; + case 'injective.exchange.v1beta1.TradingRewardPendingPointsUpdateProposal': + return 'exchange/TradingRewardPendingPointsUpdateProposal'; + case 'injective.exchange.v1beta1.FeeDiscountProposal': + return 'exchange/FeeDiscountProposal'; + case 'injective.exchange.v1beta1.BatchCommunityPoolSpendProposal': + return 'exchange/BatchCommunityPoolSpendProposal'; + case 'injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposal': + return 'exchange/BinaryOptionsMarketParamUpdateProposal'; + case 'injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposal': + return 'exchange/BinaryOptionsMarketLaunchProposal'; + case 'injective.exchange.v1beta1.MsgTransferAndExecute': + return 'exchange/MsgTransferAndExecute'; + + case 'injective.exchange.v1beta1.CreateSpotLimitOrderAuthz': + return 'exchange/CreateSpotLimitOrderAuthz'; + case 'injective.exchange.v1beta1.CreateSpotMarketOrderAuthz': + return 'exchange/CreateSpotMarketOrderAuthz'; + case 'injective.exchange.v1beta1.BatchCreateSpotLimitOrdersAuthz': + return 'exchange/BatchCreateSpotLimitOrdersAuthz'; + case 'injective.exchange.v1beta1.CancelSpotOrderAuthz': + return 'exchange/CancelSpotOrderAuthz'; + case 'injective.exchange.v1beta1.BatchCancelSpotOrdersAuthz': + return 'exchange/BatchCancelSpotOrdersAuthz'; + case 'injective.exchange.v1beta1.CreateDerivativeLimitOrderAuthz': + return 'exchange/CreateDerivativeLimitOrderAuthz'; + case 'injective.exchange.v1beta1.CreateDerivativeMarketOrderAuthz': + return 'exchange/CreateDerivativeMarketOrderAuthz'; + case 'injective.exchange.v1beta1.BatchCreateDerivativeLimitOrdersAuthz': + return 'exchange/BatchCreateDerivativeLimitOrdersAuthz'; + case 'injective.exchange.v1beta1.CancelDerivativeOrderAuthz': + return 'exchange/CancelDerivativeOrderAuthz'; + case 'injective.exchange.v1beta1.BatchCancelDerivativeOrdersAuthz': + return 'exchange/BatchCancelDerivativeOrdersAuthz'; + case 'injective.exchange.v1beta1.BatchUpdateOrdersAuthz': + return 'exchange/BatchUpdateOrdersAuthz'; + + // Auction + case 'injective.auction.v1beta1.MsgBid': + return 'auction/MsgBid'; + + // Insurance + case 'injective.insurance.v1beta1.MsgCreateInsuranceFund': + return 'insurance/MsgCreateInsuranceFund'; + case 'injective.insurance.v1beta1.MsgUnderwrite': + return 'insurance/MsgUnderwrite'; + case 'injective.insurance.v1beta1.MsgRequestRedemption': + return 'insurance/MsgRequestRedemption'; + + // Peggy + case 'injective.peggy.v1beta1.MsgSetOrchestratorAddresses': + return 'peggy/MsgSetOrchestratorAddresses'; + case 'injective.peggy.v1beta1.MsgValsetConfirm': + return 'peggy/MsgValsetConfirm'; + case 'injective.peggy.v1beta1.MsgSendToEth': + return 'peggy/MsgSendToEth'; + case 'injective.peggy.v1beta1.MsgCancelSendToEth': + return 'peggy/MsgCancelSendToEth'; + case 'injective.peggy.v1beta1.MsgRequestBatch': + return 'peggy/MsgRequestBatch'; + case 'injective.peggy.v1beta1.MsgConfirmBatch': + return 'peggy/MsgConfirmBatch'; + case 'injective.peggy.v1beta1.Valset': + return 'peggy/Valset'; + case 'injective.peggy.v1beta1.MsgDepositClaim': + return 'peggy/MsgDepositClaim'; + case 'injective.peggy.v1beta1.MsgWithdrawClaim': + return 'peggy/MsgWithdrawClaim'; + case 'injective.peggy.v1beta1.MsgERC20DeployedClaim': + return 'peggy/MsgERC20DeployedClaim'; + case 'injective.peggy.v1beta1.MsgValsetUpdatedClaim': + return 'peggy/MsgValsetUpdatedClaim'; + case 'injective.peggy.v1beta1.OutgoingTxBatch': + return 'peggy/OutgoingTxBatch'; + case 'injective.peggy.v1beta1.OutgoingTransferTx': + return 'peggy/OutgoingTransferTx'; + case 'injective.peggy.v1beta1.ERC20Token': + return 'peggy/ERC20Token'; + case 'injective.peggy.v1beta1.IDSet': + return 'peggy/IDSet'; + case 'injective.peggy.v1beta1.Attestation': + return 'peggy/Attestation'; + case 'injective.peggy.v1beta1.MsgSubmitBadSignatureEvidence': + return 'peggy/MsgSubmitBadSignatureEvidence'; + case 'injective.peggy.v1beta1.BlacklistEthereumAddressesProposal': + return 'peggy/BlacklistEthereumAddressesProposal'; + case 'injective.peggy.v1beta1.RevokeEthereumBlacklistProposal': + return 'peggy/RevokeEthereumBlacklistProposal'; + + // WasmX + case 'injective.wasmx.v1beta1.ContractRegistrationRequestProposal': + return 'wasmx/ContractRegistrationRequestProposal'; + case 'injective.wasmx.v1beta1.BatchContractRegistrationRequestProposal': + return 'wasmx/BatchContractRegistrationRequestProposal'; + + // Token factory + case 'injective.tokenfactory.v1beta1.MsgCreateDenom': + return 'injective/tokenfactory/create-denom'; + case 'injective.tokenfactory.v1beta1.MsgMint': + return 'injective/tokenfactory/mint'; + case 'injective.tokenfactory.v1beta1.MsgBurn': + return 'injective/tokenfactory/burn'; + case 'injective.tokenfactory.v1beta1.MsgSetDenomMetadata': + return 'injective/tokenfactory/set-denom-metadata'; + // Auth + case 'cosmos.auth.v1beta1.MsgUpdateParams': + return 'cosmos-sdk/x/auth/MsgUpdateParams'; + + // Authz + case 'cosmos.authz.v1beta1.MsgGrant': + return 'cosmos-sdk/MsgGrant'; + case 'cosmos.authz.v1beta1.MsgRevoke': + return 'cosmos-sdk/MsgRevoke'; + case 'cosmos.authz.v1beta1.MsgExec': + return 'cosmos-sdk/MsgExec'; + + // Bank + case 'cosmos.bank.v1beta1.MsgSend': + return 'cosmos-sdk/MsgSend'; + case 'cosmos.bank.v1beta1.MsgMultiSend': + return 'cosmos-sdk/MsgMultiSend'; + case 'cosmos.bank.v1beta1.MsgUpdateParams': + return 'cosmos-sdk/x/bank/MsgUpdateParams'; + + // Distribution + case 'cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward': + return 'cosmos-sdk/MsgWithdrawDelegationReward'; + case 'cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission': + return 'cosmos-sdk/MsgWithdrawValCommission'; + case 'cosmos.distribution.v1beta1.MsgSetWithdrawAddress': + return 'cosmos-sdk/MsgModifyWithdrawAddress'; + case 'cosmos.distribution.v1beta1.MsgFundCommunityPool': + return 'cosmos-sdk/MsgFundCommunityPool'; + case 'cosmos.distribution.v1beta1.MsgUpdateParams': + return 'cosmos-sdk/distribution/MsgUpdateParams'; + + // Gov + case 'cosmos.gov.v1beta1.MsgSubmitProposal': + return 'cosmos-sdk/MsgSubmitProposal'; + case 'cosmos.gov.v1beta1.MsgDeposit': + return 'cosmos-sdk/MsgDeposit'; + case 'cosmos.gov.v1.MsgDeposit': + return 'cosmos-sdk/v1/MsgDeposit'; + case 'cosmos.gov.v1beta1.MsgVote': + return 'cosmos-sdk/MsgVote'; + case 'cosmos.gov.v1.MsgVote': + return 'cosmos-sdk/v1/MsgVote'; + case 'cosmos.gov.v1beta1.MsgVoteWeighted': + return 'cosmos-sdk/MsgVoteWeighted'; + + // Staking + case 'cosmos.staking.v1beta1.MsgCreateValidator': + return 'cosmos-sdk/MsgCreateValidator'; + case 'cosmos.staking.v1beta1.MsgEditValidator': + return 'cosmos-sdk/MsgEditValidator'; + case 'cosmos.staking.v1beta1.MsgDelegate': + return 'cosmos-sdk/MsgDelegate'; + case 'cosmos.staking.v1beta1.MsgUndelegate': + return 'cosmos-sdk/MsgUndelegate'; + case 'cosmos.staking.v1beta1.MsgBeginRedelegate': + return 'cosmos-sdk/MsgBeginRedelegate'; + case 'cosmos.staking.v1beta1.MsgCancelUnbondingDelegation': + return 'cosmos-sdk/MsgCancelUnbondingDelegation'; + case 'cosmos.staking.v1beta1.MsgUpdateParams': + return 'cosmos-sdk/x/staking/MsgUpdateParams'; + + // IBC + case 'ibc.applications.transfer.v1.MsgTransfer': + return 'cosmos-sdk/MsgTransfer'; + + // feegrant + case 'cosmos.feegrant.v1beta1.MsgGrantAllowance': + return 'cosmos-sdk/MsgGrantAllowance'; + case 'cosmos.feegrant.v1beta1.MsgRevokeAllowance': + return 'cosmos-sdk/MsgRevokeAllowance'; + + default: + throw new GeneralException(new Error('Unknown message type: ' + type)); + } +}; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/types.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/types.ts new file mode 100644 index 00000000..5d186ef5 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/types.ts @@ -0,0 +1,28 @@ +export interface TypedDataField { + name: string; + type: string; +} + +export type Eip712ConvertTxArgs = { + accountNumber: string; + sequence: string; + timeoutHeight: string; + chainId: string; + memo?: string; +}; + +export type Eip712ConvertFeeArgs = { + amount?: { + amount: string; + denom: string; + }[]; + gas?: string; + feePayer?: string; +}; + +export interface TypedDataField { + name: string; + type: string; +} + +export type MapOfTypedDataField = Map; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/utils.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/utils.ts new file mode 100644 index 00000000..2bd2c176 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/eip712/utils.ts @@ -0,0 +1,222 @@ +import { EthereumChainId } from '../../../../types/enums'; +import { BigNumberInBase } from '../../../../utils/classes'; +import { DEFAULT_GAS_LIMIT, DEFAULT_STD_FEE } from '../../../../utils/constants'; +import { Eip712ConvertFeeArgs, Eip712ConvertTxArgs } from './types'; + +export const getEip712Domain = (ethereumChainId: EthereumChainId) => { + return { + domain: { + name: 'Injective Web3', + version: '1.0.0', + chainId: '0x' + new BigNumberInBase(ethereumChainId).toString(16), + salt: '0', + verifyingContract: 'cosmos', + }, + }; +}; + +export const getEip712DomainV2 = (ethereumChainId: EthereumChainId) => { + return { + domain: { + name: 'Injective Web3', + version: '1.0.0', + chainId: '0x' + new BigNumberInBase(ethereumChainId).toString(16), + verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + salt: '0', + }, + }; +}; + +export const getDefaultEip712Types = () => { + return { + types: { + EIP712Domain: [ + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'chainId', type: 'uint256' }, + { name: 'verifyingContract', type: 'string' }, + { name: 'salt', type: 'string' }, + ], + Tx: [ + { name: 'account_number', type: 'string' }, + { name: 'chain_id', type: 'string' }, + { name: 'fee', type: 'Fee' }, + { name: 'memo', type: 'string' }, + { name: 'msgs', type: 'Msg[]' }, + { name: 'sequence', type: 'string' }, + { name: 'timeout_height', type: 'string' }, + ], + Fee: [ + { name: 'amount', type: 'Coin[]' }, + { name: 'gas', type: 'string' }, + ], + Coin: [ + { name: 'denom', type: 'string' }, + { name: 'amount', type: 'string' }, + ], + Msg: [ + { name: 'type', type: 'string' }, + { name: 'value', type: 'MsgValue' }, + ], + }, + }; +}; + +export const getDefaultEip712TypesV2 = () => { + return { + types: { + EIP712Domain: [ + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'chainId', type: 'uint256' }, + { name: 'verifyingContract', type: 'address' }, + { name: 'salt', type: 'string' }, + ], + Tx: [ + { name: 'context', type: 'string' }, + { name: 'msgs', type: 'string' }, + ], + }, + }; +}; + +export const getEip712Fee = ( + params?: Eip712ConvertFeeArgs, +): { + fee: { + amount: { amount: string; denom: string }[]; + gas: string; + feePayer?: string; + }; +} => { + if (!params) { + return { + fee: DEFAULT_STD_FEE, + }; + } + + const { amount, gas, feePayer } = { + amount: params.amount || DEFAULT_STD_FEE.amount, + gas: params.gas || DEFAULT_GAS_LIMIT.toFixed(), + feePayer: params.feePayer, + }; + + return { + fee: { + feePayer: feePayer, + gas, + amount, + }, + }; +}; + +export const getEip712FeeV2 = ( + params?: Eip712ConvertFeeArgs, +): { + fee: { + amount: { denom: string; amount: string }[]; + gas: number; + payer?: string; + }; +} => { + if (!params) { + return { + fee: { + amount: [ + { + denom: DEFAULT_STD_FEE.amount[0].denom, + amount: DEFAULT_STD_FEE.amount[0].amount, + }, + ], + gas: Number(DEFAULT_STD_FEE.gas), + }, + }; + } + + const amountFromParams = (params.amount || DEFAULT_STD_FEE.amount)[0]; + const { amount, gas, payer } = { + amount: [ + { + denom: amountFromParams.denom, + amount: amountFromParams.amount, + }, + ], + gas: Number(params.gas || DEFAULT_GAS_LIMIT.toFixed()), + payer: params.feePayer, + }; + + return { + fee: { + amount, + gas, + payer: payer, + }, + }; +}; + +export const getTypesIncludingFeePayer = ({ + fee, + types, +}: { + fee?: Eip712ConvertFeeArgs; + types: ReturnType; +}) => { + if (!fee) { + return types; + } + + if (!fee.feePayer) { + return types; + } + + types.types['Fee'].unshift({ name: 'feePayer', type: 'string' }); + + return types; +}; + +export const getEipTxDetails = ({ + accountNumber, + sequence, + timeoutHeight, + chainId, + memo, +}: Eip712ConvertTxArgs): { + account_number: string; + chain_id: string; + sequence: string; + timeout_height: string; + memo: string; +} => { + return { + account_number: accountNumber, + chain_id: chainId, + timeout_height: timeoutHeight, + memo: memo || '', + sequence, + }; +}; + +export const getEipTxContext = ({ + accountNumber, + sequence, + fee, + timeoutHeight, + chainId, + memo, +}: Eip712ConvertTxArgs & { fee?: Eip712ConvertFeeArgs }): { + account_number: number; + chain_id: string; + sequence: number; + fee: Record; + timeout_height: number; + memo: string; +} => { + return { + account_number: Number(accountNumber), + chain_id: chainId, + ...getEip712FeeV2(fee), + memo: memo || '', + sequence: Number(sequence), + timeout_height: Number(timeoutHeight), + }; +}; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/index.ts new file mode 100644 index 00000000..a22a5253 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/index.ts @@ -0,0 +1,9 @@ +import { CosmosTxV1Beta1Tx } from '../../../core-proto-ts'; + +export * from './api'; +export * from './eip712'; +export * from './tx'; +export * from './types'; +export * from './utils'; + +export { CosmosTxV1Beta1Tx }; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/tx.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/tx.ts new file mode 100644 index 00000000..aafa887d --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/tx.ts @@ -0,0 +1,139 @@ +import { DirectSignResponse } from '@cosmjs/proto-signing'; +import { keccak256 } from 'ethereumjs-util'; + +import { CosmosTxV1Beta1Tx } from '../../../core-proto-ts'; +import { DEFAULT_STD_FEE, getStdFeeFromString } from '../../../utils'; +import { CreateTransactionArgs, CreateTransactionResult, CreateTransactionWithSignersArgs } from './types/tx'; +import { SIGN_DIRECT } from './utils/constants'; +import { createAuthInfo, createBody, createFee, createSignDoc, createSigners } from './utils/tx'; + +/** + * @typedef {Object} CreateTransactionWithSignersArgs + * @param {CreateTransactionWithSignersArgs} params + * @property {Msg | Msg[]} message - the Cosmos messages to wrap them in a transaction + * @property {string} memo - the memo to attach to the transaction + * @property {StdFee} fee - the fee to attach to the transaction + * @property {SignerDetails} signers - the signers of the transaction + * @property {number} number - the account number to attach to the transaction + * @property {number} chainId - the chain-id to attach to the transaction + * @property {string} pubKey - the account pubKey to attach to the transaction (in base64) + * + * @typedef {Object} CreateTransactionResult + * @property {TxRaw} txRaw - the Tx raw that was created + * @property {SignDoc} signDoc - the SignDoc that was created - used for signing of the transaction + * @property {SignerDetails} signers - the signers of the transaction + * @property {Uint8Array} bodyBytes - the body bytes of the transaction + * @property {Uint8Array} authInfoBytes - the auth info bytes of the transaction + * @property {Uint8Array} signBytes - the sign bytes of the transaction (SignDoc serialized to binary) + * @property {Uint8Array} signHashedBytes - the sign bytes of the transaction (SignDoc serialized to binary) and hashed using keccak256 + * @returns {CreateTransactionResult} result + */ +export const createTransactionWithSigners = ({ + signers, + chainId, + message, + timeoutHeight, + memo = '', + fee = DEFAULT_STD_FEE, + signMode = SIGN_DIRECT, +}: CreateTransactionWithSignersArgs): CreateTransactionResult => { + const actualSigners = Array.isArray(signers) ? signers : [signers]; + const [signer] = actualSigners; + + const body = createBody({ message, memo, timeoutHeight }); + const actualFee = typeof fee === 'string' ? getStdFeeFromString(fee) : fee; + const feeMessage = createFee({ + fee: actualFee.amount[0], + payer: actualFee.payer, + granter: actualFee.granter, + gasLimit: parseInt(actualFee.gas, 10), + }); + + const signInfo = createSigners({ + chainId, + mode: signMode, + signers: actualSigners, + }); + + const authInfo = createAuthInfo({ + signerInfo: signInfo, + fee: feeMessage, + }); + + const bodyBytes = CosmosTxV1Beta1Tx.TxBody.encode(body).finish(); + const authInfoBytes = CosmosTxV1Beta1Tx.AuthInfo.encode(authInfo).finish(); + + const signDoc = createSignDoc({ + chainId, + bodyBytes: bodyBytes, + authInfoBytes: authInfoBytes, + accountNumber: signer.accountNumber, + }); + + const signDocBytes = CosmosTxV1Beta1Tx.SignDoc.encode(signDoc).finish(); + + const toSignBytes = Buffer.from(signDocBytes); + const toSignHash = keccak256(Buffer.from(signDocBytes)); + + const txRaw = CosmosTxV1Beta1Tx.TxRaw.fromPartial({}); + txRaw.authInfoBytes = authInfoBytes; + txRaw.bodyBytes = bodyBytes; + + return { + txRaw, + signDoc, + signers, + signer, + signBytes: toSignBytes, + signHashedBytes: toSignHash, + bodyBytes: bodyBytes, + authInfoBytes: authInfoBytes, + }; +}; + +/** + * @typedef {Object} CreateTransactionArgs + * @param {CreateTransactionArgs} params + * @property {MsgArg | MsgArg[]} message - the Cosmos messages to wrap them in a transaction + * @property {string} memo - the memo to attach to the transaction + * @property {StdFee} fee - the fee to attach to the transaction + * @property {string} sequence - the account sequence to attach to the transaction + * @property {number} number - the account number to attach to the transaction + * @property {number} chainId - the chain-id to attach to the transaction + * @property {string} pubKey - the account pubKey to attach to the transaction (in base64) + * + * @typedef {Object} CreateTransactionResult + * @property {TxRaw} txRaw // the Tx raw that was created + * @property {SignDoc} signDoc // the SignDoc that was created - used for signing of the transaction + * @property {number} accountNumber // the account number of the signer of the transaction + * @property {Uint8Array} bodyBytes // the body bytes of the transaction + * @property {Uint8Array} authInfoBytes // the auth info bytes of the transaction + * @property {Uint8Array} signBytes // the sign bytes of the transaction (SignDoc serialized to binary) + * @property {Uint8Array} signHashedBytes // the sign bytes of the transaction (SignDoc serialized to binary) and hashed using keccak256 + * @returns {CreateTransactionResult} result + */ +export const createTransaction = (args: CreateTransactionArgs): CreateTransactionResult => { + return createTransactionWithSigners({ + ...args, + signers: { + pubKey: args.pubKey, + accountNumber: args.accountNumber, + sequence: args.sequence, + }, + }); +}; + +export const createTxRawFromSigResponse = (response: CosmosTxV1Beta1Tx.TxRaw | DirectSignResponse) => { + if ((response as DirectSignResponse).signed === undefined) { + return response as CosmosTxV1Beta1Tx.TxRaw; + } + + const directSignResponse = response as DirectSignResponse; + + const txRaw = CosmosTxV1Beta1Tx.TxRaw.fromPartial({}); + txRaw.authInfoBytes = directSignResponse.signed.authInfoBytes; + txRaw.bodyBytes = directSignResponse.signed.bodyBytes; + txRaw.signatures = [Buffer.from(directSignResponse.signature.signature, 'base64')]; + + return txRaw; +}; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/types/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/types/index.ts new file mode 100644 index 00000000..25fba038 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/types/index.ts @@ -0,0 +1,2 @@ +export * from './tx'; +export * from './tx-rest-client'; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/types/tx-rest-client.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/types/tx-rest-client.ts new file mode 100644 index 00000000..fc95abde --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/types/tx-rest-client.ts @@ -0,0 +1,106 @@ +import { CosmosTxV1Beta1Tx, TendermintCryptoKeys } from '../../../../core-proto-ts'; + +/* eslint-disable camelcase */ +export interface RestSignerInfo { + public_key: TendermintCryptoKeys.PublicKey | null; + mode_info: CosmosTxV1Beta1Tx.ModeInfo; + sequence: string; +} + +export interface RestAuthInfo { + signer_infos: RestSignerInfo[]; + fee: CosmosTxV1Beta1Tx.Fee; +} + +export interface RestTxBody { + messages: any[]; + memo: string; + timeout_height: string; +} + +export interface RestTx { + body: RestTxBody; + auth_info: RestAuthInfo; + signatures: string[]; +} + +export interface RestTxLog { + msg_index: number; + log: string; + events: { type: string; attributes: { key: string; value: string }[] }[]; +} + +export interface TxInfoResponse { + height: string; + txhash: string; + codespace: string; + code: number; + data: string; + raw_log: string; + logs: RestTxLog[]; + info: string; + gas_wanted: string; + gas_used: string; + tx: RestTx; + timestamp: string; +} + +export interface TxInfo { + height: string; + txhash: string; + codespace: string; + code: number; + data: string; + rawLog: string; + gasWanted: string; + gasUsed: string; + logs: RestTxLog[]; + info: string; + tx: RestTx; + timestamp: string; +} + +export enum BroadcastMode { + Sync = 'BROADCAST_MODE_SYNC', + Async = 'BROADCAST_MODE_ASYNC', + Block = 'BROADCAST_MODE_BLOCK', +} + +export enum BroadcastModeKeplr { + Sync = 'sync', + Async = 'async', + Block = 'block', +} + +export interface TxResultResponse { + tx: RestTx; + tx_response: TxInfoResponse; +} + +export interface TxResult { + tx: RestTx; + txResponse: TxInfo; +} + +export interface TxSearchResult { + pagination: any; + txs: TxInfo[]; +} + +export interface TxSearchResultParams { + txs: RestTx[]; + tx_responses: TxInfo; + pagination: any; +} + +export interface SimulationResponse { + gas_info: { + gas_wanted: string; + gas_used: string; + }; + result: { + data: string; + log: string; + events: { type: string; attributes: { key: string; value: string }[] }[]; + }; +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/types/tx.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/types/tx.ts new file mode 100644 index 00000000..f673c86d --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/types/tx.ts @@ -0,0 +1,117 @@ +import { StdFee } from '@cosmjs/amino'; + +import { + CosmosTxSigningV1Beta1Signing, + CosmosTxV1Beta1Service, + CosmosTxV1Beta1Tx, + GoogleProtobufAny, +} from '../../../../core-proto-ts'; +import { Msgs } from '../../msgs'; + +export interface TxClientBroadcastOptions { + mode?: CosmosTxV1Beta1Service.BroadcastMode; + timeout?: number; // timeout in ms + txTimeout?: number; // blocks to wait for tx to be included in a block +} + +export interface TxClientBroadcastResponse { + height: number; + txHash: string; + codespace: string; + code: number; + data?: string; + rawLog: string; + logs?: any[]; + info?: string; + gasWanted: number; + gasUsed: number; + timestamp: string; + events?: any[]; +} + +export interface TxClientSimulateResponse { + result: { + data: Uint8Array | string; + log: string; + eventsList: any[]; + }; + gasInfo: { + gasWanted: number; + gasUsed: number; + }; +} + +export interface TxConcreteApi { + broadcast(txRaw: CosmosTxV1Beta1Tx.TxRaw, options?: TxClientBroadcastOptions): Promise; + broadcastBlock(txRaw: CosmosTxV1Beta1Tx.TxRaw): Promise; + fetchTx(txHash: string): Promise; + fetchTxPoll(txHash: string): Promise; + simulate(txRaw: CosmosTxV1Beta1Tx.TxRaw): Promise; +} + +export enum TxClientMode { + gRpc = 'grpc', + rest = 'rest', +} + +export type MsgArg = { + type: string; + message: any; +}; + +export interface SignerDetails { + pubKey: string | GoogleProtobufAny.Any; // the pubKey of the signer of the transaction in base64 or protobuf Any + sequence: number; // the sequence (nonce) of the signer of the transaction + accountNumber: number; // the account number of the signer of the transaction +} + +/** @type {CreateTransactionWithSignersArgs} */ +export interface CreateTransactionWithSignersArgs { + fee?: StdFee | string; // the fee to include in the transaction + memo?: string; // the memo to include in the transaction + chainId: string; // the chain id of the chain that the transaction is going to be broadcasted to + message: Msgs | Msgs[]; // the message that should be packed into the transaction + signers: SignerDetails | SignerDetails[]; // the signers of the transaction + signMode?: CosmosTxSigningV1Beta1Signing.SignMode; + timeoutHeight?: number; // the height at which the transaction should be considered invalid +} + +/** @type {CreateTransactionArgs} */ +export interface CreateTransactionArgs { + fee?: StdFee; // the fee to include in the transaction + memo?: string; // the memo to include in the transaction + chainId: string; // the chain id of the chain that the transaction is going to be broadcasted to + message: Msgs | Msgs[]; // the message that should be packed into the transaction + pubKey: string; // the pubKey of the signer of the transaction in base64 + sequence: number; // the sequence (nonce) of the signer of the transaction + accountNumber: number; // the account number of the signer of the transaction + signMode?: CosmosTxSigningV1Beta1Signing.SignMode; + timeoutHeight?: number; // the height at which the transaction should be considered invalid +} + +/** @type {CreateTransactionResult} */ +export interface CreateTransactionResult { + txRaw: CosmosTxV1Beta1Tx.TxRaw; // the Tx raw that was created + signDoc: CosmosTxV1Beta1Tx.SignDoc; // the SignDoc that was created - used for signing of the transaction + bodyBytes: Uint8Array; // the body bytes of the transaction + signers: SignerDetails | SignerDetails[]; // the signers of the transaction + signer: SignerDetails; // the signer of the transaction + authInfoBytes: Uint8Array; // the auth info bytes of the transaction + signBytes: Uint8Array; // the sign bytes of the transaction (SignDoc serialized to binary) + signHashedBytes: Uint8Array; // the sign bytes of the transaction (SignDoc serialized to binary) and hashed using keccak256 +} + +export interface TxResponse { + height: number; + txHash: string; + codespace: string; + code: number; + data?: string; + rawLog: string; + logs?: any[]; + info?: string; + gasWanted: number; + gasUsed: number; + timestamp: string; + events?: any[]; +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/classes/TxClient.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/classes/TxClient.ts new file mode 100644 index 00000000..c3e2fe3a --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/classes/TxClient.ts @@ -0,0 +1,28 @@ +import { CosmosTxV1Beta1Tx } from '../../../../../core-proto-ts'; +import { hashToHex } from '../../../../../utils/crypto'; + +export class TxClient { + /** + * Encode a transaction to base64-encoded protobuf + * @param tx transaction to encode + */ + public static encode(tx: CosmosTxV1Beta1Tx.TxRaw): string { + return Buffer.from(CosmosTxV1Beta1Tx.TxRaw.encode(tx).finish()).toString('base64'); + } + + /** + * Decode a transaction from base64-encoded protobuf + * @param tx transaction string to decode + */ + public static decode(encodedTx: string): CosmosTxV1Beta1Tx.TxRaw { + return CosmosTxV1Beta1Tx.TxRaw.decode(Buffer.from(encodedTx, 'base64')); + } + + /** + * Get the transaction's hash + * @param tx transaction to hash + */ + public static hash(tx: CosmosTxV1Beta1Tx.TxRaw): string { + return hashToHex(TxClient.encode(tx)); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/constants.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/constants.ts new file mode 100644 index 00000000..48ee5e95 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/constants.ts @@ -0,0 +1,6 @@ +import { CosmosTxSigningV1Beta1Signing } from '../../../../core-proto-ts'; + +export const SIGN_DIRECT = CosmosTxSigningV1Beta1Signing.SignMode.SIGN_MODE_DIRECT; +export const SIGN_AMINO = CosmosTxSigningV1Beta1Signing.SignMode.SIGN_MODE_LEGACY_AMINO_JSON; +export const SIGN_EIP712 = CosmosTxSigningV1Beta1Signing.SignMode.SIGN_MODE_LEGACY_AMINO_JSON; +export const SIGN_EIP712_V2 = CosmosTxSigningV1Beta1Signing.SignMode.SIGN_MODE_EIP712_V2; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/helpers.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/helpers.ts new file mode 100644 index 00000000..ee24f1ef --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/helpers.ts @@ -0,0 +1,50 @@ +import { GoogleProtobufAny } from '../../../../core-proto-ts'; +import { getEthereumAddress, getInjectiveAddress } from '../../../../utils/address'; + +export const createAnyMessage = (msg: { type: string; value: Uint8Array }) => { + const message = GoogleProtobufAny.Any.fromPartial({}); + message.typeUrl = `${msg.type.startsWith('/') ? '' : '/'}${msg.type}`; + message.value = msg.value; + + return message; +}; + +export const createAny = (value: any, type: string) => { + const message = GoogleProtobufAny.Any.fromPartial({}); + message.typeUrl = type; + message.value = value; + + return message; +}; + +export const getInjectiveSignerAddress = (address: string | undefined) => { + if (!address) { + return ''; + } + + if (address.startsWith('inj')) { + return address; + } + + if (address.startsWith('0x')) { + return getInjectiveAddress(address); + } + + return ''; +}; + +export const getEthereumSignerAddress = (address: string | undefined) => { + if (!address) { + return ''; + } + + if (address.startsWith('0x')) { + return address; + } + + if (address.startsWith('inj')) { + return getEthereumAddress(address); + } + + return ''; +}; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/index.ts new file mode 100644 index 00000000..3623791a --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/index.ts @@ -0,0 +1,4 @@ +export * from './classes/TxClient'; +export * from './constants'; +export * from './helpers'; +export * from './tx'; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/tx.ts b/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/tx.ts new file mode 100644 index 00000000..9bed9771 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/tx/utils/tx.ts @@ -0,0 +1,287 @@ +import { SignDoc } from 'cosmjs-types/cosmos/tx/v1beta1/tx'; +import { TxBody } from 'cosmjs-types/cosmos/tx/v1beta1/tx'; + +import { + CosmosBaseV1Beta1Coin, + CosmosCryptoSecp256k1Keys, + CosmosTxSigningV1Beta1Signing, + CosmosTxV1Beta1Tx, + GoogleProtobufAny, + InjectiveTypesV1TxExt, +} from '../../../../core-proto-ts'; +import { ChainId, EthereumChainId } from '../../../../types/enums'; +import { getStdFee } from '../../../../utils/helpers'; +import { Msgs } from '../../msgs'; +import { createAny, createAnyMessage } from './helpers'; +export const getPublicKey = ({ chainId, key }: { chainId: string; key: string | GoogleProtobufAny.Any }) => { + if (typeof key !== 'string') { + return key; + } + + let proto; + let path; + let baseProto; + + if (chainId.startsWith('injective')) { + proto = CosmosCryptoSecp256k1Keys.PubKey.fromPartial({}); + baseProto = CosmosCryptoSecp256k1Keys.PubKey; + path = '/injective.crypto.v1beta1.ethsecp256k1.PubKey'; + } else if (chainId.startsWith('evmos')) { + proto = CosmosCryptoSecp256k1Keys.PubKey.fromPartial({}); + baseProto = CosmosCryptoSecp256k1Keys.PubKey; + path = '/ethermint.crypto.v1.ethsecp256k1.PubKey'; + } else { + proto = CosmosCryptoSecp256k1Keys.PubKey.fromPartial({}); + baseProto = CosmosCryptoSecp256k1Keys.PubKey; + path = '/cosmos.crypto.secp256k1.PubKey'; + } + + proto.key = Buffer.from(key, 'base64'); + + return createAny(baseProto.encode(proto).finish(), path); +}; + +export const createBody = ({ + message, + memo = '', + timeoutHeight, +}: { + message: Msgs | Msgs[]; + memo?: string; + timeoutHeight?: number; +}) => { + const messages = Array.isArray(message) ? message : [message]; + + const txBody = CosmosTxV1Beta1Tx.TxBody.fromPartial({}); + + txBody.messages = messages.map((message) => + createAnyMessage({ + value: message.toBinary(), + type: message.toDirectSign().type, + }), + ); + + txBody.memo = memo; + + if (timeoutHeight) { + txBody.timeoutHeight = BigInt(timeoutHeight.toString()); + } + + return txBody; +}; + +export const createFee = ({ + fee, + payer, + granter, + gasLimit, +}: { + fee: { amount: string; denom: string }; + payer?: string; + granter?: string; + gasLimit: number; +}) => { + const feeAmount = CosmosBaseV1Beta1Coin.Coin.fromPartial({}); + feeAmount.amount = fee.amount; + feeAmount.denom = fee.denom; + + const feeProto = CosmosTxV1Beta1Tx.Fee.fromPartial({}); + feeProto.gasLimit = BigInt(gasLimit.toString()); + feeProto.amount = [feeAmount]; + + if (payer) { + feeProto.payer = payer; + } + + if (granter) { + feeProto.granter = granter; + } + + return feeProto; +}; + +export const createSigners = ({ + chainId, + mode, + signers, +}: { + chainId: string; + signers: { pubKey: string | GoogleProtobufAny.Any; sequence: number }[]; + mode: CosmosTxSigningV1Beta1Signing.SignMode; +}) => { + return signers.map((s) => + createSignerInfo({ + mode, + chainId, + publicKey: s.pubKey, + sequence: s.sequence, + }), + ); +}; + +export const createSignerInfo = ({ + chainId, + publicKey, + sequence, + mode, +}: { + chainId: string; + publicKey: string | GoogleProtobufAny.Any; + sequence: number; + mode: CosmosTxSigningV1Beta1Signing.SignMode; +}) => { + const pubKey = getPublicKey({ chainId, key: publicKey }); + + const single = CosmosTxV1Beta1Tx.ModeInfo_Single.fromPartial({}); + single.mode = mode; + + const modeInfo = CosmosTxV1Beta1Tx.ModeInfo.fromPartial({}); + modeInfo.single = single; + + const signerInfo = CosmosTxV1Beta1Tx.SignerInfo.fromPartial({}); + signerInfo.publicKey = pubKey; + signerInfo.sequence = BigInt(sequence.toString()); + signerInfo.modeInfo = modeInfo; + + return signerInfo; +}; + +export const createAuthInfo = ({ + signerInfo, + fee, +}: { + signerInfo: CosmosTxV1Beta1Tx.SignerInfo[]; + fee: CosmosTxV1Beta1Tx.Fee; +}) => { + const authInfo = CosmosTxV1Beta1Tx.AuthInfo.fromPartial({}); + authInfo.signerInfos = signerInfo; + authInfo.fee = fee; + + return authInfo; +}; + +export const createSignDoc = ({ + bodyBytes, + authInfoBytes, + chainId, + accountNumber, +}: { + bodyBytes: Uint8Array; + authInfoBytes: Uint8Array; + chainId: string; + accountNumber: number; +}) => { + const signDoc = CosmosTxV1Beta1Tx.SignDoc.fromPartial({}); + + signDoc.accountNumber = BigInt(accountNumber.toString()); + signDoc.chainId = chainId; + signDoc.bodyBytes = bodyBytes; + signDoc.authInfoBytes = authInfoBytes; + + return signDoc; +}; + +export const createSignDocFromTransaction = (args: { + txRaw: CosmosTxV1Beta1Tx.TxRaw; + chainId: string; + accountNumber: number; +}) => { + return CosmosTxV1Beta1Tx.SignDoc.fromPartial({ + bodyBytes: args.txRaw.bodyBytes, + authInfoBytes: args.txRaw.authInfoBytes, + accountNumber: BigInt(args.accountNumber.toString()), + chainId: args.chainId, + }); +}; + +export const createCosmosSignDocFromSignDoc = (signDoc: CosmosTxV1Beta1Tx.SignDoc): SignDoc => { + return SignDoc.fromPartial({ + bodyBytes: signDoc.bodyBytes, + authInfoBytes: signDoc.authInfoBytes, + accountNumber: signDoc.accountNumber.toString(), + chainId: signDoc.chainId, + }); +}; + +export const createTxRawEIP712 = ( + txRaw: CosmosTxV1Beta1Tx.TxRaw, + extension: InjectiveTypesV1TxExt.ExtensionOptionsWeb3Tx, +) => { + const body = TxBody.decode(txRaw.bodyBytes); + const extensionAny = createAny( + InjectiveTypesV1TxExt.ExtensionOptionsWeb3Tx.encode(extension).finish(), + '/injective.types.v1beta1.ExtensionOptionsWeb3Tx', + ); + + body.extensionOptions = [extensionAny]; + + txRaw.bodyBytes = TxBody.encode(body).finish(); + + return txRaw; +}; + +export const createWeb3Extension = ({ + ethereumChainId, + feePayer, + feePayerSig, +}: { + ethereumChainId: EthereumChainId; + feePayer?: string; + feePayerSig?: Uint8Array; +}) => { + const web3Extension = InjectiveTypesV1TxExt.ExtensionOptionsWeb3Tx.fromPartial({}); + web3Extension.typedDataChainID = BigInt(ethereumChainId.toString()); + + if (feePayer) { + web3Extension.feePayer = feePayer; + } + + if (feePayerSig) { + web3Extension.feePayerSig = feePayerSig; + } + + return web3Extension; +}; + +export const getTransactionPartsFromTxRaw = ( + txRaw: CosmosTxV1Beta1Tx.TxRaw, +): { + authInfo: CosmosTxV1Beta1Tx.AuthInfo; + body: CosmosTxV1Beta1Tx.TxBody; + signatures: Uint8Array[]; +} => { + const authInfo = CosmosTxV1Beta1Tx.AuthInfo.decode(txRaw.authInfoBytes); + const body = CosmosTxV1Beta1Tx.TxBody.decode(txRaw.bodyBytes); + + return { + body, + authInfo, + signatures: txRaw.signatures, + }; +}; + +export const getAminoStdSignDoc = ({ + memo, + chainId, + accountNumber, + timeoutHeight, + sequence, + gas, + msgs, +}: { + memo?: string; + chainId: ChainId; + timeoutHeight?: string; + accountNumber: number; + sequence: number; + gas?: string; + msgs: Msgs[]; +}) => ({ + chain_id: chainId, + timeout_height: timeoutHeight || '', + account_number: accountNumber.toString(), + sequence: sequence.toString(), + fee: getStdFee({ gas }), + msgs: msgs.map((m) => m.toAmino()), + memo: memo || '', +}); diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/utils.ts b/packages/wallet-sdk/src/proto/injective/core/modules/utils.ts new file mode 100644 index 00000000..f08f4eff --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/utils.ts @@ -0,0 +1,21 @@ +export function prepareSignBytes(obj: any): any { + if (Array.isArray(obj)) { + return obj.map(prepareSignBytes); + } + + // string, number, or null + if (typeof obj !== `object` || obj === null) { + return obj; + } + + const sorted: any = {}; + + Object.keys(obj) + .sort() + .forEach((key) => { + if (obj[key] === undefined || obj[key] === null) return; + sorted[key] = prepareSignBytes(obj[key]); + }); + + return sorted; +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/wasm/index.ts b/packages/wallet-sdk/src/proto/injective/core/modules/wasm/index.ts new file mode 100644 index 00000000..bc7a0765 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/wasm/index.ts @@ -0,0 +1,4 @@ +import MsgExecuteContract from './msgs/MsgExecuteContract'; +import MsgExecuteContractCompat from './msgs/MsgExecuteContractCompat'; + +export { MsgExecuteContract, MsgExecuteContractCompat }; diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/wasm/msgs/MsgExecuteContract.ts b/packages/wallet-sdk/src/proto/injective/core/modules/wasm/msgs/MsgExecuteContract.ts new file mode 100644 index 00000000..dccd357c --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/wasm/msgs/MsgExecuteContract.ts @@ -0,0 +1,153 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +import { CosmosBaseV1Beta1Coin, CosmwasmWasmV1Tx } from '../../../../core-proto-ts'; +import { GeneralException } from '../../../../exceptions/src'; +import { convertToSnakeCase } from '../../../../utils'; +import { fromUtf8 } from '../../../../utils/utf8'; +import { MsgBase } from '../../MsgBase'; + +export declare namespace MsgExecuteContract { + export interface Params { + /* Keep in mind that funds have to be lexicographically sorted by denom */ + funds?: + | { + denom: string; + amount: string; + } + | { + denom: string; + amount: string; + }[]; + sender: string; + contractAddress: string; + /* Used to provide type safety for execution messages */ + execArgs?: any; + /* Pass any arbitrary message object to execute */ + exec?: { + msg: object; + action: string; + }; + /** + * Same as exec but you don't pass + * the action as a separate property + * but as a whole object + */ + msg?: object; + } + + export type Proto = CosmwasmWasmV1Tx.MsgExecuteContract; + + export type Object = Omit & { + msg: any; + }; +} + +/** + * @category Messages + */ +export default class MsgExecuteContract extends MsgBase< + MsgExecuteContract.Params, + MsgExecuteContract.Proto, + MsgExecuteContract.Object +> { + static fromJSON(params: MsgExecuteContract.Params): MsgExecuteContract { + return new MsgExecuteContract(params); + } + + public toProto() { + const { params } = this; + + const message = CosmwasmWasmV1Tx.MsgExecuteContract.fromPartial({}); + const msg = this.getMsgObject(); + + message.msg = fromUtf8(JSON.stringify(msg)); + message.sender = params.sender; + message.contract = params.contractAddress; + + if (params.funds) { + const fundsToArray = Array.isArray(params.funds) ? params.funds : [params.funds]; + + const funds = fundsToArray.map((coin) => { + const funds = CosmosBaseV1Beta1Coin.Coin.fromPartial({}); + + funds.amount = coin.amount; + funds.denom = coin.denom; + + return funds; + }); + + message.funds = funds; + } + + return CosmwasmWasmV1Tx.MsgExecuteContract.fromPartial(message); + } + + public toData() { + const proto = this.toProto(); + + return { + '@type': '/cosmwasm.wasm.v1.MsgExecuteContract', + ...proto, + }; + } + + public toAmino() { + const proto = this.toProto(); + + const message = { + ...convertToSnakeCase(proto), + msg: this.getMsgObject(), + }; + + return { + type: 'wasm/MsgExecuteContract', + value: message as unknown as MsgExecuteContract.Object, + }; + } + + public toWeb3() { + const amino = this.toAmino(); + const { value } = amino; + + return { + '@type': '/cosmwasm.wasm.v1.MsgExecuteContract', + ...value, + }; + } + + public toDirectSign() { + const proto = this.toProto(); + + return { + type: '/cosmwasm.wasm.v1.MsgExecuteContract', + message: proto, + }; + } + + public toBinary(): Uint8Array { + return CosmwasmWasmV1Tx.MsgExecuteContract.encode(this.toProto()).finish(); + } + + private getMsgObject() { + const { params } = this; + + if ((params.exec || params.msg) && params.execArgs) { + throw new GeneralException(new Error('Please provide only one exec|msg argument')); + } + + if (params.execArgs) { + return params.execArgs.toExecData(); + } + + if (params.exec) { + return { + [params.exec.action]: params.exec.msg, + }; + } + + if (params.msg) { + return params.msg; + } + + throw new GeneralException(new Error('Please provide at least one exec argument')); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/core/modules/wasm/msgs/MsgExecuteContractCompat.ts b/packages/wallet-sdk/src/proto/injective/core/modules/wasm/msgs/MsgExecuteContractCompat.ts new file mode 100644 index 00000000..331813d2 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/core/modules/wasm/msgs/MsgExecuteContractCompat.ts @@ -0,0 +1,171 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +import { InjectiveWasmxV1Beta1Tx } from '../../../../core-proto-ts'; +import { GeneralException } from '../../../../exceptions/src'; +import { convertToSnakeCase } from '../../../../utils'; +import { MsgBase } from '../../MsgBase'; + +export declare namespace MsgExecuteContractCompat { + export interface Params { + /* Keep in mind that funds have to be lexicographically sorted by denom */ + funds?: + | { + denom: string; + amount: string; + } + | { + denom: string; + amount: string; + }[]; + sender: string; + contractAddress: string; + + /* Used to provide type safety for execution messages */ + execArgs?: any; + + /* + * Pass any arbitrary message object to execute + * example: + exec: { + action: "transfer", + msg: { + recipient: recipientAddress, + amount: 100000, + }, + }, + */ + exec?: { + msg: Record; + action: string; + }; + + /** + * Same as exec but you don't pass + * the action as a separate property + * but as a whole object + * example: + msg: { + reset: { + count: 10 + }, + }, + */ + msg?: Record; + } + + export type Proto = InjectiveWasmxV1Beta1Tx.MsgExecuteContractCompat; + + export type Object = Omit & { + msg: string; + }; +} + +/** + * @category Messages + */ +export default class MsgExecuteContractCompat extends MsgBase< + MsgExecuteContractCompat.Params, + MsgExecuteContractCompat.Proto, + MsgExecuteContractCompat.Object +> { + static fromJSON(params: MsgExecuteContractCompat.Params): MsgExecuteContractCompat { + return new MsgExecuteContractCompat(params); + } + + public toProto() { + const { params } = this; + + const message = InjectiveWasmxV1Beta1Tx.MsgExecuteContractCompat.fromPartial({}); + const msg = this.getMsgObject(); + + message.msg = JSON.stringify(msg); + message.sender = params.sender; + message.contract = params.contractAddress; + + if (params.funds) { + const fundsToArray = Array.isArray(params.funds) ? params.funds : [params.funds]; + + const funds = fundsToArray.map((coin) => { + return `${coin.amount}${coin.denom}`; + }); + + message.funds = funds.join(','); + } else { + message.funds = '0'; + } + + return InjectiveWasmxV1Beta1Tx.MsgExecuteContractCompat.fromPartial(message); + } + + public toData() { + const proto = this.toProto(); + + return { + '@type': '/injective.wasmx.v1.MsgExecuteContractCompat', + ...proto, + }; + } + + public toAmino() { + const proto = this.toProto(); + const message = { + ...convertToSnakeCase(proto), + msg: JSON.stringify(this.getMsgObject()), + }; + + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + delete message.funds_list; + + return { + type: 'wasmx/MsgExecuteContractCompat', + value: message, + }; + } + + public toWeb3() { + const amino = this.toAmino(); + const { value } = amino; + + return { + '@type': '/injective.wasmx.v1.MsgExecuteContractCompat', + ...value, + }; + } + + public toDirectSign() { + const proto = this.toProto(); + + return { + type: '/injective.wasmx.v1.MsgExecuteContractCompat', + message: proto, + }; + } + + public toBinary(): Uint8Array { + return InjectiveWasmxV1Beta1Tx.MsgExecuteContractCompat.encode(this.toProto()).finish(); + } + + private getMsgObject() { + const { params } = this; + + if ((params.exec || params.msg) && params.execArgs) { + throw new GeneralException(new Error('Please provide only one exec|msg argument')); + } + + if (params.execArgs) { + return params.execArgs.toExecData(); + } + + if (params.exec) { + return { + [params.exec.action]: params.exec.msg, + }; + } + + if (params.msg) { + return params.msg; + } + + throw new GeneralException(new Error('Please provide at least one exec argument')); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/exceptions/src/exception.ts b/packages/wallet-sdk/src/proto/injective/exceptions/src/exception.ts new file mode 100644 index 00000000..9bc4fc76 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/exceptions/src/exception.ts @@ -0,0 +1,202 @@ +/* eslint-disable class-methods-use-this */ +import { ErrorCode, ErrorContext, ErrorContextCode, ErrorType, Exception, UnspecifiedErrorCode } from './types'; +import { toPascalCase } from './utils'; + +export abstract class ConcreteException extends Error implements Exception { + /** + * The name of the error class as it the constructor.name might + * give a minified class name when we bundle using webpack + */ + public static errorClass = ''; + + /** + * The type of the Error + */ + public type: ErrorType = ErrorType.Unspecified; + + /** + * Error specific code (HttpStatus, GrpcStatus, etc) + */ + public code: ErrorCode = UnspecifiedErrorCode; + + /** + * The name of the error (the name of the instance of the Exception) + */ + public name!: string; + + /** + * The name of the error (the name of the instance of the Exception) + * Needed for reporting reasons, ex: bugsnag + */ + public errorClass!: string; + + /** + * Providing more context + * (ex: endpoint on http request) + */ + public context?: string; + + /** + * Providing more context as to where the exception was thrown + * (ex: on-chain module, etc) + */ + public contextModule?: string; + + /** + * Providing more context as to why the exception was thrown + * (ex: on-chain error code, etc) + */ + public contextCode?: ErrorContextCode; + + /** + * Parsed message of the exception + */ + public message: string = ''; + + /** + * The original stack of the error + */ + public stack?: string = ''; + + /** + * The original message of the error + */ + public originalMessage: string = ''; + + constructor(error: Error, context?: ErrorContext) { + super(error.message); + this.parseError(error); + this.parseContext(context); + this.parse(); + } + + public parse(): void { + // + } + + public parseError(error: Error) { + this.setName(this.errorClass || this.constructor.name); + this.setStack(error.stack || ''); + this.setMessage(error.message); + this.originalMessage = error.message; + } + + public parseContext(errorContext?: ErrorContext) { + const { contextModule, type, code, context } = errorContext || { + contextModule: '', + context: '', + code: UnspecifiedErrorCode, + type: ErrorType.Unspecified, + }; + + this.context = context; + this.contextModule = contextModule; + this.type = type || ErrorType.Unspecified; + this.code = code || UnspecifiedErrorCode; + } + + public setType(type: ErrorType) { + this.type = type; + } + + public setCode(code: ErrorCode) { + this.code = code; + } + + public setContext(context: string) { + this.context = context; + } + + public setOriginalMessage(message: string) { + this.originalMessage = message; + } + + public setStack(stack: string) { + try { + this.stack = stack; + } catch (e) { + // throw nothing here + } + } + + public setName(name: string) { + super.name = name; + this.name = name; + this.errorClass = name; + } + + public setMessage(message: string) { + super.message = message; + this.message = message; + } + + public setContextModule(contextModule: string) { + this.contextModule = contextModule; + } + + public setContextCode(code: ErrorContextCode) { + this.contextCode = code; + } + + public toOriginalError(): Error { + const error = new Error(this.originalMessage); + error.stack = this.stack; + error.name = this.name || ''; + + return error; + } + + public toError(): Error { + const error = new Error(this.message); + error.stack = this.stack; + error.name = this.name || ''; + + return error; + } + + public toCompactError(): Error { + const name = this.name || toPascalCase(this.type); + + const error = new Error( + `${this.message} | ${JSON.stringify({ + originalMessage: this.originalMessage, + message: this.message, + errorClass: name, + code: this.code, + type: this.type, + context: this.context, + contextModule: this.contextModule, + contextCode: this.contextCode, + stack: (this.stack || '').split('\n').map((line) => line.trim()), + })}`, + ); + error.stack = this.stack; + error.name = this.name || toPascalCase(this.type); + + return error; + } + + public toJson(): string { + return JSON.stringify({ error: this.message, stack: this.stack }); + } + + public toObject() { + const name = this.name || toPascalCase(this.type); + + return { + message: this.message, + originalMessage: this.originalMessage, + errorClass: name, + code: this.code, + type: this.type, + context: this.context, + contextModule: this.contextModule, + contextCode: this.contextCode, + stack: (this.stack || '').split('\n').map((line) => line.trim()), + }; + } + + public toString() { + return this.message; + } +} diff --git a/packages/wallet-sdk/src/proto/injective/exceptions/src/exceptions/GeneralException.ts b/packages/wallet-sdk/src/proto/injective/exceptions/src/exceptions/GeneralException.ts new file mode 100644 index 00000000..233a9b14 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/exceptions/src/exceptions/GeneralException.ts @@ -0,0 +1,5 @@ +import { ConcreteException } from '../exception'; + +export class GeneralException extends ConcreteException { + public errorClass: string = 'GeneralException'; +} diff --git a/packages/wallet-sdk/src/proto/injective/exceptions/src/exceptions/HttpRequestException.ts b/packages/wallet-sdk/src/proto/injective/exceptions/src/exceptions/HttpRequestException.ts new file mode 100644 index 00000000..a63f09ff --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/exceptions/src/exceptions/HttpRequestException.ts @@ -0,0 +1,15 @@ +import { ConcreteException } from '../exception'; +import { ErrorContext, ErrorType, HttpRequestMethod } from '../types'; + +export class HttpRequestException extends ConcreteException { + public errorClass: string = 'HttpRequestException'; + + public method: HttpRequestMethod = HttpRequestMethod.Get; + + constructor(error: Error, context?: ErrorContext & { method?: HttpRequestMethod }) { + super(error, context); + + this.type = ErrorType.HttpRequest; + this.method = context ? context.method || HttpRequestMethod.Get : HttpRequestMethod.Get; + } +} diff --git a/packages/wallet-sdk/src/proto/injective/exceptions/src/exceptions/TransactionException.ts b/packages/wallet-sdk/src/proto/injective/exceptions/src/exceptions/TransactionException.ts new file mode 100644 index 00000000..f498281a --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/exceptions/src/exceptions/TransactionException.ts @@ -0,0 +1,31 @@ +import { ConcreteException } from '../exception'; +import { ErrorContext, ErrorType } from '../types'; +import { mapFailedTransactionMessage, parseErrorMessage } from '../utils/maps'; + +export class TransactionException extends ConcreteException { + public errorClass: string = 'TransactionException'; + + constructor(error: Error, context?: ErrorContext) { + super(error, context); + + this.type = ErrorType.ChainError; + } + + public parse(): void { + const { message, contextModule, contextCode } = this; + + const { + code, + message: parsedMessage, + contextModule: parsedContextModule, + } = mapFailedTransactionMessage(message, { contextCode, contextModule }); + + this.setMessage(parsedMessage); + this.setContextCode(code); + this.setOriginalMessage(parseErrorMessage(message)); + + if (parsedContextModule) { + this.setContextModule(parsedContextModule); + } + } +} diff --git a/packages/wallet-sdk/src/proto/injective/exceptions/src/exceptions/index.ts b/packages/wallet-sdk/src/proto/injective/exceptions/src/exceptions/index.ts new file mode 100644 index 00000000..1535490a --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/exceptions/src/exceptions/index.ts @@ -0,0 +1,37 @@ +import { ConcreteException } from '../exception'; +import { Exception } from '../types'; +import { GeneralException } from './GeneralException'; +import { HttpRequestException } from './HttpRequestException'; +import { TransactionException } from './TransactionException'; + +export type ThrownException = HttpRequestException | GeneralException | TransactionException; + +export const isThrownException = (exception: Error | Exception): boolean => { + if (exception instanceof ConcreteException) { + return true; + } + + if ( + [ + 'GrpcUnaryRequestException', + 'HttpRequestException', + 'Web3Exception', + 'GeneralException', + 'LedgerException', + 'LedgerCosmosException', + 'MetamaskException', + 'TrezorException', + 'CosmosWalletException', + 'TransactionException', + 'WalletException', + 'TrustWalletException', + 'OkxWalletException', + ].includes(exception.constructor.name) + ) { + return true; + } + + return false; +}; + +export { GeneralException, HttpRequestException, TransactionException }; diff --git a/packages/wallet-sdk/src/proto/injective/exceptions/src/index.ts b/packages/wallet-sdk/src/proto/injective/exceptions/src/index.ts new file mode 100644 index 00000000..60e39ccd --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/exceptions/src/index.ts @@ -0,0 +1,4 @@ +export * from './exception'; +export * from './exceptions'; +export * from './types'; +export * from './utils'; diff --git a/packages/wallet-sdk/src/proto/injective/exceptions/src/messages.ts b/packages/wallet-sdk/src/proto/injective/exceptions/src/messages.ts new file mode 100644 index 00000000..8ec2789e --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/exceptions/src/messages.ts @@ -0,0 +1,1869 @@ +import { + ChainAuctionErrorCodes, + ChainAuthZErrorCodes, + ChainBankErrorCodes, + ChainCosmosErrorCode, + ChainDistributionErrorCodes, + ChainExchangeModuleErrorCode, + ChainGovErrorCodes, + ChainInsuranceErrorCodes, + ChainOcrErrorCodes, + ChainOracleErrorCodes, + ChainPeggyErrorCodes, + ChainStakingErrorCodes, + ChainTokenFactoryErrorCodes, + ChainWasmErrorCodes, + ChainWasmXErrorCodes, + ErrorContextCode, + TransactionChainErrorModule, +} from './types'; + +const auctionErrorMap = { + [ChainAuctionErrorCodes.ErrBidInvalid]: 'The gas limit provided in the transaction is not valid', + [ChainAuctionErrorCodes.ErrBidRound]: 'The gas limit provided in the transaction is not valid', +}; + +const authZErrorMap = { + // ErrNoAuthorizationFound error if there is no authorization found given a grant key + [ChainAuthZErrorCodes.ErrNoAuthorizationFound]: 'Authorization not found', + // ErrInvalidExpirationTime error if the set expiration time is in the past + [ChainAuthZErrorCodes.ErrInvalidExpirationTime]: 'Expiration time of authorization should be more than current time', + // ErrUnknownAuthorizationType error for unknown authorization type + [ChainAuthZErrorCodes.ErrUnknownAuthorizationType]: 'Unknown authorization type', + // ErrNoGrantKeyFound error if the requested grant key does not exist + [ChainAuthZErrorCodes.ErrNoGrantKeyFound]: 'Grant key not found', + // ErrAuthorizationExpired error if the authorization has expired + [ChainAuthZErrorCodes.ErrAuthorizationExpired]: 'Authorization expired', + // ErrGranteeIsGranter error if the grantee and the granter are the same + [ChainAuthZErrorCodes.ErrGranteeIsGranter]: 'Grantee and granter should be different', + // ErrAuthorizationNumOfSigners error if an authorization message does not have only one signer + [ChainAuthZErrorCodes.ErrAuthorizationNumOfSigners]: 'Authorization can be given to msg with only one signer', + // ErrNegativeMaxTokens error if the max tokens is negative + [ChainAuthZErrorCodes.ErrNegativeMaxTokens]: 'Max tokens should be positive', +}; + +const cosmosErrorMap = { + [ChainCosmosErrorCode.ErrInsufficientFee]: 'You do not have enough funds to cover the transaction fees.', + [ChainCosmosErrorCode.ErrInsufficientFunds]: 'You do not have enough funds.', + [ChainCosmosErrorCode.ErrTxTimeoutHeight]: 'The transaction failed to be included within a block on time.', + [ChainCosmosErrorCode.ErrTxDecode]: 'There is an issue while parsing the transaction', + [ChainCosmosErrorCode.ErrInvalidSequence]: 'The sequence number is not valid', + [ChainCosmosErrorCode.ErrUnauthorized]: 'Unauthorized', + [ChainCosmosErrorCode.ErrUnknownRequest]: 'The request is not known', + [ChainCosmosErrorCode.ErrInvalidAddress]: 'The address is not valid', + [ChainCosmosErrorCode.ErrInvalidPubKey]: 'The public key is not valid', + [ChainCosmosErrorCode.ErrUnknownAddress]: 'The address is unknown', + [ChainCosmosErrorCode.ErrInvalidCoins]: 'The coins are not valid', + [ChainCosmosErrorCode.ErrOutOfGas]: 'The transaction run out of gas', + [ChainCosmosErrorCode.ErrMemoTooLarge]: 'The memo field in the transaction is too large', + [ChainCosmosErrorCode.ErrTooManySignatures]: 'The transaction exceeded the maximum number of signatures', + [ChainCosmosErrorCode.ErrNoSignatures]: 'There are no signatures appended on the transaction', + [ChainCosmosErrorCode.ErrJSONMarshal]: 'There is an issue while parsing the transaction', + [ChainCosmosErrorCode.ErrJSONUnmarshal]: 'There is an issue while parsing the transaction', + [ChainCosmosErrorCode.ErrInvalidRequest]: 'invalid request', + [ChainCosmosErrorCode.ErrTxInMempoolCache]: 'The transaction is already in the mempool', + [ChainCosmosErrorCode.ErrMempoolIsFull]: 'The mempool is full', + [ChainCosmosErrorCode.ErrTxTooLarge]: 'The transaction is too large', + [ChainCosmosErrorCode.ErrKeyNotFound]: 'The key has not been found', + [ChainCosmosErrorCode.ErrWrongPassword]: 'invalid account password', + [ChainCosmosErrorCode.ErrorInvalidSigner]: 'tx intended signer does not match the given signer', + [ChainCosmosErrorCode.ErrorInvalidGasAdjustment]: 'invalid gas adjustment', + [ChainCosmosErrorCode.ErrInvalidHeight]: 'The height provided in the transaction is not valid', + [ChainCosmosErrorCode.ErrInvalidVersion]: 'The version provided in the transaction is not valid', + [ChainCosmosErrorCode.ErrInvalidChainID]: 'The chainId provided in the transaction is not valid', + [ChainCosmosErrorCode.ErrInvalidType]: 'The type provided in the transaction is not valid', + [ChainCosmosErrorCode.ErrUnknownExtensionOptions]: 'The extension options provided in the transaction is unknown', + [ChainCosmosErrorCode.ErrWrongSequence]: 'The sequence number provided in the transaction is incorrect', + [ChainCosmosErrorCode.ErrPackAny]: 'failed packing protobuf message to Any', + [ChainCosmosErrorCode.ErrUnpackAny]: 'failed unpacking protobuf message from Any', + [ChainCosmosErrorCode.ErrLogic]: 'Internal logic error', + [ChainCosmosErrorCode.ErrConflict]: 'conflict', + [ChainCosmosErrorCode.ErrNotSupported]: 'The feature is not supported', + [ChainCosmosErrorCode.ErrNotFound]: 'not found', + [ChainCosmosErrorCode.ErrIO]: 'Internal IO error', + [ChainCosmosErrorCode.ErrAppConfig]: 'error in app.toml', + [ChainCosmosErrorCode.ErrInvalidGasLimit]: 'The gas limit provided in the transaction is not valid', +}; + +const exchangeErrorMap = { + [ChainExchangeModuleErrorCode.ErrOrderInvalid]: 'Your order failed to validate', + [ChainExchangeModuleErrorCode.ErrSpotMarketNotFound]: 'The spot market has not been found', + [ChainExchangeModuleErrorCode.ErrSpotMarketExists]: 'The spot market already exists', + [ChainExchangeModuleErrorCode.ErrBadField]: 'There is an issue with your order', + [ChainExchangeModuleErrorCode.ErrMarketInvalid]: 'The market failed to validate', + [ChainExchangeModuleErrorCode.ErrInsufficientDeposit]: 'Your trading account has insufficient funds', + [ChainExchangeModuleErrorCode.ErrUnrecognizedOrderType]: 'The order type is not recognized', + [ChainExchangeModuleErrorCode.ErrInsufficientPositionQuantity]: 'The position quantity is insufficient for the order', + [ChainExchangeModuleErrorCode.ErrOrderHashInvalid]: 'The order hash is not valid', + [ChainExchangeModuleErrorCode.ErrBadSubaccountID]: 'The subaccount id is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidBaseDenom]: '', + [ChainExchangeModuleErrorCode.ErrInvalidExpiry]: 'The expiry date is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidPrice]: 'The price is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidQuantity]: 'The quantity is not valid', + [ChainExchangeModuleErrorCode.ErrUnsupportedOracleType]: 'The oracle type is not supported', + [ChainExchangeModuleErrorCode.ErrOrderDoesntExist]: 'The order does not exist', + [ChainExchangeModuleErrorCode.ErrOrderbookFillInvalid]: '', + [ChainExchangeModuleErrorCode.ErrPerpetualMarketExists]: 'The perpetual market already exists', + [ChainExchangeModuleErrorCode.ErrExpiryFuturesMarketExists]: 'The expiry futures market market already exists', + [ChainExchangeModuleErrorCode.ErrExpiryFuturesMarketExpired]: 'The expiry futures market has expired', + [ChainExchangeModuleErrorCode.ErrNoLiquidity]: 'There is not enough liquidity', + [ChainExchangeModuleErrorCode.ErrSlippageExceedsWorstPrice]: 'There is not enough liquidity', + [ChainExchangeModuleErrorCode.ErrInsufficientOrderMargin]: 'The order has insufficient margin', + [ChainExchangeModuleErrorCode.ErrDerivativeMarketNotFound]: 'The derivative market cannot be found', + [ChainExchangeModuleErrorCode.ErrPositionNotFound]: 'The position cannot be found', + [ChainExchangeModuleErrorCode.ErrInvalidReduceOnlyPositionDirection]: + 'Position direction does not oppose the reduce-only order', + [ChainExchangeModuleErrorCode.ErrPriceSurpassesBankruptcyPrice]: 'Your order price surpasses bankruptcy price', + [ChainExchangeModuleErrorCode.ErrPositionNotLiquidable]: 'The position is not liquidable', + [ChainExchangeModuleErrorCode.ErrInvalidTriggerPrice]: 'Your order trigger price is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidOracleType]: 'The oracle type is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidPriceTickSize]: 'The minimum price tick size is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidQuantityTickSize]: 'The minimum quantity tick size is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidMargin]: "Your order's minimum margin is not valid ", + [ChainExchangeModuleErrorCode.ErrExceedsOrderSideCount]: + 'You cannot have more orders for this market for this direction', + [ChainExchangeModuleErrorCode.ErrMarketOrderAlreadyExists]: 'You cannot place another market order within this block', + [ChainExchangeModuleErrorCode.ErrConditionalMarketOrderAlreadyExists]: + 'You cannot place another conditional market order', + [ChainExchangeModuleErrorCode.ErrMarketLaunchProposalAlreadyExists]: + 'There is an existing equivalent market launch proposal.', + [ChainExchangeModuleErrorCode.ErrInvalidMarketStatus]: 'The market status is not valid', + [ChainExchangeModuleErrorCode.ErrSameDenoms]: 'The base denom and quote denom cannot be same', + [ChainExchangeModuleErrorCode.ErrSameOracles]: 'The oracle base and the oracle quote cannot be the same', + [ChainExchangeModuleErrorCode.ErrFeeRatesRelation]: 'The MakerFeeRate does not match TakerFeeRate requirements', + [ChainExchangeModuleErrorCode.ErrMarginsRelation]: + 'The MaintenanceMarginRatio cannot be greater than InitialMarginRatio', + [ChainExchangeModuleErrorCode.ErrExceedsMaxOracleScaleFactor]: + 'The OracleScaleFactor cannot be greater than MaxOracleScaleFactor', + [ChainExchangeModuleErrorCode.ErrSpotExchangeNotEnabled]: 'Spot exchange is not enabled yet', + [ChainExchangeModuleErrorCode.ErrDerivativesExchangeNotEnabled]: 'Derivatives exchange is not enabled yet', + [ChainExchangeModuleErrorCode.ErrOraclePriceDeltaExceedsThreshold]: 'The oracle price delta exceeds threshold', + [ChainExchangeModuleErrorCode.ErrInvalidHourlyInterestRate]: 'The hourly interest rate is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidHourlyFundingRateCap]: 'The hourly funding rate cap is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidMarketFundingParamUpdate]: + 'You can only update funding parameters on perpetual markets.', + [ChainExchangeModuleErrorCode.ErrInvalidTradingRewardCampaign]: 'The trading reward campaign is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidFeeDiscountSchedule]: 'The fee discount schedule is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidLiquidationOrder]: 'The liquidation order is not valid', + [ChainExchangeModuleErrorCode.ErrTradingRewardCampaignDistributionError]: + 'Unknown error happened for campaign distributions', + [ChainExchangeModuleErrorCode.ErrInvalidTradingRewardsPendingPointsUpdate]: + 'The updated trading reward points is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidBatchMsgUpdate]: 'The MsgBatchUpdate is not valid', + [ChainExchangeModuleErrorCode.ErrExceedsTopOfBookPrice]: + 'The post-only order price exceeds top of the orderbook price', + [ChainExchangeModuleErrorCode.ErrInvalidOrderTypeForMessage]: 'The order type is not supported for this message', + [ChainExchangeModuleErrorCode.ErrInvalidDMMSender]: 'The sender must match the DMM address', + [ChainExchangeModuleErrorCode.ErrAlreadyOptedOutOfRewards]: 'The DMM address already opted out of rewards', + [ChainExchangeModuleErrorCode.ErrInvalidMarginRatio]: 'The margin ratio is not valid', + [ChainExchangeModuleErrorCode.ErrBelowMinimalContribution]: 'The provided funds are below minimum', + [ChainExchangeModuleErrorCode.ErrLowPositionMargin]: 'The position is below initial margin requirement', + [ChainExchangeModuleErrorCode.ErrInvalidTotalSupply]: 'The pool has non-positive total LP token supply', + [ChainExchangeModuleErrorCode.ErrInvalidLpTokenBurnAmount]: + 'The passed LP token burn amount is greater than total LP token supply', + [ChainExchangeModuleErrorCode.ErrUnsupportedAction]: 'This action is not supported', + [ChainExchangeModuleErrorCode.ErrNegativePositionQuantity]: 'The position quantity cannot be negative', + [ChainExchangeModuleErrorCode.ErrBinaryOptionsMarketExists]: 'The BinaryOptions market already exists', + [ChainExchangeModuleErrorCode.ErrBinaryOptionsMarketNotFound]: 'The BinaryOptions market cannot be found', + [ChainExchangeModuleErrorCode.ErrInvalidSettlement]: 'The settlement price is not valid', + [ChainExchangeModuleErrorCode.ErrAccountDoesntExist]: 'The trading account does not exist', + [ChainExchangeModuleErrorCode.ErrSenderIsNotAnAdmin]: 'The sender should be the admin of the market', + [ChainExchangeModuleErrorCode.ErrMarketAlreadyScheduledToSettle]: 'The market is already scheduled to settle ', + [ChainExchangeModuleErrorCode.ErrGenericMarketNotFound]: 'The market cannot be found', + [ChainExchangeModuleErrorCode.ErrInvalidDenomDecimal]: + 'The denom decimal cannot be below 1 or above max scale factor', + [ChainExchangeModuleErrorCode.ErrInvalidState]: 'The state is not valid', + [ChainExchangeModuleErrorCode.ErrTransientOrdersUpToCancelNotSupported]: + 'The transient orders up to cancellation not supported', + [ChainExchangeModuleErrorCode.ErrInvalidTrade]: 'The trade is not valid', + [ChainExchangeModuleErrorCode.ErrNoMarginLocked]: 'There is no margin locked in the trading account', + [ChainExchangeModuleErrorCode.ErrInvalidAccessLevel]: 'There is no access to perform action', + [ChainExchangeModuleErrorCode.ErrInvalidAddress]: 'The address is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidArgument]: 'The argument is not valid', + [ChainExchangeModuleErrorCode.ErrInvalidFundsDirection]: 'Invalid funds direction', + [ChainExchangeModuleErrorCode.ErrNoFundsProvided]: 'No funds provided', + [ChainExchangeModuleErrorCode.ErrInvalidSignature]: 'Invalid signature', + [ChainExchangeModuleErrorCode.ErrNoFundsToUnlock]: 'No funds to unlock', + [ChainExchangeModuleErrorCode.ErrNoMsgsProvided]: 'No msgs provided', + [ChainExchangeModuleErrorCode.ErrNoMsgProvided]: 'No msg provided', + [ChainExchangeModuleErrorCode.ErrInvalidAmount]: 'Invalid amount', + [ChainExchangeModuleErrorCode.ErrFeatureDisabled]: 'The current feature has been disabled', + [ChainExchangeModuleErrorCode.ErrTooMuchOrderMargin]: 'Order has too much margin', + [ChainExchangeModuleErrorCode.ErrBadSubaccountNonce]: 'Subaccount nonce is invalid', + [ChainExchangeModuleErrorCode.ErrInsufficientFunds]: 'Insufficient funds', + [ChainExchangeModuleErrorCode.ErrPostOnlyMode]: + 'Only post-only actions available for approximately 30 minutes after a chain upgrade.', + [ChainExchangeModuleErrorCode.ErrClientOrderIdAlreadyExists]: 'Client order id already exists', + [ChainExchangeModuleErrorCode.ErrInvalidCid]: 'Client order id is invalid. Max length is 36 chars', +}; + +const insuranceErrorMap = { + [ChainInsuranceErrorCodes.ErrInsuranceFundAlreadyExists]: 'The insurance fund already exists', + [ChainInsuranceErrorCodes.ErrInsuranceFundNotFound]: 'The insurance fund is not found', + [ChainInsuranceErrorCodes.ErrRedemptionAlreadyExists]: 'The redemption already exists', + [ChainInsuranceErrorCodes.ErrInvalidDepositAmount]: 'The deposit amount is not valid', + [ChainInsuranceErrorCodes.ErrInvalidDepositDenom]: 'The deposit denom is not valid', + [ChainInsuranceErrorCodes.ErrPayoutTooLarge]: 'The insurance fund payout exceeds the deposits', + [ChainInsuranceErrorCodes.ErrInvalidTicker]: 'The ticker is not valid', + [ChainInsuranceErrorCodes.ErrInvalidQuoteDenom]: 'The quote denom is not valid', + [ChainInsuranceErrorCodes.ErrInvalidOracle]: 'The oracle is not valid', + [ChainInsuranceErrorCodes.ErrInvalidExpirationTime]: 'The expiration time is not valid', + [ChainInsuranceErrorCodes.ErrInvalidMarketID]: 'The marketId is not valid', + [ChainInsuranceErrorCodes.ErrInvalidShareDenom]: 'The share denom is not valid', +}; + +const ocrErrorMap = { + [ChainOcrErrorCodes.ErrStaleReport]: 'stale report', + [ChainOcrErrorCodes.ErrIncompleteProposal]: 'incomplete proposal', + [ChainOcrErrorCodes.ErrRepeatedAddress]: 'repeated oracle address', + [ChainOcrErrorCodes.ErrTooManySigners]: 'too many signers', + [ChainOcrErrorCodes.ErrIncorrectConfig]: 'incorrect config', + [ChainOcrErrorCodes.ErrConfigDigestNotMatch]: "config digest doesn't match", + [ChainOcrErrorCodes.ErrWrongNumberOfSignatures]: 'wrong number of signatures', + [ChainOcrErrorCodes.ErrIncorrectSignature]: 'incorrect signature', + [ChainOcrErrorCodes.ErrNoTransmitter]: 'no transmitter specified', + [ChainOcrErrorCodes.ErrIncorrectTransmissionData]: 'incorrect transmission data', + [ChainOcrErrorCodes.ErrNoTransmissionsFound]: 'no transmissions found', + [ChainOcrErrorCodes.ErrMedianValueOutOfBounds]: 'median value is out of bounds', + [ChainOcrErrorCodes.ErrIncorrectRewardPoolDenom]: "LINK denom doesn't match", + [ChainOcrErrorCodes.ErrNoRewardPool]: "Reward Pool doesn't exist", + [ChainOcrErrorCodes.ErrInvalidPayees]: 'wrong number of payees and transmitters', + [ChainOcrErrorCodes.ErrModuleAdminRestricted]: 'action is restricted to the module admin', + [ChainOcrErrorCodes.ErrFeedAlreadyExists]: 'feed already exists', + [ChainOcrErrorCodes.ErrFeedDoesntExists]: 'feed doesnt exists', + [ChainOcrErrorCodes.ErrAdminRestricted]: 'action is admin-restricted', + [ChainOcrErrorCodes.ErrInsufficientRewardPool]: 'insufficient reward pool', + [ChainOcrErrorCodes.ErrPayeeAlreadySet]: 'payee already set', + [ChainOcrErrorCodes.ErrPayeeRestricted]: 'action is payee-restricted', + [ChainOcrErrorCodes.ErrFeedConfigNotFound]: 'feed config not found', +}; + +const oracleErrorMap = { + [ChainOracleErrorCodes.ErrEmptyRelayerAddr]: 'relayer address is empty', + [ChainOracleErrorCodes.ErrBadRatesCount]: 'bad rates count', + [ChainOracleErrorCodes.ErrBadResolveTimesCount]: 'bad resolve times', + [ChainOracleErrorCodes.ErrBadRequestIDsCount]: 'bad request ID', + [ChainOracleErrorCodes.ErrRelayerNotAuthorized]: 'relayer not authorized', + [ChainOracleErrorCodes.ErrBadPriceFeedBaseCount]: 'bad price feed base count', + [ChainOracleErrorCodes.ErrBadPriceFeedQuoteCount]: 'bad price feed quote count', + [ChainOracleErrorCodes.ErrUnsupportedOracleType]: 'unsupported oracle type', + [ChainOracleErrorCodes.ErrBadMessagesCount]: 'bad messages count', + [ChainOracleErrorCodes.ErrBadCoinbaseMessage]: 'bad Coinbase message', + [ChainOracleErrorCodes.ErrInvalidEthereumSignature]: 'bad Ethereum signature', + [ChainOracleErrorCodes.ErrBadCoinbaseMessageTimestamp]: 'bad Coinbase message timestamp', + [ChainOracleErrorCodes.ErrCoinbasePriceNotFound]: 'Coinbase price not found', + [ChainOracleErrorCodes.ErrBadPrice]: 'Prices must be positive', + [ChainOracleErrorCodes.ErrPriceTooLarge]: 'Prices must be less than 10 million.', + [ChainOracleErrorCodes.ErrInvalidBandIBCRequest]: 'Invalid Band IBC Request', + [ChainOracleErrorCodes.ErrSample]: 'sample error', + [ChainOracleErrorCodes.ErrInvalidPacketTimeout]: 'invalid packet timeout', + [ChainOracleErrorCodes.ErrBadSymbolsCount]: 'invalid symbols count', + [ChainOracleErrorCodes.ErrBadIBCPortBind]: 'could not claim port capability', + [ChainOracleErrorCodes.ErrInvalidPortID]: 'invalid IBC Port ID', + [ChainOracleErrorCodes.ErrInvalidChannelID]: 'invalid IBC Channel ID', + [ChainOracleErrorCodes.ErrBadRequestInterval]: 'invalid Band IBC request interval', + [ChainOracleErrorCodes.ErrInvalidBandIBCUpdateRequest]: 'Invalid Band IBC Update Request Proposal', + [ChainOracleErrorCodes.ErrBandIBCRequestNotFound]: 'Band IBC Oracle Request not found', + [ChainOracleErrorCodes.ErrEmptyBaseInfo]: 'Base Info is empty', + [ChainOracleErrorCodes.ErrEmptyProvider]: 'provider is empty', + [ChainOracleErrorCodes.ErrInvalidProvider]: 'invalid provider name', + [ChainOracleErrorCodes.ErrInvalidSymbol]: 'invalid symbol', + [ChainOracleErrorCodes.ErrRelayerAlreadyExists]: 'relayer already exists', + [ChainOracleErrorCodes.ErrProviderPriceNotFound]: 'provider price not found', + [ChainOracleErrorCodes.ErrInvalidOracleRequest]: 'invalid oracle request', + [ChainOracleErrorCodes.ErrOraclePriceNotFound]: 'no price for oracle was found', +}; + +const peggyErrorMap = { + [ChainPeggyErrorCodes.ErrInternal]: 'internal', + [ChainPeggyErrorCodes.ErrDuplicate]: 'duplicate', + [ChainPeggyErrorCodes.ErrInvalid]: 'invalid', + [ChainPeggyErrorCodes.ErrTimeout]: 'timeout', + [ChainPeggyErrorCodes.ErrUnknown]: 'unknown', + [ChainPeggyErrorCodes.ErrEmpty]: 'empty', + [ChainPeggyErrorCodes.ErrOutdated]: 'outdated', + [ChainPeggyErrorCodes.ErrUnsupported]: 'unsupported', + [ChainPeggyErrorCodes.ErrNonContiguousEventNonce]: 'non contiguous event nonce', + [ChainPeggyErrorCodes.ErrNoUnbatchedTxsFound]: 'no unbatched txs found', + [ChainPeggyErrorCodes.ErrResetDelegateKeys]: 'can not set orchestrator addresses more than once', + [ChainPeggyErrorCodes.ErrSupplyOverflow]: 'supply cannot exceed max ERC20 value', + [ChainPeggyErrorCodes.ErrInvalidEthSender]: 'invalid ethereum sender on claim', + [ChainPeggyErrorCodes.ErrInvalidEthDestination]: 'invalid ethereum destination', +}; + +const tokenFactoryErrorMap = { + [ChainTokenFactoryErrorCodes.ErrDenomExists]: 'attempting to create a denom that already exists', + [ChainTokenFactoryErrorCodes.ErrUnauthorized]: 'unauthorized account', + [ChainTokenFactoryErrorCodes.ErrInvalidDenom]: 'invalid denom', + [ChainTokenFactoryErrorCodes.ErrInvalidCreator]: 'invalid creator', + [ChainTokenFactoryErrorCodes.ErrInvalidAuthorityMetadata]: 'invalid authority metadata', + [ChainTokenFactoryErrorCodes.ErrInvalidGenesis]: 'invalid genesis', + [ChainTokenFactoryErrorCodes.ErrSubdenomTooLong]: 'subdenom too long', + [ChainTokenFactoryErrorCodes.ErrSubdenomTooShort]: 'subdenom too short', + [ChainTokenFactoryErrorCodes.ErrSubdenomNestedTooShort]: 'nested subdenom too short, each one should have at least', + [ChainTokenFactoryErrorCodes.ErrCreatorTooLong]: 'creator too long', + [ChainTokenFactoryErrorCodes.ErrDenomDoesNotExist]: 'denom does not exist', +}; + +const wasmxErrorMap = { + [ChainWasmXErrorCodes.ErrInvalidGasLimit]: 'invalid gas limit', + [ChainWasmXErrorCodes.ErrInvalidGasPrice]: 'invalid gas price', + [ChainWasmXErrorCodes.ErrInvalidContractAddress]: 'invalid contract address', + [ChainWasmXErrorCodes.ErrAlreadyRegistered]: 'contract already registered', + [ChainWasmXErrorCodes.ErrDuplicateContract]: 'duplicate contract', + [ChainWasmXErrorCodes.ErrNoContractAddresses]: 'no contract addresses found', + [ChainWasmXErrorCodes.ErrInvalidCodeId]: 'invalid code id', +}; + +const stakingErrorMap = { + [ChainStakingErrorCodes.ErrEmptyValidatorAddr]: 'empty validator address', + [ChainStakingErrorCodes.ErrNoValidatorFound]: 'validator does not exist', + [ChainStakingErrorCodes.ErrValidatorOwnerExists]: + 'validator already exist for this operator address; must use new validator operator address', + [ChainStakingErrorCodes.ErrValidatorPubKeyExists]: + 'validator already exist for this pubkey; must use new validator pubkey', + [ChainStakingErrorCodes.ErrValidatorPubKeyTypeNotSupported]: 'validator pubkey type is not supported', + [ChainStakingErrorCodes.ErrValidatorJailed]: 'validator for this address is currently jailed', + [ChainStakingErrorCodes.ErrBadRemoveValidator]: 'failed to remove validator', + [ChainStakingErrorCodes.ErrCommissionNegative]: 'commission must be positive', + [ChainStakingErrorCodes.ErrCommissionHuge]: 'commission cannot be more than 100%', + [ChainStakingErrorCodes.ErrCommissionGTMaxRate]: 'commission cannot be more than the max rate', + [ChainStakingErrorCodes.ErrCommissionUpdateTime]: 'commission cannot be changed more than once in 24h', + [ChainStakingErrorCodes.ErrCommissionChangeRateNegative]: 'commission change rate must be positive', + [ChainStakingErrorCodes.ErrCommissionChangeRateGTMaxRate]: 'commission change rate cannot be more than the max rate', + [ChainStakingErrorCodes.ErrCommissionGTMaxChangeRate]: 'commission cannot be changed more than max change rate', + [ChainStakingErrorCodes.ErrSelfDelegationBelowMinimum]: + "validator's self delegation must be greater than their minimum self delegation", + [ChainStakingErrorCodes.ErrMinSelfDelegationDecreased]: 'minimum self delegation cannot be decrease', + [ChainStakingErrorCodes.ErrEmptyDelegatorAddr]: 'empty delegator address', + [ChainStakingErrorCodes.ErrNoDelegation]: 'no delegation for (address, validator) tuple', + [ChainStakingErrorCodes.ErrBadDelegatorAddr]: 'delegator does not exist with address', + [ChainStakingErrorCodes.ErrNoDelegatorForAddress]: 'delegator does not contain delegation', + [ChainStakingErrorCodes.ErrInsufficientShares]: 'insufficient delegation shares', + [ChainStakingErrorCodes.ErrDelegationValidatorEmpty]: 'cannot delegate to an empty validator', + [ChainStakingErrorCodes.ErrNotEnoughDelegationShares]: 'not enough delegation shares', + [ChainStakingErrorCodes.ErrNotMature]: 'entry not mature', + [ChainStakingErrorCodes.ErrNoUnbondingDelegation]: 'no unbonding delegation found', + [ChainStakingErrorCodes.ErrMaxUnbondingDelegationEntries]: + 'too many unbonding delegation entries for (delegator, validator) tuple', + [ChainStakingErrorCodes.ErrNoRedelegation]: 'no redelegation found', + [ChainStakingErrorCodes.ErrSelfRedelegation]: 'cannot redelegate to the same validator', + [ChainStakingErrorCodes.ErrTinyRedelegationAmount]: 'too few tokens to redelegate (truncates to zero tokens)', + [ChainStakingErrorCodes.ErrBadRedelegationDst]: 'redelegation destination validator not found', + [ChainStakingErrorCodes.ErrTransitiveRedelegation]: + 'redelegation to this validator already in progress; first redelegation to this validator must complete before next redelegation', + [ChainStakingErrorCodes.ErrMaxRedelegationEntries]: + 'too many redelegation entries for (delegator, src-validator, dst-validator) tuple', + [ChainStakingErrorCodes.ErrDelegatorShareExRateInvalid]: 'cannot delegate to validators with invalid (zero) ex-rate', + [ChainStakingErrorCodes.ErrBothShareMsgsGiven]: 'both shares amount and shares percent provided', + [ChainStakingErrorCodes.ErrNeitherShareMsgsGiven]: 'neither shares amount nor shares percent provided', + [ChainStakingErrorCodes.ErrInvalidHistoricalInfo]: 'invalid historical info', + [ChainStakingErrorCodes.ErrNoHistoricalInfo]: 'no historical info found', + [ChainStakingErrorCodes.ErrEmptyValidatorPubKey]: 'empty validator public key', + [ChainStakingErrorCodes.ErrCommissionLTMinRate]: 'commission cannot be less than min rate', + [ChainStakingErrorCodes.ErrUnbondingNotFound]: 'unbonding operation not found', + [ChainStakingErrorCodes.ErrUnbondingOnHoldRefCountNegative]: 'cannot un-hold unbonding operation that is not on hold', +}; + +const govErrorMap = { + [ChainGovErrorCodes.ErrUnknownProposal]: 'unknown proposal', + [ChainGovErrorCodes.ErrInactiveProposal]: 'inactive proposal', + [ChainGovErrorCodes.ErrAlreadyActiveProposal]: 'proposal already active', + [ChainGovErrorCodes.ErrInvalidProposalContent]: 'invalid proposal content', + [ChainGovErrorCodes.ErrInvalidProposalType]: 'invalid proposal type', + [ChainGovErrorCodes.ErrInvalidVote]: 'invalid vote option', + [ChainGovErrorCodes.ErrInvalidGenesis]: 'invalid genesis state', + [ChainGovErrorCodes.ErrNoProposalHandlerExists]: 'no handler exists for proposal type', + [ChainGovErrorCodes.ErrUnroutableProposalMsg]: 'proposal message not recognized by router', + [ChainGovErrorCodes.ErrNoProposalMsgs]: 'no messages proposed', + [ChainGovErrorCodes.ErrInvalidProposalMsg]: 'invalid proposal message', + [ChainGovErrorCodes.ErrInvalidSigner]: 'expected gov account as only signer for proposal message', + [ChainGovErrorCodes.ErrInvalidSignalMsg]: 'signal message is invalid', + [ChainGovErrorCodes.ErrMetadataTooLong]: 'metadata too long', + [ChainGovErrorCodes.ErrMinDepositTooSmall]: 'minimum deposit is too small', + [ChainGovErrorCodes.ErrProposalNotFound]: 'proposal is not found', + [ChainGovErrorCodes.ErrInvalidProposer]: 'invalid proposer', + [ChainGovErrorCodes.ErrNoDeposits]: 'no deposits found', + [ChainGovErrorCodes.ErrVotingPeriodEnded]: 'voting period already ended', + [ChainGovErrorCodes.ErrInvalidProposal]: 'invalid proposal', +}; + +const bankErrorMap = { + [ChainBankErrorCodes.ErrNoInputs]: 'no inputs to send transaction', + [ChainBankErrorCodes.ErrNoOutputs]: 'no outputs to send transaction', + [ChainBankErrorCodes.ErrInputOutputMismatch]: 'sum inputs != sum outputs', + [ChainBankErrorCodes.ErrSendDisabled]: 'send transactions are disabled', + [ChainBankErrorCodes.ErrDenomMetadataNotFound]: 'client denom metadata not found', + [ChainBankErrorCodes.ErrInvalidKey]: 'invalid key', + [ChainBankErrorCodes.ErrDuplicateEntry]: 'duplicate entry', + [ChainBankErrorCodes.ErrMultipleSenders]: 'multiple senders not allowed', +}; + +const distributionErrorMap = { + [ChainDistributionErrorCodes.ErrEmptyDelegatorAddr]: 'delegator address is empty', + [ChainDistributionErrorCodes.ErrEmptyWithdrawAddr]: 'withdraw address is empty', + [ChainDistributionErrorCodes.ErrEmptyValidatorAddr]: 'validator address is empty', + [ChainDistributionErrorCodes.ErrEmptyDelegationDistInfo]: 'no delegation distribution info', + [ChainDistributionErrorCodes.ErrNoValidatorDistInfo]: 'no validator distribution info', + [ChainDistributionErrorCodes.ErrNoValidatorCommission]: 'no validator commission to withdraw', + [ChainDistributionErrorCodes.ErrSetWithdrawAddrDisabled]: 'set withdraw address disabled', + [ChainDistributionErrorCodes.ErrBadDistribution]: 'community pool does not have sufficient coins to distribute', + [ChainDistributionErrorCodes.ErrInvalidProposalAmount]: 'invalid community pool spend proposal amount', + [ChainDistributionErrorCodes.ErrEmptyProposalRecipient]: 'invalid community pool spend proposal recipient', + [ChainDistributionErrorCodes.ErrNoValidatorExists]: 'validator does not exist', + [ChainDistributionErrorCodes.ErrNoDelegationExists]: 'delegation does not exist', +}; + +const wasmErrorMap = { + [ChainWasmErrorCodes.ErrCreateFailed]: 'create wasm contract failed', + [ChainWasmErrorCodes.ErrAccountExists]: 'contract account already exists', + [ChainWasmErrorCodes.ErrInstantiateFailed]: 'instantiate wasm contract failed', + [ChainWasmErrorCodes.ErrExecuteFailed]: 'Contract execution failed', + [ChainWasmErrorCodes.ErrGasLimit]: 'insufficient gas', + [ChainWasmErrorCodes.ErrInvalidGenesis]: 'invalid genesis', + [ChainWasmErrorCodes.ErrNotFound]: 'not found', + [ChainWasmErrorCodes.ErrQueryFailed]: 'query wasm contract failed', + [ChainWasmErrorCodes.ErrInvalidMsg]: 'invalid CosmosMsg from the contract', + [ChainWasmErrorCodes.ErrMigrationFailed]: 'migrate wasm contract failed', + [ChainWasmErrorCodes.ErrEmpty]: 'empty', + [ChainWasmErrorCodes.ErrLimit]: 'exceeds limit', + [ChainWasmErrorCodes.ErrInvalid]: 'invalid', + [ChainWasmErrorCodes.ErrDuplicate]: 'duplicate', + [ChainWasmErrorCodes.ErrMaxIBCChannels]: 'max transfer channels', + [ChainWasmErrorCodes.ErrUnsupportedForContract]: 'unsupported for this contract', + [ChainWasmErrorCodes.ErrPinContractFailed]: 'pinning contract failed', + [ChainWasmErrorCodes.ErrUnpinContractFailed]: 'unpinning contract failed', + [ChainWasmErrorCodes.ErrUnknownMsg]: 'unknown message from the contract', + [ChainWasmErrorCodes.ErrInvalidEvent]: 'invalid event', +}; + +export const chainModuleCodeErrorMessagesMap: Record> = { + [TransactionChainErrorModule.AuthZ]: authZErrorMap, + [TransactionChainErrorModule.Auction]: auctionErrorMap, + [TransactionChainErrorModule.CosmosSdk]: cosmosErrorMap, + [TransactionChainErrorModule.Exchange]: exchangeErrorMap, + [TransactionChainErrorModule.Insurance]: insuranceErrorMap, + [TransactionChainErrorModule.Ocr]: ocrErrorMap, + [TransactionChainErrorModule.Oracle]: oracleErrorMap, + [TransactionChainErrorModule.Peggy]: peggyErrorMap, + [TransactionChainErrorModule.TokenFactory]: tokenFactoryErrorMap, + [TransactionChainErrorModule.Wasmx]: wasmxErrorMap, + [TransactionChainErrorModule.Wasm]: wasmErrorMap, + [TransactionChainErrorModule.Staking]: stakingErrorMap, + [TransactionChainErrorModule.Bank]: bankErrorMap, + [TransactionChainErrorModule.Gov]: govErrorMap, + [TransactionChainErrorModule.Distribution]: distributionErrorMap, +}; + +/** + * **Legacy** but needed for error messages from broadcasting transactions + * where we don't control the response and only have the message + * i.e Keplr, Leap, etc + */ +export const chainErrorMessagesMap: Record< + string, + { + message: string; + code: ErrorContextCode; + module: TransactionChainErrorModule; + } +> = { + 'insufficient fee': { + message: 'You do not have enough funds to cover the transaction fees.', + code: ChainCosmosErrorCode.ErrInsufficientFee, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'insufficient funds': { + message: 'You do not have enough funds.', + code: ChainCosmosErrorCode.ErrInsufficientFunds, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'tx timeout height': { + message: 'The transaction failed to be included within a block on time.', + code: ChainCosmosErrorCode.ErrTxTimeoutHeight, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'tx parse error': { + message: 'There is an issue while parsing the transaction', + code: ChainCosmosErrorCode.ErrTxDecode, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'invalid sequence': { + message: 'The sequence number is not valid', + code: ChainCosmosErrorCode.ErrInvalidSequence, + module: TransactionChainErrorModule.CosmosSdk, + }, + + unauthorized: { + message: 'Unauthorized', + code: ChainCosmosErrorCode.ErrUnauthorized, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'invalid address': { + message: 'The address is not valid', + code: ChainCosmosErrorCode.ErrInvalidAddress, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'cosmos account not exists': { + message: 'You need to create your address on Injective by transferring funds', + code: ChainCosmosErrorCode.ErrInsufficientFee, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'invalid pubkey': { + message: 'The public key is not valid', + code: ChainCosmosErrorCode.ErrInvalidPubKey, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'unknown address': { + message: 'The address is unknown', + code: ChainCosmosErrorCode.ErrUnknownAddress, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'invalid coins': { + message: 'The coins are not valid', + code: ChainCosmosErrorCode.ErrInvalidCoins, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'out of gas': { + message: 'The transaction run out of gas', + code: ChainCosmosErrorCode.ErrOutOfGas, + module: TransactionChainErrorModule.CosmosSdk, + }, + 'memo too large': { + message: 'The memo field in the transaction is too large', + code: ChainCosmosErrorCode.ErrMemoTooLarge, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'maximum number of signatures exceeded': { + message: 'The transaction exceeded the maximum number of signatures', + code: ChainCosmosErrorCode.ErrTooManySignatures, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'no signatures supplied': { + message: 'There are no signatures appended on the transaction', + code: ChainCosmosErrorCode.ErrNoSignatures, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'failed to marshal JSON bytes': { + message: 'There is an issue while parsing the transaction', + code: ChainCosmosErrorCode.ErrJSONMarshal, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'failed to unmarshal JSON bytes': { + message: 'There is an issue while parsing the transaction', + code: ChainCosmosErrorCode.ErrJSONUnmarshal, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'invalid request': { + message: 'invalid request', + code: ChainCosmosErrorCode.ErrInvalidRequest, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'tx already in mempool': { + message: 'The transaction is already in the mempool', + code: ChainCosmosErrorCode.ErrTxInMempoolCache, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'mempool is full': { + message: 'The mempool is full', + code: ChainCosmosErrorCode.ErrMempoolIsFull, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'tx too large': { + message: 'The transaction is too large', + code: ChainCosmosErrorCode.ErrTxTooLarge, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'key not found': { + message: 'The key has not been found', + code: ChainCosmosErrorCode.ErrKeyNotFound, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'invalid account password': { + message: 'invalid account password', + code: ChainCosmosErrorCode.ErrWrongPassword, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'tx intended signer does not match the given signer': { + message: 'tx intended signer does not match the given signer', + code: ChainCosmosErrorCode.ErrorInvalidSigner, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'invalid gas adjustment': { + message: 'invalid gas adjustment', + code: ChainCosmosErrorCode.ErrorInvalidGasAdjustment, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'invalid height': { + message: 'The height provided in the transaction is not valid', + code: ChainCosmosErrorCode.ErrInvalidHeight, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'invalid version': { + message: 'The version provided in the transaction is not valid', + code: ChainCosmosErrorCode.ErrInvalidVersion, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'invalid chain-id': { + message: 'The chainId provided in the transaction is not valid', + code: ChainCosmosErrorCode.ErrInvalidChainID, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'invalid type': { + message: 'The type provided in the transaction is not valid', + code: ChainCosmosErrorCode.ErrInvalidType, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'unknown extension options': { + message: 'The extension options provided in the transaction is unknown', + code: ChainCosmosErrorCode.ErrUnknownExtensionOptions, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'incorrect account sequence': { + message: 'The sequence number provided in the transaction is incorrect', + code: ChainCosmosErrorCode.ErrWrongSequence, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'failed packing protobuf message to Any': { + message: 'failed packing protobuf message to Any', + code: ChainCosmosErrorCode.ErrPackAny, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'failed unpacking protobuf message from Any': { + message: 'failed unpacking protobuf message from Any', + code: ChainCosmosErrorCode.ErrUnpackAny, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'internal logic error': { + message: 'Internal logic error', + code: ChainCosmosErrorCode.ErrLogic, + module: TransactionChainErrorModule.CosmosSdk, + }, + + conflict: { + message: 'conflict', + code: ChainCosmosErrorCode.ErrConflict, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'feature not supported': { + message: 'The feature is not supported', + code: ChainCosmosErrorCode.ErrNotSupported, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'Internal IO error': { + message: 'Internal IO error', + code: ChainCosmosErrorCode.ErrIO, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'error in app.toml': { + message: 'error in app.toml', + code: ChainCosmosErrorCode.ErrAppConfig, + module: TransactionChainErrorModule.CosmosSdk, + }, + + 'invalid gas limit': { + message: 'The gas limit provided in the transaction is not valid', + code: ChainCosmosErrorCode.ErrInvalidGasLimit, + module: TransactionChainErrorModule.CosmosSdk, + }, + + // Auction Module Messages + 'invalid bid denom': { + message: 'The gas limit provided in the transaction is not valid', + code: ChainAuctionErrorCodes.ErrBidInvalid, + module: TransactionChainErrorModule.Auction, + }, + + 'invalid bid round': { + message: 'The gas limit provided in the transaction is not valid', + code: ChainAuctionErrorCodes.ErrBidRound, + module: TransactionChainErrorModule.Auction, + }, + + // Insurance Module Messages + 'insurance fund already exists': { + message: 'The insurance fund already exists', + code: ChainInsuranceErrorCodes.ErrInsuranceFundAlreadyExists, + module: TransactionChainErrorModule.Insurance, + }, + + 'insurance fund not found': { + message: 'The insurance fund is not found', + code: ChainInsuranceErrorCodes.ErrInsuranceFundNotFound, + module: TransactionChainErrorModule.Insurance, + }, + + 'redemption already exists': { + message: 'The redemption already exists', + code: ChainInsuranceErrorCodes.ErrRedemptionAlreadyExists, + module: TransactionChainErrorModule.Insurance, + }, + + 'invalid deposit amount': { + message: 'The deposit amount is not valid', + code: ChainInsuranceErrorCodes.ErrInvalidDepositAmount, + module: TransactionChainErrorModule.Insurance, + }, + + 'invalid deposit denom': { + message: 'The deposit denom is not valid', + code: ChainInsuranceErrorCodes.ErrInvalidDepositDenom, + module: TransactionChainErrorModule.Insurance, + }, + + 'insurance payout exceeds deposits': { + message: 'The insurance fund payout exceeds the deposits', + code: ChainInsuranceErrorCodes.ErrPayoutTooLarge, + module: TransactionChainErrorModule.Insurance, + }, + + 'invalid ticker': { + message: 'The ticker is not valid', + code: ChainInsuranceErrorCodes.ErrInvalidTicker, + module: TransactionChainErrorModule.Insurance, + }, + + 'invalid quote denom': { + message: 'The quote denom is not valid', + code: ChainInsuranceErrorCodes.ErrInvalidQuoteDenom, + module: TransactionChainErrorModule.Insurance, + }, + + 'invalid oracle': { + message: 'The oracle is not valid', + code: ChainInsuranceErrorCodes.ErrInvalidOracle, + module: TransactionChainErrorModule.Insurance, + }, + + 'invalid expiration time': { + message: 'The expiration time is not valid', + code: ChainInsuranceErrorCodes.ErrInvalidExpirationTime, + module: TransactionChainErrorModule.Insurance, + }, + + 'invalid marketID': { + message: 'The marketId is not valid', + code: ChainInsuranceErrorCodes.ErrInvalidMarketID, + module: TransactionChainErrorModule.Insurance, + }, + + 'invalid share denom': { + message: 'The share denom is not valid', + code: ChainInsuranceErrorCodes.ErrInvalidShareDenom, + module: TransactionChainErrorModule.Insurance, + }, + + // Exchange Module Messages + 'failed to validate order': { + message: 'Your order failed to validate', + code: ChainExchangeModuleErrorCode.ErrOrderInvalid, + module: TransactionChainErrorModule.Exchange, + }, + + 'spot market not found': { + message: 'The spot market has not been found', + code: ChainExchangeModuleErrorCode.ErrSpotMarketNotFound, + module: TransactionChainErrorModule.Exchange, + }, + + 'spot market exists': { + message: 'The spot market already exists', + code: ChainExchangeModuleErrorCode.ErrSpotMarketExists, + module: TransactionChainErrorModule.Exchange, + }, + + 'struct field error': { + message: 'There is an issue with your order', + code: ChainExchangeModuleErrorCode.ErrBadField, + module: TransactionChainErrorModule.Exchange, + }, + + 'failed to validate market': { + message: 'The market failed to validate', + code: ChainExchangeModuleErrorCode.ErrMarketInvalid, + module: TransactionChainErrorModule.Exchange, + }, + + 'subaccount has insufficient deposits': { + message: 'Your trading account has insufficient funds', + code: ChainExchangeModuleErrorCode.ErrInsufficientDeposit, + module: TransactionChainErrorModule.Exchange, + }, + + 'unrecognized order type': { + message: 'The order type is not recognized', + code: ChainExchangeModuleErrorCode.ErrUnrecognizedOrderType, + module: TransactionChainErrorModule.Exchange, + }, + + 'position quantity insufficient for order': { + message: 'The position quantity is insufficient for the order', + code: ChainExchangeModuleErrorCode.ErrInsufficientPositionQuantity, + module: TransactionChainErrorModule.Exchange, + }, + + 'order hash is not valid': { + message: 'The order hash is not valid', + code: ChainExchangeModuleErrorCode.ErrOrderHashInvalid, + module: TransactionChainErrorModule.Exchange, + }, + + 'subaccount id is not valid': { + message: 'The subaccount id is not valid', + code: ChainExchangeModuleErrorCode.ErrBadSubaccountID, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid base denom': { + message: '', + code: ChainExchangeModuleErrorCode.ErrInvalidBaseDenom, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid expiry': { + message: 'The expiry date is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidExpiry, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid price': { + message: 'The price is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidPrice, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid quantity': { + message: 'The quantity is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidQuantity, + module: TransactionChainErrorModule.Exchange, + }, + + 'unsupported oracle type': { + message: 'The oracle type is not supported', + code: ChainExchangeModuleErrorCode.ErrUnsupportedOracleType, + module: TransactionChainErrorModule.Exchange, + }, + + 'order doesnt exist': { + message: 'The order does not exist', + code: ChainExchangeModuleErrorCode.ErrOrderDoesntExist, + module: TransactionChainErrorModule.Exchange, + }, + + 'spot limit orderbook fill invalid': { + message: '', + code: ChainExchangeModuleErrorCode.ErrOrderbookFillInvalid, + module: TransactionChainErrorModule.Exchange, + }, + + 'perpetual market exists': { + message: 'The perpetual market already exists', + code: ChainExchangeModuleErrorCode.ErrPerpetualMarketExists, + module: TransactionChainErrorModule.Exchange, + }, + + 'expiry futures market exists': { + message: 'The expiry futures market market already exists', + code: ChainExchangeModuleErrorCode.ErrExpiryFuturesMarketExists, + module: TransactionChainErrorModule.Exchange, + }, + + 'expiry futures market expired': { + message: 'The expiry futures market has expired', + code: ChainExchangeModuleErrorCode.ErrExpiryFuturesMarketExpired, + module: TransactionChainErrorModule.Exchange, + }, + + 'no liquidity on the orderbook': { + message: 'There is not enough liquidity', + code: ChainExchangeModuleErrorCode.ErrNoLiquidity, + module: TransactionChainErrorModule.Exchange, + }, + + 'orderbook liquidity cannot satisfy current worst price': { + message: 'There is not enough liquidity', + code: ChainExchangeModuleErrorCode.ErrSlippageExceedsWorstPrice, + module: TransactionChainErrorModule.Exchange, + }, + + 'order has insufficient margin': { + message: 'The order has insufficient margin', + code: ChainExchangeModuleErrorCode.ErrInsufficientOrderMargin, + module: TransactionChainErrorModule.Exchange, + }, + + 'derivative market not found': { + message: 'The derivative market cannot be found', + code: ChainExchangeModuleErrorCode.ErrDerivativeMarketNotFound, + module: TransactionChainErrorModule.Exchange, + }, + + 'position not found': { + message: 'The position cannot be found', + code: ChainExchangeModuleErrorCode.ErrPositionNotFound, + module: TransactionChainErrorModule.Exchange, + }, + + 'position direction does not oppose the reduce-only order': { + message: 'Position direction does not oppose the reduce-only order', + code: ChainExchangeModuleErrorCode.ErrInvalidReduceOnlyPositionDirection, + module: TransactionChainErrorModule.Exchange, + }, + + 'price surpasses bankruptcy price': { + message: 'Your order price surpasses bankruptcy price', + code: ChainExchangeModuleErrorCode.ErrPriceSurpassesBankruptcyPrice, + module: TransactionChainErrorModule.Exchange, + }, + + 'position not liquidable': { + message: 'The position is not liquidable', + code: ChainExchangeModuleErrorCode.ErrPositionNotLiquidable, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid trigger price': { + message: 'Your order trigger price is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidTriggerPrice, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid oracle type': { + message: 'The oracle type is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidOracleType, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid minimum price tick size': { + message: 'The minimum price tick size is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidPriceTickSize, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid minimum quantity tick size': { + message: 'The minimum quantity tick size is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidQuantityTickSize, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid minimum order margin': { + message: "Your order's minimum margin is not valid ", + code: ChainExchangeModuleErrorCode.ErrInvalidMargin, + module: TransactionChainErrorModule.Exchange, + }, + + 'exceeds order side count': { + message: 'You cannot have more orders for this market for this direction', + code: ChainExchangeModuleErrorCode.ErrExceedsOrderSideCount, + module: TransactionChainErrorModule.Exchange, + }, + 'subaccount cannot place a market order when a market order in the same market was already placed in same block': { + message: 'You cannot place another market order within this block', + code: ChainExchangeModuleErrorCode.ErrMarketOrderAlreadyExists, + module: TransactionChainErrorModule.Exchange, + }, + 'cannot place a conditional market order when a conditional market order in same relative direction already exists': { + message: 'You cannot place another conditional market order', + code: ChainExchangeModuleErrorCode.ErrConditionalMarketOrderAlreadyExists, + module: TransactionChainErrorModule.Exchange, + }, + + 'an equivalent market launch proposal already exists.': { + message: 'There is an existing equivalent market launch proposal.', + code: ChainExchangeModuleErrorCode.ErrMarketLaunchProposalAlreadyExists, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid market status': { + message: 'The market status is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidMarketStatus, + module: TransactionChainErrorModule.Exchange, + }, + + 'base denom cannot be same with quote denom': { + message: 'The base denom and quote denom cannot be same', + code: ChainExchangeModuleErrorCode.ErrSameDenoms, + module: TransactionChainErrorModule.Exchange, + }, + + 'oracle base cannot be same with oracle quote': { + message: 'The oracle base and the oracle quote cannot be the same', + code: ChainExchangeModuleErrorCode.ErrSameOracles, + module: TransactionChainErrorModule.Exchange, + }, + + 'makerfeerate does not match takerfeeeate requirements': { + message: 'The MakerFeeRate does not match TakerFeeRate requirements', + code: ChainExchangeModuleErrorCode.ErrFeeRatesRelation, + module: TransactionChainErrorModule.Exchange, + }, + 'maintenancemarginratio cannot be greater than initialmarginratio': { + message: 'The MaintenanceMarginRatio cannot be greater than InitialMarginRatio', + code: ChainExchangeModuleErrorCode.ErrMarginsRelation, + module: TransactionChainErrorModule.Exchange, + }, + + 'oraclescalefactor cannot be greater than maxoraclescalefactor': { + message: 'The OracleScaleFactor cannot be greater than MaxOracleScaleFactor', + code: ChainExchangeModuleErrorCode.ErrExceedsMaxOracleScaleFactor, + module: TransactionChainErrorModule.Exchange, + }, + + 'spot exchange is not enabled yet': { + message: 'Spot exchange is not enabled yet', + code: ChainExchangeModuleErrorCode.ErrSpotExchangeNotEnabled, + module: TransactionChainErrorModule.Exchange, + }, + + 'derivatives exchange is not enabled yet': { + message: 'Derivatives exchange is not enabled yet', + code: ChainExchangeModuleErrorCode.ErrDerivativesExchangeNotEnabled, + module: TransactionChainErrorModule.Exchange, + }, + + 'oracle price delta exceeds threshold': { + message: 'The oracle price delta exceeds threshold', + code: ChainExchangeModuleErrorCode.ErrOraclePriceDeltaExceedsThreshold, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid hourly interest rate': { + message: 'The hourly interest rate is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidHourlyInterestRate, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid hourly funding rate cap': { + message: 'The hourly funding rate cap is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidHourlyFundingRateCap, + module: TransactionChainErrorModule.Exchange, + }, + + 'only perpetual markets can update funding parameters': { + message: 'You can only update funding parameters on perpetual markets.', + code: ChainExchangeModuleErrorCode.ErrInvalidMarketFundingParamUpdate, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid trading reward campaign': { + message: 'The trading reward campaign is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidTradingRewardCampaign, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid fee discount schedule': { + message: 'The fee discount schedule is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidFeeDiscountSchedule, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid liquidation order': { + message: 'The liquidation order is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidLiquidationOrder, + module: TransactionChainErrorModule.Exchange, + }, + + 'unknown error happened for campaign distributions': { + message: 'Unknown error happened for campaign distributions', + code: ChainExchangeModuleErrorCode.ErrTradingRewardCampaignDistributionError, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid trading reward points update': { + message: 'The updated trading reward points is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidTradingRewardsPendingPointsUpdate, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid batch msg update': { + message: 'The MsgBatchUpdate is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidBatchMsgUpdate, + module: TransactionChainErrorModule.Exchange, + }, + + 'post-only order exceeds top of book price': { + message: 'The post-only order price exceeds top of the orderbook price', + code: ChainExchangeModuleErrorCode.ErrExceedsTopOfBookPrice, + module: TransactionChainErrorModule.Exchange, + }, + + 'order type not supported for given message': { + message: 'The order type is not supported for this message', + code: ChainExchangeModuleErrorCode.ErrInvalidOrderTypeForMessage, + module: TransactionChainErrorModule.Exchange, + }, + + 'sender must match dmm account': { + message: 'The sender must match the DMM address', + code: ChainExchangeModuleErrorCode.ErrInvalidDMMSender, + module: TransactionChainErrorModule.Exchange, + }, + + 'already opted out of rewards': { + message: 'The DMM address already opted out of rewards', + code: ChainExchangeModuleErrorCode.ErrAlreadyOptedOutOfRewards, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid margin ratio': { + message: 'The margin ratio is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidMarginRatio, + module: TransactionChainErrorModule.Exchange, + }, + + 'provided funds are below minimum': { + message: 'The provided funds are below minimum', + code: ChainExchangeModuleErrorCode.ErrBelowMinimalContribution, + module: TransactionChainErrorModule.Exchange, + }, + + 'position is below initial margin requirement': { + message: 'The position is below initial margin requirement', + code: ChainExchangeModuleErrorCode.ErrLowPositionMargin, + module: TransactionChainErrorModule.Exchange, + }, + + 'pool has non-positive total lp token supply': { + message: 'The pool has non-positive total LP token supply', + code: ChainExchangeModuleErrorCode.ErrInvalidTotalSupply, + module: TransactionChainErrorModule.Exchange, + }, + 'passed lp token burn amount is greater than total lp token supply': { + message: 'The passed LP token burn amount is greater than total LP token supply', + code: ChainExchangeModuleErrorCode.ErrInvalidLpTokenBurnAmount, + module: TransactionChainErrorModule.Exchange, + }, + + 'unsupported action': { + message: 'This action is not supported', + code: ChainExchangeModuleErrorCode.ErrUnsupportedAction, + module: TransactionChainErrorModule.Exchange, + }, + + 'position quantity cannot be negative': { + message: 'The position quantity cannot be negative', + code: ChainExchangeModuleErrorCode.ErrNegativePositionQuantity, + module: TransactionChainErrorModule.Exchange, + }, + + 'binary options market exists': { + message: 'The BinaryOptions market already exists', + code: ChainExchangeModuleErrorCode.ErrBinaryOptionsMarketExists, + module: TransactionChainErrorModule.Exchange, + }, + + 'binary options market not found': { + message: 'The BinaryOptions market cannot be found', + code: ChainExchangeModuleErrorCode.ErrBinaryOptionsMarketNotFound, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid settlement': { + message: 'The settlement price is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidSettlement, + module: TransactionChainErrorModule.Exchange, + }, + + 'account doesnt exist': { + message: 'The trading account does not exist', + code: ChainExchangeModuleErrorCode.ErrAccountDoesntExist, + module: TransactionChainErrorModule.Exchange, + }, + + 'sender should be a market admin': { + message: 'The sender should be the admin of the market', + code: ChainExchangeModuleErrorCode.ErrSenderIsNotAnAdmin, + module: TransactionChainErrorModule.Exchange, + }, + + 'market is already scheduled to settle': { + message: 'The market is already scheduled to settle ', + code: ChainExchangeModuleErrorCode.ErrMarketAlreadyScheduledToSettle, + module: TransactionChainErrorModule.Exchange, + }, + + 'market not found': { + message: 'The market cannot be found', + code: ChainExchangeModuleErrorCode.ErrGenericMarketNotFound, + module: TransactionChainErrorModule.Exchange, + }, + + 'denom decimal cannot be below 1 or above max scale factor': { + message: 'The denom decimal cannot be below 1 or above max scale factor', + code: ChainExchangeModuleErrorCode.ErrInvalidDenomDecimal, + module: TransactionChainErrorModule.Exchange, + }, + + 'state is invalid': { + message: 'The state is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidState, + module: TransactionChainErrorModule.Exchange, + }, + + 'transient orders up to cancellation not supported': { + message: 'The transient orders up to cancellation not supported', + code: ChainExchangeModuleErrorCode.ErrTransientOrdersUpToCancelNotSupported, + module: TransactionChainErrorModule.Exchange, + }, + + 'invalid trade': { + message: 'The trade is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidTrade, + module: TransactionChainErrorModule.Exchange, + }, + + 'no margin locked in subaccount': { + message: 'There is no margin locked in the trading account', + code: ChainExchangeModuleErrorCode.ErrNoMarginLocked, + module: TransactionChainErrorModule.Exchange, + }, + + 'Invalid access level to perform action': { + message: 'There is no access to perform action', + code: ChainExchangeModuleErrorCode.ErrInvalidAccessLevel, + module: TransactionChainErrorModule.Exchange, + }, + + 'Invalid address': { + message: 'The address is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidAddress, + module: TransactionChainErrorModule.Exchange, + }, + + 'Invalid argument': { + message: 'The argument is not valid', + code: ChainExchangeModuleErrorCode.ErrInvalidArgument, + module: TransactionChainErrorModule.Exchange, + }, + + 'empty validator address': { + message: 'empty validator address', + code: ChainStakingErrorCodes.ErrEmptyValidatorAddr, + module: TransactionChainErrorModule.Staking, + }, + + 'validator does not exist': { + message: 'validator does not exist', + code: ChainStakingErrorCodes.ErrNoValidatorFound, + module: TransactionChainErrorModule.Staking, + }, + + 'validator already exist for this operator address; must use new validator operator address': { + message: 'validator already exist for this operator address; must use new validator operator address', + code: ChainStakingErrorCodes.ErrValidatorOwnerExists, + module: TransactionChainErrorModule.Staking, + }, + + 'validator already exist for this pubkey; must use new validator pubkey': { + message: 'validator already exist for this pubkey; must use new validator pubkey', + code: ChainStakingErrorCodes.ErrValidatorPubKeyExists, + module: TransactionChainErrorModule.Staking, + }, + + 'validator pubkey type is not supported': { + message: 'validator pubkey type is not supported', + code: ChainStakingErrorCodes.ErrValidatorPubKeyTypeNotSupported, + module: TransactionChainErrorModule.Staking, + }, + + 'validator for this address is currently jailed': { + message: 'validator for this address is currently jailed', + code: ChainStakingErrorCodes.ErrValidatorJailed, + module: TransactionChainErrorModule.Staking, + }, + + 'failed to remove validator': { + message: 'failed to remove validator', + code: ChainStakingErrorCodes.ErrBadRemoveValidator, + module: TransactionChainErrorModule.Staking, + }, + + 'commission must be positive': { + message: 'commission must be positive', + code: ChainStakingErrorCodes.ErrCommissionNegative, + module: TransactionChainErrorModule.Staking, + }, + + 'commission cannot be more than 100%': { + message: 'commission cannot be more than 100%', + code: ChainStakingErrorCodes.ErrCommissionHuge, + module: TransactionChainErrorModule.Staking, + }, + + 'commission cannot be more than the max rate': { + message: 'commission cannot be more than the max rate', + code: ChainStakingErrorCodes.ErrCommissionGTMaxRate, + module: TransactionChainErrorModule.Staking, + }, + + 'commission cannot be changed more than once in 24h': { + message: 'commission cannot be changed more than once in 24h', + code: ChainStakingErrorCodes.ErrCommissionUpdateTime, + module: TransactionChainErrorModule.Staking, + }, + + 'commission change rate must be positive': { + message: 'commission change rate must be positive', + code: ChainStakingErrorCodes.ErrCommissionChangeRateNegative, + module: TransactionChainErrorModule.Staking, + }, + + 'commission change rate cannot be more than the max rate': { + message: 'commission change rate cannot be more than the max rate', + code: ChainStakingErrorCodes.ErrCommissionChangeRateGTMaxRate, + module: TransactionChainErrorModule.Staking, + }, + + 'commission cannot be changed more than max change rate': { + message: 'commission cannot be changed more than max change rate', + code: ChainStakingErrorCodes.ErrCommissionGTMaxChangeRate, + module: TransactionChainErrorModule.Staking, + }, + + "validator's self delegation must be greater than their minimum self delegation": { + message: "validator's self delegation must be greater than their minimum self delegation", + code: ChainStakingErrorCodes.ErrSelfDelegationBelowMinimum, + module: TransactionChainErrorModule.Staking, + }, + + 'minimum self delegation cannot be decrease': { + message: 'minimum self delegation cannot be decrease', + code: ChainStakingErrorCodes.ErrMinSelfDelegationDecreased, + module: TransactionChainErrorModule.Staking, + }, + + 'empty delegator address': { + message: 'empty delegator address', + code: ChainStakingErrorCodes.ErrEmptyDelegatorAddr, + module: TransactionChainErrorModule.Staking, + }, + + 'no delegation for (address, validator) tuple': { + message: 'no delegation for (address, validator) tuple', + code: ChainStakingErrorCodes.ErrNoDelegation, + module: TransactionChainErrorModule.Staking, + }, + + 'delegator does not exist with address': { + message: 'delegator does not exist with address', + code: ChainStakingErrorCodes.ErrBadDelegatorAddr, + module: TransactionChainErrorModule.Staking, + }, + + 'delegator does not contain delegation': { + message: 'delegator does not contain delegation', + code: ChainStakingErrorCodes.ErrNoDelegatorForAddress, + module: TransactionChainErrorModule.Staking, + }, + + 'insufficient delegation shares': { + message: 'insufficient delegation shares', + code: ChainStakingErrorCodes.ErrInsufficientShares, + module: TransactionChainErrorModule.Staking, + }, + + 'cannot delegate to an empty validator': { + message: 'cannot delegate to an empty validator', + code: ChainStakingErrorCodes.ErrDelegationValidatorEmpty, + module: TransactionChainErrorModule.Staking, + }, + + 'not enough delegation shares': { + message: 'not enough delegation shares', + code: ChainStakingErrorCodes.ErrNotEnoughDelegationShares, + module: TransactionChainErrorModule.Staking, + }, + + 'entry not mature': { + message: 'entry not mature', + code: ChainStakingErrorCodes.ErrNotMature, + module: TransactionChainErrorModule.Staking, + }, + + 'no unbonding delegation found': { + message: 'no unbonding delegation found', + code: ChainStakingErrorCodes.ErrNoUnbondingDelegation, + module: TransactionChainErrorModule.Staking, + }, + + 'too many unbonding delegation entries for (delegator, validator) tuple': { + message: 'too many unbonding delegation entries for (delegator, validator) tuple', + code: ChainStakingErrorCodes.ErrMaxUnbondingDelegationEntries, + module: TransactionChainErrorModule.Staking, + }, + + 'no redelegation found': { + message: 'no redelegation found', + code: ChainStakingErrorCodes.ErrNoRedelegation, + module: TransactionChainErrorModule.Staking, + }, + + 'cannot redelegate to the same validator': { + message: 'cannot redelegate to the same validator', + code: ChainStakingErrorCodes.ErrSelfRedelegation, + module: TransactionChainErrorModule.Staking, + }, + + 'too few tokens to redelegate (truncates to zero tokens)': { + message: 'too few tokens to redelegate (truncates to zero tokens)', + code: ChainStakingErrorCodes.ErrTinyRedelegationAmount, + module: TransactionChainErrorModule.Staking, + }, + + 'redelegation destination validator not found': { + message: 'redelegation destination validator not found', + code: ChainStakingErrorCodes.ErrBadRedelegationDst, + module: TransactionChainErrorModule.Staking, + }, + + 'redelegation to this validator already in progress; first redelegation to this validator must complete before next redelegation': + { + message: + 'redelegation to this validator already in progress; first redelegation to this validator must complete before next redelegation', + code: ChainStakingErrorCodes.ErrTransitiveRedelegation, + module: TransactionChainErrorModule.Staking, + }, + + 'too many redelegation entries for (delegator, src-validator, dst-validator) tuple': { + message: 'too many redelegation entries for (delegator, src-validator, dst-validator) tuple', + code: ChainStakingErrorCodes.ErrMaxRedelegationEntries, + module: TransactionChainErrorModule.Staking, + }, + + 'cannot delegate to validators with invalid (zero) ex-rate': { + message: 'cannot delegate to validators with invalid (zero) ex-rate', + code: ChainStakingErrorCodes.ErrDelegatorShareExRateInvalid, + module: TransactionChainErrorModule.Staking, + }, + + 'both shares amount and shares percent provided': { + message: 'both shares amount and shares percent provided', + code: ChainStakingErrorCodes.ErrBothShareMsgsGiven, + module: TransactionChainErrorModule.Staking, + }, + + 'neither shares amount nor shares percent provided': { + message: 'neither shares amount nor shares percent provided', + code: ChainStakingErrorCodes.ErrNeitherShareMsgsGiven, + module: TransactionChainErrorModule.Staking, + }, + + 'invalid historical info': { + message: 'invalid historical info', + code: ChainStakingErrorCodes.ErrInvalidHistoricalInfo, + module: TransactionChainErrorModule.Staking, + }, + + 'no historical info found': { + message: 'no historical info found', + code: ChainStakingErrorCodes.ErrNoHistoricalInfo, + module: TransactionChainErrorModule.Staking, + }, + + 'empty validator public key': { + message: 'empty validator public key', + code: ChainStakingErrorCodes.ErrEmptyValidatorPubKey, + module: TransactionChainErrorModule.Staking, + }, + + 'commission cannot be less than min rate': { + message: 'commission cannot be less than min rate', + code: ChainStakingErrorCodes.ErrCommissionLTMinRate, + module: TransactionChainErrorModule.Staking, + }, + + 'unbonding operation not found': { + message: 'unbonding operation not found', + code: ChainStakingErrorCodes.ErrUnbondingNotFound, + module: TransactionChainErrorModule.Staking, + }, + + 'cannot un-hold unbonding operation that is not on hold': { + message: 'cannot un-hold unbonding operation that is not on hold', + code: ChainStakingErrorCodes.ErrUnbondingOnHoldRefCountNegative, + module: TransactionChainErrorModule.Staking, + }, + + 'delegator address is empty': { + message: 'delegator address is empty', + code: ChainDistributionErrorCodes.ErrEmptyDelegatorAddr, + module: TransactionChainErrorModule.Distribution, + }, + + 'withdraw address is empty': { + message: 'withdraw address is empty', + code: ChainDistributionErrorCodes.ErrEmptyWithdrawAddr, + module: TransactionChainErrorModule.Distribution, + }, + + 'validator address is empty': { + message: 'validator address is empty', + code: ChainDistributionErrorCodes.ErrEmptyValidatorAddr, + module: TransactionChainErrorModule.Distribution, + }, + + 'no delegation distribution info': { + message: 'no delegation distribution info', + code: ChainDistributionErrorCodes.ErrEmptyDelegationDistInfo, + module: TransactionChainErrorModule.Distribution, + }, + + 'no validator distribution info': { + message: 'no validator distribution info', + code: ChainDistributionErrorCodes.ErrNoValidatorDistInfo, + module: TransactionChainErrorModule.Distribution, + }, + + 'no validator commission to withdraw': { + message: 'no validator commission to withdraw', + code: ChainDistributionErrorCodes.ErrNoValidatorCommission, + module: TransactionChainErrorModule.Distribution, + }, + + 'set withdraw address disabled': { + message: 'set withdraw address disabled', + code: ChainDistributionErrorCodes.ErrSetWithdrawAddrDisabled, + module: TransactionChainErrorModule.Distribution, + }, + + 'community pool does not have sufficient coins to distribute': { + message: 'community pool does not have sufficient coins distribute', + code: ChainDistributionErrorCodes.ErrBadDistribution, + module: TransactionChainErrorModule.Distribution, + }, + + 'invalid community pool spend proposal amount': { + message: 'invalid community pool spend proposal amount', + code: ChainDistributionErrorCodes.ErrInvalidProposalAmount, + module: TransactionChainErrorModule.Distribution, + }, + + 'invalid community pool spend proposal recipient': { + message: 'invalid community pool spend proposal recipient', + code: ChainDistributionErrorCodes.ErrEmptyProposalRecipient, + module: TransactionChainErrorModule.Distribution, + }, + + 'delegation does not exist': { + message: 'delegation does not exist', + code: ChainDistributionErrorCodes.ErrNoDelegationExists, + module: TransactionChainErrorModule.Distribution, + }, + + 'unknown proposal': { + message: 'unknown proposal', + code: ChainGovErrorCodes.ErrUnknownProposal, + module: TransactionChainErrorModule.Gov, + }, + + 'inactive proposal': { + message: 'inactive proposal', + code: ChainGovErrorCodes.ErrInactiveProposal, + module: TransactionChainErrorModule.Gov, + }, + + 'proposal already active': { + message: 'proposal already active', + code: ChainGovErrorCodes.ErrAlreadyActiveProposal, + module: TransactionChainErrorModule.Gov, + }, + + 'invalid proposal content': { + message: 'invalid proposal content', + code: ChainGovErrorCodes.ErrInvalidProposalContent, + module: TransactionChainErrorModule.Gov, + }, + + 'invalid proposal type': { + message: 'invalid proposal type', + code: ChainGovErrorCodes.ErrInvalidProposalType, + module: TransactionChainErrorModule.Gov, + }, + + 'invalid vote option': { + message: 'invalid vote option', + code: ChainGovErrorCodes.ErrInvalidVote, + module: TransactionChainErrorModule.Gov, + }, + + 'invalid genesis state': { + message: 'invalid genesis state', + code: ChainGovErrorCodes.ErrInvalidGenesis, + module: TransactionChainErrorModule.Gov, + }, + + 'no handler exists for proposal type': { + message: 'no handler exists for proposal type', + code: ChainGovErrorCodes.ErrNoProposalHandlerExists, + module: TransactionChainErrorModule.Gov, + }, + + 'proposal message not recognized by router': { + message: 'proposal message not recognized by router', + code: ChainGovErrorCodes.ErrUnroutableProposalMsg, + module: TransactionChainErrorModule.Gov, + }, + + 'no messages proposed': { + message: 'no messages proposed', + code: ChainGovErrorCodes.ErrNoProposalMsgs, + module: TransactionChainErrorModule.Gov, + }, + + 'invalid proposal message': { + message: 'invalid proposal message', + code: ChainGovErrorCodes.ErrInvalidProposalMsg, + module: TransactionChainErrorModule.Gov, + }, + + 'expected gov account as only signer for proposal message': { + message: 'expected gov account as only signer for proposal message', + code: ChainGovErrorCodes.ErrInvalidSigner, + module: TransactionChainErrorModule.Gov, + }, + + 'signal message is invalid': { + message: 'signal message is invalid', + code: ChainGovErrorCodes.ErrInvalidSignalMsg, + module: TransactionChainErrorModule.Gov, + }, + + 'metadata too long': { + message: 'metadata too long', + code: ChainGovErrorCodes.ErrMetadataTooLong, + module: TransactionChainErrorModule.Gov, + }, + + 'minimum deposit is too small': { + message: 'minimum deposit is too small', + code: ChainGovErrorCodes.ErrMinDepositTooSmall, + module: TransactionChainErrorModule.Gov, + }, + + 'proposal is not found': { + message: 'proposal is not found', + code: ChainGovErrorCodes.ErrProposalNotFound, + module: TransactionChainErrorModule.Gov, + }, + + 'invalid proposer': { + message: 'invalid proposer', + code: ChainGovErrorCodes.ErrInvalidProposer, + module: TransactionChainErrorModule.Gov, + }, + + 'no deposits found': { + message: 'no deposits found', + code: ChainGovErrorCodes.ErrNoDeposits, + module: TransactionChainErrorModule.Gov, + }, + + 'voting period already ended': { + message: 'voting period already ended', + code: ChainGovErrorCodes.ErrVotingPeriodEnded, + module: TransactionChainErrorModule.Gov, + }, + + 'invalid proposal': { + message: 'invalid proposal', + code: ChainGovErrorCodes.ErrInvalidProposal, + module: TransactionChainErrorModule.Gov, + }, + + 'no inputs to send transaction': { + message: 'no inputs to send transaction', + code: ChainBankErrorCodes.ErrNoInputs, + module: TransactionChainErrorModule.Bank, + }, + + 'no outputs to send transaction': { + message: 'no outputs to send transaction', + code: ChainBankErrorCodes.ErrNoOutputs, + module: TransactionChainErrorModule.Bank, + }, + + 'sum inputs != sum outputs': { + message: 'sum inputs != sum outputs', + code: ChainBankErrorCodes.ErrInputOutputMismatch, + module: TransactionChainErrorModule.Bank, + }, + + 'send transactions are disabled': { + message: 'send transactions are disabled', + code: ChainBankErrorCodes.ErrSendDisabled, + module: TransactionChainErrorModule.Bank, + }, + + 'client denom metadata not found': { + message: 'client denom metadata not found', + code: ChainBankErrorCodes.ErrDenomMetadataNotFound, + module: TransactionChainErrorModule.Bank, + }, + + 'invalid key': { + message: 'invalid key', + code: ChainBankErrorCodes.ErrInvalidKey, + module: TransactionChainErrorModule.Bank, + }, + + 'duplicate entry': { + message: 'duplicate entry', + code: ChainBankErrorCodes.ErrDuplicateEntry, + module: TransactionChainErrorModule.Bank, + }, + + 'multiple senders not allowed': { + message: 'multiple senders not allowed', + code: ChainBankErrorCodes.ErrMultipleSenders, + module: TransactionChainErrorModule.Bank, + }, + + 'create wasm contract failed': { + code: ChainWasmErrorCodes.ErrCreateFailed, + message: 'create wasm contract failed', + module: TransactionChainErrorModule.Wasm, + }, + 'contract account already exists': { + code: ChainWasmErrorCodes.ErrAccountExists, + message: 'contract account already exists', + module: TransactionChainErrorModule.Wasm, + }, + 'instantiate wasm contract failed': { + code: ChainWasmErrorCodes.ErrInstantiateFailed, + message: 'instantiate wasm contract failed', + module: TransactionChainErrorModule.Wasm, + }, + 'execute wasm contract failed': { + code: ChainWasmErrorCodes.ErrExecuteFailed, + message: 'Contract execution failed', + module: TransactionChainErrorModule.Wasm, + }, + 'insufficient gas': { + code: ChainWasmErrorCodes.ErrGasLimit, + message: 'insufficient gas', + module: TransactionChainErrorModule.Wasm, + }, + 'invalid genesis': { + code: ChainWasmErrorCodes.ErrInvalidGenesis, + message: 'invalid genesis', + module: TransactionChainErrorModule.Wasm, + }, + 'query wasm contract failed': { + code: ChainWasmErrorCodes.ErrQueryFailed, + message: 'query wasm contract failed', + module: TransactionChainErrorModule.Wasm, + }, + 'invalid CosmosMsg from the contract': { + code: ChainWasmErrorCodes.ErrInvalidMsg, + message: 'invalid CosmosMsg from the contract', + module: TransactionChainErrorModule.Wasm, + }, + 'migrate wasm contract failed': { + code: ChainWasmErrorCodes.ErrMigrationFailed, + message: 'migrate wasm contract failed', + module: TransactionChainErrorModule.Wasm, + }, + empty: { + code: ChainWasmErrorCodes.ErrEmpty, + message: 'empty', + module: TransactionChainErrorModule.Wasm, + }, + 'exceeds limit': { + code: ChainWasmErrorCodes.ErrLimit, + message: 'exceeds limit', + module: TransactionChainErrorModule.Wasm, + }, + invalid: { + code: ChainWasmErrorCodes.ErrInvalid, + message: 'invalid', + module: TransactionChainErrorModule.Wasm, + }, + duplicate: { + code: ChainWasmErrorCodes.ErrDuplicate, + message: 'duplicate', + module: TransactionChainErrorModule.Wasm, + }, + 'max transfer channels': { + code: ChainWasmErrorCodes.ErrMaxIBCChannels, + message: 'max transfer channels', + module: TransactionChainErrorModule.Wasm, + }, + 'unsupported for this contract': { + code: ChainWasmErrorCodes.ErrUnsupportedForContract, + message: 'unsupported for this contract', + module: TransactionChainErrorModule.Wasm, + }, + 'pinning contract failed': { + code: ChainWasmErrorCodes.ErrPinContractFailed, + message: 'pinning contract failed', + module: TransactionChainErrorModule.Wasm, + }, + 'unpinning contract failed': { + code: ChainWasmErrorCodes.ErrUnpinContractFailed, + message: 'unpinning contract failed', + module: TransactionChainErrorModule.Wasm, + }, + 'unknown message from the contract': { + code: ChainWasmErrorCodes.ErrUnknownMsg, + message: 'unknown message from the contract', + module: TransactionChainErrorModule.Wasm, + }, + + 'invalid event': { + code: ChainWasmErrorCodes.ErrInvalidEvent, + message: 'invalid event', + module: TransactionChainErrorModule.Wasm, + }, + + 'authorization not found': { + code: ChainAuthZErrorCodes.ErrNoAuthorizationFound, + message: 'Authorization not found', + module: TransactionChainErrorModule.Wasm, + }, + + 'expiration time of authorization': { + code: ChainAuthZErrorCodes.ErrAuthorizationExpired, + message: 'Authorization expired', + module: TransactionChainErrorModule.Wasm, + }, + + 'not found': { + message: 'not found', + code: ChainCosmosErrorCode.ErrNotFound, + module: TransactionChainErrorModule.CosmosSdk, + }, +}; diff --git a/packages/wallet-sdk/src/proto/injective/exceptions/src/types/codes.ts b/packages/wallet-sdk/src/proto/injective/exceptions/src/types/codes.ts new file mode 100644 index 00000000..958a5ce6 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/exceptions/src/types/codes.ts @@ -0,0 +1,809 @@ +import { StatusCodes } from '../../../utils'; + +export enum Code { + OK = 0, + Canceled = 1, + Unknown = 2, + InvalidArgument = 3, + DeadlineExceeded = 4, + NotFound = 5, + AlreadyExists = 6, + PermissionDenied = 7, + ResourceExhausted = 8, + FailedPrecondition = 9, + Aborted = 10, + OutOfRange = 11, + Unimplemented = 12, + Internal = 13, + Unavailable = 14, + DataLoss = 15, + Unauthenticated = 16, +} + +export enum TransactionChainErrorModule { + Auction = 'auction', + CosmosSdk = 'sdk', + Staking = 'staking', + Bank = 'bank', + Distribution = 'distribution', + Gov = 'gov', + Exchange = 'exchange', + Insurance = 'insurance', + Ocr = 'ocr', + Oracle = 'oracle', + Peggy = 'peggy', + TokenFactory = 'tokenfactory', + Wasmx = 'wasmx', + Wasm = 'wasm', + AuthZ = 'authz', +} + +export enum ChainCosmosErrorCode { + // ErrTxDecode is returned if we cannot parse a transaction + ErrTxDecode = 2, + // ErrInvalidSequence is used the sequence number (nonce) is incorrect for the signature + ErrInvalidSequence = 3, + // ErrUnauthorized is used whenever a request without sufficient authorization is handled. + ErrUnauthorized = 4, + // ErrInsufficientFunds is used when the account cannot pay requested amount. + ErrInsufficientFunds = 5, + // ErrUnknownRequest to doc + ErrUnknownRequest = 6, + // ErrInvalidAddress to doc + ErrInvalidAddress = 7, + // ErrInvalidPubKey to doc + ErrInvalidPubKey = 8, + // ErrUnknownAddress to doc + ErrUnknownAddress = 9, + // ErrInvalidCoins to doc + ErrInvalidCoins = 10, + // ErrOutOfGas to doc + ErrOutOfGas = 11, + // ErrMemoTooLarge to doc + ErrMemoTooLarge = 12, + // ErrInsufficientFee to doc + ErrInsufficientFee = 13, + // ErrTooManySignatures to doc + ErrTooManySignatures = 14, + // ErrNoSignatures to doc + ErrNoSignatures = 15, + // ErrJSONMarshal defines an ABCI typed JSON marshalling error + ErrJSONMarshal = 16, + // ErrJSONUnmarshal defines an ABCI typed JSON unmarshalling error + ErrJSONUnmarshal = 17, + // ErrInvalidRequest defines an ABCI typed error where the request contains invalid data. + ErrInvalidRequest = 18, + // ErrTxInMempoolCache defines an ABCI typed error where a tx already exists in the mempool. + ErrTxInMempoolCache = 19, + // ErrMempoolIsFull defines an ABCI typed error where the mempool is full. + ErrMempoolIsFull = 20, + // ErrTxTooLarge defines an ABCI typed error where tx is too large. + ErrTxTooLarge = 21, + // ErrKeyNotFound defines an error when the key doesn't exist + ErrKeyNotFound = 22, + // ErrWrongPassword defines an error when the key password is invalid. + ErrWrongPassword = 23, + // ErrorInvalidSigner defines an error when the tx intended signer does not match the given signer. + ErrorInvalidSigner = 24, + // ErrorInvalidGasAdjustment defines an error for an invalid gas adjustment + ErrorInvalidGasAdjustment = 25, + // ErrInvalidHeight defines an error for an invalid height + ErrInvalidHeight = 26, + // ErrInvalidVersion defines a general error for an invalid version + ErrInvalidVersion = 27, + // ErrInvalidChainID defines an error when the chain-id is invalid. + ErrInvalidChainID = 28, + // ErrInvalidType defines an error an invalid type. + ErrInvalidType = 29, + // ErrTxTimeoutHeight defines an error for when a tx is rejected out due to an explicitly set timeout height. + ErrTxTimeoutHeight = 30, + // ErrUnknownExtensionOptions defines an error for unknown extension options. + ErrUnknownExtensionOptions = 31, + // ErrWrongSequence defines an error where the account sequence defined in the signer info doesn't match the account's actual sequence number. + ErrWrongSequence = 32, + // ErrPackAny defines an error when packing a protobuf message to Any fails. + ErrPackAny = 33, + // ErrUnpackAny defines an error when unpacking a protobuf message from Any fails. + ErrUnpackAny = 34, + // ErrLogic defines an internal logic error, e.g. an invariant or assertion that is violated. It is a programmer error, not a user-facing error. + ErrLogic = 35, + // ErrConflict defines a conflict error, e.g. when two goroutines try to access the same resource and one of them fails. + ErrConflict = 36, + // ErrNotSupported is returned when we call a branch of a code which is currently not supported. + ErrNotSupported = 37, + // ErrNotFound defines an error when requested entity doesn't exist in the state. + ErrNotFound = 38, + // ErrIO should be used to wrap internal errors caused by external operation. Examples: not DB domain error, file writing etc... + ErrIO = 39, + // ErrAppConfig defines an error occurred if min-gas-prices field in BaseConfig is empty. + ErrAppConfig = 40, + // ErrInvalidGasLimit defines an error when an invalid GasWanted value is supplied. + ErrInvalidGasLimit = 41, +} + +export enum ChainExchangeModuleErrorCode { + // failed to validate order + ErrOrderInvalid = 1, + // spot market not found + ErrSpotMarketNotFound = 2, + // spot market exists + ErrSpotMarketExists = 3, + // struct field error + ErrBadField = 4, + // failed to validate market + ErrMarketInvalid = 5, + // subaccount has insufficient deposits + ErrInsufficientDeposit = 6, + // unrecognized order type + ErrUnrecognizedOrderType = 7, + // position quantity insufficient for order + ErrInsufficientPositionQuantity = 8, + // order hash is not valid + ErrOrderHashInvalid = 9, + // subaccount id is not valid + ErrBadSubaccountID = 10, + // invalid ticker + ErrInvalidTicker = 11, + // invalid base denom + ErrInvalidBaseDenom = 12, + // invalid quote denom + ErrInvalidQuoteDenom = 13, + // invalid oracle + ErrInvalidOracle = 14, + // invalid expiry + ErrInvalidExpiry = 15, + // invalid price + ErrInvalidPrice = 16, + // invalid quantity + ErrInvalidQuantity = 17, + // unsupported oracle type + ErrUnsupportedOracleType = 18, + // order doesnt exist + ErrOrderDoesntExist = 19, + // spot limit orderbook fill invalid + ErrOrderbookFillInvalid = 20, + // perpetual market exists + ErrPerpetualMarketExists = 21, + // expiry futures market exists + ErrExpiryFuturesMarketExists = 22, + // expiry futures market expired + ErrExpiryFuturesMarketExpired = 23, + // no liquidity on the orderbook! + ErrNoLiquidity = 24, + // Orderbook liquidity cannot satisfy current worst price + ErrSlippageExceedsWorstPrice = 25, + // Order has insufficient margin + ErrInsufficientOrderMargin = 26, + // Derivative market not found + ErrDerivativeMarketNotFound = 27, + // Position not found + ErrPositionNotFound = 28, + // Position direction does not oppose the reduce-only order + ErrInvalidReduceOnlyPositionDirection = 29, + // Price Surpasses Bankruptcy Price + ErrPriceSurpassesBankruptcyPrice = 30, + // Position not liquidable + ErrPositionNotLiquidable = 31, + // invalid trigger price + ErrInvalidTriggerPrice = 32, + // invalid oracle type + ErrInvalidOracleType = 33, + // invalid minimum price tick size + ErrInvalidPriceTickSize = 34, + // invalid minimum quantity tick size + ErrInvalidQuantityTickSize = 35, + // invalid minimum order margin + ErrInvalidMargin = 36, + // Exceeds order side count + ErrExceedsOrderSideCount = 37, + // Subaccount cannot place a market order when a market order in the same market was already placed in same block + ErrMarketOrderAlreadyExists = 38, + // cannot place a conditional market order when a conditional market order in same relative direction already exists + ErrConditionalMarketOrderAlreadyExists = 39, + // An equivalent market launch proposal already exists. + ErrMarketLaunchProposalAlreadyExists = 40, + // Invalid Market Status + ErrInvalidMarketStatus = 41, + // base denom cannot be same with quote denom + ErrSameDenoms = 42, + // oracle base cannot be same with oracle quote + ErrSameOracles = 43, + // MakerFeeRate does not match TakerFeeRate requirements + ErrFeeRatesRelation = 44, + // MaintenanceMarginRatio cannot be greater than InitialMarginRatio + ErrMarginsRelation = 45, + // OracleScaleFactor cannot be greater than MaxOracleScaleFactor + ErrExceedsMaxOracleScaleFactor = 46, + // Spot exchange is not enabled yet + ErrSpotExchangeNotEnabled = 47, + // Derivatives exchange is not enabled yet + ErrDerivativesExchangeNotEnabled = 48, + // Oracle price delta exceeds threshold + ErrOraclePriceDeltaExceedsThreshold = 49, + // Invalid hourly interest rate + ErrInvalidHourlyInterestRate = 50, + // Invalid hourly funding rate cap + ErrInvalidHourlyFundingRateCap = 51, + // Only perpetual markets can update funding parameters + ErrInvalidMarketFundingParamUpdate = 52, + // Invalid trading reward campaign + ErrInvalidTradingRewardCampaign = 53, + // Invalid fee discount schedule + ErrInvalidFeeDiscountSchedule = 54, + // invalid liquidation order + ErrInvalidLiquidationOrder = 55, + // Unknown error happened for campaign distributions + ErrTradingRewardCampaignDistributionError = 56, + // Invalid trading reward points update + ErrInvalidTradingRewardsPendingPointsUpdate = 57, + // Invalid batch msg update + ErrInvalidBatchMsgUpdate = 58, + // Post-only order exceeds top of book price + ErrExceedsTopOfBookPrice = 59, + // Order type not supported for given message + ErrInvalidOrderTypeForMessage = 60, + // Sender must match dmm account + ErrInvalidDMMSender = 61, + // already opted out of rewards + ErrAlreadyOptedOutOfRewards = 62, + // Invalid margin ratio + ErrInvalidMarginRatio = 63, + // Provided funds are below minimum + ErrBelowMinimalContribution = 64, + // Position is below initial margin requirement + ErrLowPositionMargin = 65, + // Pool has non-positive total lp token supply + ErrInvalidTotalSupply = 66, + // Passed lp token burn amount is greater than total lp token supply + ErrInvalidLpTokenBurnAmount = 67, + // unsupported action + ErrUnsupportedAction = 68, + // position quantity cannot be negative + ErrNegativePositionQuantity = 69, + // binary options market exists + ErrBinaryOptionsMarketExists = 70, + // binary options market not found + ErrBinaryOptionsMarketNotFound = 71, + // invalid settlement + ErrInvalidSettlement = 72, + // account doesnt exist + ErrAccountDoesntExist = 73, + // sender should be a market admin + ErrSenderIsNotAnAdmin = 74, + // market is already scheduled to settle + ErrMarketAlreadyScheduledToSettle = 75, + // market not found + ErrGenericMarketNotFound = 76, + // denom decimal cannot be below 1 or above max scale factor + ErrInvalidDenomDecimal = 77, + // state is invalid + ErrInvalidState = 78, + // transient orders up to cancellation not supported + ErrTransientOrdersUpToCancelNotSupported = 79, + // invalid trade + ErrInvalidTrade = 80, + // no margin locked in subaccount + ErrNoMarginLocked = 81, + // Invalid access level to perform action + ErrInvalidAccessLevel = 82, + // Invalid address + ErrInvalidAddress = 83, + // Invalid argument + ErrInvalidArgument = 84, + // Invalid funds direction + ErrInvalidFundsDirection = 85, + // No funds provided + ErrNoFundsProvided = 86, + // Invalid signature + ErrInvalidSignature = 87, + // no funds to unlock + ErrNoFundsToUnlock = 88, + // No msgs provided + ErrNoMsgsProvided = 89, + // No msg provided + ErrNoMsgProvided = 90, + // Invalid amount + ErrInvalidAmount = 91, + // The current feature has been disabled + ErrFeatureDisabled = 92, + // Order has too much margin + ErrTooMuchOrderMargin = 93, + // Order has too much margin + ErrBadSubaccountNonce = 94, + ErrInsufficientFunds = 95, + // Exchange is in post-only mode + ErrPostOnlyMode = 96, + // client order id already exists + ErrClientOrderIdAlreadyExists = 97, + // client order id is invalid. Max length is 36 chars + ErrInvalidCid = 98, +} + +export enum ChainAuctionErrorCodes { + // invalid bid denom + ErrBidInvalid = 1, + // invalid bid round + ErrBidRound = 2, +} + +export enum ChainAuthZErrorCodes { + // ErrNoAuthorizationFound error if there is no authorization found given a grant key + ErrNoAuthorizationFound = 2, + // ErrInvalidExpirationTime error if the set expiration time is in the past + ErrInvalidExpirationTime = 3, + // ErrUnknownAuthorizationType error for unknown authorization type + ErrUnknownAuthorizationType = 4, + // ErrNoGrantKeyFound error if the requested grant key does not exist + ErrNoGrantKeyFound = 5, + // ErrAuthorizationExpired error if the authorization has expired + ErrAuthorizationExpired = 6, + // ErrGranteeIsGranter error if the grantee and the granter are the same + ErrGranteeIsGranter = 7, + // ErrAuthorizationNumOfSigners error if an authorization message does not have only one signer + ErrAuthorizationNumOfSigners = 9, + // ErrNegativeMaxTokens error if the max tokens is negative + ErrNegativeMaxTokens = 12, +} + +export enum ChainInsuranceErrorCodes { + // insurance fund already exists + ErrInsuranceFundAlreadyExists = 1, + // insurance fund not found + ErrInsuranceFundNotFound = 2, + // redemption already exists + ErrRedemptionAlreadyExists = 3, + // invalid deposit amount + ErrInvalidDepositAmount = 4, + // invalid deposit denom + ErrInvalidDepositDenom = 5, + // insurance payout exceeds deposits + ErrPayoutTooLarge = 6, + // invalid ticker + ErrInvalidTicker = 7, + // invalid quote denom + ErrInvalidQuoteDenom = 8, + // invalid oracle + ErrInvalidOracle = 9, + // invalid expiration time + ErrInvalidExpirationTime = 10, + // invalid marketID + ErrInvalidMarketID = 11, + // invalid share denom + ErrInvalidShareDenom = 12, +} + +export enum ChainOcrErrorCodes { + // stale report + ErrStaleReport = 1, + // incomplete proposal + ErrIncompleteProposal = 2, + // repeated oracle address + ErrRepeatedAddress = 3, + // too many signers + ErrTooManySigners = 4, + // incorrect config + ErrIncorrectConfig = 5, + // config digest doesn't match + ErrConfigDigestNotMatch = 6, + // wrong number of signatures + ErrWrongNumberOfSignatures = 7, + // incorrect signature + ErrIncorrectSignature = 8, + // no transmitter specified + ErrNoTransmitter = 9, + // incorrect transmission data + ErrIncorrectTransmissionData = 10, + // no transmissions found + ErrNoTransmissionsFound = 11, + // median value is out of bounds + ErrMedianValueOutOfBounds = 12, + // LINK denom doesn't match + ErrIncorrectRewardPoolDenom = 13, + // Reward Pool doesn't exist + ErrNoRewardPool = 14, + // wrong number of payees and transmitters + ErrInvalidPayees = 15, + // action is restricted to the module admin + ErrModuleAdminRestricted = 16, + // feed already exists + ErrFeedAlreadyExists = 17, + // feed doesnt exists + ErrFeedDoesntExists = 19, + // action is admin-restricted + ErrAdminRestricted = 20, + // insufficient reward pool + ErrInsufficientRewardPool = 21, + // payee already set + ErrPayeeAlreadySet = 22, + // action is payee-restricted + ErrPayeeRestricted = 23, + // feed config not found + ErrFeedConfigNotFound = 24, +} + +export enum ChainOracleErrorCodes { + // relayer address is empty + ErrEmptyRelayerAddr = 1, + // bad rates count + ErrBadRatesCount = 2, + // bad resolve times + ErrBadResolveTimesCount = 3, + // bad request ID + ErrBadRequestIDsCount = 4, + // relayer not authorized + ErrRelayerNotAuthorized = 5, + // bad price feed base count + ErrBadPriceFeedBaseCount = 6, + // bad price feed quote count + ErrBadPriceFeedQuoteCount = 7, + // unsupported oracle type + ErrUnsupportedOracleType = 8, + // bad messages count + ErrBadMessagesCount = 9, + // bad Coinbase message + ErrBadCoinbaseMessage = 10, + // bad Ethereum signature + ErrInvalidEthereumSignature = 11, + // bad Coinbase message timestamp + ErrBadCoinbaseMessageTimestamp = 12, + // Coinbase price not found + ErrCoinbasePriceNotFound = 13, + // Prices must be positive + ErrBadPrice = 14, + // Prices must be less than 10 million. + ErrPriceTooLarge = 15, + // Invalid Band IBC Request + ErrInvalidBandIBCRequest = 16, + // sample error + ErrSample = 17, + // invalid packet timeout + ErrInvalidPacketTimeout = 18, + // invalid symbols count + ErrBadSymbolsCount = 19, + // could not claim port capability + ErrBadIBCPortBind = 20, + // invalid IBC Port ID + ErrInvalidPortID = 21, + // invalid IBC Channel ID + ErrInvalidChannelID = 22, + // invalid Band IBC request interval + ErrBadRequestInterval = 23, + // Invalid Band IBC Update Request Proposal + ErrInvalidBandIBCUpdateRequest = 24, + // Band IBC Oracle Request not found + ErrBandIBCRequestNotFound = 25, + // Base Info is empty + ErrEmptyBaseInfo = 26, + // provider is empty + ErrEmptyProvider = 27, + // invalid provider name + ErrInvalidProvider = 28, + // invalid symbol + ErrInvalidSymbol = 29, + // relayer already exists + ErrRelayerAlreadyExists = 30, + // provider price not found + ErrProviderPriceNotFound = 31, + // invalid oracle request + ErrInvalidOracleRequest = 32, + // no price for oracle was found + ErrOraclePriceNotFound = 33, +} + +export enum ChainPeggyErrorCodes { + // internal + ErrInternal = 1, + // duplicate + ErrDuplicate = 2, + // invalid + ErrInvalid = 3, + // timeout + ErrTimeout = 4, + // unknown + ErrUnknown = 5, + // empty + ErrEmpty = 6, + // outdated + ErrOutdated = 7, + // unsupported + ErrUnsupported = 8, + // non contiguous event nonce + ErrNonContiguousEventNonce = 9, + // no unbatched txs found + ErrNoUnbatchedTxsFound = 10, + // can not set orchestrator addresses more than once + ErrResetDelegateKeys = 11, + // supply cannot exceed max ERC20 value + ErrSupplyOverflow = 12, + // invalid ethereum sender on claim + ErrInvalidEthSender = 13, + // invalid ethereum destination + ErrInvalidEthDestination = 14, +} + +export enum ChainTokenFactoryErrorCodes { + // attempting to create a denom that already exists (has bank metadata) + ErrDenomExists = 2, + // unauthorized account + ErrUnauthorized = 3, + // invalid denom + ErrInvalidDenom = 4, + // invalid creator + ErrInvalidCreator = 5, + // invalid authority metadata + ErrInvalidAuthorityMetadata = 6, + // invalid genesis + ErrInvalidGenesis = 7, + // subdenom too long, max length is %d bytes + ErrSubdenomTooLong = 8, + // subdenom too short, min length is %d bytes + ErrSubdenomTooShort = 9, + // nested subdenom too short, each one should have at least %d bytes + ErrSubdenomNestedTooShort = 10, + // creator too long, max length is %d bytes + ErrCreatorTooLong = 11, + // denom does not exist + ErrDenomDoesNotExist = 12, + // amount has to be positive + ErrAmountNotPositive = 13, +} + +export enum ChainWasmXErrorCodes { + // invalid gas limit + ErrInvalidGasLimit = 1, + // invalid gas price + ErrInvalidGasPrice = 2, + // invalid contract address + ErrInvalidContractAddress = 3, + // contract already registered + ErrAlreadyRegistered = 4, + // duplicate contract + ErrDuplicateContract = 5, + // no contract addresses found + ErrNoContractAddresses = 6, + // invalid code id + ErrInvalidCodeId = 7, +} + +export enum ChainStakingErrorCodes { + // "empty validator address" + ErrEmptyValidatorAddr = 2, + // "validator does not exist" + ErrNoValidatorFound = 3, + // "validator already exist for this operator address; must use new validator operator address" + ErrValidatorOwnerExists = 4, + // "validator already exist for this pubkey; must use new validator pubkey" + ErrValidatorPubKeyExists = 5, + // "validator pubkey type is not supported" + ErrValidatorPubKeyTypeNotSupported = 6, + // "validator for this address is currently jailed" + ErrValidatorJailed = 7, + // "failed to remove validator" + ErrBadRemoveValidator = 8, + // "commission must be positive" + ErrCommissionNegative = 9, + // "commission cannot be more than 100%" + ErrCommissionHuge = 10, + // "commission cannot be more than the max rate" + ErrCommissionGTMaxRate = 11, + // "commission cannot be changed more than once in 24h" + ErrCommissionUpdateTime = 12, + // "commission change rate must be positive" + ErrCommissionChangeRateNegative = 13, + // "commission change rate cannot be more than the max rate" + ErrCommissionChangeRateGTMaxRate = 14, + // "commission cannot be changed more than max change rate" + ErrCommissionGTMaxChangeRate = 15, + // "validator's self delegation must be greater than their minimum self delegation" + ErrSelfDelegationBelowMinimum = 16, + // "minimum self delegation cannot be decrease" + ErrMinSelfDelegationDecreased = 17, + // "empty delegator address" + ErrEmptyDelegatorAddr = 18, + // "no delegation for (address, validator) tuple" + ErrNoDelegation = 19, + // "delegator does not exist with address" + ErrBadDelegatorAddr = 20, + // "delegator does not contain delegation" + ErrNoDelegatorForAddress = 21, + // "insufficient delegation shares" + ErrInsufficientShares = 22, + // "cannot delegate to an empty validator" + ErrDelegationValidatorEmpty = 23, + // "not enough delegation shares" + ErrNotEnoughDelegationShares = 24, + // "entry not mature" + ErrNotMature = 25, + // "no unbonding delegation found" + ErrNoUnbondingDelegation = 26, + // "too many unbonding delegation entries for (delegator, validator) tuple" + ErrMaxUnbondingDelegationEntries = 27, + // "no redelegation found" + ErrNoRedelegation = 28, + // "cannot redelegate to the same validator" + ErrSelfRedelegation = 29, + // "too few tokens to redelegate (truncates to zero tokens)" + ErrTinyRedelegationAmount = 30, + // "redelegation destination validator not found" + ErrBadRedelegationDst = 31, + // "redelegation to this validator already in progress; first redelegation to this validator must complete before next redelegation" + ErrTransitiveRedelegation = 32, + // "too many redelegation entries for (delegator, src-validator, dst-validator) tuple" + ErrMaxRedelegationEntries = 33, + // "cannot delegate to validators with invalid (zero) ex-rate" + ErrDelegatorShareExRateInvalid = 34, + // "both shares amount and shares percent provided" + ErrBothShareMsgsGiven = 35, + // "neither shares amount nor shares percent provided" + ErrNeitherShareMsgsGiven = 36, + // "invalid historical info" + ErrInvalidHistoricalInfo = 37, + // "no historical info found" + ErrNoHistoricalInfo = 38, + // "empty validator public key" + ErrEmptyValidatorPubKey = 39, + // "commission cannot be less than min rate" + ErrCommissionLTMinRate = 40, + // "unbonding operation not found" + ErrUnbondingNotFound = 41, + // "cannot un-hold unbonding operation that is not on hold" + ErrUnbondingOnHoldRefCountNegative = 42, +} + +export enum ChainGovErrorCodes { + // "unknown proposal" + ErrUnknownProposal = 2, + // "inactive proposal" + ErrInactiveProposal = 3, + // "proposal already active) + ErrAlreadyActiveProposal = 4, + // "invalid proposal content" + ErrInvalidProposalContent = 5, + // "invalid proposal type" + ErrInvalidProposalType = 6, + // "invalid vote option" + ErrInvalidVote = 7, + // "invalid genesis state" + ErrInvalidGenesis = 8, + // "no handler exists for proosal type") + ErrNoProposalHandlerExists = 9, + // "proposal message not recognized by router") + ErrUnroutableProposalMsg = 10, + // "no messages proposed" + ErrNoProposalMsgs = 11, + // "invalid proposal message" + ErrInvalidProposalMsg = 12, + // "expected gov account as ony signer for proposal message") + ErrInvalidSigner = 13, + // "signal message is invalid" + ErrInvalidSignalMsg = 14, + // "metadata too long" + ErrMetadataTooLong = 15, + // "minimum deposit is too smal") + ErrMinDepositTooSmall = 16, + // "proposal is not found" + ErrProposalNotFound = 17, + // "invalid proposer" + ErrInvalidProposer = 18, + // "no deposits found" + ErrNoDeposits = 19, + // "voting period already ende") + ErrVotingPeriodEnded = 20, + // "invalid proposal" + ErrInvalidProposal = 21, +} + +export enum ChainDistributionErrorCodes { + // "delegator address is empty" + ErrEmptyDelegatorAddr = 2, + // "withdraw address is empty" + ErrEmptyWithdrawAddr = 3, + // "validator address is empty" + ErrEmptyValidatorAddr = 4, + // "no delegation distribution info" + ErrEmptyDelegationDistInfo = 5, + // "no validator distribution info" + ErrNoValidatorDistInfo = 6, + // "no validator commission to withdraw" + ErrNoValidatorCommission = 7, + // "set withdraw address disabled" + ErrSetWithdrawAddrDisabled = 8, + // "community pool does not have sufficient coins to distribute" + ErrBadDistribution = 9, + // "invalid community pool spend proposal amount" + ErrInvalidProposalAmount = 10, + // "invalid community pool spend proposal recipient" + ErrEmptyProposalRecipient = 11, + // "validator does not exist" + ErrNoValidatorExists = 12, + // "delegation does not exist" + ErrNoDelegationExists = 13, +} + +export enum ChainBankErrorCodes { + // "no inputs to send transaction" + ErrNoInputs = 2, + // "no outputs to send transaction" + ErrNoOutputs = 3, + // "sum inputs != sum outputs" + ErrInputOutputMismatch = 4, + // "send transactions are disabled" + ErrSendDisabled = 5, + // "client denom metadata not found" + ErrDenomMetadataNotFound = 6, + // "invalid key" + ErrInvalidKey = 7, + // "duplicate entry" + ErrDuplicateEntry = 8, + // "multiple senders not allowed" + ErrMultipleSenders = 9, +} + +export enum ChainWasmErrorCodes { + // ErrCreateFailed error for wasm code that has already been uploaded or failed + ErrCreateFailed = 2, + // ErrAccountExists error for a contract account that already exists + ErrAccountExists = 3, + // ErrInstantiateFailed error for rust instantiate contract failure + ErrInstantiateFailed = 4, + // ErrExecuteFailed error for rust execution contract failure + ErrExecuteFailed = 5, + // ErrGasLimit error for out of gas + ErrGasLimit = 6, + // ErrInvalidGenesis error for invalid genesis file syntax + ErrInvalidGenesis = 7, + // ErrNotFound error for an entry not found in the store + ErrNotFound = 8, + // ErrQueryFailed error for rust smart query contract failure + ErrQueryFailed = 9, + // ErrInvalidMsg error when we cannot process the error returned from the contract + ErrInvalidMsg = 10, + // ErrMigrationFailed error for rust execution contract failure + ErrMigrationFailed = 11, + // ErrEmpty error for empty content + ErrEmpty = 12, + // ErrLimit error for content that exceeds a limit + ErrLimit = 13, + // ErrInvalid error for content that is invalid in this context + ErrInvalid = 14, + // ErrDuplicate error for content that exists + ErrDuplicate = 15, + // ErrMaxIBCChannels error for maximum number of ibc channels reached + ErrMaxIBCChannels = 16, + // ErrUnsupportedForContract error when a capability is used that is not supported for/ by this contract + ErrUnsupportedForContract = 17, + // ErrPinContractFailed error for pinning contract failures + ErrPinContractFailed = 18, + // ErrUnpinContractFailed error for unpinning contract failures + ErrUnpinContractFailed = 19, + // ErrUnknownMsg error by a message handler to show that it is not responsible for this message type + ErrUnknownMsg = 20, + // ErrInvalidEvent error if an attribute/event from the contract is invalid + ErrInvalidEvent = 21, +} + +export type IndexerApiErrorCode = number; + +export const UnspecifiedErrorCode = -1; + +export type ErrorCode = StatusCodes | typeof UnspecifiedErrorCode | Code; +export const GRPC_REQUEST_FAILED = Code.Unavailable; + +export type ErrorContextCode = + | ChainAuctionErrorCodes + | ChainAuthZErrorCodes + | ChainCosmosErrorCode + | ChainExchangeModuleErrorCode + | ChainInsuranceErrorCodes + | ChainOcrErrorCodes + | ChainOracleErrorCodes + | ChainPeggyErrorCodes + | ChainTokenFactoryErrorCodes + | ChainWasmXErrorCodes + | ChainDistributionErrorCodes + | ChainBankErrorCodes + | ChainGovErrorCodes + | ChainStakingErrorCodes + | ChainWasmErrorCodes + | ErrorCode + | typeof UnspecifiedErrorCode; diff --git a/packages/wallet-sdk/src/proto/injective/exceptions/src/types/index.ts b/packages/wallet-sdk/src/proto/injective/exceptions/src/types/index.ts new file mode 100644 index 00000000..f03a08a4 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/exceptions/src/types/index.ts @@ -0,0 +1,113 @@ +import { ErrorCode, ErrorContextCode } from './codes'; + +export * from './codes'; +export * from './modules'; + +export enum HttpRequestMethod { + Get = 'GET', + Post = 'POST', + Options = 'OPTIONS', +} + +export enum ErrorType { + Unspecified = 'unspecified', + ChainError = 'chain-error', + ExecutionError = 'execution-error', + NotFoundError = 'not-found-error', + ValidationError = 'validation-error', + WalletError = 'wallet-error', + WalletNotInstalledError = 'wallet-not-installed-error', + GrpcUnaryRequest = 'grpc-unary-request', + HttpRequest = 'http-request', + Web3 = 'web3', +} + +export interface ErrorContext { + code?: ErrorCode; + type?: ErrorType; + + /** + * Additional context needed for the exception + */ + context?: string; + + /** + * Where is the exception thrown + */ + contextModule?: string; + + /** + * Needed when we get a code error from a Http/Grpc Request + * and we need to specify the error code for the particular message + * for example why the transaction has failed + * */ + contextCode?: ErrorContextCode; +} + +export interface Exception { + /** + * The type of the Error + */ + type: ErrorType; + + /** + * Error specific code (HttpStatus, GrpcStatus, etc) + */ + code: ErrorCode; + + /** + * The name of the error (the name of the instance of the Exception) + */ + name: string; + + /** + * Providing more context as to where the exception was thrown + * (ex: on-chain module, etc) + */ + contextModule?: string; + + /** + * Providing more context as to why the exception was thrown + * (ex: on-chain error code, etc) + */ + contextCode?: ErrorContextCode; + + /** + * Parsed message of the exception + */ + message: string; + + /** + * The original stack of the error + */ + stack?: string; + + /** + * The original message of the error + */ + originalMessage: string; + + parse?(): void; + + parseError(error: Error): void; + + parseContext(context?: ErrorContext): void; + + setType(type: ErrorType): void; + + setCode(code: ErrorCode): void; + + setStack(stack: string): void; + + setName(name: string): void; + + setMessage(message: string): void; + + setContextModule(contextModule: string): void; + + toOriginalError(): Error; + + toError(): Error; + + toString(): string; +} diff --git a/packages/wallet-sdk/src/proto/injective/exceptions/src/types/modules.ts b/packages/wallet-sdk/src/proto/injective/exceptions/src/types/modules.ts new file mode 100644 index 00000000..f5c5cb6d --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/exceptions/src/types/modules.ts @@ -0,0 +1,56 @@ +export enum ContractErrorModule { + Erc20Contract = 'erc20-contract', + Peggy = 'peggy-contract', + PeggyOld = 'peggy-old-contract', +} + +export enum ChainErrorModule { + Auction = 'chain-auction', + Auth = 'chain-auth', + Authz = 'chain-authz', + Bank = 'chain-bank', + Distribution = 'chain-distribution', + Exchange = 'chain-exchange', + Gov = 'chain-gov', + Ibc = 'chain-ibc', + InsuranceFund = 'chain-insurance', + Mint = 'chain-mint', + Oracle = 'chain-oracle', + Peggy = 'chain-peggy', + Staking = 'chain-staking', + Wasm = 'chain-wasm', + WasmX = 'chain-wasmx', + Tendermint = 'chain-tendermint', +} + +export enum IndexerErrorModule { + Account = 'indexer-account', + Auction = 'indexer-auction', + Derivatives = 'indexer-derivatives', + Explorer = 'indexer-explorer', + InsuranceFund = 'indexer-insurance-fund', + Meta = 'indexer-meta', + Mito = 'indexer-mito', + Dmm = 'dmm', + Oracle = 'indexer-oracle', + Portfolio = 'indexer-portfolio', + Spot = 'indexer-spot', + Transaction = 'indexer-transaction', + Trading = 'indexer-trading', + ChronosDerivative = 'indexer-chronos-derivative', + ChronosSpot = 'indexer-chronos-spot', + ChronosMarkets = 'indexer-chronos-markets', + Campaign = 'indexer-campaign', +} + +export enum WalletErrorActionModule { + SignTransaction = 'sign-transaction', + SignEthereumTransaction = 'sign-ethereum-transaction', + SendTransaction = 'send-transaction', + SendEthereumTransaction = 'send-ethereum-transaction', + SignArbitrary = 'sign-arbitrary', + GetAccounts = 'get-accounts', + GetNetworkId = 'get-network-id', + GetChainId = 'get-chain-id', + GetEthereumTransactionReceipt = 'get-ethereum-transaction-receipt', +} diff --git a/packages/wallet-sdk/src/proto/injective/exceptions/src/utils/index.ts b/packages/wallet-sdk/src/proto/injective/exceptions/src/utils/index.ts new file mode 100644 index 00000000..5a093ff7 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/exceptions/src/utils/index.ts @@ -0,0 +1,23 @@ +export const toPascalCase = (str: string): string => + `${str}` + .toLowerCase() + .replace(new RegExp(/[-_]+/, 'g'), ' ') + .replace(new RegExp(/[^\w\s]/, 'g'), '') + .replace(new RegExp(/\s+(.)(\w*)/, 'g'), (_$1, $2, $3) => `${$2.toUpperCase() + $3}`) + .replace(new RegExp(/\w/), (s) => s.toUpperCase()); + +export const formatNotificationDescription = (description: string) => { + const DESCRIPTION_CHARACTER_LIMIT = 50; + + if (description.length <= DESCRIPTION_CHARACTER_LIMIT) { + return { + description, + tooltip: '', + }; + } + + return { + description: description.slice(0, DESCRIPTION_CHARACTER_LIMIT) + ' ...', + tooltip: description, + }; +}; diff --git a/packages/wallet-sdk/src/proto/injective/exceptions/src/utils/maps.ts b/packages/wallet-sdk/src/proto/injective/exceptions/src/utils/maps.ts new file mode 100644 index 00000000..83579aab --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/exceptions/src/utils/maps.ts @@ -0,0 +1,125 @@ +import { chainErrorMessagesMap, chainModuleCodeErrorMessagesMap } from '../messages'; +import { ErrorContext, ErrorContextCode, TransactionChainErrorModule, UnspecifiedErrorCode } from '../types'; + +export const parseErrorMessage = (message: string): string => { + const firstParse = message.split('message index: 0:'); + + if (firstParse.length === 1) { + const [firstParseString] = firstParse; + const secondParse = firstParseString.split(': invalid request'); + const [secondParseString] = secondParse; + + return secondParseString.trim().trimEnd(); + } + + const [, firstParseString] = firstParse; + const [actualMessage] = firstParseString.split(': invalid request'); + + return actualMessage.trim().trimEnd(); +}; + +export const mapFailedTransactionMessageFromString = ( + message: string, +): { + message: string; + code: ErrorContextCode; + module?: TransactionChainErrorModule; +} => { + const parsedMessage = parseErrorMessage(message); + const messageInMapKey = (Object.keys(chainErrorMessagesMap) as Array).find( + (key) => parsedMessage.toLowerCase().includes(key.toLowerCase()), + ); + + if (!messageInMapKey) { + return { + message: parsedMessage, + code: UnspecifiedErrorCode, + module: undefined, + }; + } + + return chainErrorMessagesMap[messageInMapKey]; +}; + +export const mapFailedTransactionMessage = ( + message: string, + context?: ErrorContext, +): { message: string; code: ErrorContextCode; contextModule?: string } => { + const getABCICode = (message: string): number | undefined => { + const ABCICodePattern = /{key:"ABCICode"[ \t]+value:"(.*?)"}/g; + + const ABCICode = ABCICodePattern.exec(message); + + if (!ABCICode || ABCICode.length < 2) { + return; + } + + return Number(ABCICode[1]); + }; + + const getContextModule = (message: string): string | undefined => { + const codespacePattern = /{key:"Codespace"[ \t]+value:"(.*?)"}/g; + + const codespace = codespacePattern.exec(message); + + if (!codespace || codespace.length < 2) { + return; + } + + return codespace[1]; + }; + + const getReason = (message: string): string | undefined => { + const ReasonPattern = /\[reason:"(.*?)"/g; + + const codespace = ReasonPattern.exec(message); + + if (!codespace || codespace.length < 2) { + return; + } + + const reason = codespace[1]; + + if (reason === 'execute wasm contract failed') { + const SubReasonPattern = /(.*?)Generic error:(.*?): execute wasm/g; + const subReason = SubReasonPattern.exec(message); + + if (!subReason) { + return reason; + } + + return subReason[2] || reason; + } + + return reason; + }; + + const ABCICode = context && context.code ? context.code : getABCICode(message); + const contextModule = context?.contextModule || getContextModule(message); + const reason = getReason(message); + + if (!ABCICode || !contextModule) { + const failedTxMap = mapFailedTransactionMessageFromString(message); + + return { + ...failedTxMap, + message: reason || failedTxMap.message, + }; + } + + const codespaceErrorMessages = chainModuleCodeErrorMessagesMap[contextModule]; + + if (!codespaceErrorMessages) { + return { + message: reason || message, + code: ABCICode, + contextModule, + }; + } + + return { + message: codespaceErrorMessages[ABCICode] || reason || message, + code: ABCICode, + contextModule, + }; +}; diff --git a/packages/wallet-sdk/src/proto/injective/types/auth.ts b/packages/wallet-sdk/src/proto/injective/types/auth.ts new file mode 100644 index 00000000..dace65fd --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/types/auth.ts @@ -0,0 +1,9 @@ +export interface AccountDetails { + address: string; + pubKey: { + type: string; + key: string; + }; + accountNumber: number; + sequence: number; +} diff --git a/packages/wallet-sdk/src/proto/injective/types/enums.ts b/packages/wallet-sdk/src/proto/injective/types/enums.ts new file mode 100644 index 00000000..cbe3a2f0 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/types/enums.ts @@ -0,0 +1,16 @@ +export enum EthereumChainId { + Mainnet = 1, + Ropsten = 3, + Rinkeby = 4, + Goerli = 5, + Kovan = 42, + Injective = 888, + Ganache = 1337, + HardHat = 31337, +} + +export enum ChainId { + Mainnet = 'injective-1', + Testnet = 'injective-888', + Devnet = 'injective-777', +} diff --git a/packages/wallet-sdk/src/proto/injective/types/index.ts b/packages/wallet-sdk/src/proto/injective/types/index.ts new file mode 100644 index 00000000..240020a9 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/types/index.ts @@ -0,0 +1,8 @@ +import { CosmosTxV1Beta1Tx } from '../core-proto-ts'; + +export interface Coin { + denom: string; + amount: string; +} + +export type TxRaw = CosmosTxV1Beta1Tx.TxRaw; diff --git a/packages/wallet-sdk/src/proto/injective/utils/address.ts b/packages/wallet-sdk/src/proto/injective/utils/address.ts new file mode 100644 index 00000000..c1bae613 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/address.ts @@ -0,0 +1,90 @@ +import { bech32 } from 'bech32'; +import { Address, keccak256 } from 'ethereumjs-util'; + +/** + * Get injective address from Ethereum hex address + * + * @param ethAddress string + * @returns string + */ +export const getInjectiveAddress = (ethAddress: string): string => { + const addressBuffer = Address.fromString(ethAddress.toString()).toBuffer(); + + return bech32.encode('inj', bech32.toWords(addressBuffer)); +}; + +/** + * Get ethereum address from injective bech32 address + * + * @param injectiveAddress string + * @returns string + */ +export const getEthereumAddress = (injectiveAddress: string): string => { + if (injectiveAddress.startsWith('0x')) { + return injectiveAddress; + } + + return `0x${Buffer.from(bech32.fromWords(bech32.decode(injectiveAddress).words)).toString('hex')}`; +}; + +/** + * Get ethereum address from injective bech32 address + * + * @param injectiveAddress string + * @returns string + */ +export const getInjectiveAddressFromSubaccountId = (subaccountId: string): string => { + const ethAddress = subaccountId.slice(0, 42); + + return getInjectiveAddress(ethAddress); +}; + +/** + * Get default subaccount id from injective bech32 address + * + * @param injectiveAddress string + * @returns string + */ +export const getDefaultSubaccountId = (injectiveAddress: string): string => { + return `0x${Buffer.from(bech32.fromWords(bech32.decode(injectiveAddress).words)).toString('hex')}${'0'.repeat(24)}`; +}; + +/** + * Get subaccount id from injective bech32 address and an index (defaults to 0) + * @param injectiveAddress string + * @param nonce number + * @returns string + */ +export const getSubaccountId = (injectiveAddress: string, nonce = 0): string => { + return `0x${Buffer.from(bech32.fromWords(bech32.decode(injectiveAddress).words)).toString('hex')}${'0'.repeat( + 23, + )}${nonce}`; +}; + +/** @deprecated - use getEthereumAddress */ +export const getAddressFromInjectiveAddress = (address: string): string => { + if (address.startsWith('0x')) { + return address; + } + + return `0x${Buffer.from(bech32.fromWords(bech32.decode(address).words)).toString('hex')}`; +}; + +export const getChecksumAddress = (ethAddress: string) => { + const lowercasedAddress = ethAddress.toLowerCase().replace('0x', ''); + const addressHash = keccak256(Buffer.from(lowercasedAddress)).toString('hex').replace('0x', ''); + + let checksumAddress = '0x'; + + for (let i = 0; i < lowercasedAddress.length; i++) { + if (parseInt(addressHash[i], 16) > 7) { + checksumAddress += lowercasedAddress[i].toUpperCase(); + } else { + checksumAddress += lowercasedAddress[i]; + } + } + + return checksumAddress; +}; + +export const isCw20ContractAddress = (address: string) => address.length === 42 && address.startsWith('inj'); diff --git a/packages/wallet-sdk/src/proto/injective/utils/classes/BigNumber/BigNumber.ts b/packages/wallet-sdk/src/proto/injective/utils/classes/BigNumber/BigNumber.ts new file mode 100644 index 00000000..490d6bfd --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/classes/BigNumber/BigNumber.ts @@ -0,0 +1,3 @@ +import { BigNumber } from 'bignumber.js'; + +export default BigNumber; diff --git a/packages/wallet-sdk/src/proto/injective/utils/classes/BigNumber/BigNumberInBase.ts b/packages/wallet-sdk/src/proto/injective/utils/classes/BigNumber/BigNumberInBase.ts new file mode 100644 index 00000000..2590b70c --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/classes/BigNumber/BigNumberInBase.ts @@ -0,0 +1,41 @@ +import BigNumber from './BigNumber'; +import type BigNumberInWei from './BigNumberInWei'; +import { bigNumberBaseToWei } from './utils'; + +export default class BigNumberInBase extends BigNumber { + static make(number: BigNumber.Value): BigNumberInBase { + return new BigNumberInBase(number); + } + + minus(n: BigNumber.Value, base?: number): BigNumberInBase { + return new BigNumberInBase(super.minus(n, base)); + } + + plus(n: BigNumber.Value, base?: number): BigNumberInBase { + return new BigNumberInBase(super.plus(n, base)); + } + + dividedBy(n: BigNumber.Value, base?: number): BigNumberInBase { + return new BigNumberInBase(super.dividedBy(n, base)); + } + + div(n: BigNumber.Value, base?: number): BigNumberInBase { + return new BigNumberInBase(super.div(n, base)); + } + + multipliedBy(n: BigNumber.Value, base?: number): BigNumberInBase { + return new BigNumberInBase(super.multipliedBy(n, base)); + } + + times(n: BigNumber.Value, base?: number): BigNumberInBase { + return new BigNumberInBase(super.times(n, base)); + } + + pow(n: BigNumber.Value, base?: number): BigNumberInBase { + return new BigNumberInBase(super.pow(n, base)); + } + + toWei(decimals = 18): BigNumberInWei { + return bigNumberBaseToWei(this, decimals); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/utils/classes/BigNumber/BigNumberInWei.ts b/packages/wallet-sdk/src/proto/injective/utils/classes/BigNumber/BigNumberInWei.ts new file mode 100644 index 00000000..3db7a0eb --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/classes/BigNumber/BigNumberInWei.ts @@ -0,0 +1,41 @@ +import BigNumber from './BigNumber'; +import type BigNumberInBase from './BigNumberInBase'; +import { bigNumberWeiToBase } from './utils'; + +export default class BigNumberInWei extends BigNumber { + static make(number: BigNumber.Value): BigNumberInWei { + return new BigNumberInWei(number); + } + + minus(n: BigNumber.Value, base?: number): BigNumberInWei { + return new BigNumberInWei(super.minus(n, base)); + } + + plus(n: BigNumber.Value, base?: number): BigNumberInWei { + return new BigNumberInWei(super.plus(n, base)); + } + + dividedBy(n: BigNumber.Value, base?: number): BigNumberInWei { + return new BigNumberInWei(super.dividedBy(n, base)); + } + + div(n: BigNumber.Value, base?: number): BigNumberInWei { + return new BigNumberInWei(super.div(n, base)); + } + + multipliedBy(n: BigNumber.Value, base?: number): BigNumberInWei { + return new BigNumberInWei(super.multipliedBy(n, base)); + } + + times(n: BigNumber.Value, base?: number): BigNumberInWei { + return new BigNumberInWei(super.times(n, base)); + } + + pow(n: BigNumber.Value, base?: number): BigNumberInWei { + return new BigNumberInWei(super.pow(n, base)); + } + + toBase(decimals = 18): BigNumberInBase { + return bigNumberWeiToBase(this, decimals); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/utils/classes/BigNumber/utils.ts b/packages/wallet-sdk/src/proto/injective/utils/classes/BigNumber/utils.ts new file mode 100644 index 00000000..21ca95b7 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/classes/BigNumber/utils.ts @@ -0,0 +1,7 @@ +import { BigNumber } from 'bignumber.js'; + +export const bigNumberBaseToWei = (value: T, decimals = 18): P => + new BigNumber(value).multipliedBy(new BigNumber(10).pow(decimals)) as unknown as P; + +export const bigNumberWeiToBase = (value: T, decimals = 18): P => + new BigNumber(value).dividedBy(new BigNumber(10).pow(decimals)) as unknown as P; diff --git a/packages/wallet-sdk/src/proto/injective/utils/classes/HttpClient.ts b/packages/wallet-sdk/src/proto/injective/utils/classes/HttpClient.ts new file mode 100644 index 00000000..b92d3403 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/classes/HttpClient.ts @@ -0,0 +1,46 @@ +import axios, { AxiosInstance, AxiosRequestConfig } from 'axios'; + +export default class HttpClient { + private readonly client: AxiosInstance; + + private config: AxiosRequestConfig = {}; + + constructor( + endpoint: string, + options: Record = { + headers: { + 'Content-Type': 'application/json', + }, + }, + ) { + this.client = axios.create({ + baseURL: endpoint, + timeout: 15000, + ...options, + }); + + this.config = {}; + } + + setConfig(config: AxiosRequestConfig): HttpClient { + this.config = config; + + return this; + } + + get(endpoint: string, params: T = {} as T): Promise

{ + return this.client.get(endpoint, { params, ...this.config }); + } + + post(endpoint: string, data: T = {} as T): Promise

{ + return this.client.post(endpoint, data, this.config); + } + + put(endpoint: string, data: T = {} as T): Promise

{ + return this.client.put(endpoint, data, this.config); + } + + delete(endpoint: string, params: T = {} as T): Promise

{ + return this.client.delete(endpoint, { params, ...this.config }); + } +} diff --git a/packages/wallet-sdk/src/proto/injective/utils/classes/HttpRestClient.ts b/packages/wallet-sdk/src/proto/injective/utils/classes/HttpRestClient.ts new file mode 100644 index 00000000..c079ba2e --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/classes/HttpRestClient.ts @@ -0,0 +1,96 @@ +import axios, { AxiosError, AxiosRequestConfig } from 'axios'; + +import { HttpRequestException, HttpRequestMethod, UnspecifiedErrorCode } from '../../exceptions/src'; +import { StatusCodes } from '../../utils'; +import HttpClient from './HttpClient'; + +const getErrorMessage = (error: any, endpoint: string): string => { + if (!error.response) { + return `The request to ${endpoint} has failed.`; + } + + return error.response.data ? error.response.data.message || error.response.data : error.response.statusText; +}; + +/** + * @hidden + */ +export default class HttpRestClient { + protected client: HttpClient; + + protected endpoint: string; + + constructor(endpoint: string, options: Record = {}) { + this.client = new HttpClient(endpoint, options); + this.endpoint = endpoint; + } + + setConfig(config: AxiosRequestConfig): HttpRestClient { + this.client.setConfig(config); + + return this; + } + + public async get(endpoint: string, params: Record = {}): Promise { + try { + return await this.client.get(endpoint, params); + } catch (e: unknown) { + const error = e as Error | AxiosError; + + if (axios.isAxiosError(error)) { + if (error.code === 'ECONNABORTED') { + throw new HttpRequestException(new Error(error.message), { + code: StatusCodes.REQUEST_TOO_LONG, + context: endpoint, + method: HttpRequestMethod.Get, + }); + } + + const message = getErrorMessage(error, endpoint); + + throw new HttpRequestException(new Error(message), { + context: endpoint, + code: error.response ? error.response.status : StatusCodes.BAD_REQUEST, + method: HttpRequestMethod.Get, + }); + } + + throw new HttpRequestException(new Error((error as any).message), { + code: UnspecifiedErrorCode, + context: endpoint, + contextModule: HttpRequestMethod.Get, + }); + } + } + + public async post(endpoint: string, params: Record = {}): Promise { + try { + return await this.client.post(endpoint, params); + } catch (e: unknown) { + const error = e as Error | AxiosError; + + if (axios.isAxiosError(error)) { + if (error.code === 'ECONNABORTED') { + throw new HttpRequestException(new Error(error.message), { + code: StatusCodes.REQUEST_TOO_LONG, + method: HttpRequestMethod.Post, + }); + } + + const message = getErrorMessage(error, endpoint); + + throw new HttpRequestException(new Error(message), { + code: error.response ? error.response.status : StatusCodes.BAD_REQUEST, + context: endpoint, + contextModule: HttpRequestMethod.Post, + }); + } + + throw new HttpRequestException(new Error((error as any).message), { + code: UnspecifiedErrorCode, + context: endpoint, + contextModule: HttpRequestMethod.Post, + }); + } + } +} diff --git a/packages/wallet-sdk/src/proto/injective/utils/classes/index.ts b/packages/wallet-sdk/src/proto/injective/utils/classes/index.ts new file mode 100644 index 00000000..f4a7c973 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/classes/index.ts @@ -0,0 +1,7 @@ +import BigNumber from './BigNumber/BigNumber'; +import BigNumberInBase from './BigNumber/BigNumberInBase'; +import BigNumberInWei from './BigNumber/BigNumberInWei'; +import HttpClient from './HttpClient'; +import HttpRestClient from './HttpRestClient'; + +export { BigNumber, BigNumberInBase, BigNumberInWei, HttpClient, HttpRestClient }; diff --git a/packages/wallet-sdk/src/proto/injective/utils/constants.ts b/packages/wallet-sdk/src/proto/injective/utils/constants.ts new file mode 100644 index 00000000..334d6ba3 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/constants.ts @@ -0,0 +1,28 @@ +import BigNumber from 'bignumber.js'; +export const BECH32_ADDR_ACC_PREFIX = 'inj'; +export const BECH32_ADDR_CONS_PREFIX = 'injvalcons'; +export const BECH32_ADDR_VAL_PREFIX = 'injvaloper'; +export const DEFAULT_DERIVATION_PATH = "m/44'/60'/0'/0/0"; +export const DEFAULT_BLOCK_TIMEOUT_HEIGHT = 90; +export const DEFAULT_BLOCK_TIME_IN_SECONDS = 2; +export const DEFAULT_TX_BLOCK_INCLUSION_TIMEOUT_IN_MS = + DEFAULT_BLOCK_TIMEOUT_HEIGHT * DEFAULT_BLOCK_TIME_IN_SECONDS * 1000; +export const DEFAULT_GAS_LIMIT = 400000; +export const DEFAULT_GAS_PRICE = 160000000; + +export const BECH32_PUBKEY_ACC_PREFIX = 'injpub'; +export const BECH32_PUBKEY_VAL_PREFIX = 'injvaloperpub'; +export const BECH32_PUBKEY_CONS_PREFIX = 'injvalconspub'; + +export const DEFAULT_STD_FEE = { + amount: [ + { + amount: new BigNumber(DEFAULT_GAS_LIMIT).times(DEFAULT_GAS_PRICE).toString(), + denom: 'inj', + }, + ], + gas: DEFAULT_GAS_LIMIT.toString(), + payer: '', + granter: '', + feePayer: '', +}; diff --git a/packages/wallet-sdk/src/proto/injective/utils/crypto.ts b/packages/wallet-sdk/src/proto/injective/utils/crypto.ts new file mode 100644 index 00000000..8ba4966d --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/crypto.ts @@ -0,0 +1,27 @@ +import CryptoJS from 'crypto-js'; +import * as secp256k1 from 'secp256k1'; + +export const hashToHex = (data: string): string => { + return CryptoJS.SHA256(CryptoJS.enc.Base64.parse(data)).toString().toUpperCase(); +}; +export function uint8ArrayToHex(arr: Uint8Array) { + return Buffer.from(arr).toString('hex'); +} + +export function hexToUnit8Array(str: string) { + return new Uint8Array(Buffer.from(str, 'hex')); +} + +export function decompressPubKey(startsWith02Or03: string) { + // if already decompressed an not has trailing 04 + const testBuffer = Buffer.from(startsWith02Or03, 'hex'); + + if (testBuffer.length === 64) startsWith02Or03 = '04' + startsWith02Or03; + + let decompressed = uint8ArrayToHex(secp256k1.publicKeyConvert(hexToUnit8Array(startsWith02Or03), false)); + + // remove trailing 04 + decompressed = decompressed.substring(2); + + return decompressed; +} diff --git a/packages/wallet-sdk/src/proto/injective/utils/helpers.ts b/packages/wallet-sdk/src/proto/injective/utils/helpers.ts new file mode 100644 index 00000000..335502b9 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/helpers.ts @@ -0,0 +1,297 @@ +import BigNumber from 'bignumber.js'; + +import { CosmosBaseV1Beta1Coin } from '../core-proto-ts'; +import { Coin } from '../types'; +import BigNumberInBase from './classes/BigNumber/BigNumberInBase'; +import BigNumberInWei from './classes/BigNumber/BigNumberInWei'; +import { DEFAULT_GAS_LIMIT, DEFAULT_GAS_PRICE, DEFAULT_STD_FEE } from './constants'; + +export type Awaited = T extends null | undefined + ? T // special case for `null | undefined` when not in `--strictNullChecks` mode + : T extends object & { then(onfulfilled: infer F, ...args: infer _): any } // `await` only unwraps object types with a callable `then`. Non-object types are not unwrapped + ? F extends (value: infer V, ...args: infer _) => any // if the argument to `then` is callable, extracts the first argument + ? Awaited // recursively unwrap the value + : never // the argument to `then` was not callable + : T; // non-object or non-thenable + +export const isServerSide = () => typeof window === 'undefined'; + +export const isReactNative = () => { + return typeof document === 'undefined' && typeof navigator !== 'undefined' && navigator.product === 'ReactNative'; +}; + +export const isNode = () => { + if (typeof window === 'undefined') { + return true; + } + + return ( + typeof process !== 'undefined' && + typeof process.versions !== 'undefined' && + typeof process.versions.node !== 'undefined' + ); +}; + +export const isBrowser = () => { + if (isReactNative()) { + return false; + } + + if (isNode()) { + return false; + } + + return typeof window !== 'undefined'; +}; + +export const objectToJson = ( + object: Record, + params?: + | { + replacer?: any; + indentation?: number; + } + | undefined, +): string => { + const { replacer, indentation } = params || { replacer: null, indentation: 2 }; + + return JSON.stringify(object, replacer, indentation); +}; + +export const protoObjectToJson = ( + object: any, + params?: + | { + replacer?: any; + indentation?: number; + } + | undefined, +): string => { + const { replacer, indentation } = params || { replacer: null, indentation: 2 }; + + if (object.toObject !== undefined) { + return JSON.stringify(object.toObject(), replacer, indentation); + } + + return objectToJson(object, { replacer, indentation }); +}; + +export const grpcCoinToUiCoin = (coin: CosmosBaseV1Beta1Coin.Coin): Coin => ({ + amount: coin.amount, + denom: coin.denom, +}); + +export const uint8ArrayToString = (string: string | Uint8Array | null | undefined): string => { + if (!string) { + return ''; + } + + if (string.constructor !== Uint8Array) { + return string as string; + } + + return new TextDecoder().decode(string); +}; + +export const toPascalCase = (str: string): string => { + return `${str}` + .toLowerCase() + .replace(new RegExp(/[-_]+/, 'g'), ' ') + .replace(new RegExp(/[^\w\s]/, 'g'), '') + .replace(new RegExp(/\s+(.)(\w*)/, 'g'), (_$1, $2, $3) => `${$2.toUpperCase() + $3}`) + .replace(new RegExp(/\w/), (s) => s.toUpperCase()); +}; + +export const snakeToPascal = (str: string): string => { + return str + .split('/') + .map((snake) => + snake + .split('_') + .map((substr) => substr.charAt(0).toUpperCase() + substr.slice(1)) + .join(''), + ) + .join('/'); +}; + +export const sortObjectByKeysWithReduce = (obj: T): T => { + if (typeof obj !== 'object' || obj === null) return obj; + + if (Array.isArray(obj)) { + return obj.map((e) => sortObjectByKeysWithReduce(e)).sort() as T; + } + + return Object.keys(obj) + .sort() + .reduce((sorted, k) => { + const key = k as keyof typeof obj; + sorted[key] = sortObjectByKeysWithReduce(obj[key]); + return sorted; + }, {} as T); +}; + +export const sortObjectByKeys = (obj: T): T => { + if (typeof obj !== 'object' || obj === null) { + return obj; + } + + if (Array.isArray(obj)) { + return obj.map(sortObjectByKeys) as T; + } + + const sortedKeys = Object.keys(obj).sort() as Array; + const result = {} as Record; + + sortedKeys.forEach((key) => { + result[key] = sortObjectByKeys(obj[key]); + }); + + return result as T; +}; + +export const getErrorMessage = (error: any, endpoint: string): string => { + if (!error.response) { + return `The request to ${endpoint} has failed.`; + } + + return error.response.data ? error.response.data.message || error.response.data : error.response.statusText; +}; + +export const sleep = (timeout: number): Promise => new Promise((resolve) => setTimeout(resolve, timeout)); + +/** + * When we want to execute the promises in batch + */ +export const awaitAll = async (array: Array, callback: (item: T) => Promise): Promise[]> => + await Promise.all(array.map(async (item: T) => await callback(item))); + +/** + * When we want to execute the promises one by one + * and not all in batch as with await Promise.all() + */ +export const awaitForAll = async (array: Array, callback: (item: T) => Promise): Promise => { + const result = [] as S[]; + + for (let i = 0; i < array.length; i += 1) { + try { + result.push(await callback(array[i])); + } catch (e: any) { + // + } + } + + return result; +}; + +export const splitArrayToChunks = ({ + array, + chunkSize, + filter, +}: { + array: Array; + chunkSize: number; + filter?: (item: T) => boolean; +}) => { + const chunks = []; + + for (let i = 0; i < array.length; i += chunkSize) { + const chunk = array.slice(i, i + chunkSize); + + if (filter) { + chunks.push(chunk.filter(filter)); + } else { + chunks.push(chunk); + } + } + + return chunks; +}; + +export const getStdFeeForToken = ( + token: { + denom: string; + decimals: number; + } = { denom: 'inj', decimals: 18 }, + gasPrice?: string, + gasLimit?: string, +) => { + const gasPriceInBase = gasPrice || new BigNumberInWei(DEFAULT_GAS_PRICE).toBase(); + const gasPriceScaled = new BigNumberInBase(gasPriceInBase).toWei(token.decimals).toFixed(0); + const gasNormalized = new BigNumber(gasLimit || DEFAULT_GAS_LIMIT).toFixed(0); + + return { + amount: [ + { + denom: token.denom, + amount: new BigNumberInBase(gasPriceScaled).times(gasNormalized).toFixed(), + }, + ], + gas: gasNormalized, + }; +}; + +export const getStdFeeFromObject = (args?: { + gas?: string | number; + payer?: string; + granter?: string; + gasPrice?: string | number; + feePayer?: string; +}) => { + if (!args) { + return DEFAULT_STD_FEE; + } + + const { gas = DEFAULT_GAS_LIMIT.toString(), gasPrice = DEFAULT_GAS_PRICE, payer, granter, feePayer } = args; + const gasNormalized = new BigNumber(gas).toFixed(0); + const gasPriceNormalized = new BigNumber(gasPrice).toFixed(0); + + return { + amount: [ + { + denom: 'inj', + amount: new BigNumber(gasNormalized).times(gasPriceNormalized).toFixed(), + }, + ], + gas: new BigNumber(gasNormalized).toFixed(), + payer /** for Web3Gateway fee delegation */, + granter, + feePayer, + }; +}; + +export const getDefaultStdFee = () => DEFAULT_STD_FEE; + +export const getStdFeeFromString = (gasPrice: string) => { + const matchResult = gasPrice.match(/^([0-9.]+)([a-zA-Z][a-zA-Z0-9/:._-]*)$/); + + if (!matchResult) { + throw new Error('Invalid gas price string'); + } + + const [_, amount] = matchResult; + const gas = new BigNumberInBase(amount).toWei().dividedBy(DEFAULT_GAS_PRICE).toFixed(0); + + return getStdFeeFromObject({ gas, gasPrice: DEFAULT_GAS_PRICE }); +}; + +export const getStdFee = ( + args?: + | string + | { + gas?: string | number; + payer?: string; + granter?: string; + gasPrice?: string | number; + feePayer?: string; + }, +) => { + if (!args) { + return DEFAULT_STD_FEE; + } + + if (typeof args === 'string') { + return getStdFeeFromString(args); + } + + return getStdFeeFromObject({ ...args }); +}; diff --git a/packages/wallet-sdk/src/proto/injective/utils/index.ts b/packages/wallet-sdk/src/proto/injective/utils/index.ts new file mode 100644 index 00000000..d09575b1 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/index.ts @@ -0,0 +1,9 @@ +export * from './address'; +export * from './classes'; +export * from './constants'; +export * from './crypto'; +export * from './helpers'; +export * from './numbers'; +export * from './snakecase'; +export * from './statusCodes'; +export * from './utf8'; diff --git a/packages/wallet-sdk/src/proto/injective/utils/numbers.ts b/packages/wallet-sdk/src/proto/injective/utils/numbers.ts new file mode 100644 index 00000000..5ebfabff --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/numbers.ts @@ -0,0 +1,665 @@ +import { BigNumber, BigNumberInBase } from '../utils'; + +const $BigNumber = BigNumber.clone({ ROUNDING_MODE: BigNumber.ROUND_DOWN }); + +export const isNumber = (number: string | number) => { + if (typeof number === 'number') { + return true; + } + + return !isNaN(parseFloat(number)); +}; + +const getSignificantDecimalsFromNumber = (number: BigNumber | number | string): number => { + if (Math.floor(new $BigNumber(number).toNumber()) === number) { + return 0; + } + + const parts = new $BigNumber(number).toFixed().split('.'); + const [, decimals] = parts; + + /** Number doesn't have decimals */ + if (!decimals) { + return 0; + } + + return decimals.length; +}; + +const getExactDecimalsFromNumber = (number: number | string): number => { + if (!number.toString().includes('.')) { + return 0; + } + + if (Number(number) % 1 === 0) { + return 0; + } + + const [, decimals] = number.toString().split('.'); + + if (!decimals) { + return 0; + } + + return decimals.length; +}; + +export const formatNumberToAllowableDecimals = ( + value: string | number, + allowableDecimals: number, + roundingMode?: BigNumber.RoundingMode, +): string => { + const decimalPlacesInValue = new BigNumberInBase(getExactDecimalsFromNumber(value)); + const valueToString = value.toString(); + + if (decimalPlacesInValue.lte(0)) { + return valueToString; + } + + const decimalMoreThanAllowance = decimalPlacesInValue.gte(allowableDecimals); + + return decimalMoreThanAllowance + ? new BigNumberInBase(valueToString).toFixed(allowableDecimals, roundingMode) + : valueToString; +}; + +export const formatNumberToAllowableTensMultiplier = ( + value: string | number, + tensMultiplier: number, + roundingMode?: BigNumber.RoundingMode, +): string => { + const valueToBn = new BigNumberInBase(value); + + if (tensMultiplier === 0) { + return valueToBn.toFixed(0, roundingMode); + } + + const tensMul = new BigNumberInBase(10).pow(tensMultiplier); + + if (valueToBn.lte(tensMul)) { + return tensMul.toFixed(0, roundingMode); + } + + return new BigNumberInBase(valueToBn.div(tensMul).toFixed(0, roundingMode)).multipliedBy(tensMul).toFixed(0); +}; + +export const formatAmountToAllowableAmount = (value: string | number, tensMultiplier: number): string => { + return tensMultiplier < 0 + ? formatNumberToAllowableDecimals(value, -tensMultiplier, BigNumberInBase.ROUND_DOWN) + : formatNumberToAllowableTensMultiplier(value, tensMultiplier, BigNumberInBase.ROUND_DOWN); +}; + +export const formatPriceToAllowablePrice = (value: string | number, tensMultiplier: number): string => { + return tensMultiplier <= 0 + ? formatNumberToAllowableDecimals(value, -tensMultiplier) + : formatNumberToAllowableTensMultiplier(value, tensMultiplier); +}; + +/** + * + * Legacy function - use formatNumberToAllowableDecimals + * + * @param value + * @param allowableDecimals + * @returns + */ +export const formatAmountToAllowableDecimals = (value: string | number, allowableDecimals: number): string => { + return formatNumberToAllowableDecimals(value, allowableDecimals, BigNumberInBase.ROUND_DOWN); +}; + +/** + * + * Legacy function - use formatNumberToAllowableDecimals + * + * @param value + * @param allowableDecimals + * @returns + */ +export const formatPriceToAllowableDecimals = (value: string | number, allowableDecimals: number): string => { + return formatNumberToAllowableDecimals(value, allowableDecimals); +}; + +/** + * On chain amounts queried from a sentry using the + * gRPC API are returned with an extra decimal point + * 18 places from the beginning, so we need to remove it + * to get a workable amount + */ +export const denomAmountFromGrpcChainDenomAmount = (value: string | number | BigNumber) => + new $BigNumber(value).dividedBy(new $BigNumber(10).pow(18)); + +/** + * On chain amounts broadcasted to a sentry directly using the + * gRPC API should be passed with an extra decimal point + * 18 places from the beginning, so we need to add it + * to get a workable amount + */ +export const denomAmountToGrpcChainDenomAmount = (value: string | number | BigNumber) => + new $BigNumber(value).multipliedBy(new $BigNumber(10).pow(18)); + +/** + * On chain amounts (based on the cosmosSdk.Dec type) + * broadcasted to a sentry directly using the + * gRPC API should be passed with an extra decimal point + * 18 places from the beginning (i.e multiplied by 1e18), so we need to add it + * to get a workable amount + */ +export const amountToCosmosSdkDecAmount = (value: string | number | BigNumber) => + new $BigNumber(value).multipliedBy(new $BigNumber(10).pow(18)); + +/** + * Amount that the chain requires is in the x * 10^(quoteDecimals) format + * where x is a human readable number + */ +export const denomAmountToChainDenomAmount = ({ + value, + decimals = 18, +}: { + value: number | string | BigNumber; + decimals?: number | string; +}) => new $BigNumber(value).multipliedBy(new $BigNumber(10).pow(decimals)); + +/** + * Amount that the chain returns is in the x * 10^(quoteDecimals) format + * where x is a human readable number + */ +export const denomAmountToChainDenomAmountToFixed = ({ + value, + decimals = 18, + tensMultiplier, + decimalPlaces = undefined, + roundingMode = BigNumber.ROUND_DOWN, +}: { + value: number | string | BigNumber; + decimals?: number | string; + tensMultiplier?: number; + decimalPlaces?: number; + roundingMode?: BigNumber.RoundingMode; +}) => { + const valueToBn = new BigNumberInBase(value).toFixed(); + const flooredValue = tensMultiplier ? formatPriceToAllowablePrice(valueToBn, tensMultiplier) : value; + + const number = denomAmountToChainDenomAmount({ + value: flooredValue, + decimals, + }); + + if (decimalPlaces === undefined) { + return number.toFixed(); + } + + return number.toFixed(getSignificantDecimalsFromNumber(number), roundingMode); +}; + +/** + * Amount that the chain returns is in the x * 10^(quoteDecimals) format + * where x is a human readable number + */ +export const denomAmountFromChainDenomAmount = ({ + value, + decimals = 18, +}: { + value: number | string | BigNumber; + decimals?: number | string; +}) => new $BigNumber(value).dividedBy(new $BigNumber(10).pow(decimals)); +/** + * + * Amount that the chain returns is in the x * 10^(quoteDecimals) format + * where x is a human readable number stringified + */ +export const denomAmountFromChainDenomAmountToFixed = ({ + value, + decimals = 18, + decimalPlaces = undefined, + roundingMode = BigNumber.ROUND_DOWN, +}: { + value: number | string | BigNumber; + decimals?: number | string; + decimalPlaces?: number; + roundingMode?: BigNumber.RoundingMode; +}) => { + const number = denomAmountFromChainDenomAmount({ value, decimals }); + + if (decimalPlaces === undefined) { + return number.toFixed(); + } + + return number.toFixed(getSignificantDecimalsFromNumber(number), roundingMode); +}; + +/** + * Amount that the chain requires is in the x * 10^(quoteDecimals) format + * where x is a human readable number + */ +export const derivativeMarginToChainMargin = ({ + value, + quoteDecimals = 18, +}: { + value: number | string | BigNumber; + quoteDecimals?: number | string; +}) => new $BigNumber(value).multipliedBy(new $BigNumber(10).pow(quoteDecimals)); + +/** + * Amount that the chain requires is in the x * 10^(quoteDecimals) format + * where x is a human readable number stringified + */ +export const derivativeMarginToChainMarginToFixed = ({ + value, + quoteDecimals = 18, + tensMultiplier, + decimalPlaces = undefined, + roundingMode = BigNumber.ROUND_DOWN, +}: { + decimalPlaces?: number; + tensMultiplier?: number; + roundingMode?: BigNumber.RoundingMode; + value: number | string | BigNumber; + quoteDecimals?: number | string; +}) => { + const valueToBn = new BigNumberInBase(value).toFixed(); + const flooredValue = tensMultiplier ? formatPriceToAllowablePrice(valueToBn, tensMultiplier) : value; + + const number = derivativeMarginToChainMargin({ + value: flooredValue, + quoteDecimals, + }); + + if (decimalPlaces === undefined) { + return number.toFixed(); + } + + return number.toFixed(getSignificantDecimalsFromNumber(number), roundingMode); +}; + +/** + * Amount that the chain returns is in the x * 10^(quoteDecimals) format + * where x is a human readable number + */ +export const derivativeMarginFromChainMargin = ({ + value, + quoteDecimals = 18, +}: { + value: number | string | BigNumber; + quoteDecimals?: number | string; +}) => new $BigNumber(value).dividedBy(new $BigNumber(10).pow(quoteDecimals)); + +/** + * Amount that the chain returns is in the x * 10^(quoteDecimals) format + * where x is a human readable number + */ +export const derivativeMarginFromChainMarginToFixed = ({ + value, + quoteDecimals = 18, + decimalPlaces = undefined, + roundingMode = BigNumber.ROUND_DOWN, +}: { + value: number | string | BigNumber; + quoteDecimals?: number | string; + decimalPlaces?: number; + roundingMode?: BigNumber.RoundingMode; +}) => { + const number = derivativeMarginFromChainMargin({ value, quoteDecimals }); + + if (decimalPlaces === undefined) { + return number.toFixed(); + } + + return number.toFixed(getSignificantDecimalsFromNumber(number), roundingMode); +}; + +/** + * Amount that the chain requires is in the x * 10^(quoteDecimals) format + * where x is a human readable number + */ +export const derivativePriceToChainPrice = ({ + value, + quoteDecimals = 18, +}: { + value: number | string | BigNumber; + quoteDecimals?: number | string; +}) => new $BigNumber(value).multipliedBy(new $BigNumber(10).pow(quoteDecimals)); + +/** + * Amount that the chain requires is in the x * 10^(quoteDecimals) format + * where x is a human readable number stringified + */ +export const derivativePriceToChainPriceToFixed = ({ + value, + tensMultiplier, + quoteDecimals = 18, + decimalPlaces = undefined, + roundingMode = BigNumber.ROUND_DOWN, +}: { + value: number | string | BigNumber; + tensMultiplier?: number; + quoteDecimals?: number | string; + decimalPlaces?: number; + roundingMode?: BigNumber.RoundingMode; +}) => { + const valueToBn = new BigNumberInBase(value).toFixed(); + const flooredValue = tensMultiplier ? formatPriceToAllowablePrice(valueToBn, tensMultiplier) : value; + + const number = derivativePriceToChainPrice({ + value: flooredValue, + quoteDecimals, + }); + + if (decimalPlaces === undefined) { + return number.toFixed(); + } + + return number.toFixed(getSignificantDecimalsFromNumber(number), roundingMode); +}; + +/** + * Amount that the chain returns is in the x * 10^(quoteDecimals) format + * where x is a human readable number + */ +export const derivativePriceFromChainPrice = ({ + value, + quoteDecimals = 18, +}: { + value: number | string | BigNumber; + quoteDecimals?: number | string; +}) => new $BigNumber(value).dividedBy(new $BigNumber(10).pow(quoteDecimals)); + +/** + * Amount that the chain returns is in the x * 10^(quoteDecimals) format + * where x is a human readable number stringified + */ +export const derivativePriceFromChainPriceToFixed = ({ + value, + quoteDecimals = 18, + decimalPlaces = undefined, + roundingMode = BigNumber.ROUND_DOWN, +}: { + value: number | string | BigNumber; + quoteDecimals?: number | string; + decimalPlaces?: number; + roundingMode?: BigNumber.RoundingMode; +}) => { + const number = derivativePriceFromChainPrice({ value, quoteDecimals }); + + if (decimalPlaces === undefined) { + return number.toFixed(); + } + + return number.toFixed(getSignificantDecimalsFromNumber(number), roundingMode); +}; + +/** + * Amount that the chain requires is in the x format + * where x is a human readable number + */ +export const derivativeQuantityToChainQuantity = ({ value }: { value: number | string | BigNumber }) => + new $BigNumber(value); + +/** + * Amount that the chain requires is in the x format + * where x is a human readable number stringified + */ +export const derivativeQuantityToChainQuantityToFixed = ({ + value, + decimalPlaces = undefined, + tensMultiplier, + roundingMode = BigNumber.ROUND_DOWN, +}: { + value: number | string | BigNumber; + decimalPlaces?: number; + tensMultiplier?: number; + roundingMode?: BigNumber.RoundingMode; +}) => { + const valueToBn = new BigNumberInBase(value).toFixed(); + const flooredValue = tensMultiplier ? formatPriceToAllowablePrice(valueToBn, tensMultiplier) : value; + + const number = derivativeQuantityToChainQuantity({ value: flooredValue }); + + if (decimalPlaces === undefined) { + return number.toFixed(); + } + + return number.toFixed(getSignificantDecimalsFromNumber(number), roundingMode); +}; + +/** + * Amount that the chain requires is in the x format + * where x is a human readable number + */ +export const derivativeQuantityFromChainQuantity = ({ value }: { value: number | string | BigNumber }) => + new $BigNumber(value); + +/** + * Amount that the chain requires is in the x format + * where x is a human readable number stringified + */ +export const derivativeQuantityFromChainQuantityToFixed = ({ + value, + decimalPlaces = undefined, + roundingMode = BigNumber.ROUND_DOWN, +}: { + value: number | string | BigNumber; + decimalPlaces?: number; + roundingMode?: BigNumber.RoundingMode; +}) => { + const number = derivativeQuantityFromChainQuantity({ value }); + + if (decimalPlaces === undefined) { + return number.toFixed(); + } + + return number.toFixed(getSignificantDecimalsFromNumber(number), roundingMode); +}; + +/** + * Amount that the chain requires is in the x / 10^(quoteDecimals - baseDecimals) format + * where x is a human readable number + */ +export const spotPriceToChainPrice = ({ + value, + baseDecimals = 18, + quoteDecimals = 6, +}: { + value: number | string | BigNumber; + quoteDecimals?: number | string; + baseDecimals?: number | string; +}) => new $BigNumber(value).multipliedBy(new $BigNumber(10).pow(new $BigNumber(quoteDecimals).minus(baseDecimals))); + +/** + * Amount that the chain requires is in the x / 10^(quoteDecimals - baseDecimals) format + * where x is a human readable number stringified + */ +export const spotPriceToChainPriceToFixed = ({ + value, + baseDecimals = 18, + quoteDecimals = 6, + tensMultiplier, + decimalPlaces = undefined, + roundingMode = BigNumber.ROUND_DOWN, +}: { + value: number | string | BigNumber; + quoteDecimals?: number | string; + baseDecimals?: number | string; + decimalPlaces?: number; + tensMultiplier?: number; + roundingMode?: BigNumber.RoundingMode; +}) => { + const valueToBn = new BigNumberInBase(value).toFixed(); + const flooredValue = tensMultiplier ? formatPriceToAllowablePrice(valueToBn, tensMultiplier) : value; + + const number = spotPriceToChainPrice({ + value: flooredValue, + baseDecimals, + quoteDecimals, + }); + + if (decimalPlaces === undefined) { + return number.toFixed(); + } + + return number.toFixed(getSignificantDecimalsFromNumber(number), roundingMode); +}; + +/** + * Amount that the chain returns is in the x / 10^(quoteDecimals - baseDecimals) format + * where x is a human readable number + */ +export const spotPriceFromChainPrice = ({ + value, + baseDecimals = 18, + quoteDecimals = 6, +}: { + value: number | string | BigNumber; + quoteDecimals?: number | string; + baseDecimals?: number | string; +}) => new $BigNumber(value).dividedBy(new $BigNumber(10).pow(new $BigNumber(quoteDecimals).minus(baseDecimals))); + +/** + * Amount that the chain returns is in the x / 10^(quoteDecimals - baseDecimals) format + * where x is a human readable number stringified + */ +export const spotPriceFromChainPriceToFixed = ({ + value, + baseDecimals = 18, + quoteDecimals = 6, + decimalPlaces = undefined, + roundingMode = BigNumber.ROUND_DOWN, +}: { + value: number | string | BigNumber; + quoteDecimals?: number | string; + baseDecimals?: number | string; + decimalPlaces?: number; + roundingMode?: BigNumber.RoundingMode; +}) => { + const number = spotPriceFromChainPrice({ value, baseDecimals, quoteDecimals }); + + if (decimalPlaces === undefined) { + return number.toFixed(); + } + + return number.toFixed(getSignificantDecimalsFromNumber(number), roundingMode); +}; + +/** + * Amount that the chain requires is in the x * 10^(baseDecimals) format + * where x is a human readable number + */ +export const spotQuantityToChainQuantity = ({ + value, + baseDecimals = 18, +}: { + value: number | string | BigNumber; + baseDecimals?: number | string; +}) => new $BigNumber(value).multipliedBy(new $BigNumber(10).pow(baseDecimals)); + +/** + * Amount that the chain requires is in the x * 10^(baseDecimals) format + * where x is a human readable number + */ +export const spotQuantityToChainQuantityToFixed = ({ + value, + baseDecimals = 18, + tensMultiplier, + decimalPlaces = undefined, + roundingMode = BigNumber.ROUND_DOWN, +}: { + value: number | string | BigNumber; + tensMultiplier?: number; + baseDecimals?: number | string; + decimalPlaces?: number; + roundingMode?: BigNumber.RoundingMode; +}) => { + const valueToBn = new BigNumberInBase(value).toFixed(); + const flooredValue = tensMultiplier ? formatPriceToAllowablePrice(valueToBn, tensMultiplier) : value; + + const number = spotQuantityToChainQuantity({ + value: flooredValue, + baseDecimals, + }); + + if (decimalPlaces === undefined) { + return number.toFixed(); + } + + return number.toFixed(getSignificantDecimalsFromNumber(number), roundingMode); +}; + +/** + * Amount that the chain returns is in the x * 10^(baseDecimals) format + * where x is a human readable number + */ +export const spotQuantityFromChainQuantity = ({ + value, + baseDecimals = 18, +}: { + value: number | string | BigNumber; + baseDecimals?: number | string; +}) => new $BigNumber(value).dividedBy(new $BigNumber(10).pow(baseDecimals)); + +/** + * Amount that the chain returns is in the x * 10^(baseDecimals) format + * where x is a human readable number + */ +export const spotQuantityFromChainQuantityToFixed = ({ + value, + baseDecimals = 18, + decimalPlaces = undefined, + roundingMode = BigNumber.ROUND_DOWN, +}: { + value: number | string | BigNumber; + baseDecimals?: number | string; + decimalPlaces?: number; + roundingMode?: BigNumber.RoundingMode; +}) => { + const number = spotQuantityFromChainQuantity({ + value, + baseDecimals, + }); + + if (decimalPlaces === undefined) { + return number.toFixed(); + } + + return number.toFixed(getSignificantDecimalsFromNumber(number), roundingMode); +}; + +export const cosmosSdkDecToBigNumber = (number: string | number | BigNumber): BigNumber => + new BigNumber(number).dividedBy(new BigNumber(10).pow(18)); + +export const numberToCosmosSdkDecString = (value: string | number | BigNumber): string => { + return new BigNumber(value).toFixed(18); +}; + +/** + * This function returns a multiplier of 10 + * based on the input. There are two cases: + * + * 1. If the number is less than 1, it returns a NEGATIVE + * number which is the number of decimals the number has + * + * 2. If the number is higher than 1, it returns a POSITIVE + * number which is the number of 10 multiplier the number has + * + * @param number + * @returns {number} + */ +export const getTensMultiplier = (number: number | string): number => { + const numberToBn = new BigNumber(number); + + if (numberToBn.eq(1)) { + return 0; + } + + if (numberToBn.lt(1)) { + return -1 * getExactDecimalsFromNumber(numberToBn.toFixed()); + } + + const [, zerosInTheNumber] = numberToBn.toFixed().split('1'); + + return zerosInTheNumber.length; +}; + +export const getTriggerPrice = (triggerPrice?: number | string) => { + return triggerPrice ? amountToCosmosSdkDecAmount(triggerPrice).toFixed() : ''; +}; + +export { getExactDecimalsFromNumber, getSignificantDecimalsFromNumber }; diff --git a/packages/wallet-sdk/src/proto/injective/utils/snakecase.ts b/packages/wallet-sdk/src/proto/injective/utils/snakecase.ts new file mode 100644 index 00000000..3a2dc4a2 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/snakecase.ts @@ -0,0 +1,16 @@ +function toSnakeCase(str: string): string { + return str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`); +} + +export function convertToSnakeCase(obj: any): any { + if (Array.isArray(obj)) { + return obj.map((item) => convertToSnakeCase(item)); + } else if (obj !== null && typeof obj === 'object') { + return Object.keys(obj).reduce((acc, key) => { + const snakeCaseKey = toSnakeCase(key); + acc[snakeCaseKey] = convertToSnakeCase(obj[key]); + return acc; + }, {} as any); + } + return obj; +} diff --git a/packages/wallet-sdk/src/proto/injective/utils/statusCodes.ts b/packages/wallet-sdk/src/proto/injective/utils/statusCodes.ts new file mode 100644 index 00000000..92408d66 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/statusCodes.ts @@ -0,0 +1,58 @@ +export enum StatusCodes { + ACCEPTED = 202, + BAD_GATEWAY = 502, + BAD_REQUEST = 400, + CONFLICT = 409, + CONTINUE = 100, + CREATED = 201, + EXPECTATION_FAILED = 417, + FAILED_DEPENDENCY = 424, + FORBIDDEN = 403, + GATEWAY_TIMEOUT = 504, + GONE = 410, + HTTP_VERSION_NOT_SUPPORTED = 505, + IM_A_TEAPOT = 418, + INSUFFICIENT_SPACE_ON_RESOURCE = 419, + INSUFFICIENT_STORAGE = 507, + INTERNAL_SERVER_ERROR = 500, + LENGTH_REQUIRED = 411, + LOCKED = 423, + METHOD_FAILURE = 420, + METHOD_NOT_ALLOWED = 405, + MOVED_PERMANENTLY = 301, + MOVED_TEMPORARILY = 302, + MULTI_STATUS = 207, + MULTIPLE_CHOICES = 300, + NETWORK_AUTHENTICATION_REQUIRED = 511, + NO_CONTENT = 204, + NON_AUTHORITATIVE_INFORMATION = 203, + NOT_ACCEPTABLE = 406, + NOT_FOUND = 404, + NOT_IMPLEMENTED = 501, + NOT_MODIFIED = 304, + OK = 200, + PARTIAL_CONTENT = 206, + PAYMENT_REQUIRED = 402, + PERMANENT_REDIRECT = 308, + PRECONDITION_FAILED = 412, + PRECONDITION_REQUIRED = 428, + PROCESSING = 102, + PROXY_AUTHENTICATION_REQUIRED = 407, + REQUEST_HEADER_FIELDS_TOO_LARGE = 431, + REQUEST_TIMEOUT = 408, + REQUEST_TOO_LONG = 413, + REQUEST_URI_TOO_LONG = 414, + REQUESTED_RANGE_NOT_SATISFIABLE = 416, + RESET_CONTENT = 205, + SEE_OTHER = 303, + SERVICE_UNAVAILABLE = 503, + SWITCHING_PROTOCOLS = 101, + TEMPORARY_REDIRECT = 307, + TOO_MANY_REQUESTS = 429, + UNAUTHORIZED = 401, + UNAVAILABLE_FOR_LEGAL_REASONS = 451, + UNPROCESSABLE_ENTITY = 422, + UNSUPPORTED_MEDIA_TYPE = 415, + USE_PROXY = 305, + MISDIRECTED_REQUEST = 421, +} diff --git a/packages/wallet-sdk/src/proto/injective/utils/utf8.ts b/packages/wallet-sdk/src/proto/injective/utils/utf8.ts new file mode 100644 index 00000000..6e7fdc20 --- /dev/null +++ b/packages/wallet-sdk/src/proto/injective/utils/utf8.ts @@ -0,0 +1,27 @@ +export function fromUtf8(str: Uint8Array | string): Uint8Array { + if (typeof str !== 'string') { + return str; + } + + return new TextEncoder().encode(str); +} + +export function toUtf8(data: Uint8Array | string): string { + if (typeof data === 'string') { + return data; + } + + return new TextDecoder('utf-8', { fatal: true }).decode(data); +} + +export function binaryToBase64(data: string | Uint8Array): string { + return typeof data === 'string' ? data : Buffer.from(data).toString('base64'); +} + +export function toBase64(data: Record): string { + return Buffer.from(JSON.stringify(data)).toString('base64'); +} + +export function fromBase64(payload: string): Record { + return JSON.parse(Buffer.from(payload, 'base64').toString()); +} diff --git a/packages/wallet-sdk/src/proto/lava/tx.amino.ts b/packages/wallet-sdk/src/proto/lava/tx.amino.ts index 41cb6919..a0eeb5ca 100644 --- a/packages/wallet-sdk/src/proto/lava/tx.amino.ts +++ b/packages/wallet-sdk/src/proto/lava/tx.amino.ts @@ -1,24 +1,23 @@ import { MsgClaimRewards, MsgDelegate, MsgRedelegate, MsgUnbond } from './tx'; - -export declare const AminoConverter: { +export const AminoConverter = { '/lavanet.lava.dualstaking.MsgDelegate': { - aminoType: string; - toAmino: (message: MsgDelegate) => import('./tx').MsgDelegateAmino; - fromAmino: (object: import('./tx').MsgDelegateAmino) => MsgDelegate; - }; + aminoType: 'dualstaking/Delegate', + toAmino: MsgDelegate.toAmino, + fromAmino: MsgDelegate.fromAmino, + }, '/lavanet.lava.dualstaking.MsgRedelegate': { - aminoType: string; - toAmino: (message: MsgRedelegate) => import('./tx').MsgRedelegateAmino; - fromAmino: (object: import('./tx').MsgRedelegateAmino) => MsgRedelegate; - }; + aminoType: 'dualstaking/Redelegate', + toAmino: MsgRedelegate.toAmino, + fromAmino: MsgRedelegate.fromAmino, + }, '/lavanet.lava.dualstaking.MsgUnbond': { - aminoType: string; - toAmino: (message: MsgUnbond) => import('./tx').MsgUnbondAmino; - fromAmino: (object: import('./tx').MsgUnbondAmino) => MsgUnbond; - }; + aminoType: 'dualstaking/Unbond', + toAmino: MsgUnbond.toAmino, + fromAmino: MsgUnbond.fromAmino, + }, '/lavanet.lava.dualstaking.MsgClaimRewards': { - aminoType: string; - toAmino: (message: MsgClaimRewards) => import('./tx').MsgClaimRewardsAmino; - fromAmino: (object: import('./tx').MsgClaimRewardsAmino) => MsgClaimRewards; - }; + aminoType: 'dualstaking/MsgClaimRewards', + toAmino: MsgClaimRewards.toAmino, + fromAmino: MsgClaimRewards.fromAmino, + }, }; diff --git a/packages/wallet-sdk/src/proto/lava/tx.ts b/packages/wallet-sdk/src/proto/lava/tx.ts index 06898c54..77f7a2e2 100644 --- a/packages/wallet-sdk/src/proto/lava/tx.ts +++ b/packages/wallet-sdk/src/proto/lava/tx.ts @@ -1,6 +1,8 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ import { BinaryReader, BinaryWriter } from '../binary'; import { Coin, CoinAmino, CoinSDKType } from '../coin'; import { isSet } from '../helpers'; +import { JsonSafe } from './json-safe'; export interface MsgDelegate { creator: string; validator: string; @@ -20,7 +22,7 @@ export interface MsgDelegateAmino { amount?: CoinAmino; } export interface MsgDelegateAminoMsg { - type: '/lavanet.lava.dualstaking.MsgDelegate'; + type: 'dualstaking/Delegate'; value: MsgDelegateAmino; } export interface MsgDelegateSDKType { @@ -62,7 +64,7 @@ export interface MsgRedelegateAmino { amount?: CoinAmino; } export interface MsgRedelegateAminoMsg { - type: '/lavanet.lava.dualstaking.MsgRedelegate'; + type: 'dualstaking/Redelegate'; value: MsgRedelegateAmino; } export interface MsgRedelegateSDKType { @@ -103,7 +105,7 @@ export interface MsgUnbondAmino { amount?: CoinAmino; } export interface MsgUnbondAminoMsg { - type: '/lavanet.lava.dualstaking.MsgUnbond'; + type: 'dualstaking/Unbond'; value: MsgUnbondAmino; } export interface MsgUnbondSDKType { @@ -139,7 +141,7 @@ export interface MsgClaimRewardsAmino { provider?: string; } export interface MsgClaimRewardsAminoMsg { - type: '/lavanet.lava.dualstaking.MsgClaimRewards'; + type: 'dualstaking/MsgClaimRewards'; value: MsgClaimRewardsAmino; } export interface MsgClaimRewardsSDKType { @@ -224,7 +226,7 @@ export const MsgDelegate = { amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : Coin.fromJSON({ amount: 1, denom: '' }), }; }, - toJSON(message: MsgDelegate): unknown { + toJSON(message: MsgDelegate): JsonSafe { const obj: any = {}; message.creator !== undefined && (obj.creator = message.creator); message.validator !== undefined && (obj.validator = message.validator); @@ -276,6 +278,12 @@ export const MsgDelegate = { fromAminoMsg(object: MsgDelegateAminoMsg): MsgDelegate { return MsgDelegate.fromAmino(object.value); }, + toAminoMsg(message: MsgDelegate): MsgDelegateAminoMsg { + return { + type: 'dualstaking/Delegate', + value: MsgDelegate.toAmino(message), + }; + }, fromProtoMsg(message: MsgDelegateProtoMsg): MsgDelegate { return MsgDelegate.decode(message.value); }, @@ -314,7 +322,7 @@ export const MsgDelegateResponse = { fromJSON(_: any): MsgDelegateResponse { return {}; }, - toJSON(_: MsgDelegateResponse): unknown { + toJSON(_: MsgDelegateResponse): JsonSafe { const obj: any = {}; return obj; }, @@ -421,7 +429,7 @@ export const MsgRedelegate = { amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : Coin.fromJSON({ amount: 1, denom: '' }), }; }, - toJSON(message: MsgRedelegate): unknown { + toJSON(message: MsgRedelegate): JsonSafe { const obj: any = {}; message.creator !== undefined && (obj.creator = message.creator); message.fromProvider !== undefined && (obj.fromProvider = message.fromProvider); @@ -479,6 +487,12 @@ export const MsgRedelegate = { fromAminoMsg(object: MsgRedelegateAminoMsg): MsgRedelegate { return MsgRedelegate.fromAmino(object.value); }, + toAminoMsg(message: MsgRedelegate): MsgRedelegateAminoMsg { + return { + type: 'dualstaking/Redelegate', + value: MsgRedelegate.toAmino(message), + }; + }, fromProtoMsg(message: MsgRedelegateProtoMsg): MsgRedelegate { return MsgRedelegate.decode(message.value); }, @@ -517,7 +531,7 @@ export const MsgRedelegateResponse = { fromJSON(_: any): MsgRedelegateResponse { return {}; }, - toJSON(_: MsgRedelegateResponse): unknown { + toJSON(_: MsgRedelegateResponse): JsonSafe { const obj: any = {}; return obj; }, @@ -616,7 +630,7 @@ export const MsgUnbond = { amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : Coin.fromJSON({ amount: 1, denom: '' }), }; }, - toJSON(message: MsgUnbond): unknown { + toJSON(message: MsgUnbond): JsonSafe { const obj: any = {}; message.creator !== undefined && (obj.creator = message.creator); message.validator !== undefined && (obj.validator = message.validator); @@ -668,6 +682,12 @@ export const MsgUnbond = { fromAminoMsg(object: MsgUnbondAminoMsg): MsgUnbond { return MsgUnbond.fromAmino(object.value); }, + toAminoMsg(message: MsgUnbond): MsgUnbondAminoMsg { + return { + type: 'dualstaking/Unbond', + value: MsgUnbond.toAmino(message), + }; + }, fromProtoMsg(message: MsgUnbondProtoMsg): MsgUnbond { return MsgUnbond.decode(message.value); }, @@ -706,7 +726,7 @@ export const MsgUnbondResponse = { fromJSON(_: any): MsgUnbondResponse { return {}; }, - toJSON(_: MsgUnbondResponse): unknown { + toJSON(_: MsgUnbondResponse): JsonSafe { const obj: any = {}; return obj; }, @@ -781,7 +801,7 @@ export const MsgClaimRewards = { provider: isSet(object.provider) ? String(object.provider) : '', }; }, - toJSON(message: MsgClaimRewards): unknown { + toJSON(message: MsgClaimRewards): JsonSafe { const obj: any = {}; message.creator !== undefined && (obj.creator = message.creator); message.provider !== undefined && (obj.provider = message.provider); @@ -812,6 +832,12 @@ export const MsgClaimRewards = { fromAminoMsg(object: MsgClaimRewardsAminoMsg): MsgClaimRewards { return MsgClaimRewards.fromAmino(object.value); }, + toAminoMsg(message: MsgClaimRewards): MsgClaimRewardsAminoMsg { + return { + type: 'dualstaking/MsgClaimRewards', + value: MsgClaimRewards.toAmino(message), + }; + }, fromProtoMsg(message: MsgClaimRewardsProtoMsg): MsgClaimRewards { return MsgClaimRewards.decode(message.value); }, @@ -850,7 +876,7 @@ export const MsgClaimRewardsResponse = { fromJSON(_: any): MsgClaimRewardsResponse { return {}; }, - toJSON(_: MsgClaimRewardsResponse): unknown { + toJSON(_: MsgClaimRewardsResponse): JsonSafe { const obj: any = {}; return obj; }, diff --git a/packages/wallet-sdk/src/proto/skip-core/index.ts b/packages/wallet-sdk/src/proto/skip-core/index.ts new file mode 100644 index 00000000..b55497af --- /dev/null +++ b/packages/wallet-sdk/src/proto/skip-core/index.ts @@ -0,0 +1 @@ +export * from './lifecycle'; diff --git a/packages/wallet-sdk/src/proto/skip-core/lifecycle.ts b/packages/wallet-sdk/src/proto/skip-core/lifecycle.ts new file mode 100644 index 00000000..ea29fea4 --- /dev/null +++ b/packages/wallet-sdk/src/proto/skip-core/lifecycle.ts @@ -0,0 +1,433 @@ +export type SubmitTxRequestJSON = { + tx: string; + chain_id: string; +}; + +export type SubmitTxRequest = { + tx: string; + chainID: string; +}; + +export type SubmitTxResponseJSON = { + tx_hash: string; +}; + +export type SubmitTxResponse = { + txHash: string; +}; + +export type StatusState = + | 'STATE_UNKNOWN' + | 'STATE_SUBMITTED' + | 'STATE_PENDING' + | 'STATE_RECEIVED' + | 'STATE_COMPLETED' + | 'STATE_ABANDONED' + | 'STATE_COMPLETED_SUCCESS' + | 'STATE_COMPLETED_ERROR' + | 'STATE_PENDING_ERROR'; + +export type NextBlockingTransferJSON = { + transfer_sequence_index: number; +}; + +export type NextBlockingTransfer = { + transferSequenceIndex: number; +}; + +export type StatusRequestJSON = { + tx_hash: string; + chain_id: string; +}; + +export type StatusRequest = { + txHash: string; + chainID: string; +}; + +export type TransferState = + | 'TRANSFER_UNKNOWN' + | 'TRANSFER_PENDING' + | 'TRANSFER_RECEIVED' + | 'TRANSFER_SUCCESS' + | 'TRANSFER_FAILURE'; + +export type TransferInfoJSON = { + from_chain_id: string; + to_chain_id: string; + state: TransferState; + packet_txs: PacketJSON; + + // Deprecated + src_chain_id: string; + dst_chain_id: string; +}; + +export type TransferInfo = { + fromChainID: string; + toChainID: string; + state: TransferState; + packetTXs: Packet; + + // Deprecated + srcChainID: string; + dstChainID: string; +}; + +export type TransferAssetReleaseJSON = { + chain_id: string; + denom: string; + released: boolean; +}; + +export type TransferAssetRelease = { + chainID: string; + denom: string; + released: boolean; +}; + +export type TxStatusResponseJSON = { + status: StatusState; + transfer_sequence: TransferEventJSON[]; + next_blocking_transfer: NextBlockingTransferJSON | null; + transfer_asset_release: TransferAssetReleaseJSON | null; + error: StatusError | null; + state: StatusState; + transfers: TransferStatusJSON[]; +}; + +export type TxStatusResponse = { + status: StatusState; + transferSequence: TransferEvent[]; + nextBlockingTransfer: NextBlockingTransfer | null; + transferAssetRelease: TransferAssetRelease | null; + error: StatusError | null; + state: StatusState; + transfers: TransferStatus[]; +}; + +export type TransferStatusJSON = { + state: StatusState; + transfer_sequence: TransferEventJSON[]; + next_blocking_transfer: NextBlockingTransferJSON | null; + transfer_asset_release: TransferAssetReleaseJSON | null; + error: StatusError | null; +}; + +export type TransferStatus = { + state: StatusState; + transferSequence: TransferEvent[]; + nextBlockingTransfer: NextBlockingTransfer | null; + transferAssetRelease: TransferAssetRelease | null; + error: StatusError | null; +}; + +export type PacketJSON = { + send_tx: ChainTransactionJSON | null; + receive_tx: ChainTransactionJSON | null; + acknowledge_tx: ChainTransactionJSON | null; + timeout_tx: ChainTransactionJSON | null; + + error: PacketError | null; +}; + +export type Packet = { + sendTx: ChainTransaction | null; + receiveTx: ChainTransaction | null; + acknowledgeTx: ChainTransaction | null; + timeoutTx: ChainTransaction | null; + + error: PacketError | null; +}; + +export type StatusErrorType = 'STATUS_ERROR_UNKNOWN' | 'STATUS_ERROR_TRANSACTION_EXECUTION' | 'STATUS_ERROR_INDEXING'; + +export type TransactionExecutionError = { + code: number; + message: string; +}; + +export type StatusErrorJSON = { + code: number; + message: string; + type: StatusErrorType; + details: { + transaction_execution_error: TransactionExecutionError; + }; +}; + +export type StatusError = { + code: number; + message: string; + type: StatusErrorType; + details: { + transactionExecutionError: TransactionExecutionError; + }; +}; + +export type PacketErrorType = 'PACKET_ERROR_UNKNOWN' | 'PACKET_ERROR_ACKNOWLEDGEMENT' | 'PACKET_ERROR_TIMEOUT'; + +export type AcknowledgementError = { + message: string; + code: number; +}; + +export type PacketErrorJSON = { + code: number; + message: string; + type: PacketErrorType; + details: { + acknowledgement_error: AcknowledgementError; + }; +}; + +export type PacketError = { + code: number; + message: string; + type: PacketErrorType; + details: { + acknowledgementError: AcknowledgementError; + }; +}; + +export type ChainTransactionJSON = { + chain_id: string; + tx_hash: string; + explorer_link: string; +}; + +export type ChainTransaction = { + chainID: string; + txHash: string; + explorerLink: string; +}; + +export type TrackTxRequestJSON = { + tx_hash: string; + chain_id: string; +}; + +export type TrackTxRequest = { + txHash: string; + chainID: string; +}; + +export type TrackTxResponseJSON = { + tx_hash: string; +}; + +export type TrackTxResponse = { + txHash: string; +}; + +export type AxelarTransferType = 'AXELAR_TRANSFER_CONTRACT_CALL_WITH_TOKEN' | 'AXELAR_TRANSFER_SEND_TOKEN'; + +export type AxelarTransferState = + | 'AXELAR_TRANSFER_UNKNOWN' + | 'AXELAR_TRANSFER_PENDING_CONFIRMATION' + | 'AXELAR_TRANSFER_PENDING_RECEIPT' + | 'AXELAR_TRANSFER_SUCCESS' + | 'AXELAR_TRANSFER_FAILURE'; + +export type AxelarTransferInfoJSON = { + from_chain_id: string; + to_chain_id: string; + type: AxelarTransferType; + state: AxelarTransferState; + txs: AxelarTransferTransactionsJSON; + axelar_scan_link: string; + + // Deprecated + src_chain_id: string; + dst_chain_id: string; +}; + +export type AxelarTransferInfo = { + fromChainID: string; + toChainID: string; + type: AxelarTransferType; + state: AxelarTransferState; + txs: AxelarTransferTransactions; + axelarScanLink: string; + + // Deprecated + srcChainID: string; + dstChainID: string; +}; + +export type AxelarTransferTransactionsJSON = + | { + contract_call_with_token_txs: ContractCallWithTokenTransactionsJSON; + } + | { + send_token_txs: SendTokenTransactionsJSON; + }; + +export type AxelarTransferTransactions = + | { + contractCallWithTokenTxs: ContractCallWithTokenTransactions; + } + | { + sendTokenTxs: SendTokenTransactions; + }; + +export type ContractCallWithTokenTransactionsJSON = { + send_tx: ChainTransactionJSON | null; + gas_paid_tx: ChainTransactionJSON | null; + confirm_tx: ChainTransactionJSON | null; + approve_tx: ChainTransactionJSON | null; + execute_tx: ChainTransactionJSON | null; + error: ContractCallWithTokenError | null; +}; + +export type ContractCallWithTokenTransactions = { + sendTx: ChainTransaction | null; + gasPaidTx: ChainTransaction | null; + confirmTx: ChainTransaction | null; + approveTx: ChainTransaction | null; + executeTx: ChainTransaction | null; + error: ContractCallWithTokenError | null; +}; + +export type ContractCallWithTokenError = { + message: string; + type: ContractCallWithTokenErrorType; +}; + +export type ContractCallWithTokenErrorType = 'CONTRACT_CALL_WITH_TOKEN_EXECUTION_ERROR'; + +export type SendTokenTransactionsJSON = { + send_tx: ChainTransactionJSON | null; + confirm_tx: ChainTransactionJSON | null; + execute_tx: ChainTransactionJSON | null; + error: SendTokenError | null; +}; + +export type SendTokenTransactions = { + sendTx: ChainTransaction | null; + confirmTx: ChainTransaction | null; + executeTx: ChainTransaction | null; + error: SendTokenError | null; +}; + +export type SendTokenErrorType = 'SEND_TOKEN_EXECUTION_ERROR'; + +export type SendTokenError = { + message: string; + type: SendTokenErrorType; +}; + +export type CCTPTransferState = + | 'CCTP_TRANSFER_UNKNOWN' + | 'CCTP_TRANSFER_SENT' + | 'CCTP_TRANSFER_PENDING_CONFIRMATION' + | 'CCTP_TRANSFER_CONFIRMED' + | 'CCTP_TRANSFER_RECEIVED'; + +export type CCTPTransferTransactionsJSON = { + send_tx: ChainTransactionJSON | null; + receive_tx: ChainTransactionJSON | null; +}; + +export type CCTPTransferTransactions = { + sendTx: ChainTransaction | null; + receiveTx: ChainTransaction | null; +}; + +export type CCTPTransferInfoJSON = { + from_chain_id: string; + to_chain_id: string; + state: CCTPTransferState; + txs: CCTPTransferTransactionsJSON; + + // Deprecated + src_chain_id: string; + dst_chain_id: string; +}; + +export type CCTPTransferInfo = { + fromChainID: string; + toChainID: string; + state: CCTPTransferState; + txs: CCTPTransferTransactions; + + // Deprecated + srcChainID: string; + dstChainID: string; +}; + +export type HyperlaneTransferState = + | 'HYPERLANE_TRANSFER_UNKNOWN' + | 'HYPERLANE_TRANSFER_SENT' + | 'HYPERLANE_TRANSFER_FAILED' + | 'HYPERLANE_TRANSFER_RECEIVED'; + +export type HyperlaneTransferTransactionsJSON = { + send_tx: ChainTransactionJSON | null; + receive_tx: ChainTransactionJSON | null; +}; + +export type HyperlaneTransferTransactions = { + sendTx: ChainTransaction | null; + receiveTx: ChainTransaction | null; +}; + +export type HyperlaneTransferInfoJSON = { + from_chain_id: string; + to_chain_id: string; + state: HyperlaneTransferState; + txs: HyperlaneTransferTransactionsJSON; +}; + +export type HyperlaneTransferInfo = { + fromChainID: string; + toChainID: string; + state: HyperlaneTransferState; + txs: HyperlaneTransferTransactions; +}; + +export type OPInitTransferState = 'OPINIT_TRANSFER_UNKNOWN' | 'OPINIT_TRANSFER_SENT' | 'OPINIT_TRANSFER_RECEIVED'; + +export type OPInitTransferTransactionsJSON = { + send_tx: ChainTransactionJSON | null; + receive_tx: ChainTransactionJSON | null; +}; + +export type OPInitTransferTransactions = { + sendTx: ChainTransaction | null; + receiveTx: ChainTransaction | null; +}; + +export type OPInitTransferInfoJSON = { + from_chain_id: string; + to_chain_id: string; + state: OPInitTransferState; + txs: OPInitTransferTransactionsJSON; +}; + +export type OPInitTransferInfo = { + fromChainID: string; + toChainID: string; + state: OPInitTransferState; + txs: OPInitTransferTransactions; +}; + +export type TransferEventJSON = + | { + ibc_transfer: TransferInfoJSON; + } + | { + axelar_transfer: AxelarTransferInfoJSON; + } + | { cctp_transfer: CCTPTransferInfoJSON } + | { hyperlane_transfer: HyperlaneTransferInfoJSON } + | { op_init_transfer: OPInitTransferInfoJSON }; + +export type TransferEvent = + | { + ibcTransfer: TransferInfo; + } + | { axelarTransfer: AxelarTransferInfo } + | { cctpTransfer: CCTPTransferInfo } + | { hyperlaneTransfer: HyperlaneTransferInfo } + | { opInitTransfer: OPInitTransferInfo }; diff --git a/packages/wallet-sdk/src/tokens/balances.ts b/packages/wallet-sdk/src/tokens/balances.ts index 7f38751c..cedc0623 100644 --- a/packages/wallet-sdk/src/tokens/balances.ts +++ b/packages/wallet-sdk/src/tokens/balances.ts @@ -1,9 +1,10 @@ import { CosmWasmClient } from '@cosmjs/cosmwasm-stargate'; import { createProtobufRpcClient, QueryClient, StargateClient } from '@cosmjs/stargate'; import { Tendermint34Client } from '@cosmjs/tendermint-rpc'; +import { Contract } from '@ethersproject/contracts'; +import { JsonRpcProvider } from '@ethersproject/providers'; import BigNumber from 'bignumber.js'; import { QueryClientImpl, QueryDenomTraceResponse } from 'cosmjs-types/ibc/applications/transfer/v1/query'; -import { Contract, ethers } from 'ethers'; import { ChainInfo, ChainInfos, SupportedChain } from '../constants'; import { axiosWrapper } from '../healthy-nodes'; @@ -49,7 +50,7 @@ export async function fetchAllBalances(rpcUrl: string, address: string) { } export async function fetchSeiEvmBalances(evmJsonRpc: string, ethWalletAddress: string) { - const provider = new ethers.providers.JsonRpcProvider(evmJsonRpc); + const provider = new JsonRpcProvider(evmJsonRpc); const balance = await provider.getBalance(ethWalletAddress); return { denom: 'usei', amount: formatEtherValue(balance.toString()) }; } @@ -77,7 +78,7 @@ export async function fetchCW20Balances(rpcUrl: string, address: string, cw20Tok } export async function fetchERC20Balances(evmJsonRpc: string, ethWalletAddress: string, erc20Tokens: Array) { - const provider = new ethers.providers.JsonRpcProvider(evmJsonRpc); + const provider = new JsonRpcProvider(evmJsonRpc); const contractAbi = ['function balanceOf(address account) view returns (uint256)']; const promises = erc20Tokens.map(async (tokenAddress) => { diff --git a/packages/wallet-sdk/src/tx/govgenTx.ts b/packages/wallet-sdk/src/tx/govgenTx.ts new file mode 100644 index 00000000..2c0830e5 --- /dev/null +++ b/packages/wallet-sdk/src/tx/govgenTx.ts @@ -0,0 +1,75 @@ +import { OfflineSigner, Registry } from '@cosmjs/proto-signing'; +import { + accountFromAny, + AminoConverters, + AminoTypes, + createAuthzAminoConverters, + createBankAminoConverters, + createDistributionAminoConverters, + createFeegrantAminoConverters, + createGovAminoConverters, + createIbcAminoConverters, + createStakingAminoConverters, + createVestingAminoConverters, + defaultRegistryTypes, + SigningStargateClient, + SigningStargateClientOptions, + StdFee, +} from '@cosmjs/stargate'; +import { MsgGrant, MsgRevoke } from 'cosmjs-types/cosmos/authz/v1beta1/tx.js'; +import { MsgCancelUnbondingDelegation } from 'cosmjs-types/cosmos/staking/v1beta1/tx.js'; + +import { govgenProtoRegistry } from '../proto/govgen/client'; +import { VoteOption } from '../proto/govgen/gov/v1beta1/gov'; +import { AminoConverter } from '../proto/govgen/gov/v1beta1/tx.amino'; +import { getVoteMsg } from './msgs'; +import { Tx } from './tx'; + +function createDefaultAminoConverters(prefix: string): AminoConverters { + return { + ...createAuthzAminoConverters(), + ...createBankAminoConverters(), + ...createDistributionAminoConverters(), + ...createGovAminoConverters(), + ...createStakingAminoConverters(prefix), + ...createIbcAminoConverters(), + ...createFeegrantAminoConverters(), + ...createVestingAminoConverters(), + ...AminoConverter, + }; +} + +export class GovGenTx extends Tx { + constructor(rpcEndPoint: string, wallet: OfflineSigner, options?: SigningStargateClientOptions) { + super(rpcEndPoint, wallet, options); + this.registry = new Registry([...defaultRegistryTypes, ...govgenProtoRegistry]); + } + + async initClient() { + this.client = await SigningStargateClient.connectWithSigner(this.rpcEndPoint, this.wallet, { + broadcastPollIntervalMs: this.options?.broadcastPollIntervalMs ?? 5_000, + accountParser: (input: any) => { + return accountFromAny(input); + }, + aminoTypes: new AminoTypes(createDefaultAminoConverters('cosmos')), + }); + this.client.registry.register('/cosmos.authz.v1beta1.MsgGrant', MsgGrant); + this.client.registry.register('/cosmos.authz.v1beta1.MsgRevoke', MsgRevoke); + this.client.registry.register('/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation', MsgCancelUnbondingDelegation); + } + + async addGovGenRegistry() { + govgenProtoRegistry.forEach((registryEntry) => this.client?.registry.register(registryEntry[0], registryEntry[1])); + } + + async vote( + fromAddress: string, + proposalId: string, + option: VoteOption, + fees: number | StdFee | 'auto', + memo?: string, + ) { + const voteMsg = getVoteMsg(option, proposalId, fromAddress, '/govgen.gov.v1beta1.MsgVote'); + return await this.signAndBroadcastTx(fromAddress, [voteMsg], fees, memo); + } +} diff --git a/packages/wallet-sdk/src/tx/index.ts b/packages/wallet-sdk/src/tx/index.ts index 164077e1..ae5f82ba 100644 --- a/packages/wallet-sdk/src/tx/index.ts +++ b/packages/wallet-sdk/src/tx/index.ts @@ -1,5 +1,6 @@ export * from './ethermint'; export * from './fee'; +export * from './govgenTx'; export * from './injectiveTx'; export * from './lavaTx'; export * from './mayaTx'; diff --git a/packages/wallet-sdk/src/tx/injectiveTx.ts b/packages/wallet-sdk/src/tx/injectiveTx.ts index feef3e74..a0e40a32 100644 --- a/packages/wallet-sdk/src/tx/injectiveTx.ts +++ b/packages/wallet-sdk/src/tx/injectiveTx.ts @@ -13,15 +13,24 @@ import { } from '@cosmjs/stargate'; import { longify } from '@cosmjs/stargate/build/queryclient'; import { arrayify, concat, joinSignature, SignatureLike, splitSignature } from '@ethersproject/bytes'; +import { EthWallet } from '@leapwallet/leap-keychain'; +import BigNumber from 'bignumber.js'; +import { VoteOption } from 'cosmjs-types/cosmos/gov/v1beta1/gov'; +import { StakeAuthorization } from 'cosmjs-types/cosmos/staking/v1beta1/authz'; +import { Height } from 'cosmjs-types/ibc/core/client/v1/client'; +import { keccak256 } from 'ethereumjs-util'; + +import { fetchAccountDetails } from '../accounts'; +import { ChainInfos } from '../constants'; +import { axiosWrapper } from '../healthy-nodes'; +import { LeapLedgerSignerEth } from '../ledger'; +import { ChainRestAuthApi, ChainRestTendermintApi } from '../proto/injective/client/chain/rest'; import { - ChainRestAuthApi, - ChainRestTendermintApi, createSignDocFromTransaction, createTransaction, createTxRawEIP712, createTxRawFromSigResponse, createWeb3Extension, - DEFAULT_STD_FEE, getEip712TypedData, MsgBeginRedelegate, MsgDelegate, @@ -36,18 +45,8 @@ import { SIGN_AMINO, TxClient, TxRestClient, -} from '@injectivelabs/sdk-ts'; -import { EthWallet } from '@leapwallet/leap-keychain'; -import BigNumber from 'bignumber.js'; -import { VoteOption } from 'cosmjs-types/cosmos/gov/v1beta1/gov'; -import { StakeAuthorization } from 'cosmjs-types/cosmos/staking/v1beta1/authz'; -import { Height } from 'cosmjs-types/ibc/core/client/v1/client'; -import { keccak256 } from 'ethereumjs-util'; - -import { fetchAccountDetails } from '../accounts'; -import { ChainInfos } from '../constants'; -import { axiosWrapper } from '../healthy-nodes'; -import { LeapLedgerSignerEth } from '../ledger'; +} from '../proto/injective/core/modules'; +import { DEFAULT_STD_FEE } from '../proto/injective/utils/constants'; import { getClientState, getRestUrl, sleep } from '../utils'; import { buildGrantMsg } from './msgs/cosmos'; import { getInjAminoMessage, MsgTypes } from './msgs/injective'; @@ -609,7 +608,7 @@ export class InjectiveTx { const _signDoc = createSignDocFromTransaction({ txRaw, chainId: signDoc.chainId, - accountNumber: parseInt(signDoc.accountNumber), + accountNumber: parseInt(signDoc.accountNumber.toString()), }); // eslint-disable-next-line @typescript-eslint/ban-ts-comment diff --git a/packages/wallet-sdk/src/tx/lavaTx.ts b/packages/wallet-sdk/src/tx/lavaTx.ts index efcabc24..f2fae83a 100644 --- a/packages/wallet-sdk/src/tx/lavaTx.ts +++ b/packages/wallet-sdk/src/tx/lavaTx.ts @@ -20,6 +20,7 @@ import { MsgGrant, MsgRevoke } from 'cosmjs-types/cosmos/authz/v1beta1/tx.js'; import { MsgCancelUnbondingDelegation } from 'cosmjs-types/cosmos/staking/v1beta1/tx.js'; import { MsgClaimRewards, MsgDelegate, MsgRedelegate, MsgUnbond } from '../proto/lava/tx'; +import { AminoConverter } from '../proto/lava/tx.amino'; import { registry } from '../proto/lava/tx.registry'; import { simulateTx } from './simulate'; import { Tx } from './tx'; @@ -34,7 +35,7 @@ function createDefaultAminoConverters(prefix: string): AminoConverters { ...createIbcAminoConverters(), ...createFeegrantAminoConverters(), ...createVestingAminoConverters(), - // ...AminoConverter, + ...AminoConverter, }; } diff --git a/packages/wallet-sdk/src/tx/msgs/cosmos.ts b/packages/wallet-sdk/src/tx/msgs/cosmos.ts index 5ca6ca51..5f82e875 100644 --- a/packages/wallet-sdk/src/tx/msgs/cosmos.ts +++ b/packages/wallet-sdk/src/tx/msgs/cosmos.ts @@ -46,9 +46,9 @@ export function getSendTokensMsg(fromAddress: string, toAddress: string, amount: return sendMsg; } -export function getVoteMsg(option: VoteOption, proposalId: string, fromAddress: string) { +export function getVoteMsg(option: VoteOption, proposalId: string, fromAddress: string, typeUrl?: string) { const voteMsg = { - typeUrl: '/cosmos.gov.v1beta1.MsgVote', + typeUrl: typeUrl || '/cosmos.gov.v1beta1.MsgVote', value: { option: option, proposalId: Long.fromString(proposalId), diff --git a/packages/wallet-sdk/src/tx/msgs/injective.ts b/packages/wallet-sdk/src/tx/msgs/injective.ts index 4be12603..c64c3666 100644 --- a/packages/wallet-sdk/src/tx/msgs/injective.ts +++ b/packages/wallet-sdk/src/tx/msgs/injective.ts @@ -1,5 +1,6 @@ import { AminoMsg } from '@cosmjs/amino'; import { EncodeObject } from '@cosmjs/proto-signing'; + import { MsgBeginRedelegate, MsgDelegate, @@ -12,7 +13,7 @@ import { MsgUndelegate, MsgVote, MsgWithdrawDelegatorReward, -} from '@injectivelabs/sdk-ts'; +} from '../../proto/injective/core/modules'; export enum MsgTypes { GRANT = '/cosmos.authz.v1beta1.MsgGrant', diff --git a/packages/wallet-sdk/src/tx/seiEvmTx.ts b/packages/wallet-sdk/src/tx/seiEvmTx.ts index fe29f745..29500961 100644 --- a/packages/wallet-sdk/src/tx/seiEvmTx.ts +++ b/packages/wallet-sdk/src/tx/seiEvmTx.ts @@ -1,10 +1,11 @@ /* eslint-disable @typescript-eslint/ban-ts-comment */ import { BytesLike } from '@ethersproject/bytes'; +import { Contract } from '@ethersproject/contracts'; +import { JsonRpcProvider } from '@ethersproject/providers'; import { parseEther, parseUnits } from '@ethersproject/units'; import { EthWallet, pubkeyToAddress } from '@leapwallet/leap-keychain'; import BigNumber from 'bignumber.js'; import { hashPersonalMessage, intToHex } from 'ethereumjs-util'; -import { Contract, providers } from 'ethers'; import { abiERC20, @@ -28,7 +29,7 @@ export class SeiEvmTx { private constructor(private rpc: string, private wallet: EthWallet) {} public static GetSeiEvmClient(wallet: EthWallet, rpc: string, chainId: number) { - const provider = new providers.JsonRpcProvider(rpc, chainId); + const provider = new JsonRpcProvider(rpc, chainId); this.rpcUrl = rpc; wallet.setProvider(provider); @@ -339,7 +340,7 @@ export class SeiEvmTx { public async pollLinkAddressWithoutFunds(ethAddress: string, chainId: string, retryCount = 40): Promise { if (retryCount === 0) { - throw new Error('Failed to link address'); + throw new Error('Failed to check if the addresses are linked. Please refresh and try again.'); } const baseUrl = 'https://app-api.seinetwork.io/associate-message'; @@ -361,7 +362,7 @@ export class SeiEvmTx { const account = accounts[0]; const message = 'Please sign this message to link your EVM and Sei addresses on Compass. No SEI will be spent as a result of this signature.'; - const signature = personalSign(message, account.address, this.wallet); + const signature = await personalSign(message, account.address, this.wallet); const url = 'https://app-api.seinetwork.io/associate'; const body = { diff --git a/packages/wallet-sdk/src/tx/simulate.ts b/packages/wallet-sdk/src/tx/simulate.ts index 56697507..cca95878 100644 --- a/packages/wallet-sdk/src/tx/simulate.ts +++ b/packages/wallet-sdk/src/tx/simulate.ts @@ -18,6 +18,7 @@ import { Height } from 'cosmjs-types/ibc/core/client/v1/client'; import { fetchAccountDetails } from '../accounts'; import { axiosWrapper } from '../healthy-nodes'; +import { MsgVote as MsgVoteGovGen } from '../proto/govgen/gov/v1beta1/tx'; import { buildGrantMsg, getCancelUnDelegationMsg, @@ -230,13 +231,13 @@ export async function simulateVote( proposalId: string, option: VoteOption, fee: Coin[], + chainId?: string, ) { - const msg = getVoteMsg(option, proposalId, fromAddress); + const nonStandardTypeUrl = chainId === 'govgen-1' ? '/govgen.gov.v1beta1.MsgVote' : undefined; + const msg = getVoteMsg(option, proposalId, fromAddress, nonStandardTypeUrl); const encodedMsg = { typeUrl: msg.typeUrl, - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - //@ts-ignore - value: MsgVote.encode(msg.value).finish(), + value: chainId === 'govgen-1' ? MsgVoteGovGen.encode(msg.value).finish() : MsgVote.encode(msg.value).finish(), }; return await simulateTx(lcdEndpoint, fromAddress, [encodedMsg], { amount: fee }); } diff --git a/packages/wallet-sdk/src/tx/utils.ts b/packages/wallet-sdk/src/tx/utils.ts index 7daa9dcd..e2975a78 100644 --- a/packages/wallet-sdk/src/tx/utils.ts +++ b/packages/wallet-sdk/src/tx/utils.ts @@ -12,7 +12,6 @@ import { stakingTypes, vestingTypes, } from '@cosmjs/stargate/build/modules'; -import { createTxRawEIP712, createWeb3Extension, TxClient, TxRaw as InjTxRaw } from '@injectivelabs/sdk-ts'; import { Coin } from 'cosmjs-types/cosmos/base/v1beta1/coin'; import { PubKey } from 'cosmjs-types/cosmos/crypto/secp256k1/keys'; import { SignMode } from 'cosmjs-types/cosmos/tx/signing/v1beta1/signing'; @@ -21,6 +20,8 @@ import Long from 'long'; import { ChainInfos, SupportedChain } from '../constants'; import { axiosWrapper } from '../healthy-nodes'; +import { createTxRawEIP712, createWeb3Extension, TxClient } from '../proto/injective/core/modules'; +import { TxRaw as InjTxRaw } from '../proto/injective/types'; import { sleep } from '../utils'; export function getTxHashFromSignedTx({ diff --git a/packages/wallet-sdk/src/types/staking.ts b/packages/wallet-sdk/src/types/staking.ts index 3a6878c7..bfc92b3c 100644 --- a/packages/wallet-sdk/src/types/staking.ts +++ b/packages/wallet-sdk/src/types/staking.ts @@ -76,6 +76,10 @@ export type Provider = { spec: string; chain: string; image?: string; + stakestatus?: string; + delegateCommission?: string; + delegateLimit?: string; + delegateTotal?: string; }; export type ProvidersResponse = { @@ -88,6 +92,10 @@ export type ProvidersResponse = { spec: string; moniker: string; chain: string; + stakestatus?: string; + delegateCommission?: string; + delegateLimit?: string; + delegateTotal?: string; }[]; }[]; }; diff --git a/packages/wallet-sdk/src/types/validators.ts b/packages/wallet-sdk/src/types/validators.ts index cb427ad4..51d95141 100644 --- a/packages/wallet-sdk/src/types/validators.ts +++ b/packages/wallet-sdk/src/types/validators.ts @@ -72,6 +72,7 @@ export class Validator { profile?: Profile; delegations?: ValidatorDelegations; custom_attributes?: { priority?: number }; + consensus_pubkey?: { '@type': string; key: string }; constructor(validator: any) { this.moniker = ''; @@ -97,6 +98,7 @@ export class Validator { 'uptime', 'profile', 'delegations', + 'consensus_pubkey', ].forEach((prop) => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore diff --git a/packages/wallet-sdk/src/utils/sei-evm.ts b/packages/wallet-sdk/src/utils/sei-evm.ts index cc91d449..7e3f8e5f 100644 --- a/packages/wallet-sdk/src/utils/sei-evm.ts +++ b/packages/wallet-sdk/src/utils/sei-evm.ts @@ -1,11 +1,12 @@ import { Interface } from '@ethersproject/abi'; -import { arrayify } from '@ethersproject/bytes'; +import { arrayify, Signature } from '@ethersproject/bytes'; +import { Contract } from '@ethersproject/contracts'; import { JsonRpcProvider } from '@ethersproject/providers'; import { formatEther, parseEther } from '@ethersproject/units'; +import { formatUnits } from '@ethersproject/units'; import { EthWallet } from '@leapwallet/leap-keychain'; import { SignTypedDataVersion, TypedDataUtils } from '@metamask/eth-sig-util'; import { hashPersonalMessage, isHexString, stripHexPrefix, toBuffer, toRpcSig } from 'ethereumjs-util'; -import { Contract, ethers } from 'ethers'; import { abiERC20, abiERC721, abiERC1155 } from '../constants'; import { LeapLedgerSignerEth } from '../ledger'; @@ -45,7 +46,7 @@ export function formatEtherValue(value: string) { } export function formatEtherUnits(value: string, decimals: number) { - return ethers.utils.formatUnits(value, decimals); + return formatUnits(value, decimals); } export function trimLeadingZeroes(value: string, isHex?: boolean) { @@ -62,7 +63,7 @@ export function trimLeadingZeroes(value: string, isHex?: boolean) { } export async function getErc20TokenDetails(contractAddress: string, rpcUrl: string, chainId: number) { - const provider = new ethers.providers.JsonRpcProvider(rpcUrl, chainId); + const provider = new JsonRpcProvider(rpcUrl, chainId); const contract = new Contract(contractAddress, abiERC20, provider); const [name, symbol, decimals] = await Promise.all([contract.name(), contract.symbol(), contract.decimals()]); @@ -80,10 +81,10 @@ export function encodedUtf8HexToText(hexValue: string) { } export async function personalSign(data: string, signerAddress: string, wallet: EthWallet | LeapLedgerSignerEth) { - let signature: ethers.Signature; + let signature: Signature; if (wallet instanceof LeapLedgerSignerEth) { - signature = (await wallet.signPersonalMessage(signerAddress, data)) as unknown as ethers.Signature; + signature = (await wallet.signPersonalMessage(signerAddress, data)) as unknown as Signature; } else { const message = isHexString(data) ? toBuffer(data) : Buffer.from(data); const msgHash = hashPersonalMessage(message); @@ -100,10 +101,10 @@ export async function personalSign(data: string, signerAddress: string, wallet: } export async function signTypedData(data: any, signerAddress: string, wallet: EthWallet | LeapLedgerSignerEth) { - let signature: ethers.Signature; + let signature: Signature; if (wallet instanceof LeapLedgerSignerEth) { - signature = (await wallet.signEip712(signerAddress, data)) as unknown as ethers.Signature; + signature = (await wallet.signEip712(signerAddress, data)) as unknown as Signature; } else { const messageHash = TypedDataUtils.eip712Hash(data, SignTypedDataVersion.V4); signature = wallet.sign(signerAddress, messageHash); diff --git a/patches/cosmjs-types+0.8.0.patch b/patches/cosmjs-types+0.8.0.patch index 8b68db6c..0a54fa53 100644 --- a/patches/cosmjs-types+0.8.0.patch +++ b/patches/cosmjs-types+0.8.0.patch @@ -83,6 +83,28 @@ index a94df9c..2e451b2 100644 : helpers_1.Long.UZERO; message.payer = object.payer ?? ""; message.granter = object.granter ?? ""; +diff --git a/node_modules/cosmjs-types/ibc/applications/transfer/v1/tx.js b/node_modules/cosmjs-types/ibc/applications/transfer/v1/tx.js +index c76b959..dc5c54f 100644 +--- a/node_modules/cosmjs-types/ibc/applications/transfer/v1/tx.js ++++ b/node_modules/cosmjs-types/ibc/applications/transfer/v1/tx.js +@@ -62,7 +62,7 @@ exports.MsgTransfer = { + if (message.timeoutHeight !== undefined) { + client_1.Height.encode(message.timeoutHeight, writer.uint32(50).fork()).ldelim(); + } +- if (!message.timeoutTimestamp.isZero()) { ++ if (typeof message.timeoutTimestamp === 'bigint' ? message.timeoutTimestamp !== BigInt(0) : !message.timeoutTimestamp.isZero()) { + writer.uint32(56).uint64(message.timeoutTimestamp); + } + if (message.memo !== "") { +@@ -116,7 +116,7 @@ exports.MsgTransfer = { + sender: (0, helpers_1.isSet)(object.sender) ? String(object.sender) : "", + receiver: (0, helpers_1.isSet)(object.receiver) ? String(object.receiver) : "", + timeoutHeight: (0, helpers_1.isSet)(object.timeoutHeight) ? client_1.Height.fromJSON(object.timeoutHeight) : undefined, +- timeoutTimestamp: (0, helpers_1.isSet)(object.timeoutTimestamp) ? helpers_1.Long.fromValue(object.timeoutTimestamp) : helpers_1.Long.UZERO, ++ timeoutTimestamp: (0, helpers_1.isSet)(object.timeoutTimestamp) ? helpers_1.Long.fromValue(object.timeoutTimestamp?.toString()) : helpers_1.Long.UZERO, + memo: (0, helpers_1.isSet)(object.memo) ? String(object.memo) : "", + }; + }, diff --git a/node_modules/cosmjs-types/ibc/core/client/v1/client.js b/node_modules/cosmjs-types/ibc/core/client/v1/client.js index 5984754..79366ac 100644 --- a/node_modules/cosmjs-types/ibc/core/client/v1/client.js diff --git a/yarn.lock b/yarn.lock index cd252340..707e26c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,11 +16,6 @@ resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== -"@adraffy/ens-normalize@1.10.1": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" - integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== - "@algolia/autocomplete-core@1.9.3": version "1.9.3" resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz#1d56482a768c33aae0868c8533049e02e8961be7" @@ -182,26 +177,6 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@apollo/client@^3.5.8": - version "3.11.8" - resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.11.8.tgz#f6bacdc7e1b243807c1387113e1d445a53471a9c" - integrity sha512-CgG1wbtMjsV2pRGe/eYITmV5B8lXUCYljB2gB/6jWTFQcrvirUVvKg7qtFdjYkQSFbIffU1IDyxgeaN81eTjbA== - dependencies: - "@graphql-typed-document-node/core" "^3.1.1" - "@wry/caches" "^1.0.0" - "@wry/equality" "^0.5.6" - "@wry/trie" "^0.5.0" - graphql-tag "^2.12.6" - hoist-non-react-statics "^3.3.2" - optimism "^0.18.0" - prop-types "^15.7.2" - rehackt "^0.1.0" - response-iterator "^0.2.6" - symbol-observable "^4.0.0" - ts-invariant "^0.10.3" - tslib "^2.3.0" - zen-observable-ts "^1.2.5" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.24.7", "@babel/code-frame@^7.8.3": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" @@ -1202,7 +1177,7 @@ resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.9", "@babel/runtime@^7.18.9", "@babel/runtime@^7.19.0", "@babel/runtime@^7.20.13", "@babel/runtime@^7.21.0", "@babel/runtime@^7.25.0", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.9", "@babel/runtime@^7.18.9", "@babel/runtime@^7.19.0", "@babel/runtime@^7.20.13", "@babel/runtime@^7.21.0", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.25.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ== @@ -1245,11 +1220,6 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@chain-registry/types@^0.45.69": - version "0.45.69" - resolved "https://registry.yarnpkg.com/@chain-registry/types/-/types-0.45.69.tgz#30d8f68bf7500f3273e74a31882c96cab8ba6db3" - integrity sha512-Jd2K7SW7vn07Fzap2UNv0r3kEoZOkiCcRAIiWUMDDQupWkKi5Qd3yb/1GToU7hefkQpjdoKoyB4WJTT5u5fHIA== - "@confio/ics23@^0.6.8": version "0.6.8" resolved "https://registry.yarnpkg.com/@confio/ics23/-/ics23-0.6.8.tgz#2a6b4f1f2b7b20a35d9a0745bb5a446e72930b3d" @@ -1258,7 +1228,7 @@ "@noble/hashes" "^1.0.0" protobufjs "^6.8.8" -"@cosmjs/amino@0.27.1", "@cosmjs/amino@0.28.13", "@cosmjs/amino@0.29.0", "@cosmjs/amino@0.29.3", "@cosmjs/amino@0.29.5", "@cosmjs/amino@0.32.3", "@cosmjs/amino@^0.29.5", "@cosmjs/amino@^0.30.1", "@cosmjs/amino@^0.32.2", "@cosmjs/amino@^0.32.3": +"@cosmjs/amino@0.28.13", "@cosmjs/amino@0.29.0", "@cosmjs/amino@0.29.3", "@cosmjs/amino@0.29.5", "@cosmjs/amino@0.32.3", "@cosmjs/amino@^0.29.5", "@cosmjs/amino@^0.30.1": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.29.5.tgz#053b4739a90b15b9e2b781ccd484faf64bd49aec" integrity sha512-Qo8jpC0BiziTSUqpkNatBcwtKNhCovUnFul9SlT/74JUCdLYaeG5hxr3q1cssQt++l4LvlcpF+OUXL48XjNjLw== @@ -1268,7 +1238,7 @@ "@cosmjs/math" "^0.29.5" "@cosmjs/utils" "^0.29.5" -"@cosmjs/cosmwasm-stargate@0.29.5", "@cosmjs/cosmwasm-stargate@0.30.0", "@cosmjs/cosmwasm-stargate@0.32.3", "@cosmjs/cosmwasm-stargate@^0.31.1": +"@cosmjs/cosmwasm-stargate@0.29.5", "@cosmjs/cosmwasm-stargate@0.30.0", "@cosmjs/cosmwasm-stargate@0.32.3": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.29.5.tgz#3f257da682658833e0f4eb9e8ff758e4d927663a" integrity sha512-TNdSvm2tEE3XMCuxHxquzls56t40hC8qnLeYJWHsY2ECZmRK3KrnpRReEr7N7bLtODToK7X/riYrV0JaYxjrYA== @@ -1285,7 +1255,7 @@ long "^4.0.0" pako "^2.0.2" -"@cosmjs/crypto@0.27.1", "@cosmjs/crypto@0.28.13", "@cosmjs/crypto@0.29.5", "@cosmjs/crypto@^0.29.0", "@cosmjs/crypto@^0.29.5", "@cosmjs/crypto@^0.30.1", "@cosmjs/crypto@^0.32.3": +"@cosmjs/crypto@0.28.13", "@cosmjs/crypto@0.29.5", "@cosmjs/crypto@^0.29.0", "@cosmjs/crypto@^0.29.5", "@cosmjs/crypto@^0.30.1": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.29.5.tgz#ab99fc382b93d8a8db075780cf07487a0f9519fd" integrity sha512-2bKkaLGictaNL0UipQCL6C1afaisv6k8Wr/GCLx9FqiyFkh9ZgRHDyetD64ZsjnWV/N/D44s/esI+k6oPREaiQ== @@ -1298,7 +1268,7 @@ elliptic "^6.5.4" libsodium-wrappers "^0.7.6" -"@cosmjs/encoding@0.27.1", "@cosmjs/encoding@0.29.0", "@cosmjs/encoding@0.29.5", "@cosmjs/encoding@0.32.3", "@cosmjs/encoding@^0.29.0", "@cosmjs/encoding@^0.29.5", "@cosmjs/encoding@^0.30.1", "@cosmjs/encoding@^0.31.1", "@cosmjs/encoding@^0.32.3": +"@cosmjs/encoding@0.27.1", "@cosmjs/encoding@0.29.0", "@cosmjs/encoding@0.29.5", "@cosmjs/encoding@0.32.3", "@cosmjs/encoding@^0.29.0", "@cosmjs/encoding@^0.29.5", "@cosmjs/encoding@^0.30.1", "@cosmjs/encoding@^0.31.1": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.29.5.tgz#009a4b1c596cdfd326f30ccfa79f5e56daa264f2" integrity sha512-G4rGl/Jg4dMCw5u6PEZHZcoHnUBlukZODHbm/wcL4Uu91fkn5jVo5cXXZcvs4VCkArVGrEj/52eUgTZCmOBGWQ== @@ -1323,27 +1293,6 @@ "@cosmjs/stream" "^0.30.1" xstream "^11.14.0" -"@cosmjs/json-rpc@^0.32.3": - version "0.32.4" - resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.32.4.tgz#be91eb89ea78bd5dc02d0a9fa184dd6790790f0b" - integrity sha512-/jt4mBl7nYzfJ2J/VJ+r19c92mUKF0Lt0JxM3MXEJl7wlwW5haHAWtzRujHkyYMXOwIR+gBqT2S0vntXVBRyhQ== - dependencies: - "@cosmjs/stream" "^0.32.4" - xstream "^11.14.0" - -"@cosmjs/launchpad@^0.27.1": - version "0.27.1" - resolved "https://registry.yarnpkg.com/@cosmjs/launchpad/-/launchpad-0.27.1.tgz#b6f1995748be96560f5f01e84d3ff907477dda77" - integrity sha512-DcFwGD/z5PK8CzO2sojDxa+Be9EIEtRZb2YawgVnw2Ht/p5FlNv+OVo8qlishpBdalXEN7FvQ1dVeDFEe9TuJw== - dependencies: - "@cosmjs/amino" "0.27.1" - "@cosmjs/crypto" "0.27.1" - "@cosmjs/encoding" "0.27.1" - "@cosmjs/math" "0.27.1" - "@cosmjs/utils" "0.27.1" - axios "^0.21.2" - fast-deep-equal "^3.1.3" - "@cosmjs/ledger-amino@0.29.5": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/ledger-amino/-/ledger-amino-0.29.5.tgz#87b9677cbc5915ac850d5409f02edb38cfe904ea" @@ -1357,14 +1306,14 @@ ledger-cosmos-js "^2.1.8" semver "^7.3.2" -"@cosmjs/math@0.27.1", "@cosmjs/math@0.29.5", "@cosmjs/math@0.31.0", "@cosmjs/math@0.32.3", "@cosmjs/math@^0.29.0", "@cosmjs/math@^0.29.5", "@cosmjs/math@^0.30.1", "@cosmjs/math@^0.32.3": +"@cosmjs/math@0.27.1", "@cosmjs/math@0.29.5", "@cosmjs/math@0.31.0", "@cosmjs/math@0.32.3", "@cosmjs/math@^0.29.0", "@cosmjs/math@^0.29.5", "@cosmjs/math@^0.30.1": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.29.5.tgz#722c96e080d6c2b62215ce9f4c70da7625b241b6" integrity sha512-2GjKcv+A9f86MAWYLUkjhw1/WpRl2R1BTb3m9qPG7lzMA7ioYff9jY5SPCfafKdxM4TIQGxXQlYGewQL16O68Q== dependencies: bn.js "^5.2.0" -"@cosmjs/proto-signing@0.28.13", "@cosmjs/proto-signing@0.29.0", "@cosmjs/proto-signing@0.29.3", "@cosmjs/proto-signing@0.29.5", "@cosmjs/proto-signing@0.30.1", "@cosmjs/proto-signing@0.32.3", "@cosmjs/proto-signing@^0.29.5", "@cosmjs/proto-signing@^0.30.1", "@cosmjs/proto-signing@^0.32.2", "@cosmjs/proto-signing@^0.32.3": +"@cosmjs/proto-signing@0.28.13", "@cosmjs/proto-signing@0.29.0", "@cosmjs/proto-signing@0.29.3", "@cosmjs/proto-signing@0.29.5", "@cosmjs/proto-signing@0.30.1", "@cosmjs/proto-signing@0.32.3", "@cosmjs/proto-signing@^0.29.5", "@cosmjs/proto-signing@^0.30.1": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.29.5.tgz#af3b62a46c2c2f1d2327d678b13b7262db1fe87c" integrity sha512-QRrS7CiKaoETdgIqvi/7JC2qCwCR7lnWaUsTzh/XfRy3McLkEd+cXbKAW3cygykv7IN0VAEIhZd2lyIfT8KwNA== @@ -1397,17 +1346,7 @@ ws "^7" xstream "^11.14.0" -"@cosmjs/socket@^0.32.3": - version "0.32.4" - resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.32.4.tgz#86ab6adf3a442314774c0810b7a7cfcddf4f2082" - integrity sha512-davcyYziBhkzfXQTu1l5NrpDYv0K9GekZCC9apBRvL1dvMc9F/ygM7iemHjUA+z8tJkxKxrt/YPjJ6XNHzLrkw== - dependencies: - "@cosmjs/stream" "^0.32.4" - isomorphic-ws "^4.0.1" - ws "^7" - xstream "^11.14.0" - -"@cosmjs/stargate@0.28.13", "@cosmjs/stargate@0.29.0", "@cosmjs/stargate@0.29.3", "@cosmjs/stargate@0.29.5", "@cosmjs/stargate@0.32.3", "@cosmjs/stargate@^0.29.5", "@cosmjs/stargate@^0.30.1", "@cosmjs/stargate@^0.31.1", "@cosmjs/stargate@^0.32.2", "@cosmjs/stargate@^0.32.3": +"@cosmjs/stargate@0.28.13", "@cosmjs/stargate@0.29.0", "@cosmjs/stargate@0.29.3", "@cosmjs/stargate@0.29.5", "@cosmjs/stargate@0.32.3", "@cosmjs/stargate@^0.29.5", "@cosmjs/stargate@^0.30.1": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.29.5.tgz#d597af1c85a3c2af7b5bdbec34d5d40692cc09e4" integrity sha512-hjEv8UUlJruLrYGJcUZXM/CziaINOKwfVm2BoSdUnNTMxGvY/jC1ABHKeZUYt9oXHxEJ1n9+pDqzbKc8pT0nBw== @@ -1439,13 +1378,6 @@ dependencies: xstream "^11.14.0" -"@cosmjs/stream@^0.32.3", "@cosmjs/stream@^0.32.4": - version "0.32.4" - resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.32.4.tgz#83e1f2285807467c56d9ea0e1113f79d9fa63802" - integrity sha512-Gih++NYHEiP+oyD4jNEUxU9antoC0pFSg+33Hpp0JlHwH0wXhtD3OOKnzSfDB7OIoEbrzLJUpEjOgpCp5Z+W3A== - dependencies: - xstream "^11.14.0" - "@cosmjs/tendermint-rpc@0.29.0": version "0.29.0" resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.29.0.tgz#db71e743d2ee8dde706c09bc92ac47cc6197f672" @@ -1478,22 +1410,6 @@ readonly-date "^1.0.0" xstream "^11.14.0" -"@cosmjs/tendermint-rpc@0.32.3": - version "0.32.3" - resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.32.3.tgz#f0406b9f0233e588fb924dca8c614972f9038aff" - integrity sha512-xeprW+VR9xKGstqZg0H/KBZoUp8/FfFyS9ljIUTLM/UINjP2MhiwncANPS2KScfJVepGufUKk0/phHUeIBSEkw== - dependencies: - "@cosmjs/crypto" "^0.32.3" - "@cosmjs/encoding" "^0.32.3" - "@cosmjs/json-rpc" "^0.32.3" - "@cosmjs/math" "^0.32.3" - "@cosmjs/socket" "^0.32.3" - "@cosmjs/stream" "^0.32.3" - "@cosmjs/utils" "^0.32.3" - axios "^1.6.0" - readonly-date "^1.0.0" - xstream "^11.14.0" - "@cosmjs/tendermint-rpc@^0.30.1": version "0.30.1" resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.30.1.tgz#c16378892ba1ac63f72803fdf7567eab9d4f0aa0" @@ -1510,11 +1426,6 @@ readonly-date "^1.0.0" xstream "^11.14.0" -"@cosmjs/utils@0.27.1": - version "0.27.1" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.27.1.tgz#1c8efde17256346ef142a3bd15158ee4055470e2" - integrity sha512-VG7QPDiMUzVPxRdJahDV8PXxVdnuAHiIuG56hldV4yPnOz/si/DLNd7VAUUA5923b6jS1Hhev0Hr6AhEkcxBMg== - "@cosmjs/utils@^0.29.0", "@cosmjs/utils@^0.29.5": version "0.29.5" resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.29.5.tgz#3fed1b3528ae8c5f1eb5d29b68755bebfd3294ee" @@ -1525,11 +1436,6 @@ resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.30.1.tgz#6d92582341be3c2ec8d82090253cfa4b7f959edb" integrity sha512-KvvX58MGMWh7xA+N+deCfunkA/ZNDvFLw4YbOmX3f/XBIkqrVY7qlotfy2aNb1kgp6h4B6Yc8YawJPDTfvWX7g== -"@cosmjs/utils@^0.32.3": - version "0.32.4" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.32.4.tgz#a9a717c9fd7b1984d9cefdd0ef6c6f254060c671" - integrity sha512-D1Yc+Zy8oL/hkUkFUL/bwxvuDBzRGpc4cF7/SkdhxX4iHpSLgdOuTt1mhCh9+kl6NQREy9t7SYZ6xeW5gFe60w== - "@cosmology/lcd@^0.12.0": version "0.12.0" resolved "https://registry.yarnpkg.com/@cosmology/lcd/-/lcd-0.12.0.tgz#a6594fc00a8c84c7341e90840627e62a7e63fd1b" @@ -1593,16 +1499,6 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== -"@ensdomains/ens-validation@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@ensdomains/ens-validation/-/ens-validation-0.1.0.tgz#9ebfe66016fbf069a6ebca70c043714f6f02fbe6" - integrity sha512-rbDh2K6GfqXvBcJUISaTTYEt3f079WA4ohTE5Lh4/8EaaPAk/9vk3EisMUQV2UVxeFIZQEEyRCIOmRTpqN0W7A== - -"@ensdomains/eth-ens-namehash@^2.0.15": - version "2.0.15" - resolved "https://registry.yarnpkg.com/@ensdomains/eth-ens-namehash/-/eth-ens-namehash-2.0.15.tgz#5e5f2f24ba802aff8bc19edd822c9a11200cdf4a" - integrity sha512-JRDFP6+Hczb1E0/HhIg0PONgBYasfGfDheujmfxaZaAv/NAH4jE6Kf48WbqfRZdxt4IZI3jl3Ri7sZ1nP09lgw== - "@es-joy/jsdoccomment@~0.30.0": version "0.30.0" resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.30.0.tgz#12e3e220ee8e1a4b48c6db30c4a77fce0bd21d34" @@ -1928,7 +1824,14 @@ resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": +"@ethersproject/networks@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.0.tgz#df72a392f1a63a57f87210515695a31a245845ad" + integrity sha512-MG6oHSQHd4ebvJrleEQQ4HhVu8Ichr0RDYEfHzsVAVjHNM+w36x9wp9r+hf1JstMXtseXDtkiVoARAG6M959AA== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/networks@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== @@ -1950,6 +1853,32 @@ dependencies: "@ethersproject/logger" "^5.7.0" +"@ethersproject/providers@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.0.tgz#a885cfc7650a64385e7b03ac86fe9c2d4a9c2c63" + integrity sha512-+TTrrINMzZ0aXtlwO/95uhAggKm4USLm1PbeCBR/3XZ7+Oey+3pMyddzZEyRhizHpy1HXV0FRWRMI1O3EGYibA== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + bech32 "1.1.4" + ws "7.4.6" + "@ethersproject/providers@5.7.2": version "5.7.2" resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" @@ -2100,7 +2029,18 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": +"@ethersproject/web@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.0.tgz#40850c05260edad8b54827923bbad23d96aac0bc" + integrity sha512-ApHcbbj+muRASVDSCl/tgxaH2LBkRMEYfLOLVa0COipx0+nlu0QKet7U2lEg0vdkh8XRSLf2nd1f1Uk9SrVSGA== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/web@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== @@ -2127,11 +2067,6 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== -"@graphql-typed-document-node/core@^3.1.1": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" - integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== - "@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": version "9.3.0" resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" @@ -2182,20 +2117,6 @@ dependencies: browser-headers "^0.4.1" -"@initia/initia-registry-types@^0.0.17": - version "0.0.17" - resolved "https://registry.yarnpkg.com/@initia/initia-registry-types/-/initia-registry-types-0.0.17.tgz#aed91fd89717232928c6c41b2ba2aac92c9d67ff" - integrity sha512-5zBYKH1cU8I5vGUBmRYqAIbvKSJRehUOvUvDy4ohtcz5G7GjNRWvo7x7aXgMSDw5hnxTcqBCaJxsp4i8EcPIxg== - dependencies: - zod "^3.22.4" - -"@initia/initia-registry@0.1.9": - version "0.1.9" - resolved "https://registry.yarnpkg.com/@initia/initia-registry/-/initia-registry-0.1.9.tgz#1d9f576c5ce95494374440066ff9cd6515141fac" - integrity sha512-zXIP9Gk0OG4SJkcrileCHJNgZU8LyHzTHdcNO5bjEoxeuvM8mvlhsGQvKeJcefBcvhvIyeX5LOlSBCTeIofngg== - dependencies: - "@initia/initia-registry-types" "^0.0.17" - "@initia/initia.proto@0.2.1": version "0.2.1" resolved "https://registry.yarnpkg.com/@initia/initia.proto/-/initia.proto-0.2.1.tgz#290eb30d669776b7555aae624d030a311be00127" @@ -2216,272 +2137,6 @@ long "^5.2.0" protobufjs "^7.1.1" -"@injectivelabs/core-proto-ts@0.0.x": - version "0.0.30" - resolved "https://registry.yarnpkg.com/@injectivelabs/core-proto-ts/-/core-proto-ts-0.0.30.tgz#15427ecaa9006ba18df19b63dfe7113f5c7f9854" - integrity sha512-NqE7W5NoyzUv1+AWZxffjjQcqXLFLdNWwf+0qdbWs4vnr90x2D8js10iqaDaipmFelemnFsjZ1VdX2155XkUkA== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - google-protobuf "^3.14.0" - protobufjs "^7.0.0" - rxjs "^7.4.0" - -"@injectivelabs/core-proto-ts@^0.0.21": - version "0.0.21" - resolved "https://registry.yarnpkg.com/@injectivelabs/core-proto-ts/-/core-proto-ts-0.0.21.tgz#b52d4bee7556ce57c7c7e2c1ec7f6b920b4c2ffd" - integrity sha512-RBxSkRBCty60R/l55/D1jsSW0Aof5dyGFhCFdN3A010KjMv/SzZGGr+6DZPY/hflyFeaJzDv/VTopCymKNRBvQ== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - google-protobuf "^3.14.0" - protobufjs "^7.0.0" - rxjs "^7.4.0" - -"@injectivelabs/dmm-proto-ts@1.0.19": - version "1.0.19" - resolved "https://registry.yarnpkg.com/@injectivelabs/dmm-proto-ts/-/dmm-proto-ts-1.0.19.tgz#fbb3432df9a3a6465a19fe68f3ebbfeb532fbd56" - integrity sha512-2FCzCziy1RhzmnkAVIU+Asby/GXAVQqKt5/o1s52j0LJXfJMpiCrV6soLfnjTebj61T+1WvJBPFoZCCiVYBpcw== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - google-protobuf "^3.14.0" - protobufjs "^7.0.0" - rxjs "^7.4.0" - -"@injectivelabs/dmm-proto-ts@1.0.20": - version "1.0.20" - resolved "https://registry.yarnpkg.com/@injectivelabs/dmm-proto-ts/-/dmm-proto-ts-1.0.20.tgz#0b240b16ac0b54745dc831b373c455c6d19d8241" - integrity sha512-S9vGOAZbNNa+N5QDW2HcXn7ohvU/4qze6wELA9gF8zu8uWbE+UKWTqzkZ+B4XuG1MkJwoHL7pVcj3M+nC9Qe4A== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - google-protobuf "^3.14.0" - protobufjs "^7.0.0" - rxjs "^7.4.0" - -"@injectivelabs/exceptions@^1.14.11", "@injectivelabs/exceptions@^1.14.13", "@injectivelabs/exceptions@^1.14.6": - version "1.14.13" - resolved "https://registry.yarnpkg.com/@injectivelabs/exceptions/-/exceptions-1.14.13.tgz#42b3aec3c3a621886d387998981969e7551b7eff" - integrity sha512-yFtB0jQtZI6D3AuaP6ObYtlVgDB4vriCWuV+6GY3frduv7i3kz1ZYVsPKsKSKBCOD5QegZXcEmGJL4RiDi1OKA== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - "@injectivelabs/ts-types" "^1.14.13" - http-status-codes "^2.2.0" - link-module-alias "^1.2.0" - shx "^0.3.2" - -"@injectivelabs/grpc-web-node-http-transport@^0.0.2": - version "0.0.2" - resolved "https://registry.yarnpkg.com/@injectivelabs/grpc-web-node-http-transport/-/grpc-web-node-http-transport-0.0.2.tgz#87c9bbd4db1f70cf18d6a55b54b2cf17d3cf30c0" - integrity sha512-rpyhXLiGY/UMs6v6YmgWHJHiO9l0AgDyVNv+jcutNVt4tQrmNvnpvz2wCAGOFtq5LuX/E9ChtTVpk3gWGqXcGA== - -"@injectivelabs/grpc-web-react-native-transport@^0.0.2": - version "0.0.2" - resolved "https://registry.yarnpkg.com/@injectivelabs/grpc-web-react-native-transport/-/grpc-web-react-native-transport-0.0.2.tgz#07601b76bf1f165c7a9b97ee42d0d42b9e2b76fa" - integrity sha512-mk+aukQXnYNgPsPnu3KBi+FD0ZHQpazIlaBZ2jNZG7QAVmxTWtv3R66Zoq99Wx2dnE946NsZBYAoa0K5oSjnow== - -"@injectivelabs/grpc-web@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@injectivelabs/grpc-web/-/grpc-web-0.0.1.tgz#24c028f6db50e589e30505efd2077110c8b492ba" - integrity sha512-Pu5YgaZp+OvR5UWfqbrPdHer3+gDf+b5fQoY+t2VZx1IAVHX8bzbN9EreYTvTYtFeDpYRWM8P7app2u4EX5wTw== - dependencies: - browser-headers "^0.4.1" - -"@injectivelabs/indexer-proto-ts@1.11.36": - version "1.11.36" - resolved "https://registry.yarnpkg.com/@injectivelabs/indexer-proto-ts/-/indexer-proto-ts-1.11.36.tgz#4a1476e52a5003a077b30a22679272eb9dd18d7a" - integrity sha512-s7E3Y28JrkylDwRVfF/AvcPy/zPgz52W+XbQ0FOcsqPof78xp8FvnM3ubVZi0Dad39LgDB5eeiMFPmeuLp8Uew== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - google-protobuf "^3.14.0" - protobufjs "^7.0.0" - rxjs "^7.4.0" - -"@injectivelabs/indexer-proto-ts@1.11.42": - version "1.11.42" - resolved "https://registry.yarnpkg.com/@injectivelabs/indexer-proto-ts/-/indexer-proto-ts-1.11.42.tgz#6923e286ad12e87d276c6bca1397ba0a013ee82d" - integrity sha512-6ejCpcWZWOSsELFIfUf2+xuJPOH+YdiJtwtB3d9x2H7dnrCBjXMxlPCSxoKEUbDH6w/lY2mO6TJm65rNy9piew== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - google-protobuf "^3.14.0" - protobufjs "^7.0.0" - rxjs "^7.4.0" - -"@injectivelabs/mito-proto-ts@1.0.62": - version "1.0.62" - resolved "https://registry.yarnpkg.com/@injectivelabs/mito-proto-ts/-/mito-proto-ts-1.0.62.tgz#45fc0746af7d1b283625816caeb9fff9887e050f" - integrity sha512-WtoO80Y597nZiAuE4H+L208I0i3ByWytR+HqABdCaA26uJ7F1LhXw8YXxh3pP9z0LAeW31T+N7bwtOMlVR4riA== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - google-protobuf "^3.14.0" - protobufjs "^7.0.0" - rxjs "^7.4.0" - -"@injectivelabs/mito-proto-ts@1.0.65": - version "1.0.65" - resolved "https://registry.yarnpkg.com/@injectivelabs/mito-proto-ts/-/mito-proto-ts-1.0.65.tgz#87aadbc440cc22e0fb17a74ce7a4b280b12b355c" - integrity sha512-kceZP68QrgFop387RYyO7tkfJCYxoktuceHTs9DQP3dJceLqj/V2mz0NlpkkacjgE5NhYkQ/zc0Z40hr8tnYqQ== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - google-protobuf "^3.14.0" - protobufjs "^7.0.0" - rxjs "^7.4.0" - -"@injectivelabs/networks@1.14.6": - version "1.14.6" - resolved "https://registry.yarnpkg.com/@injectivelabs/networks/-/networks-1.14.6.tgz#29be5e81e60d725a0eef2db2c9b6ba0b4588141b" - integrity sha512-O1IkPFJl8ThNL6N+k/9OimrgCYsSWQ8A1FtVMXSQge+0QRZsDKSpRmQRwE601otXXauO31nOUct5AaiWPffXVQ== - dependencies: - "@injectivelabs/exceptions" "^1.14.6" - "@injectivelabs/ts-types" "^1.14.6" - "@injectivelabs/utils" "^1.14.6" - link-module-alias "^1.2.0" - shx "^0.3.2" - -"@injectivelabs/networks@^1.14.11", "@injectivelabs/networks@^1.14.13", "@injectivelabs/networks@^1.14.6": - version "1.14.13" - resolved "https://registry.yarnpkg.com/@injectivelabs/networks/-/networks-1.14.13.tgz#6264b6249469c57b3b18e4803980ec26c576edba" - integrity sha512-P+eCQXWpbk4LbPxgTmi2gY7OzdZTNsIEUvDoh59Ma0CkqSFaYMtgB8fZVxpkKM0UPla587EDlEEIVxprDBcnZg== - dependencies: - "@injectivelabs/exceptions" "^1.14.13" - "@injectivelabs/ts-types" "^1.14.13" - "@injectivelabs/utils" "^1.14.13" - link-module-alias "^1.2.0" - shx "^0.3.2" - -"@injectivelabs/sdk-ts@1.14.7": - version "1.14.7" - resolved "https://registry.yarnpkg.com/@injectivelabs/sdk-ts/-/sdk-ts-1.14.7.tgz#16e84cecb14fe796314f8f616567511e1030f043" - integrity sha512-Qm8y8jKCMyNfYZGZVI+p0SIGJPtP5M9/DPFyPK+JSR2OOU0J4MX2yS/tQB5ViC/3Bt7yQhw/l3Rop93e7pTZEg== - dependencies: - "@apollo/client" "^3.5.8" - "@cosmjs/amino" "^0.32.2" - "@cosmjs/proto-signing" "^0.32.2" - "@cosmjs/stargate" "^0.32.2" - "@ensdomains/ens-validation" "^0.1.0" - "@ensdomains/eth-ens-namehash" "^2.0.15" - "@ethersproject/bytes" "^5.7.0" - "@injectivelabs/core-proto-ts" "^0.0.21" - "@injectivelabs/dmm-proto-ts" "1.0.19" - "@injectivelabs/exceptions" "^1.14.6" - "@injectivelabs/grpc-web" "^0.0.1" - "@injectivelabs/grpc-web-node-http-transport" "^0.0.2" - "@injectivelabs/grpc-web-react-native-transport" "^0.0.2" - "@injectivelabs/indexer-proto-ts" "1.11.36" - "@injectivelabs/mito-proto-ts" "1.0.62" - "@injectivelabs/networks" "^1.14.6" - "@injectivelabs/test-utils" "^1.14.3" - "@injectivelabs/token-metadata" "^1.14.7" - "@injectivelabs/ts-types" "^1.14.6" - "@injectivelabs/utils" "^1.14.6" - "@metamask/eth-sig-util" "^4.0.0" - axios "^0.27.2" - bech32 "^2.0.0" - bip39 "^3.0.4" - cosmjs-types "^0.9.0" - ethereumjs-util "^7.1.4" - ethers "^5.7.2" - google-protobuf "^3.21.0" - graphql "^16.3.0" - http-status-codes "^2.2.0" - js-sha3 "^0.8.0" - jscrypto "^1.0.3" - keccak256 "^1.0.6" - link-module-alias "^1.2.0" - secp256k1 "^4.0.3" - shx "^0.3.2" - snakecase-keys "^5.4.1" - -"@injectivelabs/sdk-ts@1.x": - version "1.14.13" - resolved "https://registry.yarnpkg.com/@injectivelabs/sdk-ts/-/sdk-ts-1.14.13.tgz#4538b1dd6f954d621b2471f219f410833cfcd166" - integrity sha512-qcLoIu+hEMpuvdG0iXGNJvWQD05NkcO59tL3ijEhYmshlJWBMWJtpJJGt/E/hV9YxJfNTl20Rhi/5i7l0y8Hfg== - dependencies: - "@apollo/client" "^3.5.8" - "@cosmjs/amino" "^0.32.3" - "@cosmjs/proto-signing" "^0.32.3" - "@cosmjs/stargate" "^0.32.3" - "@ethersproject/bytes" "^5.7.0" - "@injectivelabs/core-proto-ts" "^0.0.21" - "@injectivelabs/dmm-proto-ts" "1.0.20" - "@injectivelabs/exceptions" "^1.14.13" - "@injectivelabs/grpc-web" "^0.0.1" - "@injectivelabs/grpc-web-node-http-transport" "^0.0.2" - "@injectivelabs/grpc-web-react-native-transport" "^0.0.2" - "@injectivelabs/indexer-proto-ts" "1.11.42" - "@injectivelabs/mito-proto-ts" "1.0.65" - "@injectivelabs/networks" "^1.14.13" - "@injectivelabs/test-utils" "^1.14.13" - "@injectivelabs/ts-types" "^1.14.13" - "@injectivelabs/utils" "^1.14.13" - "@metamask/eth-sig-util" "^4.0.0" - "@noble/curves" "^1.4.0" - axios "^1.6.4" - bech32 "^2.0.0" - bip39 "^3.0.4" - cosmjs-types "^0.9.0" - ethereumjs-util "^7.1.4" - ethers "^6.5.1" - google-protobuf "^3.21.0" - graphql "^16.3.0" - http-status-codes "^2.2.0" - js-sha3 "^0.8.0" - jscrypto "^1.0.3" - keccak256 "^1.0.6" - link-module-alias "^1.2.0" - secp256k1 "^4.0.3" - shx "^0.3.2" - snakecase-keys "^5.4.1" - -"@injectivelabs/test-utils@^1.14.13", "@injectivelabs/test-utils@^1.14.3": - version "1.14.13" - resolved "https://registry.yarnpkg.com/@injectivelabs/test-utils/-/test-utils-1.14.13.tgz#b63636e5c780e86b2dda948ee0b16199d96a42c4" - integrity sha512-wa5TQcWLvORRm36mw4Hee+XF7lBlArVK3DM1ebC0uBvVcUgrmm3g/nh1pV/NzLN16WtrLLsvnTsE5uiNEcgYdw== - dependencies: - axios "^1.6.4" - bignumber.js "^9.0.1" - link-module-alias "^1.2.0" - shx "^0.3.2" - snakecase-keys "^5.1.2" - store2 "^2.12.0" - -"@injectivelabs/token-metadata@^1.14.7": - version "1.14.11" - resolved "https://registry.yarnpkg.com/@injectivelabs/token-metadata/-/token-metadata-1.14.11.tgz#296b6db3c9c9f6147273252cf41b803902c35414" - integrity sha512-WKJlvjKiTRHxpOeez4kYrzIwgWmpspD1IMxWclkTysAcwGltUfUsvUhu1cKuACleIjFFWmiZv/HoGRFdvEAZ8w== - dependencies: - "@injectivelabs/exceptions" "^1.14.11" - "@injectivelabs/networks" "^1.14.11" - "@injectivelabs/ts-types" "^1.14.11" - "@injectivelabs/utils" "^1.14.11" - "@types/lodash.values" "^4.3.6" - copyfiles "^2.4.1" - jsonschema "^1.4.0" - link-module-alias "^1.2.0" - lodash "^4.17.21" - lodash.values "^4.3.0" - shx "^0.3.2" - -"@injectivelabs/ts-types@^1.14.11", "@injectivelabs/ts-types@^1.14.13", "@injectivelabs/ts-types@^1.14.6": - version "1.14.13" - resolved "https://registry.yarnpkg.com/@injectivelabs/ts-types/-/ts-types-1.14.13.tgz#d211467313b9cd3e2bc53d0900975124a51d3a1e" - integrity sha512-jkR4+JnQ91n7LWAdt+cZuvXFfqhv9RVlTE2pezAjZab7z7VeDonYwktjia5OcbqTKjlirvVHFALIZ0pmYd0j+A== - dependencies: - link-module-alias "^1.2.0" - shx "^0.3.2" - -"@injectivelabs/utils@^1.14.11", "@injectivelabs/utils@^1.14.13", "@injectivelabs/utils@^1.14.6": - version "1.14.13" - resolved "https://registry.yarnpkg.com/@injectivelabs/utils/-/utils-1.14.13.tgz#97491f4f41c2aa546d4a619ff6516af0fa8dad08" - integrity sha512-djmSq28R7HDSb2Mezan+EFjqQgmDRydY+fLOmkODwOCYA04xOGQo7yna+WVovV85aKpwPjn864AWPy65xiHUZg== - dependencies: - "@injectivelabs/exceptions" "^1.14.13" - "@injectivelabs/ts-types" "^1.14.13" - axios "^1.6.4" - bignumber.js "^9.0.1" - http-status-codes "^2.2.0" - link-module-alias "^1.2.0" - shx "^0.3.2" - snakecase-keys "^5.1.2" - store2 "^2.12.0" - "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -2945,30 +2600,6 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@keplr-wallet/types@0.12.127": - version "0.12.127" - resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.12.127.tgz#d52170a1ce7e7f7f04041b1a2a856300e097d5a4" - integrity sha512-U9oKmhx38lOBKUSsB0appFfeRX6yl540Ar0OEwnmuiHXj3vp+ELgWmFM/2T8tMOMQJvfoxhF8rKVoWniJICobA== - dependencies: - long "^4.0.0" - -"@keplr-wallet/types@^0.11.12": - version "0.11.64" - resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.11.64.tgz#5a308c8c019b4e18f894e0f35f0904b60134d605" - integrity sha512-GgzeLDHHfZFyne3O7UIfFHj/uYqVbxAZI31RbBwt460OBbvwQzjrlZwvJW3vieWRAgxKSITjzEDBl2WneFTQdQ== - dependencies: - axios "^0.27.2" - long "^4.0.0" - -"@keplr-wallet/unit@^0.12.67": - version "0.12.127" - resolved "https://registry.yarnpkg.com/@keplr-wallet/unit/-/unit-0.12.127.tgz#48db985ddb51c88e08d3613262f8b2a2006665af" - integrity sha512-wwgDI5mUgApgV9rnuJNN8T6Ds2ofYW89XGntvCDDaUvVdLAEGYnQ4kivPrschiS8fmyOF312/r0gJ4pPqj2zaA== - dependencies: - "@keplr-wallet/types" "0.12.127" - big-integer "^1.6.48" - utility-types "^3.10.0" - "@leapwallet/buffer-boba@0.1.6": version "0.1.6" resolved "https://npm.pkg.github.com/download/@leapwallet/buffer-boba/0.1.6/9558ca8a8c2c89ac17430a418f536cf31ddb5491#9558ca8a8c2c89ac17430a418f536cf31ddb5491" @@ -2982,10 +2613,10 @@ protobufjs "7.2.3" stridejs "0.6.2" -"@leapwallet/elements-core@1.4.1": - version "1.4.1" - resolved "https://npm.pkg.github.com/download/@leapwallet/elements-core/1.4.1/f67b6ec8ee6db7c62fc12ec6e35f62a5d14d27b0#f67b6ec8ee6db7c62fc12ec6e35f62a5d14d27b0" - integrity sha512-wky7UNCm0kdn+kikuCS1jsOTsXTJ3HRAxahKLQoytFdhWBX/S3XNa5EZxQcSfkdygPyw2GermdPFVqjvjvpltg== +"@leapwallet/elements-core@1.6.0": + version "1.6.0" + resolved "https://npm.pkg.github.com/download/@leapwallet/elements-core/1.6.0/d0178b4fe1556ecf54560c19564c65c1031b1f7e#d0178b4fe1556ecf54560c19564c65c1031b1f7e" + integrity sha512-TGBuqrt4m4i0iM/RvT1rbEBy+cvSco8mGW6yX0RBBDnudQ1S3/wkMnuUnw3KfS0OmyIRcXNjGd45F3FQ8lc/ug== dependencies: "@cosmjs/amino" "0.32.3" "@cosmjs/cosmwasm-stargate" "0.32.3" @@ -3001,17 +2632,17 @@ ky "1.2.4" long "5.2.3" -"@leapwallet/elements-hooks@1.4.1": - version "1.4.1" - resolved "https://npm.pkg.github.com/download/@leapwallet/elements-hooks/1.4.1/66300083721ef849a6f8ccfb044a3c51cc6c46a4#66300083721ef849a6f8ccfb044a3c51cc6c46a4" - integrity sha512-HMxgKSmoRL+QiN0Wd7NF18YlD84hggPkAywaX5YTTC+IgDuKC2QE7lzrQojssZ4q2a/yu0mEBln7GLr/1za1+w== +"@leapwallet/elements-hooks@1.6.0": + version "1.6.0" + resolved "https://npm.pkg.github.com/download/@leapwallet/elements-hooks/1.6.0/62b291cb50e5aa3ede86dd17c8b55f74c610e382#62b291cb50e5aa3ede86dd17c8b55f74c610e382" + integrity sha512-Cshpi7FGo5c/Mbj7cSG3bzJTkPfvAhHMkcCZOQE80MprTS5ZPh8Ror72+wvs10qElJWxsRo1Z6yZv7xeF8FCJg== dependencies: "@cosmjs/amino" "0.32.3" "@cosmjs/encoding" "0.32.3" "@cosmjs/math" "0.32.3" "@cosmjs/proto-signing" "0.32.3" "@cosmjs/stargate" "0.32.3" - "@leapwallet/elements-core" "1.4.1" + "@leapwallet/elements-core" "1.6.0" "@leapwallet/name-matcha" "1.6.0" bech32 "2.0.0" bignumber.js "9.1.1" @@ -3020,15 +2651,6 @@ swr "2.1.5" tiny-invariant "1.3.3" -"@leapwallet/leap-api-js@0.21.11": - version "0.21.11" - resolved "https://npm.pkg.github.com/download/@leapwallet/leap-api-js/0.21.11/c850fcbfdc08bfde5a821765246b9ba66965baa4#c850fcbfdc08bfde5a821765246b9ba66965baa4" - integrity sha512-phywg5tC0EEz/d15VREd65OZ8BA+wMZQ+FEiT0nu5Yukao8U1J5IRghisFVj8zgslLN0OlejxN1+3zOLGO2i8A== - dependencies: - cross-fetch "3.1.5" - crypto-js "4.1.1" - typedi "0.10.0" - "@leapwallet/leap-keychain@0.2.4": version "0.2.4" resolved "https://npm.pkg.github.com/download/@leapwallet/leap-keychain/0.2.4/7b8dfd4a8b61617e7ff65a53fe9a879b482e3699#7b8dfd4a8b61617e7ff65a53fe9a879b482e3699" @@ -3348,10 +2970,10 @@ dependencies: esm-seedrandom "^3.0.5" -"@metamask/eth-sig-util@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088" - integrity sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ== +"@metamask/eth-sig-util@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.0.tgz#11553ba06de0d1352332c1bde28c8edd00e0dcf6" + integrity sha512-LczOjjxY4A7XYloxzyxJIHONELmUxVZncpOLoClpEcTiebiVdM46KRPYXGuULro9oNNR2xdVx3yoKiQjdfWmoA== dependencies: ethereumjs-abi "^0.6.8" ethereumjs-util "^6.2.1" @@ -3381,27 +3003,6 @@ dependencies: "@noble/hashes" "1.3.2" -"@noble/curves@1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6" - integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg== - dependencies: - "@noble/hashes" "1.4.0" - -"@noble/curves@^1.4.0", "@noble/curves@^1.4.2": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.6.0.tgz#be5296ebcd5a1730fccea4786d420f87abfeb40b" - integrity sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ== - dependencies: - "@noble/hashes" "1.5.0" - -"@noble/curves@~1.4.0": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" - integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw== - dependencies: - "@noble/hashes" "1.4.0" - "@noble/hashes@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.0.0.tgz#d5e38bfbdaba174805a4e649f13be9a9ed3351ae" @@ -3417,12 +3018,7 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== -"@noble/hashes@1.4.0", "@noble/hashes@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" - integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== - -"@noble/hashes@1.5.0", "@noble/hashes@^1", "@noble/hashes@^1.0.0", "@noble/hashes@^1.2.0", "@noble/hashes@^1.4.0", "@noble/hashes@~1.5.0": +"@noble/hashes@^1", "@noble/hashes@^1.0.0", "@noble/hashes@^1.2.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== @@ -3900,7 +3496,7 @@ resolved "https://registry.yarnpkg.com/@reaviz/react-use-fuzzy/-/react-use-fuzzy-1.0.3.tgz#7362ca1f8f93d5f81fd26dcebb9df15300f35f03" integrity sha512-ON5RxiI0r9zNpEKHvxqT8zz3iI4kzc37NzB4t8lfXSWwCEkpzxWY9TB2JAdYp9LC3UW2tN9zxdMnaNBLz4atTw== -"@scure/base@~1.1.0", "@scure/base@~1.1.2", "@scure/base@~1.1.6", "@scure/base@~1.1.8": +"@scure/base@~1.1.0", "@scure/base@~1.1.2": version "1.1.8" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.8.tgz#8f23646c352f020c83bca750a82789e246d42b50" integrity sha512-6CyAclxj3Nb0XT7GHK6K4zK6k2xJm6E4Ft0Ohjt4WgegiFUHEtFb2CGzmPmGBwoIhrLsqNLYfLr04Y1GePrzZg== @@ -3923,15 +3519,6 @@ "@noble/hashes" "~1.3.2" "@scure/base" "~1.1.2" -"@scure/bip32@1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" - integrity sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg== - dependencies: - "@noble/curves" "~1.4.0" - "@noble/hashes" "~1.4.0" - "@scure/base" "~1.1.6" - "@scure/bip39@1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" @@ -3940,14 +3527,6 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" -"@scure/bip39@1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.4.0.tgz#664d4f851564e2e1d4bffa0339f9546ea55960a6" - integrity sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw== - dependencies: - "@noble/hashes" "~1.5.0" - "@scure/base" "~1.1.8" - "@sentry/browser@7.26.0": version "7.26.0" resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.26.0.tgz#152d0f59df85be3ed8a7161b0ca90a4dca7b382d" @@ -4247,30 +3826,6 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@skip-router/core@5.2.1": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@skip-router/core/-/core-5.2.1.tgz#d4c69df24f5fe9ca4338bc56bb7c1204d3d807ea" - integrity sha512-PNjV92ynJ0wN7XKt/J0CAMKSrQA0y7ZUPPin21BvV/WoG+ZJxPvYAVuWmw/iqMVPCpPi/S2jIx+apNKSISjFzA== - dependencies: - "@cosmjs/amino" "0.32.3" - "@cosmjs/cosmwasm-stargate" "0.32.3" - "@cosmjs/encoding" "0.32.3" - "@cosmjs/math" "0.32.3" - "@cosmjs/proto-signing" "0.32.3" - "@cosmjs/stargate" "0.32.3" - "@cosmjs/tendermint-rpc" "0.32.3" - "@initia/initia-registry" "0.1.9" - "@injectivelabs/core-proto-ts" "0.0.x" - "@injectivelabs/sdk-ts" "1.x" - "@keplr-wallet/unit" "^0.12.67" - "@solana/wallet-adapter-base" "^0.9.23" - "@solana/web3.js" "^1.91.1" - axios "1.x" - cosmjs-types "0.8.x" - keccak256 "1.x" - kujira.js "0.9.x" - viem "2.x" - "@soda/friendly-errors-webpack-plugin@^1.8.0": version "1.8.1" resolved "https://registry.yarnpkg.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz#4d4fbb1108993aaa362116247c3d18188a2c6c85" @@ -4286,52 +3841,6 @@ resolved "https://registry.yarnpkg.com/@soda/get-current-script/-/get-current-script-1.0.2.tgz#a53515db25d8038374381b73af20bb4f2e508d87" integrity sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w== -"@solana/buffer-layout@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" - integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== - dependencies: - buffer "~6.0.3" - -"@solana/wallet-adapter-base@^0.9.23": - version "0.9.23" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-base/-/wallet-adapter-base-0.9.23.tgz#3b17c28afd44e173f44f658bf9700fd637e12a11" - integrity sha512-apqMuYwFp1jFi55NxDfvXUX2x1T0Zh07MxhZ/nCCTGys5raSfYUh82zen2BLv8BSDj/JxZ2P/s7jrQZGrX8uAw== - dependencies: - "@solana/wallet-standard-features" "^1.1.0" - "@wallet-standard/base" "^1.0.1" - "@wallet-standard/features" "^1.0.3" - eventemitter3 "^4.0.7" - -"@solana/wallet-standard-features@^1.1.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@solana/wallet-standard-features/-/wallet-standard-features-1.2.0.tgz#be8b3824abf5ebcfeaa7298445bf53f76a27c935" - integrity sha512-tUd9srDLkRpe1BYg7we+c4UhRQkq+XQWswsr/L1xfGmoRDF47BPSXf4zE7ZU2GRBGvxtGt7lwJVAufQyQYhxTQ== - dependencies: - "@wallet-standard/base" "^1.0.1" - "@wallet-standard/features" "^1.0.3" - -"@solana/web3.js@^1.91.1": - version "1.95.3" - resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.95.3.tgz#70b5f4d76823f56b5af6403da51125fffeb65ff3" - integrity sha512-O6rPUN0w2fkNqx/Z3QJMB9L225Ex10PRDH8bTaIUPZXMPV0QP8ZpPvjQnXK+upUczlRgzHzd6SjKIha1p+I6og== - dependencies: - "@babel/runtime" "^7.25.0" - "@noble/curves" "^1.4.2" - "@noble/hashes" "^1.4.0" - "@solana/buffer-layout" "^4.0.1" - agentkeepalive "^4.5.0" - bigint-buffer "^1.1.5" - bn.js "^5.2.1" - borsh "^0.7.0" - bs58 "^4.0.1" - buffer "6.0.3" - fast-stable-stringify "^1.0.0" - jayson "^4.1.1" - node-fetch "^2.7.0" - rpc-websockets "^9.0.2" - superstruct "^2.0.2" - "@swc/helpers@^0.4.14": version "0.4.36" resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.36.tgz#fcfff76ed52c214f357e8e9d3f37b568908072d9" @@ -4340,7 +3849,7 @@ legacy-swc-helpers "npm:@swc/helpers@=0.4.14" tslib "^2.4.0" -"@swc/helpers@^0.5.0", "@swc/helpers@^0.5.11": +"@swc/helpers@^0.5.0": version "0.5.13" resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.13.tgz#33e63ff3cd0cade557672bd7888a39ce7d115a8c" integrity sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w== @@ -4505,7 +4014,7 @@ "@types/express-serve-static-core" "*" "@types/node" "*" -"@types/connect@*", "@types/connect@^3.4.33": +"@types/connect@*": version "3.4.38" resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== @@ -4601,11 +4110,6 @@ resolved "https://registry.yarnpkg.com/@types/flexsearch/-/flexsearch-0.7.6.tgz#240c11d16825c56833ec0c66eb1de3ea0e162a49" integrity sha512-H5IXcRn96/gaDmo+rDl2aJuIJsob8dgOXDqf8K0t8rWZd1AFNaaspmRsElESiU+EWE33qfbFPgI0OC/B1g9FCA== -"@types/google-protobuf@^3.15.6": - version "3.15.12" - resolved "https://registry.yarnpkg.com/@types/google-protobuf/-/google-protobuf-3.15.12.tgz#eb2ba0eddd65712211a2b455dc6071d665ccf49b" - integrity sha512-40um9QqwHjRS92qnOaDpL7RmDK15NuZYo9HihiJRbYkMQZlWnuH8AdvbMy8/o6lgLmKbDUKa+OALCltHdbOTpQ== - "@types/graceful-fs@^4.1.3": version "4.1.9" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" @@ -4719,18 +4223,6 @@ resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-5.0.0.tgz#21413001973106cda1c3a9b91eedd4ccd5469d76" integrity sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q== -"@types/lodash.values@^4.3.6": - version "4.3.9" - resolved "https://registry.yarnpkg.com/@types/lodash.values/-/lodash.values-4.3.9.tgz#a30e7d7cb715b1a01726838844da1dfbca549c2e" - integrity sha512-IJ20OEfqNwm3k8ENwoM3q0yOs4UMpgtD4GqxB4lwBHToGthHWqhyh5DdSgQjioocz0QK2SSBkJfCq95ZTV8BTw== - dependencies: - "@types/lodash" "*" - -"@types/lodash@*": - version "4.17.7" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.7.tgz#2f776bcb53adc9e13b2c0dfd493dfcbd7de43612" - integrity sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA== - "@types/lodash@4.14.182": version "4.14.182" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2" @@ -4810,16 +4302,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== -"@types/node@18.15.13": - version "18.15.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" - integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== - -"@types/node@^12.12.54": - version "12.20.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" - integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== - "@types/normalize-package-data@^2.4.0": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" @@ -5030,11 +4512,6 @@ resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.2.tgz#ede1d1b1e451548d44919dc226253e32a6952c4b" integrity sha512-kNnC1GFBLuhImSnV7w4njQkUiJi0ZXUycu1rUaouPqiKlXkh77JKgdRnTAp1x5eBwcIwbtI+3otwzuIDEuDoxQ== -"@types/uuid@^8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" - integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== - "@types/web-bluetooth@^0.0.16": version "0.0.16" resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz#1d12873a8e49567371f2a75fe3e7f7edca6662d8" @@ -5050,14 +4527,7 @@ resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.5.tgz#eccda0b04fe024bed505881e2e532f9c119169bf" integrity sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA== -"@types/ws@^7.4.4": - version "7.4.7" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" - integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== - dependencies: - "@types/node" "*" - -"@types/ws@^8.2.2", "@types/ws@^8.5.1", "@types/ws@^8.5.5": +"@types/ws@^8.5.1", "@types/ws@^8.5.5": version "8.5.12" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" integrity sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ== @@ -5547,18 +5017,6 @@ dependencies: vue-demi "*" -"@wallet-standard/base@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@wallet-standard/base/-/base-1.0.1.tgz#860dd94d47c9e3c5c43b79d91c6afdbd7a36264e" - integrity sha512-1To3ekMfzhYxe0Yhkpri+Fedq0SYcfrOfJi3vbLjMwF2qiKPjTGLwZkf2C9ftdQmxES+hmxhBzTwF4KgcOwf8w== - -"@wallet-standard/features@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@wallet-standard/features/-/features-1.0.3.tgz#c992876c5e4f7a0672f8869c4146c87e0dfe48c8" - integrity sha512-m8475I6W5LTatTZuUz5JJNK42wFRgkJTB0I9tkruMwfqBF2UN2eomkYNVf9RbrsROelCRzSFmugqjKZBFaubsA== - dependencies: - "@wallet-standard/base" "^1.0.1" - "@webassemblyjs/ast@1.11.1": version "1.11.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" @@ -5833,41 +5291,6 @@ resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== -"@wry/caches@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@wry/caches/-/caches-1.0.1.tgz#8641fd3b6e09230b86ce8b93558d44cf1ece7e52" - integrity sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA== - dependencies: - tslib "^2.3.0" - -"@wry/context@^0.7.0": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.4.tgz#e32d750fa075955c4ab2cfb8c48095e1d42d5990" - integrity sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ== - dependencies: - tslib "^2.3.0" - -"@wry/equality@^0.5.6": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.7.tgz#72ec1a73760943d439d56b7b1e9985aec5d497bb" - integrity sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw== - dependencies: - tslib "^2.3.0" - -"@wry/trie@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.4.3.tgz#077d52c22365871bf3ffcbab8e95cb8bc5689af4" - integrity sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== - dependencies: - tslib "^2.3.0" - -"@wry/trie@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.5.0.tgz#11e783f3a53f6e4cd1d42d2d1323f5bc3fa99c94" - integrity sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA== - dependencies: - tslib "^2.3.0" - "@xmldom/xmldom@^0.8.8": version "0.8.10" resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99" @@ -5974,11 +5397,6 @@ abitype@1.0.0: resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.0.tgz#237176dace81d90d018bebf3a45cb42f2a2d9e97" integrity sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ== -abitype@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.5.tgz#29d0daa3eea867ca90f7e4123144c1d1270774b6" - integrity sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw== - accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" @@ -6048,11 +5466,6 @@ aes-js@3.0.0: resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== -aes-js@4.0.0-beta.5: - version "4.0.0-beta.5" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" - integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== - agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -6067,7 +5480,7 @@ agent-base@^7.0.2, agent-base@^7.1.0, agent-base@^7.1.1: dependencies: debug "^4.3.4" -agentkeepalive@^4.2.1, agentkeepalive@^4.5.0: +agentkeepalive@^4.2.1: version "4.5.0" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== @@ -6474,7 +5887,7 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" -axios@0.27.2, axios@1.2.1, axios@1.x, axios@^0.21.2, axios@^0.23.0, axios@^0.26.1, axios@^0.27.2, axios@^1.0.0, axios@^1.6.0, axios@^1.6.4: +axios@0.27.2, axios@1.2.1, axios@^0.21.2, axios@^0.23.0, axios@^0.26.1, axios@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/axios/-/axios-1.2.1.tgz#44cf04a3c9f0c2252ebd85975361c026cb9f864a" integrity sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A== @@ -6701,7 +6114,7 @@ big-integer@1.6.51: resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== -big-integer@1.6.x, big-integer@^1.6.48: +big-integer@1.6.x: version "1.6.52" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85" integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== @@ -6711,13 +6124,6 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -bigint-buffer@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" - integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== - dependencies: - bindings "^1.3.0" - bignumber.js@9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673" @@ -6728,7 +6134,7 @@ bignumber.js@9.1.1: resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== -bignumber.js@^9.0.1, bignumber.js@^9.0.2: +bignumber.js@^9.0.2: version "9.1.2" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== @@ -6862,15 +6268,6 @@ boolbase@^1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== -borsh@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" - integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== - dependencies: - bn.js "^5.2.0" - bs58 "^4.0.0" - text-encoding-utf-8 "^1.0.2" - bplist-creator@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" @@ -6989,7 +6386,7 @@ bs-logger@0.x: dependencies: fast-json-stable-stringify "2.x" -bs58@^4.0.0, bs58@^4.0.1: +bs58@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== @@ -7042,7 +6439,7 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== -buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: +buffer@6.0.3, buffer@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -7058,13 +6455,6 @@ buffer@^5.2.1, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -bufferutil@^4.0.1: - version "4.0.8" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" - integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== - dependencies: - node-gyp-build "^4.3.0" - builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" @@ -7240,13 +6630,6 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chain-registry@^1.27.0: - version "1.63.86" - resolved "https://registry.yarnpkg.com/chain-registry/-/chain-registry-1.63.86.tgz#b68b26756f724db1ecdeead8321a69e4924c3173" - integrity sha512-0B9SpxapVW49NJ8k1u+d38XIdcHySDE33zWcE91cPwpytOhHuifbXi/+S2UEQW2wuhLY31L/uAYgvPnGOiUm3w== - dependencies: - "@chain-registry/types" "^0.45.69" - chalk@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" @@ -7588,7 +6971,7 @@ commander@^10.0.1: resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== -commander@^2.20.0, commander@^2.20.3: +commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -7817,19 +7200,6 @@ copy-webpack-plugin@^9.0.1: schema-utils "^3.1.1" serialize-javascript "^6.0.0" -copyfiles@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.4.1.tgz#d2dcff60aaad1015f09d0b66e7f0f1c5cd3c5da5" - integrity sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg== - dependencies: - glob "^7.0.5" - minimatch "^3.0.3" - mkdirp "^1.0.4" - noms "0.0.0" - through2 "^2.0.1" - untildify "^4.0.0" - yargs "^16.1.0" - core-js-compat@^3.21.0, core-js-compat@^3.22.1: version "3.38.1" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.38.1.tgz#2bc7a298746ca5a7bcb9c164bcb120f2ebc09a09" @@ -7889,7 +7259,7 @@ cosmiconfig@^8.2.0: parse-json "^5.2.0" path-type "^4.0.0" -cosmjs-types@0.5.1, cosmjs-types@0.6.1, cosmjs-types@0.8.0, cosmjs-types@0.8.x, cosmjs-types@0.9.0, cosmjs-types@^0.5.2, cosmjs-types@^0.8.0, cosmjs-types@^0.9.0: +cosmjs-types@0.5.1, cosmjs-types@0.6.1, cosmjs-types@0.8.0, cosmjs-types@0.9.0, cosmjs-types@^0.5.2: version "0.8.0" resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.8.0.tgz#2ed78f3e990f770229726f95f3ef5bf9e2b6859b" integrity sha512-Q2Mj95Fl0PYMWEhA2LuGEIhipF7mQwd9gTQ85DdP9jjjopeoGaDxvmPa5nakNzsq7FnO1DMTatXTAx6bxMH7Lg== @@ -8523,11 +7893,6 @@ degenerator@^4.0.4: esprima "^4.0.1" vm2 "^3.9.19" -delay@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" - integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -9079,18 +8444,6 @@ es6-object-assign@^1.1.0: resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw== -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== - dependencies: - es6-promise "^4.0.3" - esbuild-android-64@0.15.18: version "0.15.18" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5" @@ -9534,7 +8887,7 @@ ethereumjs-abi@^0.6.8: bn.js "^4.11.8" ethereumjs-util "^6.0.0" -ethereumjs-util@7.1.5, ethereumjs-util@^7.1.4: +ethereumjs-util@7.1.5: version "7.1.5" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== @@ -9571,10 +8924,10 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: ethjs-util "0.1.6" rlp "^2.2.3" -ethers@^5.7.2: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== +ethers@5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.0.tgz#0055da174b9e076b242b8282638bc94e04b39835" + integrity sha512-5Xhzp2ZQRi0Em+0OkOcRHxPzCfoBfgtOQA+RUylSkuHbhTEaQklnYi2hsWbRgs3ztJsXVXd9VKBcO1ScWL8YfA== dependencies: "@ethersproject/abi" "5.7.0" "@ethersproject/abstract-provider" "5.7.0" @@ -9591,10 +8944,10 @@ ethers@^5.7.2: "@ethersproject/json-wallets" "5.7.0" "@ethersproject/keccak256" "5.7.0" "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" + "@ethersproject/networks" "5.7.0" "@ethersproject/pbkdf2" "5.7.0" "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.2" + "@ethersproject/providers" "5.7.0" "@ethersproject/random" "5.7.0" "@ethersproject/rlp" "5.7.0" "@ethersproject/sha2" "5.7.0" @@ -9604,22 +8957,9 @@ ethers@^5.7.2: "@ethersproject/transactions" "5.7.0" "@ethersproject/units" "5.7.0" "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" + "@ethersproject/web" "5.7.0" "@ethersproject/wordlists" "5.7.0" -ethers@^6.5.1: - version "6.13.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.2.tgz#4b67d4b49e69b59893931a032560999e5e4419fe" - integrity sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg== - dependencies: - "@adraffy/ens-normalize" "1.10.1" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@types/node" "18.15.13" - aes-js "4.0.0-beta.5" - tslib "2.4.0" - ws "8.17.1" - ethjs-util@0.1.6, ethjs-util@^0.1.3, ethjs-util@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" @@ -9633,16 +8973,11 @@ event-pubsub@4.3.0: resolved "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== -eventemitter3@^4.0.0, eventemitter3@^4.0.4, eventemitter3@^4.0.7: +eventemitter3@^4.0.0, eventemitter3@^4.0.4: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -eventemitter3@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" - integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== - events@^3.2.0, events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" @@ -9805,11 +9140,6 @@ extract-zip@2.0.1: optionalDependencies: "@types/yauzl" "^2.9.1" -eyes@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" - integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -9841,11 +9171,6 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-stable-stringify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" - integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== - fast-uri@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" @@ -10423,7 +9748,7 @@ glob@^10.2.2, glob@^10.3.10: package-json-from-dist "^1.0.0" path-scurry "^1.11.1" -glob@^7.0.0, glob@^7.0.5, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: +glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -10522,18 +9847,6 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== -graphql-tag@^2.12.6: - version "2.12.6" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" - integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== - dependencies: - tslib "^2.1.0" - -graphql@^16.3.0: - version "16.9.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.9.0.tgz#1c310e63f16a49ce1fbb230bd0a000e99f6f115f" - integrity sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw== - gzip-size@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" @@ -10885,11 +10198,6 @@ http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" -http-status-codes@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.3.0.tgz#987fefb28c69f92a43aecc77feec2866349a8bfc" - integrity sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA== - https-browserify@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" @@ -11045,7 +10353,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -11137,11 +10445,6 @@ internmap@^1.0.0: resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - interpret@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" @@ -11492,11 +10795,6 @@ is-wsl@^2.1.1, is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" @@ -11527,11 +10825,6 @@ isows@1.0.3: resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.3.tgz#93c1cf0575daf56e7120bab5c8c448b0809d0d74" integrity sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg== -isows@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.4.tgz#810cd0d90cc4995c26395d2aa4cfa4037ebdf061" - integrity sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ== - istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" @@ -11609,24 +10902,6 @@ javascript-stringify@^2.0.1: resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== -jayson@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.2.tgz#443c26a8658703e0b2e881117b09395d88b6982e" - integrity sha512-5nzMWDHy6f+koZOuYsArh2AXs73NfWYVlFyJJuCedr93GpY+Ku8qq10ropSXVfHK+H0T6paA88ww+/dV+1fBNA== - dependencies: - "@types/connect" "^3.4.33" - "@types/node" "^12.12.54" - "@types/ws" "^7.4.4" - JSONStream "^1.3.5" - commander "^2.20.3" - delay "^5.0.0" - es6-promisify "^5.0.0" - eyes "^0.1.8" - isomorphic-ws "^4.0.1" - json-stringify-safe "^5.0.1" - uuid "^8.3.2" - ws "^7.5.10" - jest-changed-files@^28.1.3: version "28.1.3" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.1.3.tgz#d9aeee6792be3686c47cb988a8eaf82ff4238831" @@ -12413,7 +11688,7 @@ js-message@1.0.7: resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47" integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA== -js-sha3@0.8.0, js-sha3@^0.8.0: +js-sha3@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== @@ -12443,11 +11718,6 @@ jsbn@1.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== -jscrypto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/jscrypto/-/jscrypto-1.0.3.tgz#598febca2a939d6f679c54f56e1fe364cef30cc9" - integrity sha512-lryZl0flhodv4SZHOqyb1bx5sKcJxj0VBo0Kzb4QMAg3L021IC9uGpl0RCZa+9KJwlRGSK2C80ITcwbe19OKLQ== - jsdoc-type-pratt-parser@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz#a4a56bdc6e82e5865ffd9febc5b1a227ff28e67e" @@ -12561,11 +11831,6 @@ jsonparse@^1.2.0, jsonparse@^1.3.1: resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== -jsonschema@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" - integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== - "jsx-ast-utils@^2.4.1 || ^3.0.0": version "3.3.5" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" @@ -12576,16 +11841,7 @@ jsonschema@^1.4.0: object.assign "^4.1.4" object.values "^1.1.6" -keccak256@1.x, keccak256@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/keccak256/-/keccak256-1.0.6.tgz#dd32fb771558fed51ce4e45a035ae7515573da58" - integrity sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw== - dependencies: - bn.js "^5.2.0" - buffer "^6.0.3" - keccak "^3.0.2" - -keccak@^3.0.0, keccak@^3.0.2: +keccak@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== @@ -12635,23 +11891,6 @@ klona@^2.0.5: resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== -kujira.js@0.9.x: - version "0.9.162" - resolved "https://registry.yarnpkg.com/kujira.js/-/kujira.js-0.9.162.tgz#fb9d356c6cbb4a94045cd36021d6c6368a767272" - integrity sha512-zhH6baskDKn5OPIkYY9db+2poaFQ6cJ+gyN5EcKd1Bo7SYCR6HtIFG+FQrfkVG/Hy4UBW/RBNRbuqgNuWgYcTg== - dependencies: - "@cosmjs/cosmwasm-stargate" "^0.31.1" - "@cosmjs/launchpad" "^0.27.1" - "@cosmjs/stargate" "^0.31.1" - "@ethersproject/bignumber" "^5.7.0" - "@keplr-wallet/types" "^0.11.12" - "@types/google-protobuf" "^3.15.6" - chain-registry "^1.27.0" - cosmjs-types "^0.8.0" - long "^4.0.0" - text-encoding "^0.7.0" - yarn "^1.22.19" - ky@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/ky/-/ky-1.2.4.tgz#d095aa848c686116f3326bfce53d9c2ffdb692c1" @@ -12857,13 +12096,6 @@ lines-and-columns@~2.0.3: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== -link-module-alias@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/link-module-alias/-/link-module-alias-1.2.0.tgz#6a3b7b014cfe18b2759a1222fffce6a40fc120e4" - integrity sha512-ahPjXepbSVKbahTB6LxR//VHm8HPfI+QQygCH+E82spBY4HR5VPJTvlhKBc9F7muVxnS6C1rRfoPOXAbWO/fyw== - dependencies: - chalk "^2.4.1" - linkify-it@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-4.0.1.tgz#01f1d5e508190d06669982ba31a7d9f56a5751ec" @@ -12979,11 +12211,6 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lodash.values@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347" - integrity sha512-r0RwvdCv8id9TUblb/O7rYPwVy6lerCbcawrfdo9iC/1t1wsNMJknO79WNBgwkH0hIeJ08jmvvESbFpNb4jH0Q== - lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -13808,7 +13035,7 @@ minimatch@3.0.5: dependencies: brace-expansion "^1.1.7" -minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -13845,7 +13072,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6, minimist@~1.2.8: +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@~1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -14165,7 +13392,7 @@ node-fetch@2.6.7: dependencies: whatwg-url "^5.0.0" -node-fetch@^2.0.0-alpha.8, node-fetch@^2.6.11, node-fetch@^2.6.7, node-fetch@^2.7.0: +node-fetch@^2.0.0-alpha.8, node-fetch@^2.6.11, node-fetch@^2.6.7: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -14225,14 +13452,6 @@ nomic-bitcoin@2.0.0: deepmerge "^4.3.1" qr-code-styling "^1.6.0-rc.1" -noms@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" - integrity sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow== - dependencies: - inherits "^2.0.1" - readable-stream "~1.0.31" - nopt@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" @@ -14649,16 +13868,6 @@ opn@^5.4.0: dependencies: is-wsl "^1.1.0" -optimism@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.18.0.tgz#e7bb38b24715f3fdad8a9a7fc18e999144bbfa63" - integrity sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ== - dependencies: - "@wry/caches" "^1.0.0" - "@wry/context" "^0.7.0" - "@wry/trie" "^0.4.3" - tslib "^2.3.0" - optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -15735,7 +14944,7 @@ protobufjs@^6.11.2, protobufjs@^6.11.3, protobufjs@^6.8.8, protobufjs@~6.11.2, p "@types/node" ">=13.7.0" long "^4.0.0" -protobufjs@^7.0.0, protobufjs@^7.1.1: +protobufjs@^7.1.1: version "7.4.0" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.4.0.tgz#7efe324ce9b3b61c82aae5de810d287bc08a248a" integrity sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw== @@ -16311,16 +15520,6 @@ readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@~1.0.31: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -16406,13 +15605,6 @@ reaviz@14.9.7: safe-identifier "^0.4.2" transformation-matrix "^2.9.0" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - rechoir@^0.7.0: version "0.7.1" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" @@ -16519,11 +15711,6 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" -rehackt@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/rehackt/-/rehackt-0.1.0.tgz#a7c5e289c87345f70da8728a7eb878e5d03c696b" - integrity sha512-7kRDOuLHB87D/JESKxQoRwv4DzbIdwkAGQ7p6QKGdVlY1IZheUnVhlk/4UZlNUVxdAXpyxikE3URsG067ybVzw== - relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" @@ -16621,7 +15808,7 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.9.0, resolve@~1.22.6: +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.9.0, resolve@~1.22.6: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -16639,11 +15826,6 @@ resolve@^2.0.0-next.3: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -response-iterator@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" - integrity sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -16741,22 +15923,6 @@ rollup@~2.78.0: optionalDependencies: fsevents "~2.3.2" -rpc-websockets@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-9.0.2.tgz#4c1568d00b8100f997379a363478f41f8f4b242c" - integrity sha512-YzggvfItxMY3Lwuax5rC18inhbjJv9Py7JXRHxTIi94JOLrqBsSsUUc5bbl5W6c11tXhdfpDPK0KzBhoGe8jjw== - dependencies: - "@swc/helpers" "^0.5.11" - "@types/uuid" "^8.3.4" - "@types/ws" "^8.2.2" - buffer "^6.0.3" - eventemitter3 "^5.0.1" - uuid "^8.3.2" - ws "^8.5.0" - optionalDependencies: - bufferutil "^4.0.1" - utf-8-validate "^5.0.2" - run-async@^2.2.0, run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -16884,7 +16050,7 @@ scrypt-js@3.0.1, scrypt-js@^3.0.0: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== -secp256k1@^4.0.1, secp256k1@^4.0.2, secp256k1@^4.0.3: +secp256k1@^4.0.1, secp256k1@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== @@ -17116,15 +16282,6 @@ shell-quote@^1.6.1, shell-quote@^1.8.1: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== -shelljs@^0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - shiki@^0.11.1: version "0.11.1" resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.11.1.tgz#df0f719e7ab592c484d8b73ec10e215a503ab8cc" @@ -17134,14 +16291,6 @@ shiki@^0.11.1: vscode-oniguruma "^1.6.1" vscode-textmate "^6.0.0" -shx@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/shx/-/shx-0.3.4.tgz#74289230b4b663979167f94e1935901406e40f02" - integrity sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== - dependencies: - minimist "^1.2.3" - shelljs "^0.8.5" - side-channel@^1.0.4, side-channel@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" @@ -17233,7 +16382,7 @@ snake-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" -snakecase-keys@5.4.1, snakecase-keys@^5.1.2, snakecase-keys@^5.4.1: +snakecase-keys@5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/snakecase-keys/-/snakecase-keys-5.4.1.tgz#ab04437ddaee71834b4d60062350f3d98e3321c9" integrity sha512-XjOWwWUu+IfIS95K/4+MPBCr4FlY0KBQC5PUHAa/rTEZgbC3+cqIAu0AGlSWq1jRPu8mHeXqdOpMRIBRYhRqyA== @@ -17470,11 +16619,6 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== -store2@^2.12.0: - version "2.14.3" - resolved "https://registry.yarnpkg.com/store2/-/store2-2.14.3.tgz#24077d7ba110711864e4f691d2af941ec533deb5" - integrity sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg== - stream-browserify@3.0.0, stream-browserify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" @@ -17618,11 +16762,6 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== - string_decoder@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" @@ -17761,11 +16900,6 @@ sucrase@^3.32.0: pirates "^4.0.1" ts-interface-checker "^0.1.9" -superstruct@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-2.0.2.tgz#3f6d32fbdc11c357deff127d591a39b996300c54" - integrity sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A== - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -17838,11 +16972,6 @@ symbol-observable@^2.0.3: resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-2.0.3.tgz#5b521d3d07a43c351055fa43b8355b62d33fd16a" integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA== -symbol-observable@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" - integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== - tabbable@^5.3.3: version "5.3.3" resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-5.3.3.tgz#aac0ff88c73b22d6c3c5a50b1586310006b47fbf" @@ -18024,16 +17153,6 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" -text-encoding-utf-8@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" - integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== - -text-encoding@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.7.0.tgz#f895e836e45990624086601798ea98e8f36ee643" - integrity sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA== - text-extensions@^1.0.0: version "1.9.0" resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" @@ -18069,7 +17188,7 @@ thread-loader@^3.0.0: neo-async "^2.6.2" schema-utils "^3.0.0" -through2@^2.0.0, through2@^2.0.1: +through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -18187,13 +17306,6 @@ ts-interface-checker@^0.1.9: resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== -ts-invariant@^0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" - integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== - dependencies: - tslib "^2.1.0" - ts-jest@29.0.5: version "29.0.5" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.5.tgz#c5557dcec8fe434fcb8b70c3e21c6b143bfce066" @@ -18604,11 +17716,6 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - upath@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" @@ -18669,13 +17776,6 @@ use-sync-external-store@^1.2.0: resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz#c3b6390f3a30eba13200d2302dcdf1e7b57b2ef9" integrity sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw== -utf-8-validate@^5.0.2: - version "5.0.10" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" - integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== - dependencies: - node-gyp-build "^4.3.0" - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -18709,11 +17809,6 @@ utila@~0.4: resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== -utility-types@^3.10.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c" - integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== - utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" @@ -18846,21 +17941,6 @@ viem@2.5.0: isows "1.0.3" ws "8.13.0" -viem@2.x: - version "2.21.4" - resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.4.tgz#b413330f5e05d2ab9ed01bf6e6fe12bcb71788dd" - integrity sha512-4E61XWhErjuXh5ObEoosKSy4iMvYnkuQq9jGLW5Isod68dNrENnyNV0QlVpn0LB3qunJ4ZMFMhYdfTjETqe7cQ== - dependencies: - "@adraffy/ens-normalize" "1.10.0" - "@noble/curves" "1.4.0" - "@noble/hashes" "1.4.0" - "@scure/bip32" "1.4.0" - "@scure/bip39" "1.4.0" - abitype "1.0.5" - isows "1.0.4" - webauthn-p256 "0.0.5" - ws "8.17.1" - vite@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/vite/-/vite-3.1.0.tgz#3138b279072941d57e76bcf7f66f272fc6a17fe2" @@ -19027,14 +18107,6 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -webauthn-p256@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/webauthn-p256/-/webauthn-p256-0.0.5.tgz#0baebd2ba8a414b21cc09c0d40f9dd0be96a06bd" - integrity sha512-drMGNWKdaixZNobeORVIqq7k5DsRC9FnG201K2QjeOoQLmtSDaSsVZdkg6n5jUALJKcAG++zBPJXmv6hy0nWFg== - dependencies: - "@noble/curves" "^1.4.0" - "@noble/hashes" "^1.4.0" - webextension-polyfill-ts@^0.22.0: version "0.22.0" resolved "https://registry.yarnpkg.com/webextension-polyfill-ts/-/webextension-polyfill-ts-0.22.0.tgz#86cfd7bab4d9d779d98c8340983f4b691b2343f3" @@ -19548,17 +18620,12 @@ ws@8.13.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== -ws@8.17.1: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" - integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== - -ws@^7, ws@^7.3.1, ws@^7.5.10: +ws@^7, ws@^7.3.1: version "7.5.10" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== -ws@^8.13.0, ws@^8.4.2, ws@^8.5.0: +ws@^8.13.0, ws@^8.4.2: version "8.18.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== @@ -19634,7 +18701,7 @@ yargs-parser@^20.2.2, yargs-parser@^20.2.3: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs@16.2.0, yargs@^16.0.0, yargs@^16.1.0, yargs@^16.2.0: +yargs@16.2.0, yargs@^16.0.0, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -19683,11 +18750,6 @@ yargs@~3.10.0: decamelize "^1.0.0" window-size "0.1.0" -yarn@^1.22.19: - version "1.22.22" - resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.22.tgz#ac34549e6aa8e7ead463a7407e1c7390f61a6610" - integrity sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg== - yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" @@ -19701,28 +18763,11 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zen-observable-ts@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" - integrity sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== - dependencies: - zen-observable "0.8.15" - -zen-observable@0.8.15: - version "0.8.15" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== - zod@3.20.6: version "3.20.6" resolved "https://registry.yarnpkg.com/zod/-/zod-3.20.6.tgz#2f2f08ff81291d47d99e86140fedb4e0db08361a" integrity sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA== -zod@^3.22.4: - version "3.23.8" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d" - integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g== - zustand@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.1.1.tgz#5a61cc755a002df5f041840a414ae6e9a99ee22b"